在终端输入:umask,可以看到输出为:0022
默认的umask的值为0022
第一位是0、1、2、4
0代表无uid
1代表setuid
2代表setgid
4代表stick
我们在当前目录下分别新建一个目录a,一个文件a.c,输入命令ll:0代表无uid
1代表setuid
2代表setgid
4代表stick
由图可见:目录a权限为:755,文件a.c权限为:644
可知:umask的作用是:设置新建文件和目录的默认权限。
1 umask和chmod的关系
umask的值共有4位,分别代表:gid/uid,属主,组权,其它用户权限。一般用的是后3位。
umask设置的是权限“补码”:如上umask值为022,则对应目录权限为7-0=7,7-2=5,7-2=5,即用777减去umask的相应位上的值;而对应的文件权限是用666减去umask的相应位上的值。
chmod设置的就是目录和文件的直接权限。
输入:umask 024,则可直接修改以后新建的目录和文件的默认权限为:553,642。
3 umask对应的配置文件
umask的配置文件为:/etc/profile 或 ~/.profile 或 ~/.bask_profile,修改这些文件里的umask值,则umask的值会长期不变。