umask就是指定目前用户在建立文件或目录时候的权限默认值
查看方式有两种:一种可以直接输入umask,就可以看到数字类型的权限设置值,一种则是加入umask后加入-S(Symbolic)选项,就会以符号类型的方式来显示出权限了
我们可以发现umask有四组数字,第一组为特殊权限用的,后面三组是文件目录权限默认值
umask的数字指的是该默认值需要减掉的权限,r、w、x分别是4、2、1
用户建立为文件默认没有可执行权限 (x),所以文件权限最大为666
用户建立为目录,x与是否进入目录有关,所以目录权限最大为777
建立文件时,文件权限就是666-022=644 即rw-r--r--
建立目录时,目录权限就是777-022=755 即rwxr-x-rx
更改默认权限:umask xyz
在默认情况中,root的umask会拿掉比较多的属性,root的umask默认是022,这是基于安全的考虑,至于一般身份用户,通常它们的umask为002,即保留同用户组的写入权限
默认umask的设置可以参考/etc/bashrc这个文件内容
需要注意的是,umask xyz命令修改默认权限是暂时的(只是在当前的shell临时修改),重新登录时会改为原来值,所以要永久修改默认权限需要写入配置文件(/etc/profile或/etc/bashrc)中