Linux 上本地用户使用passwd 修改密码报错信息为passwd: Authentication token manipulation error
[Zinnia@Test_3 ~]$ passwd Changing password for user Zinnia. Changing password for Zinnia. (current) UNIX password: passwd: Authentication token manipulation error [Zinnia@Test_3 ~]$查看/var/log/secure 日志
Oct 20 16:42:46 Test_3 unix_chkpwd[56179]: check pass; user unknown Oct 20 16:42:46 Test_3 unix_chkpwd[56179]: password check failed for user (Zinnia) Oct 20 16:42:46 Test_3 passwd: pam_unix(passwd:chauthtok): authentication failure; logname=Zinnia uid=1000 euid=1000 tty=pts/0 ruser= rhost= user=Zinnia原因:
检查后发现是/usr/sbin/unix_chkpwd以及/usr/bin/passwd 文件的属性被改, 当前被改为:
-rwxrwxrwx. 1 root root 36280 Apr 11 2018 /usr/sbin/unix_chkpwd
-rwxrwxrwx. 1 root root 27832 Jan 30 2014 /usr/bin/passwd
使用chmod命令将文件所有者的执行权限赋予其他用户并同时修改下所有组及其他组的权限,
(添加SetUID(或者 s 权限),当一个具有执行权限的文件设置SetUID权限后,用户执行这个文件时将以文件所有者的身份执行)
如chmod 4755 /usr/sbin/unix_chkpwd调整为
[root@Test_3 ~]# chmod 755 /usr/bin/passwd [root@Test_3 ~]# chmod u+s /usr/bin/passwd [root@Test_3 ~]# ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 27832 Jan 30 2014 /usr/bin/passwd [root@Test_3 ~]#-rwsr-xr-x. 1 root root 36360 Nov 4 2017 /usr/sbin/unix_chkpwd