[root@localhost ~]# umask
0022
#root用戶默認是0022,普通用戶默認是 0002
文件(或目錄)的初始權限 = 文件(或目錄)的最大默認權限 - umask權限
如果按照官方的標準算法,需要將 umask 默認權限使用二進制并經過邏輯與和邏輯非運算后,才能得到最終文件或目錄的初始權限,計算過程比較復雜,且容易出錯,因此本節給大家介紹了更簡單的計算方式。[root@localhost ~]# umask
0022
#默認umask的值是0022
[root@localhost ~]# touch file <--新建file空文件
[root@localhost ~]# ll -d file
-rw-r--r--. 1 root root 0 Apr 18 02:36 file
[root@localhost ~]# umask
0022
[root@localhost ~]# mkdir catalog <--新建catalog目錄
[root@localhost ~]# ll -d catalog
drwxr-xr-x. 2 root root 4096 Apr 18 02:36 catalog
這里的減法,其實是“遮蓋”的意思,也就是說,最大默認權限中和 umask 權限公共的部分,通過減法運算會被遮蓋掉,最終剩下的“最大默認權限”,才是最終賦予文件或目錄的初始權限。
[root@localhost ~]# umask 002
[root@localhost ~]# umask
0002
[root@localhost ~]# umask 033
[root@localhost ~]# umask
0033
[root@localhost ~]# vim /etc/profile
...省略部分內容...
if [ $UID -gt 199]&&[ "'id -gn'" = "'id -un'" ]; then
umask 002
#如果UID大于199(普通用戶),則使用此umask值
else
umask 022
#如果UID小于199(超級用戶),則使用此umask值
fi
…省略部分內容…
新聞熱點
疑難解答