Samba как PDC: нет доступа к списку пользователей из винды. [upd] [solved]
Получил наконец доступ к проблемному компьютеру и решил таки разобраться до конца. В связи с этим обновил свой первый пост и добавил кое-что в конце.
Итак, есть net-fs/samba-3.0.33 (acl ads cups ipv6 kernel_linux ldap pam python quotas readline swat syslog winbind) с конфигом
[global] dos charset = 866 display charset = UTF-8 workgroup = PH server string = Domain Controller interfaces = mainserv.ph.com bind interfaces only = Yes map to guest = Bad User passdb backend = ldapsam:ldap://localhost/ passwd program = /usr/sbin/smbldap-passwd %u passwd chat = *new*password* %n\n *new*password* %n\n *successfully* log level = 5 log file = /var/log/samba/log.%m socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 load printers = No show add printer wizard = No add user script = /usr/sbin/smbldap-useradd -n -a '%u' delete user script = /usr/sbin/smbldap-userdel '%u' add group script = /usr/sbin/smbldap-groupadd -p '%g' && /usr/sbin/smbldap-groupshow %g|awk '/^gidNumber:/ {print $2}' delete group script = /usr/share/samba/scripts/smbldap-userdel '%g' add user to group script = /usr/sbin/smbldap-groupmod -m '%u' '%g' delete user from group script = /usr/sbin/smbldap-groupmod -x '%u' '%g' set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u' add machine script = /usr/sbin/smbldap-useradd -i -w '%u' logon script = logon.bat domain logons = Yes os level = 65 preferred master = Yes domain master = Yes ldap admin dn = cn=Manager,dc=ph,dc=com ldap group suffix = ou=Groups ldap machine suffix = ou=Computers ldap passwd sync = Yes ldap suffix = dc=ph,dc=com ldap user suffix = ou=Users idmap uid = 10000-20000 idmap gid = 10000-20000 winbind separator = # winbind use default domain = Yes hosts allow = 192.168.1., 127. hide unreadable = Yes dont descend = /proc,/dev,/etc,/lib,/lost+found,/initrd [homes] comment = Home Directories path = /home/samba/%U valid users = %S read only = No create mask = 0600 directory mask = 0700 browseable = No root preexec = /etc/samba/scripts/create_home.sh "/home/samba/%U" "%U" "%g" [netlogon] comment = Network Logon Service path = /home/samba/netlogon guest ok = Yes browseable = No share modes = No [Общая] comment = для свободной записи path = /shared/smball read only = No inherit acls = Yes guest ok = Yes [Групповые] comment = рабочие директории path = /home/samba/workdir read only = No inherit acls = Yes inherit owner = Yes
в качестве PDC. Пользовательские данные хранятся в LDAP. В целом всё работает нормально: компьютеры под управлением оффтопика входят в домен, автоматически для них создаются записи и тд и тп. Для пользователей, если указан путь к профилю, создается перемещаемый профиль и прочее.
Проблема возникла с заданием разрешений, а точнее, с получением списка пользователей и групп в винде. Итак, хотим настроить доступ к какой-либо директории. Открываем мышой «Свойства – Безопасность – Добавить – Размещение» и тут выскакивает окошко с запросом логина и пароля и просит ввести данные пользователя, обладающего правами на домен, но ни одного не принимает: ни root (главный аккаунт samb'ы в LDAP), ни manager (корневой аккаунт в ldap, которым заполняем каталог), ни администратора. Пробовал разные сочетания: username, domain\username, username@domain — ни одно не хочет кушать. Что тут можно сделать?
Еще один сигнал, что не всё в порядке: винда после логина в неё высвечивает зеленую хрень в трее справа и показывает сообщениие: «Операционной системе требуются ваши учётные данные. Заблокируйте рабочую станцию, затем разблокируйте ее, используя последний пароль или смарт-карту…» Делал, как система просила — не помогает.
Отмечу, что самбе через smbpasswd указал пароль для cn=Manager,dc=ph,dc=com.
Вдобавок, привожу конфиг опенлдап:
include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/misc.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/openldap.schema include /etc/openldap/schema/samba.schema include /etc/openldap/schema/courierldap.schema include /etc/openldap/schema/qmail.schema pidfile /var/run/openldap/slapd.pid argsfile /var/run/openldap/slapd.args loglevel 256 access to attrs=userPassword by anonymous auth by dn="uid=root,ou=Users,dc=ph,dc=com" write by dn="ou=IT,ou=Users,dc=ph,dc=com" write by * none access to attrs=sambaLMPassword,sambaNTPassword by dn="uid=root,ou=Users,dc=ph,dc=com" write by * none access to attrs=shadowLastChange by by dn="uid=root,ou=Users,dc=ph,dc=com" write by dn="cn=bind,ou=Users,dc=ph,dc=com" read by * none access to * by dn="uid=root,ou=Users,dc=ph,dc=com" write by dn="cn=bind,ou=Users,dc=ph,dc=com" read by * none database bdb suffix "dc=ph,dc=com" rootdn "cn=Manager,dc=ph,dc=com" rootpw {MD5}some_pass directory /var/lib/openldap-data index objectClass eq index cn eq,subinitial index sn eq,subinitial index uid eq,subinitial index displayName eq,subinitial index uidNumber eq index gidNumber eq index memberUID eq index sambaSID eq index sambaPrimaryGroupSID eq index sambaDomainName eq index mail eq,subinitial index mailAlternateAddress eq,subinitial index accountStatus eq
- Для комментирования войдите или зарегистрируйтесь
up :(
up :(
.
А что по этому поводу пишется в логах (здесь наверное интересен OpenLDAP, но, по моему личному опыту, выделить в логах (в ветке 2.3) для сколько-нибудь интенсивно работающей системы интересующий тебя фрагмент будет непросто)?
:wq
--
Live free or die
Сгласен. Надо смотреть логи(
Сгласен. Надо смотреть логи( точнее дебаг, параметр в slapd.conf- loglevel 256 ) лдапа куда именно самба там обращается. Ну и логи самбы соотв тоже не помешали бы.
Уточнение :)
loglevel 256
- это далеко не debug.Но начинать ИМХО стоит именно с него.
:wq
--
Live free or die
Когда я блокирую-разблокирую
Когда я блокирую-разблокирую компьютер так, как сказано выше, то в логах светится:
Далее, openldap ищет и возвращает положительный результат, а вот когда я пытаюсь добавить права на директорию-файл и мне выскакивает окошко, с предложением ввести пользователя-пароль с правами на ph.com, то при вводе тех же данных (user/pass) в любых сочетаниях, как написано в первом посте не приводит к появлению логов с этим именем, как и с любым иным, которое я пробовал (вплоть до root, Manager and etc) Склоняюсь к мысли, что это чудит самба, но что именно — неясно. Почему самба? Да потому что к лдапу вообще никаких запросов не делает на тему сабжа.
Заглянуть в тему мне не жалко
Заглянуть в тему мне не жалко :)
Вот только подсказать тебе мне здесь нечего. Ибо полноценных виндовых доменов никогда не строил и искренне надеюсь, что Аллах милует.
У меня просто Samba. Ну подумаешь - авторизация на общем LDAP-сервере...
Оно реально удобно. До тех пор, пока не начинаешь пытаться завести разные порождения больного воображения наследников билли.
Для того же момента времени Самба что-нибудь в логи пишет (чтобы не выбирать нужное из большого количества строк, с риском потерять что-нибудь важное, рекомендую проводить эксперимент в интервале, когда пользователей на файловом сервере нет)?
:wq
--
Live free or die
У меня возникло подозрение…
и после проверки оно подтвердилось.
:)
Разумеется, всё оказалось просто. Для проверки самбы и тд я ввёл комп в самбовый домен, но сеть виндового домена и самбового осталась одной и той же (т.к. комп с самбой юзается для некоторых вещей уже сейчас), у самбы же os level намеренно низкий, чтобы на период тестов она не вводила в заблуждение рабочие компы. Очевидно, логин на самбовый домен и тд работал великолепно, т.к. был запомнен контроллер домена виндой, а вот когда делались запросы на существование пользователей и тд, тут уже мешал существующий виндовый контроллер домена. :)
Вот поэтому и самба, а значит и оупнлдап не реагировали на ввод имён пользователей.
PS Всем спасибо за ответы.