Linux umask
命令教程
umask
(用户文件创建模式)是 Linux 和 Unix 系统中的一个重要命令,用于设置新创建文件和目录的默认权限掩码(mask)。通过使用 umask
,可以控制文件和目录的默认权限,确保系统的安全性和灵活性。
基础概念
文件和目录的权限
在 Linux 系统中,文件和目录的权限分为三类:
- 用户(User): 文件的拥有者。
- 组(Group): 文件所属的用户组。
- 其他人(Others): 系统中的其他用户。
每一类权限可以分为以下三种:
- 读(Read,
r
): 读取文件内容或列出目录内容。 - 写(Write,
w
): 修改文件内容或在目录中创建/删除文件。 - 执行(Execute,
x
): 执行文件或进入目录。
权限通过三位八进制表示:
- 文件的默认权限是
666
(读和写权限)。 - 目录的默认权限是
777
(读、写和执行权限)。
umask
掩码
umask
是一种权限掩码,用于从默 认权限中减去指定的权限。其值也用八进制表示,每一位表示用户、组和其他人的权限减法。
例如:
umask 022
表示减去写权限,导致文件的默认权限变为644
,目录的默认权限变为755
。
查看当前 umask 值
运行以下命令查看当前的 umask
值:
umask
输出通常为四位或三位数字,例如 0022
或 022
。前导零通常可以忽略。
设置 umask 值
可以通 过以下方式临时设置 umask
值:
umask 027
这会将 umask
值设置为 027
,从而:
- 新文件的默认权限为
640
。 - 新目录的默认权限为
750
。
注意: 这种设置仅对当前会话有效。
永久设置 umask 值
要永久设置 umask
值,可以将其添加到配置文件中,例如:
- 编辑用户的 shell 配置文件(如
~/.bashrc
或~/.zshrc
)。 - 添加以下内容:
umask 027
- 保存文件并运行以下命令使更改生效:
source ~/.bashrc
对于系统范围的设置,可以编辑 /etc/profile
或 /etc/bash.bashrc
。
示例
示例 1: 设置更严格的权限
umask 077
- 新文件权限:
600
(只有用户可读写)。 - 新目录权限:
700
(只有用户可读写执行)。