Попытка настроить Samba + OpenLDAP с помощью nss_ldap.
После присоединения Windows7 к автономному PDC Samba я не могу войти с учетной записью домена, если эта учетная запись также не добавлена в файл / etc / passwd.
Я получаю: пользователь в passdb, но getpwnam () не работает!
Все, что я прочитал, указывает на проблему NSS_LDAP, getent passwd отлично показывает пользователей, и я могу подключиться к ssh на тот же хост Linux, используя учетную запись пользователя, которая есть только в базе данных LDAP.
Кроме того, если я открою файл / etc / passwd и добавлю строку для пользователя, о котором идет речь, я смогу войти в систему.
Я не использую PAM. Я добавил два обновления реестра Windows7, необходимые для сайта Samba.org.
Программный стек выглядит следующим образом:
Самба 3.5.3
OpenLDAP 2.4.21
nss_ldap 264
Мысли / предложения
--------------------------------- ОБНОВЛЕНИЕ ------------- --------------------
Все ближе! В моем nsswitch.conf были файлы ldap, поэтому я изменил порядок (теперь файлы ldap), и случилось нечто странное. Заметьте, раньше я говорил, что могу войти через SSH и getent passwd выгрузил пользователей как в ldap, так и в файлах. После внесения изменений в nsswitch.conf, ldap перед файлами, простые команды, такие как ls, заняли много времени. Кроме того, я заметил следующие ошибки nss_ldap:
ls: nss_ldap: не удалось найти сервер LDAP - сервер недоступен
и
ls: nss_ldap: не удалось привязаться к серверу LDAP ldap: //tsrvr.example.corp: неверные учетные данные
Я прокомментировал строку rootbinddn в ldap.conf, и эти ошибки исчезли, и getent passwd немедленно снова начал работать. Изменился и порядок вывода: записи ldap перечислены перед записями файлов.
Тем не менее, мой клиент Windows7 не будет входить в домен, и я продолжаю получать то же сообщение об ошибке Samba
Пользовательский тест в passdb, но getpwnam () не проходит!
В моем файле smb.conf я попытался удалить строку ldapsam: trust = yes, и при этом я получаю ошибки аутентификации домена.
Я не использую SSL / TLS с OpenLDAP, и у меня есть SSL = нет настройки. У меня также есть набор файлов ldap.secret. Я запускаю slapd под учетной записью root. Мой rootbinddn, прежде чем комментировать, ссылался на root-пользователя LDAP: uid = root, ou = Users, dc = example, dc = corp. userPassword пользователя root с использованием CRYPT соответствует bindpw, а также указанному в /etc/shadow.
Глядя на активность журнала LDAP, когда я получаю ошибку Samba, кажется, что LDAP возвращает правильный результат по запросу Samba:
19 июня 14:20:14 tsrvr slapd [3803]: conn = 1025 op = 15 база SRCH = "dc = пример, dc = corp" scope = 2 deref = 0 filter = "(& (uid = test) (объектный = sambaSamAccount))»
19 июня 14:20:14 tsrvr slapd [3803]: conn = 1025 op = 15 SRCH attr = uid uidNumber gidNumber homeDirectory sambaPwdLastSet sambaPwdCanChange sambaPwdMustChange sambaLogonTime sambaLogoffTime
sambaKickoffTime cn sn displayName sambaHomeDrive sambaHomePath sambaLogonScript sambaProfilePath описание sambaUserWorkstations sambaSID sambaPrimaryGroupSID sambaLMPassword sam
baNTPassword sambaDomainName objectClass sambaAcctFlags sambaMungedDial sambaBadPasswordCount sambaBadPasswordTime sambaPasswordHistory modifyTimestamp sambaLogonHours modifyTimestam
p uidNumber gidNumber homeDirectory loginShell gecos
19 июня 14:20:14 tsrvr slapd [3803]: conn = 1025 op = 15 тэг РЕЗУЛЬТАТ ПОИСКА = 101 err = 0 nentries = 1 текст =
Любые другие предложения?
Очень ценится