使用passwd修改密码报错: 鉴定令牌操作错误。下面对该错误可能出现的四种情况进行分析:

第一种:/usr/bin/passwd 的权限中没有添加s即SUID特殊权限
即:-rwxr-xr-x. 1 root root 27000 8月  22 2010 /usr/bin/passwd
解决方案:chmod u+s /usr/bin/passwd
SUID的功能简单的说就是让组用户或其他用户在执行该文件是拥有文件所有者(own)权限,这里就是需要获取w(写)权限,这样才能将新密码写到/etc/shadow文件中 切记:SUID只对二进制的文件有效(系统中的一些命令),不能用在脚本上(script),因为脚本还是把很多的程序集合到一起来执行,而不是脚本自身在执行。同样,SUID也不能放到目录上,放上也是无效的。

第二种:
[root@Svr04 ~]# lsattr /etc/shadow
—-i——–e- /etc/shadow(文件的隐藏属性,具体不扩展),这里需要将i去掉,用chattr -i /etc/shadow
同样/etc/group /etc/passwd也可能出现该情况。本次是用户/etc/shadow不能扩展,把i属性去掉就可以了。

第三种:
虽然出现passwd: 鉴定令牌操作错误,但是密码已经修改了,可以通过cat /etc/shadow去查看,只是该用户被锁定了,这里需要解锁。
解决方案:
usermod +U somebody将该用户解锁(/etc/shadow文件中该用户所属第二栏有几个!(惊叹号)就执行几次该指令)

第四种:
主机磁盘已满,修改密码是提示:鉴定令牌操作错误
解决方法:清理磁盘后重新修改密码