無法使用 passwd 變更使用者密碼。錯誤“密碼:抱歉”

無法使用 passwd 變更使用者密碼。錯誤“密碼:抱歉”

我有一個 FreeBSD 伺服器和一個奇怪的問題。每當有人嘗試更改密碼時,他都會收到此訊息

~$ passwd
Changing local password for <USER>
Old Password:
passwd: sorry

root 帳號不受影響。

我在日誌中找不到任何線索。我不使用 LDAP 進行身份驗證,並且伺服器在監獄中運行。

答案1

原始碼非常簡短,只花了一點時間就找到了 FreeBSDpasswd實用程式中列印該特定訊息的唯一位置。

具體來說,當 PAM 未能對使用者進行身份驗證時,就會發生這種情況。換句話說,其中之一:

  1. 您輸錯了舊密碼。
  2. passwd沒有適當的權限;它必須是 setuid root。
  3. 您的本地 PAM 設定嚴重損壞;如果是這樣的話,任何人都無法登入。

我的賭注是2。

答案2

這可能是 NIS 的問題。檢查 nsswitch.conf 並停用 NIS 或 YP(黃頁)。然後看看問題是否已經消失。

相關內容