我有一个openLDAP,我用它来authentication各种服务器的用户,每个用户都可以访问不同数量的主机。 我正在通过使用“主机”属性解决这一需求,并在使用LDAP进行validation的机器的PAMconfiguration中使用filter,例如https://wiki.debian.org/LDAP/PAM中所述 )查询“(&(objectClass = posixAccount)(uid = $ username)(|(host = $ hostname)(host = $ fqdn)(host = \ *)))”
现在,我也需要添加一个电子邮件属性的用户条目,其中objectclass:inetOrgPerson似乎是最合适的。
但是,我不能同时使用objectclass:account和objectclass:inetOrgPerson; 我可以使用objectclass:posixAccount和objectclass:inetOrgPerson,例如在将inetOrgPerson添加到account / posixAccount LDAP条目中所述 ,但是之后我失去了“host”属性。
任何人有一个build议如何解决这个问题? “extensibleObject”是唯一的方法吗?
编辑:最后,我用extensibleObject的; 并不像“正确”的解决scheme,因为它降低了模式检查的有用性,但它似乎是唯一合理的方法。
如果是严格的ssh,你可以在ssh_config使用AllowGroups和/或它的亲戚。 (注意:rfc2703bis模式允许在组中inheritance,至less使用sssd ,rfc2703又名nis模式不)。
否则,请使用extensibleObject ,或者您可以将自己的模式写入AUX主机或将SUP写入posixAccount。
您也可以使用OpenLDAP的访问控制限制响应,但是我没有深入了解这些细节。