0027是生产服务器最平衡的umask起点,属主全权、组可读可进、其他人无权;需同时配置/etc/login.defs中UMASK 027和PAM的pam_umask.so模块,再通过新建终端实测touch与mkdir权限验证是否生效。
直接设为 0027 是生产服务器最平衡的安全起点——属主全权、组可读可进、其他人彻底无权,既满足运维协作,又堵住敏感文件(如配置、日志、密钥)被意外读取的漏洞。
优先改 /etc/login.defs 确保新用户继承
这是对所有新建用户生效的标准路径:
sudo nano /etc/login.defs 打开文件UMASK 行(通常在中间位置),取消注释并设为:UMASK 027
必须补上 PAM 配置覆盖 su/sudo/cron 场景
仅改 /etc/login.defs 不够,su -、sudo -i、定时任务等非标准登录常绕过它:
/etc/pam.d/common-session
/etc/pam.d/system-auth
session optional pam_umask.so umask=0027
pam_umask.so 已安装(Ubuntu 需先 apt install libpam-umask)验证不能只看 umask 命令输出
值对不代表文件真按预期生成,必须实测:
umask && touch testf && mkdir testd && ls -ld testf testd
-rw-r-----(文件 640)
drwxr-x---(目录 750)
避开常见失效点
~/.bashrc:它对 cron 脚本、su、图形登录基本无效/etc/profile:PAM 会覆盖它,且加载时机不稳定grep -r "umask" /etc/profile* /etc/bash* 2>/dev/null,删掉重复或过时设置~/.zshrc),而非 bash 文件不复杂但容易忽略。