[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
…省略部分内容…
本文链接:http://task.lmcjl.com/news/11656.html