Страница 1 из 2
smbldap-tools и Samba PDC
Добавлено: 2007-12-05 13:10:17
DJ Kill
Есть домен-контроллер Samba на FreeBSD 6.2
В конфиге самбы:
Код: Выделить всё
add user script = /usr/local/sbin/smbldap-useradd -m "%u" -s "/bin/csh"
delete user script = /usr/local/sbin/smbldap-userdel "%u"
add group script = /usr/local/sbin/smbldap-groupadd "%g"
delete group script = /usr/local/sbin/smbldap-groupdel "%g"
add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g"
set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u"
add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
При добавлении машины в домен получается запись вида:
Код: Выделить всё
ldapsearch -x -LLL -b 'dc=gtss,dc=ru' 'uid=test1234$'
dn: uid=test1234$,ou=machines,dc=gtss,dc=ru
objectClass: top
objectClass: account
objectClass: posixAccount
cn: test1234$
uid: test1234$
uidNumber: 1166
gidNumber: 515
homeDirectory: /dev/null
loginShell: /bin/false
description: Computer
gecos: Computer
Это, естесственно, не работает. Корректная запись должна иметь samba3 поля:
Код: Выделить всё
dn: uid=test123$,ou=machines,dc=gtss,dc=ru
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: sambaSamAccount
cn: test123$
uid: test123$
uidNumber: 1165
gidNumber: 515
homeDirectory: /dev/null
loginShell: /bin/false
description: Computer
gecos: Computer
sambaDomainName: GTSS
sambaAcctFlags: [W ]
displayName: test123$
sambaPrimaryGroupSID: S-1-5-21-...
sambaPwdLastSet: 1196846008
sambaSID: S-1-5-21-...
Объясните что я делаю не так? Туплю.

Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-05 13:30:10
Alex Keda
кнопочку code не юзаешь

))
Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-05 18:50:43
Dron
скрипт добавляет только posix аттрибуты...
SMB аттрибуты добавляет самба, она у тебя настроена до конца? Запущена? Работает? В логи не ругается?
Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-05 21:11:51
DJ Kill
Запущена. Работает. Уже года полтора.
В логах вроде ничего особенного нет....
Причём если после добавления компьютера в домен войти в LDAP Account Manager и вручную создать Samba3 параметры - то всё ок.
Какая часть самбы за это отвечает?
Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-06 13:34:10
Dron
дай конфиги smbldap-tools и smb.conf
а то с потолка не разборчиво

Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-06 13:59:15
DJ Kill
smbldap.conf
Код: Выделить всё
SID="S-1-5-21-..."
sambaDomain="GTSS"
slaveLDAP="127.0.0.1"
slavePort="389"
masterLDAP="127.0.0.1"
masterPort="389"
ldapTLS="0"
verify=""
cafile=""
clientcert=""
clientkey=""
suffix="dc=gtss,dc=ru"
usersdn="ou=users,${suffix}"
computersdn="ou=machines,${suffix}"
groupsdn="ou=groups,${suffix}"
idmapdn="ou=idmap,${suffix}"
sambaUnixIdPooldn="sambaDomainName=GTSS,${suffix}"
scope="sub"
hash_encrypt="SSHA"
crypt_salt_format=""
userLoginShell="/bin/csh"
userHome="/home/%U"
userHomeDirectoryMode="700"
userGecos="System User"
defaultUserGid="513"
defaultComputerGid="515"
skeletonDir="/etc/skel"
defaultMaxPasswordAge="45"
userSmbHome="\\geo-samba\%U"
userProfile="\\geo-samba\profiles\%U"
userHomeDrive="U:"
userScript="start.bat"
mailDomain="gtss.ru"
with_smbpasswd="0"
smbpasswd="/usr/local/bin/smbpasswd"
with_slappasswd="0"
slappasswd="/usr/local/sbin/slappasswd"
smb.conf
Код: Выделить всё
[global]
dos charset = 866
unix charset = KOI8-R
display charset = KOI8-R
workgroup = GTSS
server string = Primary Domain Controller (Samba %v)
interfaces = 192.168.100.0/24, 192.168.0.0/24, 127.0.0.1
bind interfaces only = Yes
passdb backend = ldapsam:ldap://127.0.0.1
log level = 3
log file = /var/log/samba/%m.log
max log size = 1000
time server = Yes
max open files = 1000000
load printers = No
add user script = /usr/local/sbin/smbldap-useradd -m "%u" -s "/bin/csh"
delete user script = /usr/local/sbin/smbldap-userdel "%u"
add group script = /usr/local/sbin/smbldap-groupadd "%g"
delete group script = /usr/local/sbin/smbldap-groupdel "%g"
add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g"
set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u"
add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
logon script = start.bat
logon path = \\geo-samba\profiles\%U
domain logons = Yes
os level = 250
preferred master = Yes
domain master = Yes
dns proxy = No
wins support = Yes
ldap admin dn = "uid=root,ou=users,dc=gtss,dc=ru"
ldap delete dn = Yes
ldap group suffix = ou=groups
ldap idmap suffix = ou=idmap
ldap machine suffix = ou=machines
ldap suffix = dc=gtss,dc=ru
ldap ssl = no
ldap user suffix = ou=users
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind cache time = 1200
winbind use default domain = Yes
winbind trusted domains only = Yes
admin users = root, pirate, lva, denja, admin, dj_kill
acl group control = Yes
acl map full control = No
force create mode = 0755
force directory mode = 06755
hosts allow = 192.168.100.0/24, 127.0.0.1, 192.168.0.0/24
hosts deny = all
profile acls = Yes
map acl inherit = Yes
browseable = No
Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 11:54:34
DJ Kill
Хм. Вообще изыскания зашли в тупик.

