加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- AI开发硬件、专属主机、建站、CDN、云容器引擎!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

umask命令指定在建立文件时预设的权限掩码

发布时间:2023-05-23 23:33:38 所属栏目:Linux 来源:转载
导读:   Linux常用命令umask命令指定在建立文件时预设的权限掩码,umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设
  Linux常用命令umask命令指定在建立文件时预设的权限掩码,umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限,下面为大家分享一下Linux常用命令—umask命令具体使用方法。
 
  umask
 
  显示或设置创建文件的权限掩码。
 
  概要
 
   umask [-p] [-S] [mode]
 
  主要用途
 
  显示当前的文件权限掩码。
 
  通过八进制数的方式设置创建文件的权限掩码。
 
  通过符号组合的方式设置创建文件的权限掩码。
 
  参数
 
  mode(可选):八进制数或符号组合。
 
  选项
 
   -p:当没有参数时指定该选项,执行产生的输出格式可复用为输入;
 
   -S:以符号组合的方式输出创建文件的权限掩码,不使用该选项时以八进制数的形式输出。
 
  返回值
 
  返回状态为成功除非给出了非法选项或非法参数。
 
  例子
 
  以下的例子均假设文件权限掩码为0022。
 
   # 以八进制数的形式输出创建文件的权限掩码。
 
   umask -p
 
   # 执行结果:
 
   umask 0022
 
   # 以符号组合的方式输出创建文件的权限掩码。
 
   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不需要。
 
  符号组合模式的添加、删除、赋值权限。
 
   # 添加权限:
 
   # 为组用户添加写权限。
 
   umask g+w
 
   # 删除权限:
 
   # 删除其他用户的写、执行权限
 
   umask o-wx
 
   # 赋值权限:
 
   # 赋值全部用户所有权限,等价于umask u=rwx,g=rwx,o=rwx
 
   umask a=rwx
 
   # 清除其他用户的读、写、执行权限。
 
   umask o=
 
  创建文件夹、文件(假设当前目录不存在)
 
   # 创建文件
 
   touch test.sh
 
   # 查看权限,发现执行权限的设置不起作用。
 
   stat test.sh
 
   # 创建文件夹
 
   touch newdir
 
   # 查看权限,发现执行权限的设置可以起作用。
 
   stat newdir
 
  注意
 
  该命令是bash内建命令,相关的帮助信息请查看help命令。
 
  chmod用于更改已有对象的权限,umask影响之后新建对象的权限。
 
  请谨慎使用该命令,特别是不要取消当前用户的读取权限,那样会导致你在终端使用TAB键补全时报错。
 
  总结
 
  至此关于Linux常用命令umask命令的使用方法分享结束,大家如果对umask命令的使用方法还有问题可以通过评论区将问题提交我们。
 

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!