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

Предоставлять доступ Samba на основе информации LDAP?

Я пытаюсь настроить сервер, который предоставляет некоторые общие файловые ресурсы клиентам Windows, и я хотел бы, чтобы он интегрировался с существующей структурой аутентификации, которую уже установила моя школа. Есть сервер Windows LDAP, который хранит здесь информацию обо всех учениках - я бы хотел, чтобы Samba аутентифицировалась на этом сервере и предоставляла доступ к общим ресурсам, если это необходимо.

Я искал руководства, но все, что мне удалось найти, это документация по настройке моего собственного LDAP-сервера для использования Samba. Моя ситуация несколько ограничена: у меня нет прав администратора на сервере LDAP, и мне нужно использовать этот сервер, потому что я бы очень хотел предоставить единый вход для моих пользователей (то есть не нужно, чтобы все поддерживали отдельный аккаунт на этом сервере).

Мне удалось настроить LDAP, Kerberos, PAM и NSS, чтобы пользователи могли входить в систему через SSH со своими именами пользователей LDAP, но я не могу понять, как заставить Samba делать то же самое. Я слышал, что Samba использует PAM - плохо, поскольку для этого нужно отключить шифрование паролей. Есть ли способ без прав администратора на любом удаленном компьютере настроить Samba для аутентификации пользователей на отдельном сервере LDAP (или Kerberos)? (Это также означает, что в большинстве случаев не может быть и речи о присоединении сервера к домену Active Directory.)

Samba нужны настраиваемые атрибуты и объекты в дереве LDAP для хранения хэшей паролей Windows и дополнительных данных, таких как срок действия пароля. Eсть samba.schema файл в дистрибутиве исходников самбы. Debian отправляет его в samba-doc.

В качестве инструмента на сервере самбы я бы рекомендовал smbldap-инструменты. Они предоставляют обширные примеры файлов конфигурации, которые можно легко адаптировать к локальным настройкам. С их помощью вы даже можете разрешить смену пароля через Windows для ваших пользователей.

Настоящая проблема будет заключаться в способе создания необходимых хэшей паролей. Они могут быть сгенерированы только из исходного пароля в открытом виде и должны сохраняться при смене паролей.

Я считаю, что необходимо, чтобы администратор домена на сервере LDAP заходил, чтобы ввести свой пароль хотя бы один раз, чтобы выполнить то, что вы хотите, и присоединить Samba к домену.

Учитывая это, шаги должны быть относительно простыми. Взято из Самба вики, установите в конфиге самбы следующее:

* passdb backend = ldapsam:ldap://<your-hostname>
* ldap suffix = 
* ldap admin dn 

Затем запустите smbpasswd -w, чтобы сообщить samba пароль для dn администратора.

Также есть хорошая запись Вот.

У Дуга Уилсона есть статья об аутентификации клиента Samba с помощью Kerberos и Active Directory. Вот