Даже при добавлении Samba3 параметров в LAM не работает.
Код: Выделить всё
dn: uid=geo-ronzhina$,ou=machines,dc=gtss,dc=ru
objectClass: sambaSamAccount
objectClass: posixAccount
objectClass: account
sambaDomainName: GTSS
sambaAcctFlags: [W ]
displayName: geo-ronzhina$
sambaPrimaryGroupSID: S-1-5-21-...
sambaPwdLastSet: 1197016305
sambaSID: S-1-5-21-...
gidNumber: 515
loginShell: /bin/false
gecos: geo-ronzhina$
homeDirectory: /dev/null
uid: geo-ronzhina$
cn: geo-ronzhina$
uidNumber: 50022
description: geo-ronzhina$
Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 12:12:51
Dron
Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 12:21:45
DJ Kill
Конечно.
Не добавляются только компьютеры. Остальное в самбе работает абсолютно нормально.
Причём в какой момент перестали добавлятся компы я не знаю. До этого всё работало отлично. Люди которые эту самбу держали говорят что ничего не меняли.

Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 12:29:47
Dron
ок
давай loglevel = 5
добавляй машину и смотри, что валить будет...
Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 15:29:42
DJ Kill
Пока вижу только это:
Код: Выделить всё
[2007/12/07 15:25:54, 0] passdb/pdb_interface.c:pdb_default_create_user(329)
_samr_create_user: Running the command `/usr/local/sbin/smbldap-useradd -w "geo-rmarina$"' gave 9

Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 15:52:49
Dron
Код: Выделить всё
if ($rc and defined($dn)) {
print "$0: user $userName exists\n";
exit (9);
Собственно такая учетка уже есть в LDAP
Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 16:19:48
zg
_Dron_ писал(а):Код: Выделить всё
if ($rc and defined($dn)) {
print "$0: user $userName exists\n";
exit (9);
если это пхп, то defined проверяет "объявленность" константы, обычно юзают isset, которая проверяет "установленность" переменных... там должно быть точно defined?
Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 16:20:51
Dron
это не php

Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 16:53:08
DJ Kill
Хм. Очень мне не нравится вот это:
Код: Выделить всё
ldapsearch -LLL -x -b 'dc=gtss,dc=ru' 'ou=domains,dc=gtss,dc=ru'
ldap_initialize( <DEFAULT> )
filter: ou=domains,dc=gtss,dc=ru
requesting: All userApplication attributes
И тишина... Не находит ничего.
И вот это:
Код: Выделить всё
net getlocalsid
[2007/12/07 16:52:58, 0] lib/smbldap_util.c:smbldap_search_domain_info(304)
smbldap_search_domain_info: Got too many (2) domain info entries for domain GTSS
[2007/12/07 16:52:58, 0] utils/net.c:net_getlocalsid(622)
Can't fetch domain SID for name: GEO-SAMBA
Причём когда через LAM смотришь то всё есть и в единственном экземпляре. Если удалить в LAM, то net getlocalsid выдаёт корректную информацию, но LAM добавляет пользователей некорректно.
Где это ещё может быть зарыто кроме как в дереве LDAP? Почему запись дублируется, хотя в LDAP она одна?
Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 18:45:38
DJ Kill
Фишку net getlocalsid пофиксил.
Осталась только одна ерунда (которая лечится добавлением вручную параметров через LAM):
Код: Выделить всё
[2007/12/07 18:32:58, 3] passdb/pdb_interface.c:pdb_default_create_user(329)
_samr_create_user: Running the command `/usr/local/sbin/smbldap-useradd -w "geo-rmarina$"' gave 0
[2007/12/07 18:32:58, 3] passdb/pdb_interface.c:pdb_default_create_user(354)
pdb_default_create_user: failed to create a new user structure: NT_STATUS_NO_SUCH_USER
Компьютер в домене создаётся. Но Samba3 параметров у него нет.
В логе самбы полезного ничего не нашёл.

Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 18:53:57
fr33man
А если использовать ldapscripts? У меня с ними все ок. )
Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 19:01:09
DJ Kill
Поднимал как раз по Вашей статье это в первый раз. Но, почему-то, решил через smbldap-tools.
Причём оно работало (и на двух других домен-контроллерах работает до сих пор).
Хочется так и оставить.
Кстати, если на них переходить - LAM это нормально обрабатывает?
Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 19:15:41
Dron
включай debug запросов LDAP и смотри что пишет скрипт и чт опытается прочитать самба и в итоге не находит...
Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 19:22:10
DJ Kill
Что не находит скрипт я и так понимаю.

