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 Всем спасибо за ответы.