关于CentOS6.0 新增用户后出现passwd: 鉴定令牌操作错误

今天在CentOS环境下通过useradd -u 700 -g users somebody来新增一个普通帐号,然后使用passwd somebody命令来为该新用户添加密码,但是始终报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也不能放到目录上,放上也是无效的。详细的说明见该博客:http://blog.csdn.net/wlxxsj/article/details/7344355


第二种:lsattr /etc/shadow 得到----i--------e- /etc/shadow(文件的隐藏属性,具体不扩展),这里需要将i去掉,用chattr -i /etc/shadow 

       同样/etc/group /etc/passwd也可能出现该情况。


以上两种均不是我遇到的情况。


第三种:虽然出现passwd: 鉴定令牌操作错误,但是密码已经修改了,可以通过cat /etc/shadow去查看,只是该用户被锁定了,这里需要解锁。

            解决方案:usermod +U somebody将该用户解锁(/etc/shadow文件中该用户所属第二栏有几个!(惊叹号)就执行几次该指令)


PS:以上操作全部在root权限下。

你可能感兴趣的:(关于CentOS6.0 新增用户后出现passwd: 鉴定令牌操作错误)