У меня есть openLDAP, который я использую для аутентификации пользователей на различных серверах, где каждый пользователь может иметь доступ к разному количеству хостов. Я решаю это требование, используя атрибут "host" и фильтр в конфигурации PAM машин, использующих LDAP для аутентификации, как описано, например, в https://wiki.debian.org/LDAP/PAM ) с помощью запроса "(& (objectClass = posixAccount) (uid = $ username) (| (host = $ hostname) (host = $ fqdn) (host = \ *)))")
Теперь у меня также есть необходимость добавить атрибут электронной почты к записям пользователей, для которых objectclass: inetOrgPerson, кажется, лучше всего подходит.
Однако я не могу использовать одновременно объектный класс: account и objectclass: inetOrgPerson; Я могу использовать objectclass: posixAccount и objectclass: inetOrgPerson, как описано, например, в Добавление inetOrgPerson в записи LDAP account / posixAccount, но тогда я теряю атрибут host.
У кого-нибудь есть предложение, как решить эту проблему? «Расширяемый объект» - единственный выход?
РЕДАКТИРОВАТЬ: В конце концов, я использовал для этого extensionsibleObject; не кажется «правильным» решением, потому что оно снижает полезность проверок схемы, но, похоже, это единственный разумный способ.
Если это строго ssh, вы можете использовать AllowGroups
и / или его родственники в ssh_config
. (Примечание: схема rfc2703bis допускает наследование в группах, по крайней мере, с sssd
, rfc2703 aka nis schema - нет.)
В противном случае используйте extensibleObject
, или вы можете написать свою собственную схему либо для хоста AUX, либо SUP для posixAccount.
Вы также можете ограничить ответы, используя OpenLDAP контроль доступа, но я не буду вдаваться в подробности этого.