在 macOS 中设置自定义 umask

Mac 上的每个文件和文件夹都有一组权限。在你创建新的文件或文件夹时,umask 会确定这些权限。

以下高级步骤主要适用于系统管理员以及其他熟悉命令行的人员。更改文件权限和 umask 时,需要特别小心。一旦操作失误,则可能会降低 Mac 上文件、文件夹或 App 的安全性,或导致某些 App 无法正常运行。

关于权限和 umask

权限。储存在 Mac 上的每个文件、文件夹和 App 都有权限设置,这些设置决定了哪些用户账户可以读取、写入或运行相应的文件、文件夹或 App。这些权限包括 POSIX 权限和访问控制列表 (ACL)。要增强或降低用户 POSIX 权限的限制,你可以调整权限的 umask 值。

umask。一个三位数可以表示文件的 POSIX 权限。从“终端”查看时,你可能会看到以这种格式表示的权限。每位数字介于 0 和 7 之间。创建文件时,系统会从默认值(对于文件,通常为 666;对于文件夹,通常为 777)中减去 umask 值来确定新的文件或文件夹的权限。例如,如果默认 umask 为 022,系统会为新文件设置权限 644,并为新文件夹设置权限 755。

你可以在多个位置设置 umask,每个位置都会影响不同的 App。如果你设置了错误的 umask,则可能会导致失去文件的访问权限,或将访问权限授予其他用户。请参阅 chmod(1) 手册页面的“MODES”部分,以了解更多信息。

适用于用户 App 的 umask

以管理员身份登录,然后在“终端”中输入以下命令,并将 nnn 替换为 umask 值,例如 027 或 002。

sudo launchctl config user umask nnn

如果“终端”显示了响应信息“Could not write configuration: No such file or directory”(无法写入配置:无此文件或目录),请确保启动磁盘中存在 /private/var/db/com.apple.xpc.launchd/config 文件夹。如果 config 文件夹缺失,请输入以下命令来创建这个文件夹,然后再试一次:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

适用于系统进程的 umask

以管理员身份登录,然后在“终端”中输入以下命令,并将 nnn 替换为 umask 值,例如 027 或 002。

sudo launchctl config system umask nnn

如果“终端”显示了响应信息“Could not write configuration: No such file or directory”(无法写入配置:无此文件或目录),请确保启动磁盘中存在 /private/var/db/com.apple.xpc.launchd/config 文件夹。如果 config 文件夹缺失,请输入以下命令来创建这个文件夹,然后再试一次:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

进一步了解

如需进一步了解如何设置 umask,请在“终端”中输入 man launchctl

发布日期: