CentOS修改密碼不生效:排查與修復(fù)指南
問(wèn)題現(xiàn)象描述
在CentOS系統(tǒng)中使用passwd
命令修改用戶(hù)密碼后,新密碼無(wú)法通過(guò)SSH登錄或本地驗(yàn)證,系統(tǒng)仍然要求輸入舊密碼。
常見(jiàn)原因及解決方法
1. 密碼策略限制
檢查/etc/login.defs
和/etc/security/pwquality.conf
文件:
# 查看最小密碼長(zhǎng)度
grep PASS_MIN_LEN /etc/login.defs
# 驗(yàn)證密碼復(fù)雜度規(guī)則
cat /etc/security/pwquality.conf
若密碼不符合策略要求,需調(diào)整參數(shù)或設(shè)置更高強(qiáng)度的密碼。
2. PAM模塊配置異常
檢查/etc/pam.d/passwd
文件配置:
# 查看PAM驗(yàn)證鏈
cat /etc/pam.d/passwd
# 典型有效配置示例:
# password sufficient pam_unix.so sha512 shadow nullok try_first_pass
若存在pam_deny.so
或錯(cuò)誤模塊引用,需修正配置后執(zhí)行systemctl daemon-reload
。
3. SELinux安全策略攔截
# 臨時(shí)禁用SELinux排查問(wèn)題
setenforce 0
# 檢查SELinux日志
grep AVC /var/log/audit/audit.log | audit2allow
若問(wèn)題消失,需通過(guò)semanage
調(diào)整策略或恢復(fù)默認(rèn)文件上下文。
4. 文件權(quán)限異常
# 驗(yàn)證shadow文件權(quán)限
ls -l /etc/shadow
# 正確權(quán)限應(yīng)為640且屬主root
chmod 640 /etc/shadow
chown root:shadow /etc/shadow
# 檢查文件鎖定屬性
lsattr /etc/shadow
chattr -i /etc/shadow
操作驗(yàn)證步驟
- 執(zhí)行
passwd [username]
后立即檢查/var/log/secure
日志 - 通過(guò)
su - [username]
本地驗(yàn)證密碼變更 - 重啟SSH服務(wù)后測(cè)試遠(yuǎn)程登錄:
systemctl restart sshd
深度排查建議
- 使用
strace -f passwd [username]
跟蹤系統(tǒng)調(diào)用 - 檢查
/etc/nsswitch.conf
認(rèn)證源配置 - 確認(rèn)未啟用LDAP/AD等外部認(rèn)證服務(wù)