/etc/passwd 权限应为644且属主root,/etc/shadow权限应为600且仅root可读写;需通过chmod、chown修复,并用stat、cron及完整性工具持续监控。

/etc/passwd 和 /etc/shadow 是 Linux 系统中核心的身份认证文件,权限配置不当会直接导致密码泄露、提权攻击等严重安全风险。必须严格限制访问权限,仅允许特权用户读取或修改。
检查 /etc/passwd 权限是否合规
该文件需全局可读(便于解析用户名、UID 等信息),但不可被普通用户写入或执行。标准权限应为 644(即 -rw-r--r--)。
- 执行
ls -l /etc/passwd查看当前权限 - 若出现写权限(如
-rw-rw-r--或-rw-r--rw-),立即修复:sudo chmod 644 /etc/passwd - 属主必须是
root,属组建议为root;若属组异常(如users),用sudo chown root:root /etc/passwd重置
确认 /etc/shadow 权限是否足够严格
该文件存储加密后的密码哈希,严禁非 root 用户访问。标准权限应为 600(即 -rw-------),且仅 root 可读写。
- 运行
ls -l /etc/shadow验证权限与归属 - 任何非 root 用户的读、写、执行位(如
-rw-r-----或-r--r--r--)都属于高危配置 - 修复命令:
sudo chmod 600 /etc/shadow && sudo chown root:root /etc/shadow - 若系统使用 shadow 组(如某些发行版),可设为
640并属组shadow,但需确保普通用户不在该组内
自动化审计与持续监控建议
手动检查易遗漏,建议纳入基线核查流程:
- 用
stat /etc/passwd /etc/shadow获取完整权限、时间戳和 SELinux 上下文(如启用) - 写入定时任务(如 cron)每日校验:例如用
find /etc/{passwd,shadow} -perm -o=w -o -perm -g=w检测异常写权限 - 结合 AIDE、Tripwire 或 systemd-integrity-check 等工具,对文件哈希与权限做完整性比对
- 在加固脚本中加入断言检查,部署前自动失败并告警
常见误操作与修复注意点
权限错误常源于误用 chmod -R、打包还原或脚本泛化赋权:
- 切勿对
/etc目录递归改权限,极易波及 shadow - 容器环境需注意挂载方式:若 host 的 shadow 被 bind mount 进容器,宿主机权限仍决定安全性
- 某些自动化工具(如 Ansible 的
copy模块)默认不保留权限,需显式设置mode: '0600' - 修复后验证:用普通用户执行
cat /etc/shadow应提示Permission denied;getent shadow可正常返回(因调用 PAM 接口,不直读文件)










