SSSD аутентификация с помощью Samba 4
Я недавно обновился до samba 4 с samba 3.5 на платформе RHEL 6.3. Приятно, что новая версия может заменить AD DC и имеет собственную встроенную базу данных kdc и ldb. Теперь я собираюсь сделать так, чтобы linux-боксы проходили аутентификацию на samba4, подключаясь через ldap, так как samba 4 работает как сервер Kerberized ldap. Я могу подключиться через Apache Studio Studio с помощью администратора dn к базе данных ldap. Однако я не могу правильно настроить sssd на клиентских машинах RHEL 6 для аутентификации на сервере samba через ldap. Вот мой файл конфигурации sssd
[sssd]
config_file_version = 2
reconnection_retries = 3
sbus_timeout = 30
services = nss, pam
domains = default
[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3
[pam]
reconnection_retries = 3
[domain/default]
ldap_default_authtok_type = password
ldap_id_use_start_tls = False
cache_credentials = True
ldap_group_object_class = group
ldap_search_base = <My Domain dn>
chpass_provider = krb5
ldap_default_authtok = <Administrator Password>
id_provider = ldap
auth_provider = krb5
ldap_default_bind_dn = cn=Administrator,cn=Users,<My Domain dn>
ldap_user_gecos = displayName
debug_level = 0
ldap_uri = ldap://<samba_server_hostname>/
krb5_realm = <krb auth realm(same as domain name)>
krb5_kpasswd = <samba_server_hostname>
ldap_schema = rfc2307bis
ldap_force_upper_case_realm = True
ldap_user_object_class = person
ldap_tls_cacertdir = /etc/openldap/cacerts
krb5_kdcip = <samba_server_hostname>
Я могу запустить kinit for Administrator на клиенте успешно, и я могу запустить ldapsearch, когда привязка от имени администратора, но id или getent passwd для любого пользователя не работает. Любые идеи, пожалуйста?
1 ответ
Я наконец получил это работает. Оказывается, запись пользователя в базе данных ldb не имела атрибутов объектного класса posixAccount и атрибутов uidNumber/gidnumber. После их добавления и перекомпиляции samba4 с поддержкой gnu-tls, linux может аутентифицироваться на AD samba4 AD, как если бы он аутентифицировался на базе данных ldap через tls. Думаю, мне придется написать скрипт для добавления необходимых объектных классов и атрибутов к каждой записи пользователя сразу после их добавления.