天天看點

Linux中umask深入了解

部落格搬家,原位址:https://langzi989.github.io/2017/09/13/Linux中umash深入了解/

umask(user file-creatiopn mode mask)為使用者檔案建立掩碼,是建立檔案或檔案夾時預設權限的基礎。通常我們可以使用chmod修改linux中檔案的權限.umask的作用與chmod的效果相反,具體看下面。

若沒有檔案掩碼時,檔案的預設權限為0666,檔案夾的預設權限為0777。

原因:

- 建立檔案一般是用來讀寫,是以預設情況下所有使用者都具有讀寫權限,但是沒有可執行權限,是以檔案建立的預設權限為0666

- 而檔案夾的x權限表示的是打開權限,是以這個權限必須要有,是以檔案夾的預設權限為0777。

使用者掩碼作用

上述的權限是在沒有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中

繼續閱讀