Linux默认权限命令:umask
⼀、umask介绍
  在linux系统中,我们创建⼀个新的⽂件或者⽬录的时候,这些新的⽂件或⽬录都会有默认的访问权限,umask命令与⽂件和⽬录的默认访问权限有关。若⽤户创建⼀个⽂件,则⽂件的默认访问权限为 -rw-rw-rw- ,创建⽬录的默认权限 drwxrwxrwx ,⽽umask值则表明了需要从默认权限中去掉哪些权限来成为最终的默认权限值。
⼆、umask值的含义
可以使⽤命令 umask 来查看umask值,每台主机可能会不⼀样
[root@zabbix-server-center ~]# umask
0022
可以看到umask值为0022,其中第⼀个0与特殊权限有关,可以暂时不⽤理会,后三位022则与普通权限(rwx)有关,其中022中第⼀个0与⽤户(user)权限有关,表⽰从⽤户权限减0,也就是权限不变,所以⽂件的创建者的权限是默认权限(rw),第⼆个2与组权限(group)有关,表⽰从组的权限减2,所以组的权限
也保持默认权限(r),最后⼀位2则与系统中其他⽤户(others)的权限有关,由于w=2,所以需要从其他⽤户默认权限(rw)减去2,也就是去掉写(w)权限,则其他⼈的权限为rw - w = r,则创建⽂件的最终默认权限为 -rw-rw-r-- 。同理,⽬录的默认权限为 drwxrwxrwx ,则d rwx rwx rwx - 022 = (d rwx rwx rwx) - (- --- -w- -w-) = d rwx r-x r-x,所以⽤户创建⽬录的默认访问权限为drwxr-xr-x 。我们通过下⾯的例⼦验证⼀下:
(1)创建普通⽂件时:(⽂件默认权限)(-rw-rw-rw-)-(- --- -w- -w-)=-(rw--r--r-- )
(2)创建⽬录时:(⽂件默认权限)(drwxrwxrwx )-(- --- -w- -w-)=(drwxr-xr-x)
三、更改umask值:umask命令
  可以通过命令 umask 值的⽅式来更改umask值,⽐如我要把umask值改为027,则使⽤命令 umask 027 即可。改成027后,⽤户权限不变,组权限减掉2,也就是去掉写(w)权限,其他⽤户减7,也就是去掉读写执⾏权限(rwx),所以其他⽤户没有访问权限。
[root@zabbix-server-center dir]# umask 0027    #更新设置umask值为0027
[root@zabbix-server-center dir]# umask
0027
[root@zabbix-server-center dir]#
[root@zabbix-server-center dir]# ls -ll
总⽤量 8
-rw-r--r-- 1 root root  0 3⽉  6 11:修改文件权限的linux命令
-rw-r----- 1 root root  0 3⽉  6 16:
drwsrwsr-x 2 root root  6 3⽉  5 15:59 dir_sgid
-rwsr--r-- 1 root root 15 3⽉  5 15:37 profile
drwxr-xr-x 2 root root  6 3⽉  6 16:01 t
-rwxr--r-- 1 alex alex 32 3⽉  5 14:55 t.sh
 所以当我新建⽂件的时候,默认其它⽤户没有任何权限。当我们想改变创建⽂件和⽬录时的默认访问权限,则可以通过umask命令来实现。