在 macOS 上正确设置默认 umask

单 shell 的 umask 只影响当前终端;系统级官方做法是 launchctl config user umask。

macOSumask 默认权限权限中风险
当前 shell 运行 `umask 027`;系统级运行 `sudo launchctl config user umask 027` 并重启。

01命令

命令
$ # Per-shell:
umask 027
# System-wide (launchd macOS 10.11+):
sudo launchctl config user umask 027

02作用说明

在 macOS 上,许多 Linux 教程建议的 /etc/profile 或 PAM 修改对 launchd、Finder、Spotlight 启动的应用毫无作用。苹果支持的系统级方法是 `sudo launchctl config user umask <掩码>`,它会写入 /var/db/com.apple.xpc.launchd/config/user.plist 并在下次启动时生效。`umask 027` 使新文件对属主和组可读、其他人不可读——共享机器上的常见需求。单独运行 `umask` 可查看当前八进制值。

03风险

风险中风险
使用条件Sudo for the system-wide launchctl variant
!注意: 系统级 umask 修改会在重启后影响所有 GUI 应用;077 尤其会破坏一些需要跨用户共享文件的应用。

04撤销

撤销
$ sudo launchctl config user umask 022

05来源

最后验证: 2026-09-17 · 分类: 安全与隐私

06相关方案