10.3. 管理 umask
您可以使用 umask
工具显示、设置或更改 umask 的当前或默认值。
10.3.1. 显示 umask 的当前值 复制链接链接已复制到粘贴板!
您可以使用 umask
工具以符号或数值模式显示 umask 的当前值。
流程
要在符号模式下显示 umask 的当前值,请使用:
umask -S
$ umask -S
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要在八进制模式下显示 umask 的当前值,请使用:
umask
$ umask
Copy 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_value
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用数值替换 octal_value。如需了解更多详细信息,请参阅 用户文件创建模式掩码。
注意umask 仅对当前 shell 会话有效。
10.3.4. 更改非登录 shell 的默认 umask 复制链接链接已复制到粘贴板!
您可以通过修改 /etc/bashrc
文件来更改标准用户的默认 bash
umask。
先决条件
-
有
root
访问权限。
流程
-
在编辑器中打开
/etc/bashrc
文件。 修改以下部分以设置新的默认
bash
umask
:if [ $UID -gt 199 ] && [ “id -gn” = “id -un” ]; then umask 002 else umask 022 fi
if [ $UID -gt 199 ] && [ “id -gn” = “id -un” ]; then umask 002 else umask 022 fi
Copy 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
文件。 修改以下部分以设置新的默认
bash
umask :if [ $UID -gt 199 ] && [ “/usr/bin/id -gn” = “/usr/bin/id -un” ]; then umask 002 else umask 022 fi
if [ $UID -gt 199 ] && [ “/usr/bin/id -gn” = “/usr/bin/id -un” ]; then umask 002 else umask 022 fi
Copy 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/.bashrc
Copy 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 0700
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将默认的八进制值(
0700
)替换为另一个八进制值。所选模式将用于为主目录创建权限。- 如果设置了 HOME_MODE,请保存更改并退出编辑器。
如果没有设置 HOME_MODE,请修改 UMASK 来为新创建的主目录设置模式:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将默认的八进制值(
022
)替换为另一个八进制值。如需了解更多详细信息,请参阅 用户文件创建模式掩码。- 保存更改并退出编辑器。