LINUX.ORG.RU
решено ФорумAdmin

Samba + LDAP на opensuse


0

1

Настраиваю по мануалю http://ru.opensuse.org/SDB:Samba_и_LDAP_на_openSUSE_11.1_Быстрый_старт , работает, но есть проблема.

net groupmap rid=512 ntgroup=«Domain Admins» unixgroup=ntadmins type=domain
выдает adding entry for group Domain Admin failed!

причем net groupmap list вообще пустой.

Пробовал добавить группы вручную - yast ругается на пробел в названии, через ldapadd -f добавил, но изменений никаких

smbldap-populate выдает вот что

# smbldap-populate
Populating LDAP directory for domain RUBCZN (S-1-5-21-463248636-2475550009-3371934282)
(using builtin directory structure)

entry dc=rubczn already exist.
entry ou=users,dc=rubczn already exist.
entry ou=group,dc=rubczn already exist.
entry ou=Mashines,dc=rubczn already exist.
entry ou=Idmap,dc=rubczn already exist.
entry uid=root,ou=users,dc=rubczn already exist.
entry uid=nobody,ou=users,dc=rubczn already exist.
entry cn=Domain Admins,ou=group,dc=rubczn already exist.
entry cn=Domain Users,ou=group,dc=rubczn already exist.
adding new entry: cn=Domain Guests,ou=group,dc=rubczn
failed to add entry: no structural object class provided at /usr/sbin/smbldap-populate line 500, <GEN1> line 123.
adding new entry: cn=Domain Computers,ou=group,dc=rubczn
failed to add entry: no structural object class provided at /usr/sbin/smbldap-populate line 500, <GEN1> line 134.
adding new entry: cn=Administrators,ou=group,dc=rubczn
failed to add entry: no structural object class provided at /usr/sbin/smbldap-populate line 500, <GEN1> line 179.
adding new entry: cn=Account Operators,ou=group,dc=rubczn
failed to add entry: no structural object class provided at /usr/sbin/smbldap-populate line 500, <GEN1> line 201.
adding new entry: cn=Print Operators,ou=group,dc=rubczn
failed to add entry: no structural object class provided at /usr/sbin/smbldap-populate line 500, <GEN1> line 212.
adding new entry: cn=Backup Operators,ou=group,dc=rubczn
failed to add entry: no structural object class provided at /usr/sbin/smbldap-populate line 500, <GEN1> line 223.
adding new entry: cn=Replicators,ou=group,dc=rubczn
failed to add entry: no structural object class provided at /usr/sbin/smbldap-populate line 500, <GEN1> line 234.
entry sambaDomainName=RUBCZN,dc=rubczn already exist. Updating it...

Please provide a password for the domain root using smpldap-passwd.


21й век на дворе, сложное ПО люди теперь через GUI настраивают...

Настройки openldap сервера покажите. Без комментариев желательно.

zgen ★★★★★
()
Ответ на: комментарий от zgen

Весь прикол в том, что /etc/openldap/ldap.conf содержит только комментарий о том, что теперь все настройки хранятся в самом лдапе.

Есть предположение что схемы не те подключены, раньше всегда nis была, а теперь вместо нее rfc2307bis, которая не дает подгрузить nis. Случайно мануаль по управлению лдапом через лдап не завалялся?

MiDoS
() автор топика
Ответ на: комментарий от MiDoS

Весь прикол в том, что /etc/openldap/ldap.conf содержит

Настройки openldap сервера покажите.

openldap сервера

сервера

Я вижу у вас вообще никаких знаний по LDAP нет. Это плохо.

Случайно мануаль по управлению лдапом через лдап не завалялся?

Начните отсюда:

http://www.openldap.org/doc/admin24/, как минимум главы 5 и 6. А лучше вообще всё. Как только прочтете, возвращайтесь с конкретными вопросами.

Есть предположение что схемы не те подключены

Обычно для проверки этих предположений форумы не нужны, а вы, вижу, не знаете даже где настройки искать. Я конечно могу подсказать, но учитывая ваш подход это будет значить лишь то, что вы напоритесь на следующую «нерешаемую» проблему, которая происходит лишь от вашего непонимания того, как все работает или должно работать.

zgen ★★★★★
()
Ответ на: комментарий от zgen

