Linux

Ubuntu OS X LDAP 身份驗證

  • August 31, 2009

我剛剛按照指南介紹瞭如何設置 Ubuntu 以使用 Mac OS X 10.4 伺服器進行身份驗證。我 100% 遵循指南,並且能夠通過執行來查看使用者

獲取密碼
和
獲取密碼(使用者)

這將提供有關使用者的所有正確資訊。我的問題是我希望這些使用者能夠通過登錄提示登錄,但這是行不通的。但是,當我以本地使用者身份登錄時,我會收到通常的使用者名和密碼提示,但隨後會收到 LDAP 密碼提示,我可以在其中輸入任何內容並仍然成功登錄。

關於如何解決這個問題的任何想法?提前致謝!

更新:

如下所述,我肯定 LDAP 設置正確,因為我可以看到所有使用 getent passwd 的 LDAP 使用者,但是由於我無法使用su, ssh, 或gdm使用這些使用者登錄,所以出現了其他問題。

問題是該指南是錯誤的,或者至少是次優的。

/etc/pam.d/common-auth 應該有:

驗證足夠的 pam_unix.so nullok_secure nodelay
驗證足夠的 pam_ldap.so use_first_pass
需要驗證 pam_deny.so

這表示 pam_unix 或 pam_ldap足以登錄,任何登錄失敗都將被拒絕。它首先嘗試本地 unix 登錄 - 如果您的 LDAP 伺服器已關閉或無法訪問,並且您仍需要以本地使用者身份登錄,這將非常有用。

它還使用’use_first_pass’而不是’try_first_pass’……它們非常相似,只是如果第一個錯誤它不會再次提示輸入密碼。

有關更多詳細資訊,請參見 pam_unix 和 pam_ldap 的手冊頁。

順便說一句,將以下內容添加到 /etc/pam.d/common-session 非常有用:

會話需要 pam_limits.so

它允許您使用 /etc/security/limits.conf 和 access.conf 等來非常精細地控制允許哪些使用者登錄(例如,我將伺服器上的 ssh 登錄限制為 admins 組的成員),並且還設置他們登錄的資源限制(記憶體、maxlogins、nice 優先級等)。

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