我们在域中有一个 ldap 服务器和一个 ldap 客户端。作为子域的负责人,我想为特定计算机上的某些用户启用 ldap 登录,并禁用其余用户。我没有 ldap 服务器的管理权限。可以做到吗?如果可以,怎么做?
例如machine1,所有启用了ldap登录machine2的用户,只允许xyz和pqr登录machine3,abc和def不允许,其余全部允许。
简而言之,允许/禁止一部分用户访问特定的 ldap 客户端,而无需 ldap 服务器的 root/管理权限。
nsswitch.conf 如下所示:
passwd: files ldap
shadow: files ldap
group: files ldap
客户端运行 Ubuntu 10.04 和 OpenLDAP。
谢谢。编辑:请注意,虽然我精通 Linux,但我对 LDAP 还很陌生(甚至不太了解术语),因此,简单、便捷和临时的解决方案比高级解决方案更受欢迎。
答案1
您列出了有关目录配置的信息,但您想要的是授权配置,即 PAM。您可以使用 pam_listfile 完成您想要做的事情,您可以在文件中列出允许登录的所有用户,并将 pam_listfile 添加到 pam 堆栈。
答案2
简单且临时,并具有对客户端计算机的 root 访问权限:在 pam 配置中启用 pam_access 并设置 /etc/security/access.conf 。请参阅文件和 pam_access(8) 中的示例。
答案3
正如其他人所说的那样,检查 access.conf 以获取许多其他示例。
我们在我们商店就是这么做的。
修改/etc/pam.d/sshd
#account required pam_nologin.so account required pam_access.so
修改/etc/security/access.conf
# root will get access from all sources + : root : ALL # Disallow all except these two groups and this user - : ALL EXCEPT group1 group2 userxyz : ALL