--}}
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем

Samba 3 + LDAP

87
9
С друзьями на NN.RU
В социальных сетях
Поделиться
Atom
08.10.2008
Возникло пару вопросов... Кто знает тонкости?
1) Нужен ли работы pam_ldap?
Вопрос возник из-за того, что конфигурационный файл nss_ldap никак не влияет на работу... Хоть заведомо неверный сервер LDAP ставь - не влияет.
А вот неправильное указание ldap сервера в конфиге самбы - сразу выдает ошибки.

2) При проблеме подключится к samba серверу с заведомо правильным паролем в логах имеем:

Oct 8 09:56:31 svr-1 smbd[1082]: [2008/10/08 09:56:31, 0] passdb/pdb_get_set.c:pdb_get_group_sid(164)
Oct 8 09:56:31 svr-1 smbd[1082]: pdb_get_group_sid: Failed to find Unix account for Administrator
Oct 8 09:56:31 svr-1 smbd[1082]: [2008/10/08 09:56:31, 0] auth/auth_sam.c:check_sam_security(352)
Oct 8 09:56:31 svr-1 smbd[1082]: check_sam_security: make_server_info_sam() failed with 'NT_STATUS_NO_SUCH_USER'


При этом команда pdbedit -Lv Administrator выдает:

....
set_server_role: role = ROLE_DOMAIN_PDC
Attempting to register passdb backend ldapsam
Successfully added passdb backend 'ldapsam'
Attempting to register passdb backend ldapsam_compat
Successfully added passdb backend 'ldapsam_compat'
Attempting to register passdb backend NDS_ldapsam
Successfully added passdb backend 'NDS_ldapsam'
Attempting to register passdb backend NDS_ldapsam_compat
Successfully added passdb backend 'NDS_ldapsam_compat'
Attempting to register passdb backend smbpasswd
Successfully added passdb backend 'smbpasswd'
Attempting to register passdb backend tdbsam
Successfully added passdb backend 'tdbsam'
Attempting to find an passdb backend to match ldapsam:ldap://127.0.0.1 (ldapsam)
Found pdb backend ldapsam
smbldap_search_domain_info: Searching for:[(&(objectClass=sambaDomain)(sambaDomainName=MY))]
smbldap_search_ext: base => [dc=my,dc=local], filter => [(&(objectClass=sambaDomain)(sambaDomainName=MY))], scope => [2]
The connection to the LDAP server was closed
smb_ldap_setup_connection: ldap://127.0.0.1
smbldap_open_connection: connection opened
ldap_connect_system: Binding to ldap server ldap://127.0.0.1 as "dc=my,dc=local"
ldap_connect_system: succesful connection to the LDAP server
ldap_connect_system: LDAP server does support paged results
The LDAP server is succesfully connected
smbldap_get_single_attribute: [sambaAlgorithmicRidBase] = [<does not exist>]
pdb backend ldapsam:ldap://127.0.0.1 has a valid init
Netbios name list:-
my_netbios_names[0]="SERVER"
Attempting to find an passdb backend to match ldapsam:ldap://127.0.0.1 (ldapsam)
Found pdb backend ldapsam
smbldap_search_domain_info: Searching for:[(&(objectClass=sambaDomain)(sambaDomainName=MY))]
smbldap_search_ext: base => [dc=my,dc=local], filter => [(&(objectClass=sambaDomain)(sambaDomainName=MY))], scope => [2]
The connection to the LDAP server was closed
smb_ldap_setup_connection: ldap://127.0.0.1
smbldap_open_connection: connection opened
ldap_connect_system: Binding to ldap server ldap://127.0.0.1 as "dc=my,dc=local"
ldap_connect_system: succesful connection to the LDAP server
ldap_connect_system: LDAP server does support paged results
The LDAP server is succesfully connected
smbldap_get_single_attribute: [sambaAlgorithmicRidBase] = [<does not exist>]
pdb backend ldapsam:ldap://127.0.0.1 has a valid init
smbldap_search_ext: base => [dc=my,dc=local], filter => [(&(uid=Administrator)(objectclass=sambaSamAccount))], scope => [2]
init_sam_from_ldap: Entry found for user: Administrator
pdb_set_username: setting username Administrator, was
pdb_set_domain: setting domain MY, was
pdb_set_nt_username: setting nt username Administrator, was
pdb_set_user_sid_from_string: setting user sid S-1-5-21-3549665086-1233069976-4059631941-500
pdb_set_user_sid: setting user sid S-1-5-21-3549665086-1233069976-4059631941-500
smbldap_get_single_attribute: [displayName] = [<does not exist>]
pdb_set_full_name: setting full name Netbios Domain Administrator, was
smbldap_get_single_attribute: [sambaHomeDrive] = [<does not exist>]
pdb_set_dir_drive: setting dir drive , was NULL
pdb_set_homedir: setting home dir \\server\Administrator, was
smbldap_get_single_attribute: [sambaLogonScript] = [<does not exist>]
pdb_set_logon_script: setting logon script , was
pdb_set_profile_path: setting profile path \\server\profiles\Administrator, was
smbldap_get_single_attribute: [description] = [<does not exist>]
smbldap_get_single_attribute: [sambaUserWorkstations] = [<does not exist>]
smbldap_get_single_attribute: [sambaMungedDial] = [<does not exist>]
grant_privilege: S-1-1-0
original privilege mask:
SE_PRIV 0x0 0x0 0x0 0x0
new privilege mask:
SE_PRIV 0x0 0x0 0x0 0x0
grant_privilege: S-1-5-32-548
original privilege mask:
SE_PRIV 0x0 0x0 0x0 0x0
new privilege mask:
SE_PRIV 0x0 0x0 0x0 0x0
grant_privilege: S-1-5-32-549
original privilege mask:
SE_PRIV 0x0 0x0 0x0 0x0
new privilege mask:
SE_PRIV 0x0 0x0 0x0 0x0
grant_privilege: S-1-5-32-550
original privilege mask:
SE_PRIV 0x0 0x0 0x0 0x0
new privilege mask:
SE_PRIV 0x0 0x0 0x0 0x0
grant_privilege: S-1-5-32-551
original privilege mask:
SE_PRIV 0x0 0x0 0x0 0x0
new privilege mask:
SE_PRIV 0x0 0x0 0x0 0x0
grant_privilege: S-1-5-32-544
original privilege mask:
SE_PRIV 0xff0 0x0 0x0 0x0
new privilege mask:
SE_PRIV 0xff0 0x0 0x0 0x0
account_policy_get: name: password history, val: 0
smbldap_get_single_attribute: [sambaBadPasswordCount] = [<does not exist>]
smbldap_get_single_attribute: [sambaBadPasswordTime] = [<does not exist>]
smbldap_get_single_attribute: [sambaLogonHours] = [<does not exist>]
Opening cache file at /var/cache/samba/login_cache.tdb
Looking up login cache for user Administrator
No cache entry found
No cache entry, bad count = 0, bad time = 0
Unix username: Administrator
NT username: Administrator
Account Flags: [U ]
User SID: S-1-5-21-3549665086-1233069976-4059631941-500
Finding user Administrator
Trying _Get_Pwnam(), username as lowercase is administrator
Trying _Get_Pwnam(), username as given is Administrator
Trying _Get_Pwnam(), username as uppercase is ADMINISTRATOR
Checking combinations of 0 uppercase letters in administrator
Get_Pwnam_internals didn't find user [Administrator]!
pdb_get_group_sid: Failed to find Unix account for Administrator

