Назад | Перейти на главную страницу

Настройка sudo в CentOS с LDAP, запущенным Synology Diskstation

Я пытаюсь настроить рабочую станцию ​​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, не уверен, имеет ли это значение.