Linux的檔案存取許可權和0644許可權

fhzmWJ發表於2020-11-26

關於0644許可權

其實就是分析Linux的檔案存取許可權
以下為個人理解:

Linux系統中採用四位八進位制陣列成許可權,比如0644 (而不是網上流傳的十進位制)。
對於每個新建立的檔案或目錄,系統都會自動賦予一個預設的許可權。

可以使用umask命令設定檔案或目錄的預設許可權。
系統預設的許可權掩碼是0022

通常新建檔案的預設許可權值為0666,新建目錄的預設許可權為0777,需要與當前的許可權掩碼0022相減,可以得到0644和0755。

數字許可權對照表如下圖:

---  -> 0   (no excute , no write ,no read)
--x  -> 1   excute, (no write, no read)
-w-  -> 2   write 
-wx  -> 3   write, excute
r--  -> 4   read
r-x  -> 5   read, excute
rw-  -> 6   read, write , 
rwx  -> 7   read, write , excute

比如0644許可權,屬於ABCD這樣的結構

ABCD
A- 0
B-使用者
C-組使用者
D-其他使用者

這個其實不難理解,Linux系統把檔案的使用者分成三類:檔案主、同組使用者、其他普通使用者。所以許可權也是針對這三類使用者設定訪問許可權。
現在新建一個資料夾和檔案
使用ls -l 可以檢視檔案的許可權

第一個資料夾:d rwx r-x r-x
"d"是檔案型別-> 資料夾
後面三個部分對應著上面所說的B C D部分含義
後面對照許可權和數字的轉換表就是755
所以該新建資料夾的許可權確實是0755

第二個檔案:- rw- r-- r–
"-"是檔案型別 ->檔案
後面可以轉換為644
所以新建檔案的許可權確實是0644?

其實上面的對照表中的 r w x是許可權的三種操作,可讀、可寫、執行,
"-"表示不具有對應位的許可權

相關文章