命令解释
当你新建一个文件或目录时,会有一个默认的权限。umask
命令就是“当前用户在新建文件或目录的默认权限”,如下面的例子:
[wenjie@localhost ceshi]$ umask
0022 <== 与一般权限有关是后面三个数字
[wenjie@localhost ceshi]$ umask -S
u=rwx,g=rwx,o=rx
- 若创建“文件”,默认是没有可执行(x)权限的,所以只有r、w这两个选项,也就是最大为666,权限为
-rw-rw-rw-
。 - 若创建“目录”,则由于可执行(x)权限和是否可以进入此目录有关,因此默认为所有权限开放,即为777,权限为
drwxrwxrwx
。
注:unask
的数字是“默认值需要减去的权限”。因为r、w、x分别全是代表的数字是4、2、1。如果要拿去写的权限,也就是拿掉2。再比如要拿去写和执行的权限,也就是拿掉3。
命令举例
通过上文的命令解释,我们可以得出结论:
- 新建文件时:(-rw-rw-rw-)-(-----w--w-)===>-rw-r--r--
- 新建目录时:(drwxrwxrwx)-(d----w--w-)===>drwxr-xr-x
[root@localhost ceshi]# touch test1
[root@localhost ceshi]# mkdir test2
[root@localhost ceshi]# ll
-rw-r--r-- 1 root root 0 09-12 17:37 test1
drwxr-xr-x 2 root root 4096 09-12 17:37 test2
如果想修改默认权限,该怎么修改呢?
[root@localhost ceshi]# umask 002
[root@localhost ceshi]# umask
0002
[root@localhost ceshi]# touch test3
[root@localhost ceshi]# mkdir test4
-rw-rw-r-- 1 root root 0 09-12 17:41 test3
drwxrwxr-x 2 root root 4096 09-12 17:41 test4