Ubuntu

使用 LDAP 和 PAM 限制帳戶登錄

  • October 16, 2017

我希望一些 PAM/LDAP 專家可以在這裡幫助我。我最近在 Ubuntu Server 上設置了一個 LDAP 目錄來保存我的客戶(用於基於 Web 的系統)和員工(需要通過 SSH 登錄)的帳戶。

LDAP 身份驗證執行良好。但是,我無法使帳戶限制起作用:員工帳戶將具有介於2001和之間的 ID,2999並且將成為該ssh-users組的成員,以允許他們登錄伺服器。

有問題的限制在/etc/ldap.conf,並且是pam_min_uidpam_max_uidpam_groupdn

pam_groupdn``ssh-users包含我組 的完整 DN 。pam_min_uid=2000pam_max_uid= 2999

現在,我設法通過添加使它們工作:

account [success=1 default=ignore] pam_ldap.so

中的pam_unix.so線以上/etc/pam.d/common-account。但是,本地 Unix 帳戶無法登錄:SSH 伺服器一嚐試就終止連接。

我已經在上面的文件中設置了pam_ldap.so模組sufficient,但是無效的使用者會收到一條消息,說他們無法登錄,但無論如何都會將它們記錄下來。

那麼,如何為 LDAP 使用者設置這些帳戶限制,同時仍然允許 UNIX 使用者登錄?

您可能會猜到我是 PAM 的新手,儘管我已經設法讓“自動創建主目錄”模組工作:-)

非常感謝,安迪

PAM 能夠根據訪問控制列表(至少在 Ubuntu 上)來限制訪問,就像 kubanskamac 的回答 (+1) 一樣,將組視為 posix 組,無論它們是儲存在 LDAP/etc/group還是 NIS 中。

/etc/security/access.conf是訪問列表文件。在我的文件中,我放在最後:

-:ALL EXCEPT root sysadmin (ssh-users):ALL

這會拒絕除 root、sysadmin 和 ssh-users 組(在 LDAP 中)之外的所有人,無論他們從哪裡登錄(第二個ALL)。

然後在我的 PAM 帳戶文件(這是一個帳戶模組)中,我在最後添加:

account required pam_access.so

它告訴 PAM 使用這個文件。這是一種享受:-)

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