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