Linux中的umask權限掩碼


權限掩碼

umask為用戶文件創建掩碼,是創建文件或文件夾時默認權限的基礎。通常我們可以使用chmod修改linux中文件的權限.umask的作用與chmod的效果相反,具體看下面。

若沒有文件掩碼時,文件的默認權限為0666,文件夾的默認權限為0777。

原因:

  • 創建文件一般是用來讀寫,所以默認情況下所有用戶都具有讀寫權限,但是沒有可執行權限,所以文件創建的默認權限為0666
  • 而文件夾的x權限表示的是打開權限,所以這個權限必須要有,所以文件夾的默認權限為0777。
  • 第一位代表特殊權限(suid:4、sgid:2、sbit:1),不是八進制的意思。一般將其設置為0,即系統默認。

權限掩碼作用

上述的權限是在沒有umask情況下的默認權限。但是系統為了保護用戶創建文件和文件夾的權限,此時系統會有一個默認的用戶掩碼(umask),大多數的Linux系統的默認掩碼為022。用戶掩碼的作用是用戶在創建文件時從文件的默認權限中去除掩碼中的權限。所以文件創建之后的權限實際為:

#文件創建權限
默認權限(文件0666,文件夾0777)-umask

 

所以在用戶不修改umask的情況下,創建文件的權限為:0666-0022=0644。創建文件夾的權限為:0777-0022=0755

查看與修改默認掩碼

查看用戶掩碼:

#以數字方式查看掩碼
umask
# 以符號形式查看掩碼
umask -S

 

可以使用umask命令直接修改掩碼。

umask 0000

 

上述方法修改的掩碼只在當前tty中生效.若要全局生效,可以講umask值寫在/etc/profile或者.bashrc中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM