如何只允许用户和/或组访问连接到openldap服务器的某些客户机?

我真的想知道如何让用户和/或组访问某些连接到OpenLDAP服务器的客户机。 我想这样做是否用户坐在客户端机器本身之前,或者他/她是否通过SSH进入。 最后,我希望能够从OpenLDAP服务器而不是客户端pipe理这些,如果可能的话。

谢谢,Alex

我不认为你可以在不改变客户端configuration的情况下做到这一点。 但是,客户端计算机完成设置之后,您将可以从LDAP服务器pipe理这些设置。

达到此目的的一个方法是:

  1. 写一个包含这个的access_ldap.conf文件,并把它放在/etc/security

     +:root:ALL -:ALL EXCEPT (the_group_that_has_access):ALL 

    /etc/security/有一个access.conf文件,但通常包含在/etc/pam.d中的一些系统规则集中,所以编辑这个文件比较困难,因为你必须确保系统守护进程能够“login“,因此,不能为系统用户编写规则而locking每个人,而只是一个组。 有一个单独的文件是less麻烦。

    请注意,组名称周围的圆括号表明该名称实际上是一个组名( pam_access.so寻找一个组,如果它找不到用户,因此,括号可能被称为多余的,但这是“适当”的方式来提及群体)。

    另外,第一行允许任何情况下访问根目录。 您也可以添加其他用户/群组,这个文件中没有列出的任何人将被第二行locking。

  2. 你希望loginssh支持这个新的configuration,但其他服务应该像以前一样工作。 为了达到这个目的,编辑/etc/pam.dloginsshd文件来包含这一行:

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

这样,只有给定组的成员才能通过ssh或login访问计算机。 组成员资格,从而访问计算机,可以在LDAP中进行pipe理。