linux – 在没有pam_groupdn的情况下管理LDAP登录到机器:允许多个组

我相信你们中的一些人已经解决了同样的问题.我希望有人比我现在做的更好.

所以,你在LDAP目录中有一些用户,有一天你会说“嘿!我可以通过SSH对这件事进行身份验证!”这很好.

然后有一天你意识到你只希望某些用户能够进入一台机器.比如说,开发人员应该只能进入开发盒,而不是生产.你做了一些谷歌搜索,找到pam_groupdn,它在你的LDAP配置(/etc/ldap.conf)中,如下所示:

pam_groupdn CN=developers,OU=groups,DC=yourcompany

而且,再次,它是好的.你为prod创建另一个组,为QA创建另一个组等.也许有一天你有第二个产品开发组,所以他们得到了他们自己的组.随你.

然后有一天你有一台服务器,开发人员和QA都需要能够登录.呃……事实证明,pam_groupdn不会采用多个值.你是做什么?好吧,如果你没有多想,你会说“哦,我只会做一个开发人员和QA小组!”.

pam_groupdn CN=developers-and-QA,DC=yourcompany

那是……不好,但没关系,对吧?

然后有一天你会得到另一个开发人员,你意识到你需要将他们添加到15个组,因为有开发人员和QA,产品1和产品2,开发人员,他们有访问权限等等.废话.

必须有更好的方法来做到这一点,对吧?我通过电子邮件发送了pam_ldap的开发人员,他们说不幸的是没有办法让pam_groupdn获取多个值(在代码中没有黑客攻击).

任何人都希望分享他们如何管理LDAP中的组群而无需复制/粘贴?

解决方法

如果您使用的是NSS,则可以在/ etc / ssh / sshd_config中设置AllowGroups参数.如果没有,你应该看看 dynamic lists
dn: cn=devandqa,ou=groups,dc=company,dc=com
cn: devandqa
objectClass: groupOfNames
labeledURI: ldap:///ou=groups,dc=com?memberUid?one?(|(cn=developers)(cn=qa))

这样的事情.您还需要包含架构并包含叠加层等….所以这是一个开始.

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...