umask
功能用于控制用户创建文件时的默认权限,用户创建文件的时候,会根据当前umask的值进行设置文件或者目录权限。
用法
umask [-p][-S] [mode]
-p 输出命令和当前umask
-S 已用户跟组的形式展示权限
mode 如果是一个8进制的数字,就是使用8进制形式表示的权限(r:5,w:2,x:1);也可以使用g=rwx这种形式来表示。
举例
1、显示当前的umask值:
umask
输入之后,例如输出如下:
0022
这里,是系统的默认mask,因为是8进制,所以是0022不是022.
2、设置umask值为0022:
umask 0022
这里,假设从前的umask不是0022,这时候将会变成0022,如果创建了一个文件看看权限,会发现如下:
-rw-r--r-- 1 opcai opcai 0 2018-09-08 22:55 file1.txt
3、如果设置成0000,那么如下:
-rw-rw-rw- 1 opcai opcai 0 2018-09-08 22:58 file2.txt
(修改成0000之后,会使得子进程的umask也为0000)
4、如果设置成0777,那么如下:
---------- 1 opcai opcai 0 2018-09-08 22:59 file3.txt
第一位始终是0表示8进制不能被设置,所以实际上之后后三位可以设置。
5、其他形式表示
umask u=rwx,g=rx,o=rx
总结
002,表示创建的时候屏蔽掉other成员写;022表示创建的时候屏蔽group和others成员写;000表示创建的时候不屏蔽任何人open调用的读写执行设置;777与000相反。