Samba3 параметры.
Не понятно почему они не создаются.

Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-07 20:09:26
DJ Kill
Решение таки нашлось.
в /etc/ldap.conf надо было поменять
Код: Выделить всё
nss_base_shadow ou=users,dc=gtss,dc=ru?one
nss_base_passwd ou=users,dc=gtss,dc=ru?one
nss_base_group ou=groups,dc=gtss,dc=ru?one
на
Код: Выделить всё
nss_base_shadow dc=gtss,dc=ru?sub
nss_base_passwd dc=gtss,dc=ru?sub
nss_base_group ou=groups,dc=gtss,dc=ru?one
Вот теперь бы заставить это логинится в систему доменными пользователями и будет счастье.

Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-09 19:30:26
Dron
Прикольно, а ты писал
Остальное в самбе работает абсолютно нормально.
соответственно я решил что с юзерами проблем нет и не подумал об nss_ldap
А какие проблемы с пользователями?
Вгоняешь машину в домен и логонишься доменным юзером... делов-то

Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-09 20:34:21
DJ Kill
_Dron_ писал(а):соответственно я решил что с юзерами проблем нет и не подумал об nss_ldap
nss_ldap вроде работает. То есть is user информацию выдаёт. И работал всегда.
Ну, собственно, это понятно. Ибо он машину искал в ou=users и не находил её, а пользователей находил всегда. Я ступил просто.
А какие проблемы с пользователями?
Пользователь из LDAP не может войти на машину по SSH, допустим.
Хотя, как сказано выше, система о нём знает.
В логах: invalid credentials. В логах самого LDAP никаких явных ошибок не вижу.

Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-10 11:04:18
Dron
А...
Так чтобы локально пользователей пускало, авторизуя их через LDAP, надо добавить к этой связке pam_ldap

Re: smbldap-tools и Samba PDC
Добавлено: 2007-12-10 12:07:18
DJ Kill
_Dron_ писал(а):А...
Так чтобы локально пользователей пускало, авторизуя их через LDAP, надо добавить к этой связке pam_ldap

Я знаю. Он у меня стоит. И даже как-то (по статье на этом сайте) настроен. Но не работает.