Сценарий: у меня есть локальная сеть, в которой есть несколько компьютеров под управлением Linux, подключенных к локальной сети. Могу ли я создать учетную запись на другом компьютере в этой сети и дать им права sudo с помощью LDAP?
Если у вас не настроены LDAP-серверы, вам нужно сделать это в первую очередь. Обычными вариантами являются OpenLDAP и 389 Server.
После того, как они настроены, вам нужно выбрать схему для записей пользователей. Вероятно, самой популярной схемой для Linux/UNIX систем является схема "POSIX". Записи, которые вы помещаете в LDAP, содержат ту же информацию, которую вы найдете в /etc/passwd и /etc/group. В схеме POSIX, objectClass: posixAccount
и objectClass: posixGroup
указывают на элементы пользователя и группы, соответственно.
Существует также объектный класс для записей sudoers, sudoRole
. Информация о них есть на странице руководства sudoers.ldap(5).
После их установки, вам нужно настроить ваши машины на поиск информации о пользователях и sudo в LDAP. В большинстве современных популярных дистрибутивов Linux это делается путем настройки sssd и его LDAP расширений. Вам нужно будет добавить "домен" в файл sssd.conf, который укажет, где найти ваших пользователей и записи sudo в LDAP. sssd.conf(5), sssd-sudo(5) и sssd-ldap(5) подробно описывают, как настроить SSSD.
Предполагая, что все настроено правильно, вы должны иметь возможность выполнить id LDAPUSER
(заменив LDAPUSER именем пользователя на запись в LDAP) и получить информацию о пользователе. Также проверьте, что sudo работает для ролей sudo, которые вы поместили в LDAP, как вы бы проверяли любое другое правило sudo.