10.3. 管理 umask
您可以使用 umask 工具显示、设置或更改 umask 的当前或默认值。
10.3.1. 显示 umask 的当前值 复制链接链接已复制到粘贴板!
您可以使用 umask 工具以符号或数值模式显示 umask 的当前值。
流程
要在符号模式下显示 umask 的当前值,请使用:
umask -S
$ umask -SCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要在八进制模式下显示 umask 的当前值,请使用:
umask
$ umaskCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意以八进制模式显示 umask 时,您可以注意到它显示了四位数字(
0002或0022)。umask 的第一个数字代表一个特殊的位(spicky 位、SGID 位或 SUID 位)。如果第一个数字设定为0,则代表没有设置特殊位。
10.3.2. 使用符号值设置 umask 复制链接链接已复制到粘贴板!
您可以使用 umask 工具及符号值(字母和符号组合)来为当前的 shell 会话设置 umask
您可以分配以下 权限 :
- 读(r)
- 写(w)
- 执行(x)
权限可分配给以下 所有权级别 :
- 用户所有者 (u)
- 组所有者(g)
- 其他 (o)
- 所有 (a)
要添加或删除权限,您可以使用以下 符号 :
-
+在现有权限之上添加权限 -
-从现有权限中删除权限 =删除现有权限,并明确定义新权限注意任何在等号(
=)后未指定的权限都将被自动禁止。
流程
要为当前的 shell 会话设置 umask,请使用:
umask -S <level><operation><permission>
$ umask -S <level><operation><permission>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<level>替换为您要为其设置 umask 的 所有权级别。将<operation>替换为其中一个 符号。将<permission>替换为您要分配的 权限。例如,要将 umask 设为u=rwx,g=rwx,o=rwx,使用umask -S a=rwx。如需了解更多详细信息,请参阅 用户文件创建模式。
注意umask 仅对当前 shell 会话有效。
10.3.3. 使用数值设置 umask 复制链接链接已复制到粘贴板!
您可以使用 umask 工具和八进制值(数字)来为当前 shell 会话设置 umask。
流程
要为当前的 shell 会话设置 umask,请使用:
umask octal_value
$ umask octal_valueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用数值替换 octal_value。如需了解更多详细信息,请参阅 用户文件创建模式掩码。
注意umask 仅对当前 shell 会话有效。
10.3.4. 更改非登录 shell 的默认 umask 复制链接链接已复制到粘贴板!
您可以通过修改 /etc/bashrc 文件来更改标准用户的默认 bash umask。
先决条件
-
有
root访问权限。
流程
-
在编辑器中打开
/etc/bashrc文件。 修改以下部分以设置新的默认
bashumask:if [ $UID -gt 199 ] && [ “id -gn” = “id -un” ]; then umask 002 else umask 022 fiif [ $UID -gt 199 ] && [ “id -gn” = “id -un” ]; then umask 002 else umask 022 fiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更改
UID -gt 199将对所有ID >= 199及影响服务和安全性应用新的 umask。
将 umask 的默认值(002)替换为另一个数值。如需了解更多详细信息,请参阅 用户文件创建模式掩码。
- 保存更改并退出编辑器。
10.3.5. 更改登录 shell 的默认 umask 复制链接链接已复制到粘贴板!
您可以通过修改 /etc/profile 文件来更改 root 用户的默认 bash umask。
先决条件
-
root访问权限
流程
-
以
root用户身份,在编辑器中打开/etc/profile文件。 修改以下部分以设置新的默认
bashumask :if [ $UID -gt 199 ] && [ “/usr/bin/id -gn” = “/usr/bin/id -un” ]; then umask 002 else umask 022 fiif [ $UID -gt 199 ] && [ “/usr/bin/id -gn” = “/usr/bin/id -un” ]; then umask 002 else umask 022 fiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 umask 的数值(
022)替换为另一个数值。如需了解更多详细信息,请参阅 用户文件创建模式掩码。- 保存更改并退出编辑器。
10.3.6. 更改特定用户的默认 umask 复制链接链接已复制到粘贴板!
您可以通过修改用户的 .bashrc 来更改特定用户的默认 umask。
流程
将指定 umask 的八进制值的行追加到特定用户的
.bashrc文件中。echo 'umask octal_value' >> /home/username/.bashrc
$ echo 'umask octal_value' >> /home/username/.bashrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用数值替换 octal_value,并使用用户名替换 username。如需了解更多详细信息,请参阅 用户文件创建模式掩码。
10.3.7. 为新创建的主目录设置默认权限 复制链接链接已复制到粘贴板!
您可以通过修改 /etc/login.defs 文件来更改新创建的用户的主目录的权限模式。
流程
-
以
root用户身份,在编辑器中打开/etc/login.defs文件。 修改以下部分来设置新的默认 HOME_MODE :
HOME_MODE is used by useradd(8) and newusers(8) to set the mode for new home directories. If HOME_MODE is not set, the value of UMASK is used to create the mode.
# HOME_MODE is used by useradd(8) and newusers(8) to set the mode for new # home directories. # If HOME_MODE is not set, the value of UMASK is used to create the mode. HOME_MODE 0700Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将默认的八进制值(
0700)替换为另一个八进制值。所选模式将用于为主目录创建权限。- 如果设置了 HOME_MODE,请保存更改并退出编辑器。
如果没有设置 HOME_MODE,请修改 UMASK 来为新创建的主目录设置模式:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将默认的八进制值(
022)替换为另一个八进制值。如需了解更多详细信息,请参阅 用户文件创建模式掩码。- 保存更改并退出编辑器。