Linux 修改密碼出現“鑑定令牌操作錯誤”

weixin_34353714發表於2018-01-17

第一種:/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也不能放到目錄上,放上也是無效的。詳細的說明見該部落格:<u style="box-sizing: border-box;">[http://blog.csdn.net/wlxxsj/article/details/7344355](http://blog.csdn.net/wlxxsj/article/details/7344355)</u>

第二種: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許可權下。

相關文章