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

ldap-аутентификация без sambaSamAccount на сервере linux smb / cifs (например, samba)

В настоящее время я запускаю samba-3.5.6 на хосте debian / wheezy, чтобы действовать как файловый сервер для w32-клиентов нашего отдела. аутентификация выполняется через OpenLDAP, где каждый user-dn имеет объектный класс: sambaSamAccount, содержащий учетные данные smb, и объектный класс: shadowAccount / posixAccount для «обычной» аутентификации (например, pam, apache, ...)

теперь мы хотели бы сбросить user-db нашего отдела и вместо этого использовать аутентификацию для user-db нашей вышестоящей организации. эти учетные записи пользователей управляются в каталоге novell-edirectory, который я уже могу использовать для аутентификации с помощью pam (например, для ssh-logins; на другом хосте). наша вышестоящая организация предоставляет доступ на основе smb / cifs (через некоторую службу novell) к некоторым каталогам, к которым я могу получить доступ из своего клиента Linux через smbclient.

то, что мне в настоящее время не удается сделать, - это использовать upstream-ldap (eDirectory) для аутентификации самбы нашего учреждения:

Я настроил свой самба-сервер для аутентификации против вышестоящего сервера ldap:

passdb backend = ldapsam:ldaps://ldap.example.com

но когда я пытаюсь аутентифицировать пользователя, я получаю:

$ smbclient -U USER \\\\SMBSERVER\\test
Enter USER's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.6]
tree connect failed: NT_STATUS_ACCESS_DENIED

журналы показывают:

[2012/10/02 09:53:47.692987,  0] passdb/secrets.c:350(fetch_ldap_pw)
  fetch_ldap_pw: neither ldap secret retrieved!
[2012/10/02 09:53:47.693131,  0] lib/smbldap.c:1180(smbldap_connect_system)
  ldap_connect_system: Failed to retrieve password from secrets.tdb

Я вижу две проблемы:

есть ли способ аутентификации сервера самбы моего отдела на таком сервере ldap?

Вам нужно установить пароль ldap в samba. (Например, если ваш admindn предназначен для пользователя admin)

smbpasswd -w admin