umask
显示或设置创建文件的权限掩码。
概要
1 | |
主要用途
- 显示当前的文件权限掩码。
- 通过八进制数的方式设置创建文件的权限掩码。
- 通过符号组合的方式设置创建文件的权限掩码。
参数
mode(可选):八进制数或符号组合。
选项
1 2 | |
返回值
返回状态为成功除非给出了非法选项或非法参数。
例子
以下的例子均假设文件权限掩码为0022。
1 2 3 4 5 6 7 8 | |
参考
man chmod文档的DESCRIPTION段落得知: -u符号代表当前用户。 -g符号代表和当前用户在同一个组的用户,以下简称组用户。 -o符号代表其他用户。 -a符号代表所有用户。 -r符号代表读权限以及八进制数4。 -w符号代表写权限以及八进制数2。 -x符号代表执行权限以及八进制数1。 -+符号代表添加目标用户相应的权限。 --符号代表删除目标用户相应的权限。 -=符号代表添加目标用户相应的权限,删除未提到的权限。
那么刚才以符号形式输出的结果u=rwx,g=rx,o=rx转化为八进制数等于0755;
用八进制数来设置同样的权限,umask需要额外的执行减法0777 - 0755即0022,而chmod不需要。
符号组合模式的添加、删除、赋值权限。
1 2 3 4 5 6 7 8 9 10 11 | |
创建文件夹、文件(假设当前目录不存在)
1 2 3 4 5 6 7 8 | |
注意
-
该命令是bash内建命令,相关的帮助信息请查看
help命令。 -
chmod用于更改已有对象的权限,umask影响之后新建对象的权限。 -
请谨慎使用该命令,特别是不要取消当前用户的读取权限,那样会导致你在终端使用
TAB键补全时报错。