问题描述:在将某用户密码更改为之前使用过的密码时,提示此错误:password already has been used!,密码已使用。请选择其他密码。
原因分析:
1. /etc/pam.d/common-password或/etc/pam.d/system-auth,此文件中的安全策略可以限制用户不能更改为之前使用的历史密码。命令:password required pam_pwhistory.so use_authtok remember=10 retry=3 enforce_for_root
2. Linux 历史密码在/etc/security/opasswd中存放。
解决方法:
1. 临时更改commen-password或system-auth文件修改密码修改策略,去除历史密码的限制,更改完密码后在恢复原来的策略。
2. 删掉/etc/security/opasswd中关于被修改用户的内容,这样就检测不到该用户之前的历史密码了。
建议删掉/etc/security/opasswd中关于被修改用户的内容,再重新设置密码。
# 修改当前账户密码
passwd
# 修改指定用户密码
passwd ${指定用户}
# 命令修改(不推荐会留下明文密码记录),注:其中特殊字符需要用反斜杠转义
echo \@\#password91\$chage\% | passwd --stdin user_01