Primary Group SID: (NULL SID)
Full Name: Netbios Domain Administrator
Home Directory: \\server\Administrator
HomeDir Drive:
Logon Script:
Profile Path: \\server\profiles\Administrator
Domain: MY


чую что что-то не так в схеме, но понять не могу, чего....
Mihalych
08.10.2008
1) Нужен ли работы pam_ldap?

Вроде как не обязательно.
А что говорит getent passwd по поводу аккаунта Administrator? Наверное ничего не скажет. Может groupmap-ить на root?
ЗЫ smb.conf позырить бы.
ЗЫЗЫ Посмотри со 273 страницы официальный Samba3-ByExample.pdf
Atom
08.10.2008
сейчас глянул описания багов на оф.сайте самбы - похоже все из-за того, что у меня просто очень старая версия. Очень много багов каксающихся как раз мапинга...

а pam_ldap действительно не обязятельно. В 3-й версии уже свстроены поддержка ldap.

Обновлюсь на текущую версию - посмотрю, что будет.
Модули pam вообще нужны только для того, чтобы заходить на машину локально.
Если ты не собираешься рулить на серваке доменным юзверем и рута тебе достаточно - тебе сей модуль на фиг не нужен.
А вот nss_ldap желательно бы настроить. Чтобы работали команды id и pw usershow...

