Ldap

如何只允許使用者和/或組訪問連接到 openldap 伺服器的某些客戶端電腦?

  • July 19, 2018

我真的很想弄清楚如何允許使用者和/或組訪問所有連接到 OpenLDAP 伺服器的某些客戶端電腦。無論使用者是坐在客戶端機器本身的前面還是他/她是否通過 SSH 連接,我都想這樣做。如果可能的話,我希望能夠從 OpenLDAP 伺服器而不是客戶端管理這一切。

謝謝,亞歷克斯

我認為如果不更改客戶端配置,您將無法做到這一點。但是,在客戶端電腦全部設置好後,您將能夠從 LDAP 伺服器進行管理。

實現這一目標的一種方法是:

  1. 編寫一個access_ldap.conf包含此內容的文​​件,並將其放入/etc/security
+:root:ALL
-:ALL EXCEPT (the_group_that_has_access):ALL

有一個access.conf文件,/etc/security/但它通常包含在某些系統規則集中/etc/pam.d,所以編輯它比較困難,因為你必須確保系統守護程序可以“登錄”,因此,你不能鎖定所有人,只有一個組而不為系統使用者編寫規則。擁有一個單獨的文件是不那麼麻煩的。

請注意,組名周圍的括號表示該名稱實際上是組名(pam_access.so如果找不到使用者則查找組,因此,括號可能被稱為多餘的,但這是“正確的" 指代組的方式)。

此外,第一行在任何情況下都授予對 root 的訪問權限。您可能還想添加其他使用者/組,因為此文件中未列出的任何人都將被第二行鎖定。 2. 您想要loginssh支持這個新配置,但其他服務應該像以前一樣工作。為了實現這一點,編輯loginsshd文件/etc/pam.d以包含這一行:

account  required     pam_access.so accessfile=/etc/security/access_ldap.conf

這樣,只有給定組的成員才能通過 ssh 或登錄訪問電腦。可以在 LDAP 中管理組成員身份以及對電腦的訪問權限。

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