У меня есть openLDAP, который я использую для аутентификации пользователей на различных серверах, где каждый пользователь может иметь доступ к разному количеству хостов. Я решаю это требование, используя атрибут "host" и фильтр в конфигурации PAM машин, использующих LDAP для аутентификации, как описано, например, в 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 в записи LDAP account / posixAccount , но тогда я теряю атрибут host.
Любой, у кого есть предложение, как решить Эта проблема? «ExtensibleObject» - единственный выход?
РЕДАКТИРОВАТЬ: В конце концов, я использовал для этого extensibleObject; не кажется "правильным" решение, поскольку оно снижает полезность проверок схемы, но, похоже, это единственный разумный способ.
Если это строго ssh, вы можете использовать AllowGroups
и / или его родственники в ssh_config
. (Примечание: схема rfc2703bis допускает наследование в группах, по крайней мере, с sssd
, схема rfc2703, также известная как nis, не позволяет.)
В противном случае используйте extensibleObject
или можете написать свой собственный схему либо для хоста AUX, либо SUP для posixAccount.
Вы также можете ограничить ответы, используя OpenLDAP контроль доступа , но я не буду вдаваться в подробности этого.