密码修改失败 passwd: Authentication token manipulation error
2024-03-26 / Server / 280 次围观 / 0 次吐槽 /Authentication token manipulation error 这个错误直译就是:认证令牌操作失败错误。
1.保存用户密码的两个文件是否无修改权限
2.磁盘已满导致无法修改
3.PAM 模块设置 ls -l /etc/pam.d/
错误配置的/etc/pam.d/common-password文件可能会导致此错误,使用root权限运行pam-auth-update命令可以解决此问题。
思路1
/etc/passwd 用户信息文件 和/etc/shadow用户密码文件。在/etc/shadow中能看到用户密码策略的一些信息。
所以我先看了下了,是否这两个文件出了权限问题。
[root@master ~]# lsattr /etc/passwd /etc/shadow ---------------- /etc/passwd ---------------- /etc/shadow
chattr -i /etc/passwd chattr -i /etc/shadow
df -h
发现根目录挂载的剩余空间很多,所以也不是这个问题。从这开始,我就在导出找是不是其它原因了。
比如是不是这个用户有问题,或者密码设置不对?最后想到是不是密码策略有关
还有个文件 /etc/pam.d/system-auth
linux的用户与密码用户策略比如密码强度,然后看到一篇文章上说重复密码次数,有一篇文章通过查看系统日志找错误信息,
/var/log/messages 但是message里并没有有用的信息,然后看下目录下面,还有个security日志,cat /var/log/secure
最后看到一行日志,无法打开旧密码文件检查旧密码。
passwd: pam_unix(passwd:chauthtok): can't open /etc/security/opasswd file to check old passwords
/etc/security/opasswd 旧密码保存文件,是因为在 /etc/pam.d/system-auth中强制不能和最近的5个旧密码相同,所以在查找旧密码时,发现没有 opasswd文件报错了,校验失败,没法修改密码。
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
所以解决方法,1不校验旧密码。2.创建旧密码文件。我用了第二个方法。
最能追根求源的方法,果然还是看日志。
最后总结一下,主要知识是密码修改相关的知识,
1.修改密码的策略
所有的设置都在/etc/pam.d/system-auth里,包括密码强度,大小写,特殊字符之类。比如是否旧密码校验。
2.密码保存文件
/etc/passwd /etc/shadow 要修改密码成功,这两个文件必须有写,修改权限。
- 上一篇:AlmaLinux安装Docker
- 下一篇:批量修改root密码shell
Powered By Cheug's Blog
Copyright Cheug Rights Reserved.