我製作測試檔時得到700,但umask是0002?為什麼不是 664 ?

我製作測試檔時得到700,但umask是0002?為什麼不是 664 ?

檔案和目錄的預設值 666 和 777 分別儲存在哪裡?

umask 0002
touch dummy 
ls -l 

告訴我虛擬人的權限是 700,而不是預期的 644。

答案1

[max@localhost ~]$ umask

這將顯示預設 umask

0002

/etc/bashrc檔案中儲存預設權限

16 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ];然後
 17 掩碼 002
 18 其他
 19 掩碼 022
 20 菲

普通用戶預設umask 002

root用戶的預設umask是022

對於目錄,基本權限為 0777,對於文件,基本權限為 0666

這意味著如果您將 umask 值設為 002,那麼您將從基本權限中減去 umask

對於目錄

777-002=第775章

對於文件

666-002=第664章

[max@localhost ~]$ mkdir file1

[max@localhost ~]$ ls -ld 檔案1

drwxrwxr-x 2 最大 最大 4096 九月 25 15:37 file1 ------>第775章

[max@localhost ~]$ 觸摸檔案2

[max@localhost ~]$ ls -l 檔案2

-rw-rw-r-- 1 max max 0 九月 25 日 15:40 file2-------->第664章

相關內容