umask是linux中的一個命令,用于為用戶文件創(chuàng)建權(quán)限掩碼,語法“umask [-S][權(quán)限掩碼]”;其中,“權(quán)限掩碼”是由3個八進(jìn)制的數(shù)字所組成,將現(xiàn)有的存取權(quán)限減掉權(quán)限掩碼后,即可產(chǎn)生建立文件時預(yù)設(shè)的權(quán)限。
本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。
umask(user file-creatiopn mode mask)是linux中的一個命令,用于指定在建立文件時預(yù)設(shè)的權(quán)限掩碼。
umask命令可確定要在創(chuàng)建的任何文件或者目錄上設(shè)置的默認(rèn)權(quán)限
umask命令為用戶文件創(chuàng)建掩碼,,是創(chuàng)建文件或文件夾時默認(rèn)權(quán)限的基礎(chǔ)。通常我們可以使用chmod修改linux中文件的權(quán)限.umask的作用與chmod的效果相反,具體看下面。
若沒有文件掩碼時,文件的默認(rèn)權(quán)限為0666,文件夾的默認(rèn)權(quán)限為0777。
原因:
創(chuàng)建文件一般是用來讀寫,所以默認(rèn)情況下所有用戶都具有讀寫權(quán)限,但是沒有可執(zhí)行權(quán)限,所以文件創(chuàng)建的默認(rèn)權(quán)限為0666
而文件夾的x權(quán)限表示的是打開權(quán)限,所以這個權(quán)限必須要有,所以文件夾的默認(rèn)權(quán)限為0777。
用戶掩碼作用
上述的權(quán)限是在沒有umask情況下的默認(rèn)權(quán)限。但是系統(tǒng)為了保護(hù)用戶創(chuàng)建文件和文件夾的權(quán)限,此時系統(tǒng)會有一個默認(rèn)的用戶掩碼(umask),大多數(shù)的Linux系統(tǒng)的默認(rèn)掩碼為022。用戶掩碼的作用是用戶在創(chuàng)建文件時從文件的默認(rèn)權(quán)限中去除掩碼中的權(quán)限。所以文件創(chuàng)建之后的權(quán)限實際為:
#文件創(chuàng)建權(quán)限 默認(rèn)權(quán)限(文件0666,文件夾0777)-umask
所以在用戶不修改umask的情況下,創(chuàng)建文件的權(quán)限為:0666-0022=0644。創(chuàng)建文件夾的權(quán)限為:0777-0022=0755
查看與修改默認(rèn)掩碼
查看用戶掩碼:
#以數(shù)字方式查看掩碼 umask # 以符號形式查看掩碼 umask -S
可以使用umask命令直接修改掩碼。
umask 0000
上述方法修改的掩碼只在當(dāng)前tty中生效.若要全局生效,可以講umask值寫在/etc/profile或者.bashrc中