umask
是一个在 Unix 和类 Unix 系统中用于设置默认权限的命令。umask
代表“user file creation mode mask”,即用户文件创建模式掩码。它定义了在创建新文件和目录时默认的权限设置。
在 Linux 系统中,文件和目录的权限由三组数字表示,分别对应于文件所有者、所属组和其他用户。每组权限由三个字母表示:r
(读)、w
(写)和 x
(执行)。例如,rwx
表示读、写和执行权限。
umask
命令的值是一个八进制数,它定义了哪些权限在创建新文件或目录时应该被屏蔽。权限的设置是通过对 umask
值取反来实现的。例如:
- 如果
umask
设置为022
,则表示新创建的文件将屏蔽掉其他用户的写权限和执行权限,而新创建的目录将屏蔽掉其他用户的写权限和进入目录的权限。 - 如果
umask
设置为027
,则表示新创建的文件将屏蔽掉所属组和其他用户的写权限和执行权限,而新创建的目录将屏蔽掉所属组和其他用户的写权限和进入目录的权限。
使用 umask
命令可以查看或设置当前的 umask
值。例如:
- 查看当前
umask
值:umask
- 设置
umask
值:umask 022
umask
值也可以在用户的 shell 配置文件(如 .bashrc
或 .profile
)中设置,这样每次登录时都会应用该值。
请注意,umask
值是针对当前登录会话的,并且可以被临时更改。要永久更改 umask
值,需要在用户的 shell 配置文件中设置它。