前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【linux命令讲解大全】041.umask命令详解:管理文件权限掩码的利器

【linux命令讲解大全】041.umask命令详解:管理文件权限掩码的利器

作者头像
全栈若城
发布2024-03-02 13:05:26
1420
发布2024-03-02 13:05:26
举报
文章被收录于专栏:若城技术专栏若城技术专栏

umask

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

概要

umask [-p] [-S] [mode]

主要用途

  • 显示当前的文件权限掩码。
  • 通过八进制数的方式设置创建文件的权限掩码。
  • 通过符号组合的方式设置创建文件的权限掩码。

参数

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

选项

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

返回值

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

例子

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

代码语言:javascript
复制
# 以八进制数的形式输出创建文件的权限掩码。
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 - 07550022,而 chmod 不需要。

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

代码语言:javascript
复制
# 添加权限:
# 为组用户添加写权限。
umask g+w
# 删除权限:
# 删除其他用户的写、执行权限
umask o-wx
# 赋值权限:
# 赋值全部用户所有权限,等价于 umask u=rwx,g=rwx,o=rwx
umask a=rwx
# 清除其他用户的读、写、执行权限。
umask o=

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

代码语言:javascript
复制
# 创建文件
touch test.sh
# 查看权限,发现执行权限的设置不起作用。
stat test.sh
# 创建文件夹
touch newdir
# 查看权限,发现执行权限的设置可以起作用。
stat newdir

注意

  • 该命令是 bash 内建命令,相关的帮助信息请查看 help 命令。
  • chmod 用于更改已有对象的权限,umask 影响之后新建对象的权限。
  • 请谨慎使用该命令,特别是不要取消当前用户的读取权限,那样会导致你在终端使用 TAB 键补全时报错。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • umask
    • 概要
      • 主要用途
        • 参数
          • 选项
            • 返回值
              • 例子
                • 注意
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档