Я пытаюсь настроить рабочую станцию CentOS 8 для аутентификации на сервере LDAP, запущенном Synology DiskStation. Мне удалось успешно настроить SSSD для аутентификации пользователей на сервере, что позволило мне войти в систему, используя мою учетную запись LDAP. Однако у меня возникают проблемы с предоставлением привилегий sudo. Вот мой файл /etc/sssd/sssd.conf:
[domain/lab.university.edu]
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
sudo_provider = ldap
ldap_uri = ldap://00.000.00.00
ldap_search_base=dc=lab,dc=university,dc=edu
ldap_sudo_search_base=dc=lab,dc=university,dc=edu
ldap_group_search_base=dc=lab,dc=university,dc=edu
ldap_schema = rfc2307bis
ldap_auth_disable_tls_never_use_in_production = True
cache_credentials = false
use_fully_qualified_names = False
debug_level = 0x3ff0
[sssd]
config_file_version = 2
services = nss,pam,sudo
domains = lab.university.edu
debug_level = 0x3ff0
[nss]
[pam]
[sudo]
Чтобы убедиться, что все изменения были применены, я также выполнил:
sudo authselect select sssd with-mkhomedir with-sudo && sudo systemctl restart sssd.service && sudo sss_cache -E
Однако я все еще не могу предоставить учетным записям LDAP права sudo. Мне интересно, может ли это иметь отношение к тому, что идентификатор пользователя / идентификатор группы LDAP имеет другую нумерацию, чем локальные учетные записи. Не я настраивал LDAP, но человек, который это сделал, объяснил, что необходимо, чтобы все работало. Когда я печатаю id ldap_user
, Я получаю следующее:
uid=1000002(ldap_user) gid=1000001(users) groups=1000001(users),1000003(sudo),1000000(Directory Operators),2097150(Directory Consumers),1000002(administrators),2097149(Directory Clients)
Возможно ли, что группа sudo не распознается как действительная из-за странных идентификационных номеров?
Вам необходимо добавить соответствующую схему LDAP в базу данных схем сервера Synology ldap. Файлы находятся в следующем каталоге на Centos8:
/usr/share/doc/sudo
в этом каталоге есть три файла:
schema.ActiveDirectory schema.iPlanet schema.OpenLDAP
вам необходимо скопировать один из этих файлов в каталог на синологии, где находятся схемы, если синология использует одну из этих схем, а не что-то проприетарное.
тогда вам нужно будет преобразовать файл sudoers каждого хоста в ldif и импортировать его на сервер каталогов. для этого используйте утилиту, называемую cvtsudoers
в предыдущих версиях centos / redhat назывался sudoers2ldif и располагался вместе с файлами схемы.
также обратите внимание, что согласно конфигурации Synology поддерживает RFC 2307, а не 2307B, не уверен, имеет ли это значение.