З.Ы. А как настраивал? По статье Лисяры?
www.lissyara.su/?id=1487
Если что... Самый лучший мануал. ИМХО.
Atom
09.10.2008
+1
интересное наблюдение:
если в nsswitch.conf прописываю ldap - то команда getent passwd выдает инфу и пользователе... Причем он может даже логиниться...
убираю ldap из nsswitch.conf - getent passwd пользователя не находит, но самба все равно его пускает, а логиниться не удается.

Как раз последний вариант для меня предпочтительней, ибо не надо заводить unix пользователей для пользователей самбы...
В общем, nss_ldap нужен для того, чтобы пользователи LDAP были видны как системные (локальные). А pam_ldap нужен для их авторизации при входе.

З.Ы. Если рулишь из-под рабочей станции FreeBSD, советую заодно поставить Luma (прога для редактирования записей LDAP)...

З.З.Ы. ИМХО, getent берёт инфу о юзерах там же, где и pw usershow - то есть из источников, определённых в /etc/nsswitch.conf
:)
Да, и лучше юзать 3.2 - там с версии 3.0.9 траблы с русскими именами в libsmbclient для иксов...
Впрочем, если для сервака (кто же иксы на сервак ставит) - это не критично. ИМХО.
Atom
09.10.2008
докладываю:
поставил самбу 3.2.4 - трабла с админом (выделено красным цветом в первом посте) не исчезла...
завел нового юзверя и проверил опять pdbedit -Lv test2 (юзверь test2):

Finding user test2
Trying _Get_Pwnam(), username as lowercase is test2
Get_Pwnam_internals did find user [test2]!
smbldap_search_ext: base => [ou=Groups,dc=my,dc=local], filter => [(&(objectClass=sambaGroupMapping)(gidNumber=513))], scope => [2]
init_group_from_ldap: Entry found for group: 513
lookup_sid called for SID 'S-1-5-21-3549665086-1233069976-4059631941-513'
Accepting SID S-1-5-21-3549665086-1233069976-4059631941 in level 1
lookup_rids called for domain sid 'S-1-5-21-3549665086-1233069976-4059631941'
lookup_global_sam_rid: looking up RID 513.
smbldap_search_ext: base => [dc=my,dc=local], filter => [(&(sambaSID=S-1-5-21-3549665086-1233069976-4059631941-513)(objectclass=sambaSamAccount))], scope => [2]

и о чудо! Пускает этого юзверя на Самбу и не ругается.

PS Использовал smbldap-tools
Atom
09.10.2008
ps Проверил на samba-3.0.24 - тоже все работает.
Трабла была именно с базой LDAP у пользоватля Administrator.
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем
Последние темы форумов
Форум Тема (Автор) Последний ответ Ответов
Принтер лазерный HEWLETT PACKARD HP-6L

Принтер лазерный HEWLETT PACKARD HP-6L Отправка в регионы после оплаты. 3штуки БУ. Внешний вид из магазина простояли на складе...
Цена: 4 500 руб.

Оперативная память Corsair XMS3 CMX8GX3M2A1600C9

Оперативная память Corsair XMS3 CMX8GX3M2A1600C9 Отправка в регионы после оплаты. Продаются сразу обе. Цена за обе 2000 руб....
Цена: 1 000 руб.

Материнские платы на запчасти и не только

Материнские платы на запчасти и не только Материнские платы и другие комплектующие Отправка в регионы после оплаты. Транспортной...
Цена: 3 000 руб.

Сетевой фильтр APC Surge Arrest

Сетевой фильтр APC Surge Arrest для радиолюбителя.и не только Отправка в регионы после оплаты. ЦЕНА 3000 руб. В рабочем состоянии....
Цена: 3 000 руб.