Я пытаюсь использовать sssd для аутентификации LDAP, и хотя он может отображать идентификаторы пользователей с id
команда getent group
и getent passwd
не показывают имена LDAP, и хотя я могу показывать файлы пользователям ldap, они ls -lah
так как nobody
.
Немного покопавшись, я нашел подсказку: эта проблема может возникнуть при анонимной привязке LDAP.
Но когда я настраивал sss, не было возможности указать DN привязки или пароль. Мне также не удалось найти правильную директиву в руководстве.
Где я могу указать Bind DN и пароль для sss + ldap? Это входит /etc/sssd/sssd.conf
? Или другой файл?
Вы должны создать раздел [домен] в /etc/sssd/sssd.conf
.
Вы могли бы пролезть через
man sssd-ldap
Но это настоящий бегемот! Это должно вас заинтересовать. Не все директивы здесь понадобятся, в зависимости от вашей среды.
[domain/default]
ldap_tls_reqcert = never
auth_provider = ldap
ldap_id_use_start_tls = False
chpass_provider = ldap
krb5_realm = EXAMPLE.COM
cache_credentials = True
debug_timestamps = True
ldap_default_authtok_type = password
ldap_search_base = dc=domain,dc=com,dc=br
debug_level = 3
id_provider = ldap
ldap_default_bind_dn = cn=Manager,dc=domain,dc=com,dc=br
min_id = 100
ldap_uri = ldap://<FQDN of LDAP Server>/
krb5_server = kerberos.example.com
ldap_default_authtok = xxxxxxxxxx
ldap_tls_cacertdir = /etc/openldap/cacerts
Вы можете настроить SSSD, используя следующую команду:
authconfig --enablesssd \
--enablesssdauth \
--enablelocauthorize \
--enableldap \
--enableldapauth \
--ldapserver=ldap://ipaserver.example.com:389 \
--disableldaptls \
--ldapbasedn=dc=example,dc=com \
--enablerfc2307bis \
--enablemkhomedir \
--enablecachecreds \
--update
Замените имя ldapserver своим именем ldap-сервера, а basedn - своим базовым именем DNS.
После этого в /etc/sssd/sssd.conf
файл
Уточнить ldap_default_bind_dn
и ldap_default_authtok
как по умолчанию bind dn и пароль соответственно, это зависит от ваших настроек ldap.