Форум проекта Pro-LDAP.ru
Обсуждение материалов проекта Pro-LDAP.ru => Обсуждение переводов и статей => Тема начата: egor от 23 Январь 2012, 14:07:38
-
Оставляйте свои замечания и комментарии к статье Евгения Верещагина "Установка Samba PDC + LDAP на Debian Squeeze" (http://pro-ldap.ru/art/vereschagin/20110617/ (http://pro-ldap.ru/art/vereschagin/20110617/)).
-
Доброго времени суток!
Руководствуясь данной статьей попробовал поднять у себя PDC, столкнулся со следующими проблемами:
1. при вводе команды net getlocalsid, получаю
[2012/02/21 00:12:21.660644, 0] lib/smbldap.c:1151(smbldap_connect_system)
failed to bind to server ldap://127.0.0.1/ with dn="cn=admin,dc=domain.dc=loc" Error: Invalid credentials
(unknown)
SID for domain PDC-SRV is: S-1-5-21-2948941063-695425324-3840074760
2. в логах самбы постоянно появляется сообщение
[2012/02/21 00:15:57.942851, 0] lib/smbldap.c:1151(smbldap_connect_system)
failed to bind to server ldap://127.0.0.1/ with dn="cn=admin,dc=domain.dc=loc" Error: Invalid credentials
(unknown)
[2012/02/21 00:15:57.949868, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 1 try!
[2012/02/21 00:15:58.961618, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 2 try!
[2012/02/21 00:15:59.967927, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 3 try!
[2012/02/21 00:16:00.975097, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 4 try!
[2012/02/21 00:16:01.980749, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 5 try!
[2012/02/21 00:16:02.985289, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 6 try!
[2012/02/21 00:16:03.996391, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 7 try!
[2012/02/21 00:16:05.008172, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 8 try!
[2012/02/21 00:16:06.019568, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 9 try!
[2012/02/21 00:16:07.024842, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 10 try!
[2012/02/21 00:16:08.029819, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 11 try!
[2012/02/21 00:16:09.045671, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 12 try!
[2012/02/21 00:16:10.052835, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 13 try!
[2012/02/21 00:16:11.058953, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 14 try!
[2012/02/21 00:16:12.065569, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 15 try!
[2012/02/21 00:16:13.088857, 1] lib/smbldap.c:1330(another_ldap_try)
Connection to LDAP server failed for the 1 try!
...
3. в syslog
Feb 21 00:23:48 pdc-srv slapd[1446]: slapd starting
Feb 21 00:24:25 pdc-srv slapd[1446]: connection_read(13): no connection!
Feb 21 00:25:38 pdc-srv slapd[1446]: connection_read(13): no connection!
Сам slapd стартует без ошибок и пользователи в ldap заводятся баз проблем и войти в систему под пользователем из ldap-а тоже можно без проблем.
Вроде как пишут, что такая штука может возникать если забыть сделать smbpasswd -W, но я не забыл и несколько раз перепроверил все места где должен быть хеш пароля и где пароль в открытом виде.
Может есть у кого мысли по данному вопросу?
Спасибо!
-
Здравствуйте!
failed to bind to server ldap://127.0.0.1/ with dn="cn=admin,dc=domain.dc=loc" Error: Invalid credentials
(unknown)
Судя по строкам логов, Вы ошиблись в файле smb.conf, вместо
ldap admin dn = cn=admin,dc=domain.dc=loc
нужно написать
ldap admin dn = cn=admin,dc=domain,dc=loc
то есть точку заменить на запятую. Возможно, после этого придётся снова выполнить smbpasswd -W
Будьте внимательнее!
Егор
-
Да, действительно проблема была именно в этом!
Большое спасибо!
Теперь надо разобраться с kerberos.
-
Еще заметил такую штуку, включенная в домен XP при входе пользователя в систему ругается на невозможность скопировать серверную часть перемещаемого профиля. В конфиге самбы все, что касается перемещаемых профилей закоментированно.
-
Здравствуйте!
Еще заметил такую штуку, включенная в домен XP при входе пользователя в систему ругается на невозможность скопировать серверную часть перемещаемого профиля. В конфиге самбы все, что касается перемещаемых профилей закоментированно.
Честно говоря, не сталкивался с необходимостью отключать перемещаемый профиль. По идее, в smb.conf нужно указать:
logon path =
то есть не комментировать и не пропускать этот параметр, а именно указать его с пустым значением, поскольку значение по умолчанию у него не пустое. Посмотреть значение по умолчанию можно так:
testparm -s -v | grep 'logon path'
Ещё нужно убедиться, что в LDAP-каталоге в записях пользователей не задан атрибут sambaProfilePath. Сделать это можно так:
ldapsearch -LLL -x -D 'cn=admin,dc=domain,dc=loc' -W -b 'dc=domain,dc=loc' 'sambaProfilePath=*'
Если команда ничего не вернёт, значит путь к профилю у пользователей не задан, а если вернёт -- значит при логине будет попытка загружать профиль из этого самого пути. Соответственно, нужно удалить эти атрибуты.
Егор
-
1. Спасибо за разъяснения к моей же статье. На моём форуме ManualPages никто не пишет :-( Тока за статьями ходють и боты в коменты пишут.
2. Пробовал баловаться с опцией logon path =, и так и сяк - не помогает, зараза. Или грузит переносимый профиль, или орёт на его недоступность. Плюс ко всему, припоминаю что раньше (FreeBSD 4.x + Samba 2.x) чтоб не грузился переносимый профиль, вручную отключали и делали его локальным на каждой отдельной установке винды. Единственно что - про атрибуты не подумал, надо попробовать будет.
3. В данный момент статью о Samba PDC переписываю и расширяю: решил включить подготовку DNS\DHCP, попробовать настройку через cn=config и приделать SDC (для удалённог филиала). Если кому интересно поучаствовать в написании, ссыль тут: http://manualpages.pro/node/103
-
Проверим, подхватила ли система смену в nsswitch.conf:
# getent passwd
# getent group
А если не подхотила, а в syslog такая хрень
nslcd[1148]: [45e146] ldap_result() failed: No such object
как быть?! не могу ничего нарыть =((
-
Здравствуйте! Если slapd ответил 'No such object' -- значит он работает, что уже неплохо =) . Поскольку вы используете демон nslcd, то скорее всего ошибка где-то в файле настроек /etc/nslcd.conf (в Debian он должен называться /etc/nss-ldapd.conf), посмотрите параметры base, scope и filter. Если не поможет, опубликуйте свои файлы /etc/nslcd.conf и /etc/nsswitch.conf (без строк-комментариев), попробуем разобраться.
Да, чуть не забыл: почитайте http://arthurdejong.org/nss-pam-ldapd/setup (http://arthurdejong.org/nss-pam-ldapd/setup) и http://arthurdejong.org/nss-pam-ldapd/nslcd.conf.5 (http://arthurdejong.org/nss-pam-ldapd/nslcd.conf.5).
Егор
-
ну в принципе я это победил,
теперь вот что не могу войти в домен
root@pdcserver:/var/log# net rpc join
Enter root's password:
Creation of workstation account failed
Unable to join domain
То же самое с винды
Хотя в системе нет машин с таким именем совсем так как это вапще первый вход
-
Здравствуйте! Для диагностики проблемы маловато информации -- хотелось бы увидеть, что при попытке ввода машины в домен сыпется в лог samba (log level в smb.conf должен быть как минимум 3).
В статье Верещагина в smb.conf на добавление машины прописан скрипт smbldap-useradd -w %u, теоретически машина должна прописываться автоматически, посмотрите, добавилась ли её учётка:
# pdbedit -L | grep '[$]'
Если нет, попробуйте добавить её руками, посмотреть на что ругается скрипт:
# smbldap-useradd -w alex-eth
Наконец, применили ли Вы reg-файл, который описан в статье Верещагина к своей Win 7 (Win Server 2008)? Кстати с семёркой может работать только samba 3.2.12, более ранние версии не будут работать.
В любом случае, чтобы наверняка понять, что происходит, нужны логи.
Егор
-
root@pdcserver:/var/log/samba# cat log.alex-eth
[2012/11/01 10:04:51.119698, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2012/11/01 10:04:51.119963, 0] lib/util_sock.c:1441(get_peer_addr_internal)
getpeername failed. Error was Конечная точка передачи не подсоединена
read_fd_with_timeout: client 0.0.0.0 read error = Соединение сброшено другой стороной.
[2012/11/01 10:05:04.510772, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2012/11/01 10:05:04.511018, 0] lib/util_sock.c:1441(get_peer_addr_internal)
getpeername failed. Error was Конечная точка передачи не подсоединена
read_fd_with_timeout: client 0.0.0.0 read error = Соединение сброшено другой стороной.
[2012/11/01 10:06:04.509063, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2012/11/01 10:06:04.509317, 0] lib/util_sock.c:1441(get_peer_addr_internal)
getpeername failed. Error was Конечная точка передачи не подсоединена
read_fd_with_timeout: client 0.0.0.0 read error = Соединение сброшено другой стороной.
[2012/11/01 10:40:22.475426, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2012/11/01 10:40:22.475579, 0] lib/util_sock.c:1441(get_peer_addr_internal)
getpeername failed. Error was Конечная точка передачи не подсоединена
read_fd_with_timeout: client 0.0.0.0 read error = Соединение сброшено другой стороной.
[2012/11/01 11:59:21.360927, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2012/11/01 11:59:21.369916, 0] lib/util_sock.c:1441(get_peer_addr_internal)
getpeername failed. Error was Конечная точка передачи не подсоединена
read_fd_with_timeout: client 0.0.0.0 read error = Соединение сброшено другой стороной.
[2012/11/01 12:01:51.358343, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2012/11/01 12:01:51.358604, 0] lib/util_sock.c:1441(get_peer_addr_internal)
getpeername failed. Error was Конечная точка передачи не подсоединена
read_fd_with_timeout: client 0.0.0.0 read error = Соединение сброшено другой стороной.
[2012/11/01 12:04:13.193950, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2012/11/01 12:04:13.195516, 0] lib/util_sock.c:1441(get_peer_addr_internal)
getpeername failed. Error was Transport endpoint is not connected
read_fd_with_timeout: client 0.0.0.0 read error = Connection reset by peer.
[2012/11/01 12:07:19.191974, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2012/11/01 12:07:19.192246, 0] lib/util_sock.c:1441(get_peer_addr_internal)
getpeername failed. Error was Конечная точка передачи не подсоединена
read_fd_with_timeout: client 0.0.0.0 read error = Соединение сброшено другой стороной.
[2012/11/01 12:12:01.188164, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2012/11/01 12:12:01.188430, 0] lib/util_sock.c:1441(get_peer_addr_internal)
getpeername failed. Error was Конечная точка передачи не подсоединена
read_fd_with_timeout: client 0.0.0.0 read error = Соединение сброшено другой стороной.
[2012/11/01 12:13:01.187797, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2012/11/01 12:13:01.188023, 0] lib/util_sock.c:1441(get_peer_addr_internal)
getpeername failed. Error was Конечная точка передачи не подсоединена
read_fd_with_timeout: client 0.0.0.0 read error = Соединение сброшено другой стороной.
[2012/11/01 12:52:24.493330, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2012/11/01 12:52:24.493575, 0] lib/util_sock.c:1441(get_peer_addr_internal)
getpeername failed. Error was Конечная точка передачи не подсоединена
read_fd_with_timeout: client 0.0.0.0 read error = Соединение сброшено другой стороной.
то не то ! рег фаил выполнил
руками когда выполняешь smbldap-useradd -w alex-eth ругани не какой нет, но при этом ничего и не заводится
хотя юзеры заводятся все ок
сам сервер PDC в домен тоже ввел
root@pdcserver:/var/log/samba# pdbedit -L | grep '[$]'
pdcserver$:1001:Computer
Samba version 3.5.6
еще есть вот такое в syslog
Nov 1 12:32:12 pdcserver slapd[1015]: SASL [conn=1034] Failure: realm changed: authentication aborted
Nov 1 12:32:13 pdcserver slapd[1015]: SASL [conn=1035] Failure: realm changed: authentication aborted
Nov 1 12:52:10 pdcserver slapd[1015]: SASL [conn=1042] Failure: realm changed: authentication aborted
Nov 1 12:52:10 pdcserver slapd[1015]: SASL [conn=1043] Failure: realm changed: authentication aborted
-
Здравствуйте! Я тут поковырялся чуть-чуть в интернете и выяснил, что скрипт smbldap-useradd с аргументом -w создаёт LDAP-запись trusted account машины без объектного класса sambaSAMAccount и соответствующих атрибутов, а при вводе мащины в домен samba должна сама дописывать в эту запись то, что ей требуется. Но, как видно, так происходит не всегда =), вообще поведение samba от версии к версии меняется, поэтому предсказать, какие из старых возможностей будут работать в новой версии проблематично =). Ну да ладно.
Есть хорошая новость -- в smbldap-tools версии 0.9.8 и выше в скрипте smbldap-useradd появился аргумент -W, который добавляет sambaSAMAccount с нужными атрибутами сразу при создании записи, поэтому вход машины в домен должен происходить нормально. Если у Вас более ранняя версия, нужно обновиться.
Сначала удалите запись из каталога:
# smbldap-userdel alex-eth$
Затем добавьте её:
# smbldap-useradd -W "alex-eth$"
Проверим:
pdbedit -L | grep '[$]'
alex-eth$:0123456789:alex-eth$
Ну и подправьте smb.conf:
add machine script = /usr/sbin/smbldap-useradd -W %u
По интеграции семёрки с samba можно почитать тут: http://wiki.samba.org/index.php/Windows7 (http://wiki.samba.org/index.php/Windows7)
Егор.