在传统Linux系统中,用户密码通常存储在以下文件中:
/etc/passwd
- 存储用户基本信息,但现代系统通常在此文件中只放"x"表示密码存储在别处/etc/shadow
- 实际存储加密密码的文件(只有root可读)/etc/group
- 存储用户组信息/etc/shadow
权限为640,所有者root:shadowpwconv
命令确保密码从passwd转移到shadow文件/etc/login.defs
中的ENCRYPT_METHOD
参数配置pam_pwquality
模块(原pam_cracklib
)设置密码复杂度要求/etc/security/pwquality.conf
设置:
chage
命令设置密码过期策略/etc/login.defs
中配置:
bash
PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
PASS_WARN_AGE 14
PermitRootLogin no
)/etc/shadow
文件权限和完整性auditd
监控对关键文件的访问awk -F: '($2 == "") {print}' /etc/shadow
john
或hashcat
定期测试密码强度如果怀疑密码文件被篡改:
1. 立即更改所有可能受影响账户的密码
2. 检查系统完整性(使用AIDE或类似工具)
3. 检查最近修改时间:ls -l /etc/passwd /etc/shadow
4. 与系统基线比较(如果有)
遵循这些最佳实践可以显著提高Linux系统的密码安全性。