这篇文章主要为大家展示了“Linux中umask命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中umask命令怎么用”这篇文章吧。

Linux常用命令umask命令指定在建立文件时预设的权限掩码,umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。

umask

显示或设置创建文件的权限掩码。

概要

umask[-p][-S][mode]主要用途

显示当前的文件权限掩码。

通过八进制数的方式设置创建文件的权限掩码。

通过符号组合的方式设置创建文件的权限掩码。

参数

mode(可选):八进制数或符号组合。

选项

-p:当没有参数时指定该选项,执行产生的输出格式可复用为输入;-S:以符号组合的方式输出创建文件的权限掩码,不使用该选项时以八进制数的形式输出。返回值

返回状态为成功除非给出了非法选项或非法参数。

例子

以下的例子均假设文件权限掩码为0022。

#以八进制数的形式输出创建文件的权限掩码。umask-p#执行结果:umask0022#以符号组合的方式输出创建文件的权限掩码。umask-S#执行结果:u=rwx,g=rx,o=rx

参考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不需要。

符号组合模式的添加、删除、赋值权限。

#添加权限:#为组用户添加写权限。umaskg+w#删除权限:#删除其他用户的写、执行权限umasko-wx#赋值权限:#赋值全部用户所有权限,等价于umasku=rwx,g=rwx,o=rwxumaska=rwx#清除其他用户的读、写、执行权限。umasko=

创建文件夹、文件(假设当前目录不存在)

#创建文件touchtest.sh#查看权限,发现执行权限的设置不起作用。stattest.sh#创建文件夹touchnewdir#查看权限,发现执行权限的设置可以起作用。statnewdir注意

该命令是bash内建命令,相关的帮助信息请查看help命令。

chmod用于更改已有对象的权限,umask影响之后新建对象的权限。

请谨慎使用该命令,特别是不要取消当前用户的读取权限,那样会导致你在终端使用TAB键补全时报错。

以上是“Linux中umask命令怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!