引言
umask 用来设置当前用户创建文件或者目录的默认权限。它与chmod的表示正好相反。
文件在创建的时候不允许赋予执行权限,必须使用chmod进行添加,而目录创建的时候允许赋予执行权限。
分析umask表示的权限值
$umask
0002
当前的umask值是0002,忽略第一位0,那就是002,因为与chmod正好相反,所以取反,目录的默认权限是775,文件创建的时候不允许设置执行权限,所以当目录拥有执行权限的时候,文件的权限中要去掉这个执行权限,也就是文件的默认权限是664。
当然如果目录并没有执行权限,那么文件的权限就没有必要去掉这个执行权限。例如umask的值是113,那么目录的默认权限是664,文件的默认权限也是664.
看下图,你会理解的更清楚明白一些:
umask值与文件权限的映射关系
验证
$umask
0002
$ls -al
总用量 12288
drwxrwxr-x 3 fukaiqiang fukaiqiang 4096 4月 26 11:36 ./
drwxrwxr-x 6 fukaiqiang fukaiqiang 4096 4月 26 11:11 ../
drwxrwxr-x 2 fukaiqiang fukaiqiang 4096 4月 26 11:36 test1/
-rw-rw-r-- 1 fukaiqiang fukaiqiang 0 4月 26 11:36 test.txt
$umask 0113
$ls -al
总用量 12288
drwxrwxr-x 3 fukaiqiang fukaiqiang 4096 4月 26 11:37 ./
drwxrwxr-x 6 fukaiqiang fukaiqiang 4096 4月 26 11:11 ../
drw-rw-r-- 2 fukaiqiang fukaiqiang 4096 4月 26 11:37 test1/
-rw-rw-r-- 1 fukaiqiang fukaiqiang 0 4月 26 11:37 test.txt
参考
https://blog.csdn.net/yangzhengquan19/article/details/83055686#commentBox
网友评论