上圖中可以看到,我們在乙個空的目錄about_permission中建立了乙個空的目錄emptydir和乙個空的檔案emptyfile。
「drwxr-xr-x」這個字段描述的是檔案和目錄許可權的編碼。該字段的地乙個字元代表了該物件的型別:檔案d
目錄l鏈結c
字元型裝置
b塊裝置
n網路裝置
該字段的後9個字元分為3組3字元,每組都定義了3種訪問許可權:
r代表物件可讀
w代表物件可寫
x代表物件可執行
這3組許可權對應著物件的3個安全級別:物件的屬主,物件的屬組,系統的其他使用者。
上面建立的目錄emptydir,可以看到它的第乙個欄位是「drwxr-xr-x」,「d」表示它是乙個目錄。第一組許可權「rwx」表示,對於該使用者而言,可以讀取,寫入以及執行這個檔案;第二組許可權「r-x」表示,該使用者組的成員可以讀取、執行該檔案,但是沒有寫入許可權;第三組許可權「r-x」表示,其他組的使用者可以讀取、執行該檔案,同樣沒有寫入許可權。
那麼,這些檔案許可權是從何而來呢?
先了解一下八進位制模式的安全性設定吧:
在「rwx」許可權中,會先獲取這三個許可權的值,將其轉化為3為二進位制,用乙個八進位制值進行表示,所有可能的組合如下:
許可權二進位制值
八進位制值
描述---
0000
沒有任何許可權
--x001
1只有執行許可權
-w-010
2只有寫入許可權
-wx011
3有寫入和執行許可權
r--100
4只有讀取許可權
r-x101
5有讀取和執行許可權
rw-110
6有讀取和寫入許可權
rwx111
7有讀取、寫入和執行許可權
umask命令用來設定所建立檔案和目錄的預設許可權。對檔案來說,全許可權是666(所有的使用者都有讀和寫的許可權);而對目錄來說,全許可權是777(所有使用者都有讀、寫、執行的許可權)。
umask值實際上是乙個掩碼,如何由umask值確定檔案的許可權?
檔案的全許可權666減去umask值0022(022),結果是644。
目錄的全許可權777減去umask值0022(022),結果是755。
再來看我們一開始建立的空目錄和檔案:
drwxr-xr-x 2 rayde rayde 4096 sep 23 19:54 emptydir
111 101 101,對應的八進位制值是755。
-rw-r--r-- 1 rayde rayde 0 sep 23 19:54 emptyfile
110 100 100,對應的八進位制值是644。
在man手冊中,是這樣描述umask的:
意味著它後面可以跟引數。我們試著改變一下umask值。
可以看到,umask值已經成功的被設定為0024。那麼,隨之改變的檔案許可權應該是642(o)和753(o)。
接著又建立了乙個空目錄emptydir1和乙個檔案emptyfile1。它們的檔案許可權如下:
drwxr-x-wx 2 rayde rayde 4096 sep 23 23:42 emptydir1
111 101 011,對應的八進位制值是753。777(o) - 024(o) = 753(o)
-rw-r---w- 1 rayde rayde 0 sep 23 23:42 emptyfile1
110 100 010,對應的八進位制值是642。666(o) - 024(o) = 642(o)
linux檔案權許可權
linux上的檔案以.開頭的檔案被系統視為隱藏檔案,僅用ls命令是看不到他們的,而用ls a除了顯示 一般檔名外,連隱藏檔案也會顯示出來。ls l 這個引數是字母l的小寫,不是數字1 這個命令可以使用長格式顯示檔案內容,如果需要察看更詳細的檔案資料,就要用到ls l這個指令。例如我在某個目錄下鍵入l...
linux檔案賦權
檔案賦權 採用ls l 可以檢視當前目錄下的檔案的許可權。rw 600 只有所有者才有讀和寫的許可權 rw r r 644 只有所有者才有讀和寫的許可權,組群和其他人只有讀的許可權 rwx 700 只有所有者才有讀,寫,執行的許可權 rwxr xr x 755 只有所有者才有讀,寫,執行的許可權,組...
linux下用webshell修改檔案許可權
當我們擁有了乙個linux下的shell 伺服器上多個 這個shell對所在站點的根目錄有可寫入許可權,甚至能檢視其他 的目錄。那麼,這樣的主機設定肯定是不安全的。有的時候,我們想對獲得同伺服器的其他站的許可權,比如直接對其他站點的index.php進行修改,卻發現沒有許可權。我們可以嘗試通過以下指...