2013-09-16 6 views
1

Недавно я обновился до samba 4 от samba 3.5 на платформе RHEL 6.3. Приятно, что новая версия может заменить AD DC и имеет собственную базу данных kdc и ldb. Теперь я намерен сделать linux-боксы аутентифицированными для samba4, подключившись через ldap, поскольку samba 4 работает как kerberized ldap-сервер. Я могу подключиться, используя студию каталогов Apache, используя администратор dn в базе данных ldap. Однако я не могу правильно настроить sssd на клиентских компьютерах RHEL 6 для аутентификации на сервере samba через ldap. Вот моя конфигурация SSSD файл-SSSD Authentication with Samba 4

[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 для администратора на клиенте успешно, и я могу запустить ldapsearch при связывании в качестве администратора, но идентификатор или getent PASSWD для любого пользователя не работает. Любые идеи, пожалуйста?

ответ

2

У меня, наконец, это работает. Оказывается, пользовательская запись в базе данных ldb не имела атрибутов posixAccount objectclass и uidNumber/gidnumber. После их добавления и перекомпиляции samba4 с поддержкой gnu-tls, linux может аутентифицироваться против DC-сервера samba4, как если бы он аутентифицировался против ldap-данных через tls. Угадайте, мне нужно будет написать скрипт, чтобы добавить необходимые классы объектов и атрибуты к каждой пользовательской записи сразу после их добавления.