磁盘文件与权限

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

· 52CE 我爱测

适用场景 显示或设置创建文件的权限掩码。 本条为命令参考与排查示例;请先确认命令已安装,再按示例定位实际参数和输出。 umask === 显示或设置创建文件的权限掩码。 概要 主要用途 - 显示当前的文件权限掩码。 - 通过八进制数的方式设置创建文件的权限掩码。 - 通过符号组合的方式设置创建文件的权限掩码。 参数 mode(可选):八进制数或符号组合。 选项 返回值 返回状态为成功除非给出了非法选项或非法参数。 例子 以下的例子均假设文件权限掩码为002

适用场景

显示或设置创建文件的权限掩码。 本条为命令参考与排查示例;请先确认命令已安装,再按示例定位实际参数和输出。

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

注意

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

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

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

资料来源与适用范围

资料来源
Linux命令参考(原作者中文文档)
适用范围
Linux / Unix;具体选项随发行版和命令版本变化
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
MIT

正文与所需资源由本站本地存储。查看来源及更新记录 ↗

请按适用版本和实际日志确认原因;本站没有对每一种系统或设备逐项执行文中的操作。