Freebsd

無法使用 passwd 更改使用者密碼。錯誤“密碼:對不起”

  • June 12, 2017

我有一個 FreeBSD 伺服器和一個奇怪的問題。每次有人嘗試更改密碼時,他都會得到這個

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

root 帳戶不受影響。

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

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

具體來說,它發生在 PAM 未能對使用者進行身份驗證時。換句話說,其中一件事情:

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

我的賭注是2。

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

引用自:https://serverfault.com/questions/439050