Freebsd
無法使用 passwd 更改使用者密碼。錯誤“密碼:對不起”
我有一個 FreeBSD 伺服器和一個奇怪的問題。每次有人嘗試更改密碼時,他都會得到這個
~$ passwd Changing local password for <USER> Old Password: passwd: sorry
root 帳戶不受影響。
我在日誌中找不到任何線索。我不使用 LDAP 進行身份驗證,並且伺服器在監獄中執行。
原始碼非常簡短,以至於只花了一點時間就找到了 FreeBSD
passwd
實用程序中列印特定消息的唯一位置。具體來說,它發生在 PAM 未能對使用者進行身份驗證時。換句話說,其中一件事情:
- 您輸入錯誤的舊密碼。
passwd
沒有適當的權限;它必須是 setuid root。- 您本地的 PAM 設置嚴重損壞;如果是這種情況,任何人都無法登錄。
我的賭注是2。
這可能是 NIS 的問題。檢查 nsswitch.conf 並禁用 NIS 或 YP(黃頁)。然後看看問題是否消失了。