出現這個狀況,從四個方面來分析:web
1./usr/bin/passwd 的權限中沒有添加s即SUID特殊權限app
即:-rwxr-xr-x. 1 root root 27000 8月 22 2010 /usr/bin/passwdspa
解決辦法: chmod u+s /usr/bin/passwd3d
SUID的功能簡單的說就是讓組用戶或其餘用戶在執行該文件是擁有文件全部者(own)權限,這裏就是須要獲取w(寫)權限,這樣才能將新密碼寫到/etc/shadow文件中 切記:SUID只對二進制的文件有效(系統中的一些命令),不能用在腳本上(script),由於腳本仍是把不少的程序集合到一塊兒來執行,而不是腳本自身在執行。一樣,SUID也不能放到目錄上,放上也是無效的。ip
2. lsattr /etc/shadow
—-i——–e- /etc/shadow(文件的隱藏屬性,具體不擴展),這裏須要將i去掉it
用chattr -i /etc/shadow
一樣/etc/group /etc/passwd也可能出現該狀況。本次是用戶/etc/shadow不能擴展,把i屬性去掉就能夠了。擴展
3.雖然出現passwd: 鑑定令牌操做錯誤,可是密碼已經修改了,能夠經過cat /etc/shadow去查看,只是該用戶被鎖定了,這裏須要解鎖。sed
解決方案:
usermod +U somebody將該用戶解鎖(/etc/shadow文件中該用戶所屬第二欄有幾個!(驚歎號)就執行幾回該指令)權限
4.主機磁盤已滿,修改密碼是提示:鑑定令牌操做錯誤
解決方法:清理磁盤後從新修改密碼webkit