umask - 权限掩码

umask可以设置和查询用户创建目录或文件的默认权限,它设置权限的用法和chmod的用法刚好相反。chmod是修改单个或多个文件或目录的权限,且权限对应的数字是”正向的”,而umask是针对用户设置的是”去掉权限”,权限对应的数字是”反向的”,例如执行命令umask 002,当前用户所创建的目录或文件权限则是775,也就是rwx rwx r-x

语法

查询当前用户umask值

$ umask

修改当前用户umask值

$ umask [umask值]

参数

umask值对应的权限:

文件 目录
0 6 rw- 7 rwx
1 6 rw- 6 rw-
2 4 r-- 5 r-x
3 4 r-- 4 r--
4 2 -w- 3 -wx
5 2 -w- 2 -w-
6 0 --- 1 --x
7 0 --- 0 ---

规律:

  • 目录:最大值(7)减去umask值等于目录的默认权限。目录需要有执行权限,不然无法进入目录。

  • 文件:最大值(6)减去umask值如果是偶数,则等于文件的默认权限,如果是单数,则数字加1,因为文件默认不允许有执行权限。

常用umask值

umask值 文件 目录
002 664 775
022 644 755
027 640 750
077 600 700
006 660 771