Troubleshooting


4
十一 10

修改密码失败

昨天以root的身份重置一个用户的密码时,遇到了下面的提示:

#passwd username
Changing password for user username.
New UNIX password:
/usr/share/cracklib/pw_dict: error reading header
PWOpen: Success

密码只输入了一次,并且有“error reading header”的错误提示,试了一试,果然没有修改成功。

开始Troubleshooting:

1. 收集信息

/usr/share/cracklib/pw_dict 文件不存在,touch了一个,无效,问题依旧。

rpm -qf  /usr/share/cracklib

查到两个包:

cracklib-2.8.9-3.3
cracklib-2.8.9-3.3
cracklib-dicts-2.8.9-3.3

cracklib是用来“测试密码强度”的C功能库。

2. 怀疑是 /etc/pam.d/passwd 中出了问题(真敢怀疑,直接怀疑官方升级系统给升坏了)。

检查了一下,无果……

3. 会不会是文件损坏?

rpm -V cracklib
rpm -V cracklib-dicts

结果查到 cracklib-dicts 包
rpm -V cracklib-dicts
..5….T    /usr/share/cracklib/pw_dict.hwm
S.5….T    /usr/share/cracklib/pw_dict.pwd
S.5….T    /usr/share/cracklib/pw_dict.pwi

解决问题:

yum reinstall cracklib-dicts
或者
rpm -e  cracklib-dicts –nodeps
yum install cracklib-dicts

问题解决了。

小结:

1. 第一步应该先Google,关键字“ /usr/share/cracklib/pw_dict: error reading header”。

2. 不要总是先怀疑是别人的问题,特别是比自己更严谨的人。

深纠:为什么这个包会被损坏?

 

参考:

如何使用cracklib : http://englanders.us/~jason/howtos.php?howto=cracklib