В чем ошибка в следущей логике?

1. Для создания правильного списка групп нужен smbldap-populate
2. smbldap-populate для нормальной работы требует nis.shema
3. nis.shema конфликтует с rfc2307bis.shema
4. rfc2307bis.shema удалять как бы не рекомендуется http://www.novell.com/support/viewdocument.do?externalId=7003257&sliceId=...
5. а с настройками изкоробки suse не хочет работать groupmap, можно группы примапить вручную, но это как-то нелогично.

MiDoS
() автор топика
Ответ на: комментарий от MiDoS

В чем ошибка в следущей логике?

В том, что в пункте «0», который по непонятным причинам у вас отсутствует, должен быть настроен openldap сервер, а уж потом, после этого, запущен smbldap-populate. Настройки вашего openldap сервера я как не видел, так и продолжаю не видеть, а без них обсуждать какие-то иные пункты не имеет смысла.

zgen ★★★★★
()
Ответ на: комментарий от zgen

Я ж говорю, настройки сервера теперь в сервере, там если cn=config выгружать, огромный дамп нечитаемый получается. А текстовые конфиги пустые, не в смысле не настроенные, а в смысле не используются и сервер лдапа на них вообще не смотрит.

Тут нашел где поменять способ сохранения настроек, завтра попробую старые добрые конфигурационные файлы.

MiDoS
() автор топика
Ответ на: комментарий от MiDoS

Samba НЕ использует атрибуты и классы объектов, описанные в nis/rfc2307bis схемах.
Их используют nss_ldap и pam_ldap (существует несколько реализаций, но до недавненго времени, когда и здесь учинили бардак и анархию, стандартом была реализация PADL) - соответственно, для сбора информации о группах и пользователях (NSS) и аутентификации/авторизации/смены_пароля (PAM).
Нет никаких объективных трудностей в том, чтобы использовать rfc2307bis в smbldap-tools, в составе которых поставляется и populate-скрипт. Собственно, ищите в настройках smbldap-tools'ов это самое RFC2307 и обрящете :)

P.S. Основным отличием между схемами rfc2307bis и nis является то, что в соотв. с rfc2307bis члены групп хранятся в (многозначном, разумеется) атрибуте member (или его «аналогах»), а в соотв. с nis - в атрибуте memberUid. Казалось бы, разница только в названиях атрибутов? А нет, ничего подобного: member - это dn-valued атрибут, а memberUid - это просто строка, хранящая login пользователя. На мой взгляд, member во многих случаях удобнее memberUid (в особенности при использовании динамических списков OpenLDAP).

DRVTiny ★★★★★
()
Ответ на: комментарий от MiDoS

Я ж говорю, настройки сервера теперь в сервере

Спасибо, я знаю

там если cn=config выгружать, огромный дамп нечитаемый получается.

Содержание схем не нужно, достаточно самого списка подключенных, без них вполне разумные величины должны получаться.

zgen ★★★★★
()
Ответ на: комментарий от DRVTiny

На мой взгляд, member во многих случаях удобнее memberUid (в особенности при использовании динамических списков OpenLDAP).

А smbldap-tools нормально такие списки групп manage'ит? А samba track'ит их по LDAP? O_o Сдается мне, группы в samba не будут работать, поскольку она ожидает увидеть таки не dn-valued аттрибут memberUid...

Или я ошибаюсь?

zgen ★★★★★
()
Ответ на: комментарий от DRVTiny

Кстати, сейчас посмотрел dn-valued member означен в groupOfNames безо всякой rfc2307bis => dn-valued member для групп доступен и без rfc2307bis

zgen ★★★★★
()
Ответ на: комментарий от zgen

# config
dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/slapd/slapd.args
olcAuthzRegexp: {0}gidNumber=0\+uidNumber=0,cn=peercred,cn=external,cn=auth dn
:cn=config
olcLogLevel: none
olcPidFile: /var/run/slapd/slapd.pid
olcSizeLimit: 10000

# {-1}frontend, config
dn: olcDatabase={-1}frontend,cn=config
objectClass: olcDatabaseConfig
olcDatabase: {-1}frontend
olcAccess: {0}to dn.base=«» by * read
olcAccess: {1}to dn.base=«cn=Subschema» by * read

