本文僅僅是學習筆記,記錄了我自己原先有所疑惑,現在明確了的內容。並不能作為乙個細緻的教程。
檔案屬性
檔案的讀、寫、執行許可權很容易理解,這些許可權與檔案的重新命名及更改許可權無關,只有檔案的所有者以及root使用者可以操作重新命名和更改許可權。
目錄的讀、寫、執行許可權有些不一樣:
目錄的讀:可以列出該目錄中的檔案。
目錄的寫:可以在目錄中新增和刪除檔案。(目錄的重新命名和更改許可權也只有檔案所有者及root使用者可以操作。如果要修改目錄中的檔案內容,則該檔案必須具有寫許可權,而且其祖先目錄必須具有執行許可權,祖先目錄不一定要有寫許可權。)
目錄的執行:可以搜尋或進入目錄。假使目錄沒有執行許可權,那麼即使目錄有寫許可權,也無法在目錄中新增、刪除、修改檔案內容或執行。
所以說,目錄的執行許可權是目錄內檔案能夠被新增、刪除、修改內容、執行的先決條件。當目錄具有了執行許可權後,如果要在目錄中新增或刪除檔案,則必須使目錄具有寫許可權;而如果要在目錄中修改內容或執行檔案,則該檔案必須具有對應屬性。
子目錄所具有的實際許可權 = 母親目錄許可權 & 子目錄自身許可權。目錄中檔案的許可權不需要和目錄做與操作。
suid和guid位
檔案的屬性包含12位,後9位為普通的讀、寫、執行許可權,左邊第一位為suid位,左邊第二位為guid位,要設定suid位,則其檔案擁有者的許可權必須包含執行許可權,要設定guid位,則其檔案使用者組必須包含執行許可權。左邊第三位是粘滯位,sticky 位要求作業系統既是在可執行程式退出後,仍要在記憶體中保留該程式的映象。這樣做是為了節省大型程式的啟動時間。但是會占用系統資源。
如果乙個檔案被設定了suid位,那麼其它使用者在執行這個檔案時便擁有了該檔案所有者的許可權(該許可權不是指讀、寫、執行許可權,而是指利用系統資源的許可權)。
如果乙個檔案被設定了guid位,那麼其它使用者在執行這個檔案時便擁有了該檔案使用者組的所有許可權。
可以用指令id來檢視當前使用者的id及使用者組資訊。
umask
umask與建立檔案、資料夾時的預設許可權的對應關係如下表
對於檔案,除了要減去umask位外,還要減去執行許可權。
檔案鏈結
硬鏈結則真正地拷貝了整個目標檔案,並且會保持和目標檔案一致,inode鏈結數會增加。無法跨檔案系統,無法為目錄建立。
檔案許可權與安全
root pc ls l file rw r r 1 root root 0 2012 07 26 14 52 file rw r r 是檔案的許可權位。第一位是檔案型別 d 目錄 l 符號連線 s 套接字 b block裝置 c 字元裝置 普通檔案 除去最前面的1位,後面跟著的分別是檔案屬主 同組...
UNIX檔案安全與許可權
total 74434 表示該目錄中所有檔案所佔的空間 2 表示該檔案硬鏈結的數目 39921 表 示該檔案的長度,用位元組表示,不是k位元組 rwxrwxr x 代表該檔案或目錄 的讀寫執行許可權,第一位表示該檔案型別 7種 d 目錄 l 符號鏈結 指向另乙個檔案 s 套 接字檔案 b 塊裝置檔案...
linux檔案安全與許可權
檔案許可權和分析 img drwxr xr x 1 root root 4096 jan 26 14 49 bin 其中 1.第乙個字元d 表示檔案的型別。有以下種類 1 d 目錄檔案 directory 2 l 符號鏈結,指向另乙個檔案 link 3 b 塊裝置檔案 block device 4 ...