umask指定目前用户在新建文件或者目录时候的权限默认值,用户可直接使用umask指令查看当前系统文件和目录的默认权限:

   

[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后直接添加想要减掉的权限数值。


   

[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