# {0}config, config
dn: olcDatabase={0}config,cn=config
objectClass: olcDatabaseConfig
olcDatabase: {0}config
olcRootDN: cn=config

# {1}bdb, config
dn: olcDatabase={1}bdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcBdbConfig
olcDatabase: {1}bdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=rubczn
olcAccess: {0}to attrs=userPassword by self write by * auth
olcAccess: {1}to attrs=shadowLastChange by self write by * read
olcAccess: {2}to attrs=userPKCS12 by self read by * none
olcAccess: {3}to * by * read
olcRootDN: cn=Admin,dc=rubczn
olcRootPW: {SSHA}t/5ja+Bq5LbeKqEylskr8bPS3pBFTFpUSw==
olcDbCacheSize: 10000
olcDbCheckpoint: 1024 5
olcDbIDLcacheSize: 30000
olcDbIndex: objectclass eq
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: member eq
olcDbIndex: memberUid eq
olcDbIndex: mail eq
olcDbIndex: cn eq,sub
olcDbIndex: displayName eq,sub
olcDbIndex: uid eq,sub
olcDbIndex: sn eq,sub
olcDbIndex: givenName eq,sub



Вот что в cn=config если схемы выкинуть

MiDoS
() автор топика
Ответ на: комментарий от zgen

сложное ПО люди теперь через GUI настраивают

как? т.е. ldap, пользователи, шАры, группы, права... может быть сеть, кстати. и чтоб через гуй. что-то вроде зимбры, только для ldap-а.

Rastafarra ★★★★
()
Ответ на: комментарий от zgen

Могу ошибаться, но по-моему Samba вообще не смотрит ни uniqueMember, ни memberUid, используя системные вызовы типа getgr и getpw и sambaGroupMapping-атрибут.
Кстати, насчёт nis.schema и rfc2307bis.schema я ошибся - там разница принципиальная не в том, что posixGroup содержит member или memberUid, а в том, что в nis.schema posixGroup - это STRUCTURAL, а в rfc2307bis - он уже AUXILIARY. Т.е. во 2м случае нужно добавлять к posixGroup ещё какой-то objectClass, который будет STRUCTURAL. Одним из вариантов, к использованию которого не принуждают разработчики RFC2307bis, является groupOfUniqueNames, в котором действительно MUST атрибут uniqueMember. Тем не менее, вместо groupOfSomething возможно использовать namedObject.

DRVTiny ★★★★★
()
Ответ на: комментарий от MiDoS
olcAuthzRegexp:{0}gidNumber=0\+uidNumber=0,cn=peercred,cn=external,cn=auth dn
:cn=config


Вау, круто, а какой дистрибутив по дефолту такое пишет? В остальном - полупустой конфиг, на что тут смотреть я не знаю.

DRVTiny ★★★★★
()
Ответ на: комментарий от DRVTiny

Из RFC2307bis:

For groups with one of more distinguished names, the groupOfUniqueNames object class MUST be used as a structural object class. For groups whose members are only login names, the namedOb- ject [namedObject] object class MAY be used as a structural object class.

It is suggested that uid and cn are used as the naming attribute for posixAccount and posixGroup entries, respectively. Group members may either be login names (values of memberUid) or dis- tinguished names (values of uniqueMember). In the latter case, the distinguished name must be mapped to one or more login names by examining the name's RDN or, if it is not distinguished by uid, performing a base search on the DN with a filter of "(objectclass=*)"

DRVTiny ★★★★★
()
Ответ на: комментарий от Rastafarra

что-то вроде зимбры, только для ldap-а.

Самое интересное, что Зимбру для всего названного вами, кроме сети, можно использовать. Сценарий интеграции Samba+Zimbra - весьма удачный во всех отношениях.

DRVTiny ★★★★★
()
Ответ на: комментарий от DRVTiny

Вау, круто, а какой дистрибутив по дефолту такое пишет? В остальном - полупустой конфиг, на что тут смотреть я не знаю.

opensuse 12.1

Настроил сегодня через файлы, работает нормально, только yast не совсем корректно с пользователями управляется, мож я что-то пропустил, но это мелочи. Таки 2307bis была лишним звеном

MiDoS
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.