umask指定目前用户在新建文件或者目录时候的权限默认值,用户可直接使用umask指令查看当前系统文件和目录的默认权限:
1
2
3
4
5
6
7
8
9
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012 ~]
# umask
0022
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012 ~]
# touch test-1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012 ~]
# mkdir test-11
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012 ~]
# ll
total 8
-rw-r--r--. 1 root root 0 Aug 16 14:28 tes1
-rw-r--r--. 1 root root 0 Aug 17 14:26
test
-1
drwxr-xr-x. 2 root root 4096 Aug 17 14:26
test
-11
|
查看umask有两种方式,一种是直接输入umask,这种方式返回的是表示权限设置分数的一组数字,一种是输入umask -S,这种方式返回的是表示用户,群组,其他用户权限的一串字符。
文件的默认权限是没有可执行权限(x)的,所以文件最大权限为-rw-rw-rw,也就是666。而目录的最大权限为drwxrwxrwx,也就是777。umask指定的分数值是该默认权限需要减掉的权限分数。
例如:当前umask的值为0022(后三位数就是代表一般权限的)那么需要减掉的权限分数为022,022对应的权限为----w--w-。
那么当前系统默认的文件权限为:(-rw-rw-rw-)-(-----w--w-)=-rw-r--r--
而新建目录权限为:(drwxrwxrwx)-(d----w--w-)=drwxr-xr-x
(注意:不是直接使用权限数值进行数学运算,只能通过将分数换算为对应符号进行逻辑运算。)
如果想要修改文件与目录的默认权限的话,可以通过修改umask 数值来实现,修改方式umask后直接添加想要减掉的权限数值。
1
2
3
4
5
6
7
8
9
10
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012 ~]
# umask 002
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012 ~]
# touch test-2
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012 ~]
# mkdir test-22
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012 ~]
# ll
total 12
-rw-r--r--. 1 root root 0 Aug 16 14:28 tes1
-rw-r--r--. 1 root root 0 Aug 17 14:26
test
-1
drwxr-xr-x. 2 root root 4096 Aug 17 14:26
test
-11
-rw-rw-r--. 1 root root 0 Aug 17 14:29
test
-2
drwxrwxr-x. 2 root root 4096 Aug 17 14:29
test
-22
|
本文转自 天黑顺路 51CTO博客,原文链接:http://blog.51cto.com/mjal01/1957084,如需转载请自行联系原作者