在Linux系统内,创建新的文件和目录后,会有默认的初始权限,然后可以通过chmod/chown的命令进行权限的更改。
那么,创建新的文件和目录后,默认的初始权限是多少呢!
umask:影响新建的文件和目录拥有默认权限
查看当前umask值:
在root用户下查询:
【#~】umask
0022
在非root用户下查询:
【#~】umask
0002
4个数字xyzu分别:
x:代表文件所具有的特殊权限(此文章不叙述)
y: 表示属主的权限,0表示:---,2表示-w-
z:表示属组的权限,0表示:---,2表示-w-
u: 表示其它用户/用户组的权限,0表示:---,2表示-w-
所以,0022表示----w--w-; 0002表示-------w-;
如何计算新创建的文件和目录的初始权限
umask会影响新创建的文件或目录的初始权限,并不是umask权限是多少,新创建的文件和目录初始权限就是多少;需要结合文件和目录的最大默认权限来计算,计算方法如下:
文件和目录的真实初始权限=文件和目录的最大默认权限-umask权限
那么,文件和目录的最大默认权限是多少呢?答案如下:
文件的最大默认权限是666,即rw-rw-rw-
目录的最大默认权限是777,即rwxrwxrwx
计算示例:
(1)创建文件
当前系统的umask值为0027(----w-rwx), 文件最大默认权限是666(即rw-rw-rw-), 文件最大默认权限-umask权限得到:
rw- rw- rw-
减 --- -w- rwx
= rw- r-- ---
因此,新创建文件的初始权限为:rw-r-----
(2)创建目录
当前系统的umask值为0027(----w-rwx), 目录最大默认权限是777(即rwxrwxrwx), 目录最大默认权限-umask权限得到:
rwx rwx rwx
减 --- -w- rwx
= rwx r-x ---
因此,新创建文件的初始权限为:rwxr-x---