Linux中文檔與目錄的默認權限

當我們在系統中新建一個文件或目錄時,系統會自動賦予該文件或目錄一個初始訪問權限,我們稱爲默認權限,默認權限與文件系統的umask值有關。可以在終端下直接輸入 umask來查看當前系統的umask值。例如:

image

顯示結果中,第一位是特殊權限,我們暫時只考慮後三位即可。即,目前系統的默認權限爲022,那它表示什麼意思呢?

我們知道,x權限對於文件來說,表示能否執行該文件,而對目錄來說,表示能否cd到該目錄。在Linux系統中,出於安全考慮,在不考慮umask的情況下,系統默認設置的權限爲:

新建文件的權限是-rw-rw-rw-,權限值是666;

新建目錄的權限是drwxrwxrwx,權限值是777。

而最終的系統默認權限即是666或777“減去”umask的值,即文件的默認權限爲644,而目錄的默認權限爲755.即:

新建文件時:(-rw-rw-rw-)-(-----w--w-)è(-rw-r--r--)

新建目錄時:(drwxrwxrwx)-(d----w--w-)è(drwxr-xr-x),例如:

image

而使用umask命令不僅可以查看當前系統的默認權限,也可以設置系統的默認權限,如:

image

需要注意的是,在計算最終的默認權限時,需要將數值轉換爲rwx的形式再去相減,而不建議直接使用數字666或777相減。

比如在上圖的例子中,umask值爲003,則:

新建文件時:(-rw-rw-rw-)-(--------wx)è(-rw-rw-r--)

新建目錄時:(drwxrwxrwx)-(--------wx)è(drwxrwxr--)

但若使用數字算的話,對於文件來說,666-003=663,其權限變成了-rw-rw--wx,很明顯是不對的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章