在 macOS 上正确设置默认 umask
单 shell 的 umask 只影响当前终端;系统级官方做法是 launchctl config user umask。
当前 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 02702作用说明
在 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风险
!注意: 系统级 umask 修改会在重启后影响所有 GUI 应用;077 尤其会破坏一些需要跨用户共享文件的应用。
04撤销
撤销
$ sudo launchctl config user umask 02205来源
- umask — macOS Command Reference依据: Documents the octal mask semantics and current value display.
- Set a default umask on macOS依据: Documents launchctl config user umask as the supported system-wide method.
最后验证: 2026-09-17 · 分类: 安全与隐私