У меня работает SSH + LDAP (я могу войти на Server2 с учетными данными с сервера LDAP Server1). Теперь я хотел бы добавить сервер Samba (Server3), и было бы неплохо, если бы он аутентифицировал таких пользователей, как Server2.
Как я могу этого добиться? Как я вижу, схема Samba и схема, используемая для хранения пользователей Unix, разные. Поэтому, если я изменю пароль в схеме Samba, я смогу войти в систему со старым паролем. Мне нужно централизованное хранилище логинов и паролей. Если я изменю его один раз в phpldapadmin, это будет означать для samba и ssh.
Спасибо.
Чтобы samba использовала ldap в качестве бэкэнда пароля, вы добавляете это в конфигурацию:
passdb backend = ldapsam: ldap: //
суффикс ldap =
в качестве альтернативы также:
ldap admin dn =
Подробнее об этом здесь:
Вы должны использовать какой-то дополнительный механизм для синхронизации паролей.
Я знаю два способа сделать это:
В Samba вы можете установить
ldap passwd sync = yes
Это обновит все три хэша паролей в LDAP, когда пользователь изменит свой пароль через Samba. Вам также необходимо будет установить ожидаемый сценарий в конфигурации Samba для изменения атрибута userPassword. В файле конфигурации по умолчанию есть рабочий образец.
Используйте наложение на вашем сервере LDAP. Для OpenLDAP вам понадобится smbk5pwd. Кажется, это настоящее испытание. Есть запись о конфигурации с 2005 года. http://student.physik.uni-mainz.de/~reiffert/smbk5pwd.html
На этом этапе вы можете настроить Samba на изменение только пароля UNIX, а все остальное сделает ваш оверлей.
Другие серверы LDAP также могут иметь эту функцию.