首页/安全/安全加固速查//etc/gshadow 与 /etc/gshadow- 权限(0000)
主机加固基线90 条

/etc/gshadow 与 /etc/gshadow- 权限(0000)

gshadow 保存组口令与组管理员信息,虽很少被使用但仍是敏感文件;应 root:root 且 0000,备份文件 gshadow- 同步收紧。

安全加固速查安全更新于 2026-10-13

gshadow 为什么要收紧

/etc/gshadow 保存组口令与组管理员信息,与 /etc/shadow 属于同一类敏感文件。虽然组口令在实践中很少使用,文件本身仍应保持 root:root 且权限 0000,备份文件 /etc/gshadow- 要同步收紧——备份往往是权限回退的来源。这项加固的实际价值在于防止人为误改,以及从备份恢复后权限被悄悄放开。

基本信息

目标文件/etc/gshadow 与备份 /etc/gshadow-
适用平台RHEL / CentOS 系与 Debian / Ubuntu 系
风险等级中
基线值权限 0000,属主 root:root
相关文件/etc/group 保存组名与成员列表,权限 644

典型使用场景

  • 账号文件权限基线核查,等保中的常见检查项
  • 从备份恢复 /etc 目录后复核权限是否被放宽
  • 排查哪些账号能读取组口令相关信息
  • 账号安全整改完成后的回归验证
  • 自动化巡检脚本采集账号文件权限

核查与加固

核查与加固
stat -c '%a %U:%G %n' /etc/gshadow /etc/gshadow-   # 查看权限与属主
chown root:root /etc/gshadow /etc/gshadow-          # 确保属主正确
chmod 0000 /etc/gshadow /etc/gshadow-               # 收紧为不可读
ls -l /etc/gshadow*                                 # 复核改动结果
getent group sudo                                   # 查组信息应使用 getent,而不是直接读文件

账号文件权限基线

文件内容权限基线
/etc/passwd账号基本信息644 root:root
/etc/shadow用户口令哈希0000 或 400 root:root
/etc/group组名与成员列表644 root:root
/etc/gshadow组口令与组管理员0000 root:root
带 - 后缀的备份文件上一次修改前的副本与原文件保持一致
多数发行版默认已经是 0000,本项的重点是防止人为误改与备份恢复时的权限回退,巡检时关注「是否被改宽」。
组口令一旦被设置且文件可读,拿到文件的人就可以离线尝试破解;管理组口令应使用 gpasswd 命令,而不是手工编辑文件内容。
检查时可以顺手复核 /etc/passwd、/etc/shadow、/etc/group 是否都符合基线:这几个账号文件彼此关联,只修一处其余仍可能被读取;巡检脚本建议把四个文件连同它们的备份文件一起采集。
如果使用配置管理工具统一下发账号文件,务必在模板里把权限固化下来,否则下一次批量推送会把权限改回工具模板里的默认值,手工修的成果直接失效。

易错点

  • 直接编辑 gshadow 容易写坏格式导致组信息损坏,管理组口令要用 gpasswd 命令完成
  • 从备份恢复账号文件常带回宽松权限,恢复流程里必须包含权限复核这一步
  • 只修 /etc/gshadow 不修 /etc/gshadow-,备份文件仍然可读,等于留了一个口子
  • 用 cat 直接读账号文件做检查会绕过权限模型,检查应使用 getent 命令

数据来源与参考

  • CIS Linux Benchmark:Ensure permissions on /etc/gshadow are configured
  • gshadow(5) 手册

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