系统默认umask从022调优为027是安全加固最直接有效的基线优化,需双轨配置:在/etc/login.defs设UMASK 027控制新用户,并通过PAM在common-session或system-auth中添加session optional pam_umask.so umask=0027覆盖所有登录场景,再验证新建文件为640、目录为750,同步修复已有文件权限。
把系统默认 umask 从 022 调优为 027,是安全加固中最直接、见效最快的权限基线优化之一。它不依赖事后审计或复杂工具,而是从文件诞生那一刻就阻止组外用户读取敏感内容(如配置、日志、密钥),尤其能防范因疏忽导致的横向越权访问。
默认 umask 022 对应文件权限 644(-rw-r--r--)、目录 755(drwxr-xr-x)——其他用户可读。在多用户服务器、容器宿主机或审计环境中,这等于把应用配置、调试日志甚至临时凭证“公开晾晒”。而 027 将其他用户的全部权限屏蔽,只保留属主和组内必要访问,符合最小权限原则。
单改一处极易失效,需同时覆盖新用户创建与所有登录路径:
session optional pam_umask.so umask=0027
此方式对 SSH 登录、su -、sudo -i、systemd 用户服务、cron 子 shell 等全部生效,优先级高于 shell 配置
不能只运行 umask 命令看输出,要验证实际创建行为:
umask && touch testf && mkdir testd && ls -ld testf testd
-rw-r----- 1 user group testf(文件 640)
drwxr-x--- 2 user group testd(目录 750)
umask 只控制“新建”文件,必须同步清理历史风险:
chmod 700 /home/*,防止其他用户进入任意用户家目录chmod 600 ~/.bash_history ~/.ssh/authorized_keys;chmod 700 ~/.ssh
/etc/shadow 和 /etc/gshadow 必须为 600;/etc/passwd 和 /etc/group 可保持 644