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 :(

.

HolyBoy написал(а):
и тут выскакивает окошко с запросом логина и пароля и просит ввести данные пользователя, обладающего правами на домен, но ни одного не принимает: ни root (главный аккаунт samb'ы в LDAP), ни manager (корневой аккаунт в ldap, которым заполняем каталог), ни администратора. Пробовал разные сочетания: username, domain\username, username@domain — ни одно не хочет кушать. Что тут можно сделать?

А что по этому поводу пишется в логах (здесь наверное интересен OpenLDAP, но, по моему личному опыту, выделить в логах (в ветке 2.3) для сколько-нибудь интенсивно работающей системы интересующий тебя фрагмент будет непросто)?

:wq
--
Live free or die

Сгласен. Надо смотреть логи(

Сгласен. Надо смотреть логи( точнее дебаг, параметр в slapd.conf- loglevel 256 ) лдапа куда именно самба там обращается. Ну и логи самбы соотв тоже не помешали бы.

Уточнение :)

loglevel 256 - это далеко не debug.
Но начинать ИМХО стоит именно с него.

:wq
--
Live free or die

Когда я блокирую-разблокирую

Когда я блокирую-разблокирую компьютер так, как сказано выше, то в логах светится:

Jan 26 16:30:39 mainserv slapd[24820]: conn=7 op=7 SRCH base="dc=ph,dc=com" scope=2 deref=0 filter="(&(uid=user)(objectClass=sambaSamAccount))"
Jan 26 16:30:39 mainserv slapd[24820]: conn=10 op=1 SRCH base="ou=Groups,dc=ph,dc=com" scope=1 deref=0 filter="(&(objectClass=posixGroup)(memberUid=user))"

Далее, openldap ищет и возвращает положительный результат, а вот когда я пытаюсь добавить права на директорию-файл и мне выскакивает окошко, с предложением ввести пользователя-пароль с правами на ph.com, то при вводе тех же данных (user/pass) в любых сочетаниях, как написано в первом посте не приводит к появлению логов с этим именем, как и с любым иным, которое я пробовал (вплоть до root, Manager and etc) Склоняюсь к мысли, что это чудит самба, но что именно — неясно. Почему самба? Да потому что к лдапу вообще никаких запросов не делает на тему сабжа.

Заглянуть в тему мне не жалко

Заглянуть в тему мне не жалко :)
Вот только подсказать тебе мне здесь нечего. Ибо полноценных виндовых доменов никогда не строил и искренне надеюсь, что Аллах милует.
У меня просто Samba. Ну подумаешь - авторизация на общем LDAP-сервере...
Оно реально удобно. До тех пор, пока не начинаешь пытаться завести разные порождения больного воображения наследников билли.

Для того же момента времени Самба что-нибудь в логи пишет (чтобы не выбирать нужное из большого количества строк, с риском потерять что-нибудь важное, рекомендую проводить эксперимент в интервале, когда пользователей на файловом сервере нет)?

:wq
--
Live free or die

У меня возникло подозрение…

и после проверки оно подтвердилось.

:)

Разумеется, всё оказалось просто. Для проверки самбы и тд я ввёл комп в самбовый домен, но сеть виндового домена и самбового осталась одной и той же (т.к. комп с самбой юзается для некоторых вещей уже сейчас), у самбы же os level намеренно низкий, чтобы на период тестов она не вводила в заблуждение рабочие компы. Очевидно, логин на самбовый домен и тд работал великолепно, т.к. был запомнен контроллер домена виндой, а вот когда делались запросы на существование пользователей и тд, тут уже мешал существующий виндовый контроллер домена. :)

Вот поэтому и самба, а значит и оупнлдап не реагировали на ввод имён пользователей.

PS Всем спасибо за ответы.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".