我们在创建一个文件或目录时,新创建的文件或目录都默认有自己的权限,那么这些权限系统是如何默认设定的呢?这就是由umask控制的。
umask 命令主要功能是指定在建立文件时预设的权限掩码,一个文件或目录默认创建时的权限是由以下控制的:
文件最高权限 | 目录最高权限 | umask值 | 最终目录权限 | 最终文件权限 | 备注 | |
---|---|---|---|---|---|---|
root用户 | 0777 | 0666 | 0022 | 0777-umask=755 | 0666-umask=644 | 第1位的0表示特殊权限位,可以忽略开头的0 |
普通用户 | 0777 | 0666 | 0002 | 0777-umask=775 | 0666-umask=664 | 第1位的0表示特殊权限位,可以忽略开头的0 |
注意:默认情况下,我们新建一个文件是不需要具有可执行权限的,因此对于文件而言,其默认的最大权限就是666。对于目录而言,可执行权限与用户是否能进入该目录有关,因此默认情况下,目录的所有权限都对外开放,即默认的最大权限为777。
以上就说明,我们创建一个新文件或新目录时,其权限时如何来的,那么,我们当然可以根据自己的意愿来随意设置umask的值啦,这样创建的文件或目录的默认权限就受到我们自由的控制了。
umask的修改:
临时修改,重启失效:umask 002(,666-002=664,777-044=775)
永久修改 vim ~/.bashc (局部影响) 、vim /etc/profile(全局影响)
ps:虽然我们能修改umask的值,但除非真的有自己的特殊需要,否则不建议随意修改系统默认的umask值。