SAMBA PDC + LDAP + Kerberos

Делал по руководству http://ru.gentoo-wiki.com/Samba_PDC_LDAP

cat /etc/openldap/slapd.conf
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/samba.schema

pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args

access to dn.base=""
by self write
by * auth

access to attrs=userPassword
by self write
by * auth

access to attrs=shadowLastChange
by self write
by * read

access to *
by * read
by anonymous auth

# loglevel 256

database ldbm
suffix "dc=worknet,dc=intnl"
rootdn "cn=root,dc=worknet,dc=intnl"
rootpw {SSHA}EW3BApUqmtCqR5KuBhmFKx9nADRisUBZ
directory /var/lib/openldap-ldbm

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

cat /etc/openldap/ldap.conf
host 127.0.0.1
base dc=worknet, dc=intnl

при запуске smbldap-populate -a Administrator -k 0 -m 0
smbldap-populate -a root -k 0 -m 0
Populating LDAP directory for domain worknet (S-1-5-21-3666475296-2155694800-1910466944)
(using builtin directory structure)

adding new entry: dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 7.
adding new entry: ou=Users,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 12.
adding new entry: ou=Groups,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 17.
adding new entry: ou=Users,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 22.
adding new entry: ou=Idmap,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 27.
adding new entry: uid=root,ou=Users,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 58.
adding new entry: uid=nobody,ou=Users,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 89.
adding new entry: cn=Domain Admins,ou=Groups,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 101.
adding new entry: cn=Domain Users,ou=Groups,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 112.
adding new entry: cn=Domain Guests,ou=Groups,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 123.
adding new entry: cn=Domain Computers,ou=Groups,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 134.
adding new entry: cn=Administrators,ou=Groups,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 179.
adding new entry: cn=Account Operators,ou=Groups,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 201.
adding new entry: cn=Print Operators,ou=Groups,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 212.
adding new entry: cn=Backup Operators,ou=Groups,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 223.
adding new entry: cn=Replicators,ou=Groups,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 234.
adding new entry: sambaDomainName=worknet,dc=worknet,dc=intnl
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 499, line 242.

Please provide a password for the domain root:
No such object at /usr/sbin//smbldap_tools.pm line 353.

где искать загвоздку?

Элементарно, Ватсон :)

lange_sauvage написал(а):
Please provide a password for the domain root:
No such object at /usr/sbin//smbldap_tools.pm line 353.

где искать загвоздку?

Забить на smbldap-tools и обрести счастье :)

--
Live free or die

failed to add entry: no

failed to add entry: no global superior knowledge
Какой BaseDN в OpenLDAP? Он у тебя ругается, что нету базового DN для данной записи. Проверь записи в smbldap-populate. Или создай основу вручную.

_______________________
From Siberia with Love!

проблема решена, буду искать новые грабли

Конф который написан в руководстве никуда не годится....
если разберусь с этой темой ждите нового руководства :-)

..жить надо ярко... иначе зачем жить вообще!?

щас вопрос

щас вопрос обстоит в том как заставить систему видеть пользователей созданных в базе ldap (с помощью smbldap-populate) в системе... то бишь настроить nss_ldap pam_ldap и как можно продиагнозировать работу и если есть ктонить кто может объяснить как эти штуки пашут былоб клево :-)

..жить надо ярко... иначе зачем жить вообще!?

Что за

Что за систему?
Что есть видеть?
Каких пользователей?

Тему уже разбирали, повторяться лень.
Если нужен конфиг сервера openldap - могу процитировать свой реально используемый.
--
Live free or die

видеть всмысле

видеть всмысле выводить по команде getent passwd пользователей из базы ldap, но это тоже уже разобрал и сделал
следущий шаг ввод PDC в домен заканчивается следующим:
net rpc join -S slinux -U Administrator
[2008/07/09 16:37:33, 0] param/loadparm.c:map_parameter(2786)
Unknown parameter encountered: "realm"
[2008/07/09 16:37:33, 0] param/loadparm.c:lp_do_parameter(3527)
Ignoring unknown parameter "realm"
Connection failed: NT_STATUS_CONNECTION_REFUSED
Password:
Could not connect to server slinux
Connection failed: NT_STATUS_CONNECTION_REFUSED

Anarchist, если поделишься конфигами то буду премного благодарен можно на мыло

Вообщем все поднялось и заработало, но ругань Unknown parameter encountered: "realm" осталась

..жить надо ярко... иначе зачем жить вообще!?

=

lange_sauvage написал(а):
[2008/07/09 16:37:33, 0] param/loadparm.c:lp_do_parameter(3527)
Ignoring unknown parameter "realm"

USE ads при сборке Самбы выставлен?

lange_sauvage написал(а):
Anarchist, если поделишься конфигами то буду премного благодарен

slapd.conf основного сервера в том виде, который я считаю правильным (правда, на FreeBSD и без PDC):

include		/usr/local/etc/openldap/schema/core.schema
include		/usr/local/etc/openldap/schema/cosine.schema
include		/usr/local/etc/openldap/schema/nis.schema
include		/usr/local/etc/openldap/schema/inetorgperson.schema
# Эта схема для адресных книг:
include		/usr/local/etc/openldap/schema/misc.schema
#
include		/usr/local/etc/openldap/schema/samba.schema


pidfile		/var/run/openldap/slapd.pid
argsfile	/var/run/openldap/slapd.args

modulepath	/usr/local/libexec/openldap
moduleload	back_bdb


access to attrs=userPassword,sambaLMPassword,sambaNTPassword
         by dn="uid=admin,dc=mydomain,dc=ru" write
         by dn="uid=Replicator,dc=mydomain,dc=ru" read
         by dn="uid=Operator,dc=mydomain,dc=ru" read
         by dn="uid=samba,ou=Services,dc=mydomain,dc=ru" write
         by dn="uid=squid,ou=Services,dc=mydomain,dc=ru" read
         by dn="uid=apache,ou=Services,dc=mydomain,dc=ru" read
         by self read
         by anonymous auth

# Это необходимо для нормальной работы phpldapadmin'а:
access to dn="cn=subschema"
         by * read


access to dn.subtree="ou=Adressbook,dc=mydomain,dc=ru"
        by dn="uid=admin,dc=mydomain,dc=ru" write
        by * read
# Последнее возможно избыточно. Чтение может иметь смысл разрешить только авторизованным

access to *
         by dn="uid=admin,dc=mydomain,dc=ru" write
         by dn="uid=Replicator,dc=mydomain,dc=ru" read
         by dn="uid=Operator,dc=mydomain,dc=ru" read
         by dn="uid=samba,ou=Services,dc=mydomain,dc=ru" write
         by dn="uid=squid,ou=Services,dc=medomain,dc=ru" read
         by dn="uid=apache,ou=Services,dc=mydomain,dc=ru" read
         by users read


database	bdb
suffix		"dc=caotus,dc=ru"
rootdn		"uid=admin,dc=mydomain,dc=ru"
rootpw          {SSHA}здесь_некоторый_хэш
directory	/var/db/openldap-data
index           cn,sn,uid  pres,eq,approx,sub
index           uidNumber,gidNumber     eq
index           memberUid  eq
index           objectClass  eq
index    	sambaSID    eq
index    	sambaPrimaryGroupSID    eq
index    	sambaDomainName    eq


lastmod         on
lange_sauvage написал(а):
Вообщем все поднялось и заработало, но ругань Unknown parameter encountered: "realm" осталась

Запрос конфигов и прочая ещё актуален?

--
Live free or die

Конфиги очень

Конфиги очень актуальны

домен в общем работает, но заметил следующие вещи... не меняет пароль при смене его из винды, и не удаляет машину при выводе онной из домена
не получилось настроить сквид на squid_ldap_auth
заметил что по команде getent shadow не выводится хеш пароля для юзеров из ldap

..жить надо ярко... иначе зачем жить вообще!?

?

lange_sauvage написал(а):
домен в общем работает, но заметил следующие вещи... не меняет пароль при смене его из винды, и не удаляет машину при выводе онной из домена

Такой задачи не ставилось и как следствие не решалось.
Виндового домена нет и не предвилится.

lange_sauvage написал(а):
не получилось настроить сквид на squid_ldap_auth

Местами не вполне тривиально (в плане работоспособности рецептов для проверки).
Обсуждение по приводившейся мной ссылке читал?

Сквид должен быть собран с поддержкой ldap в принципе и авторизации в частности.
Далее - конфиг сквида (пути для случая FreeBSD!)

auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -v 3 -b "ou=Users,dc=mydomain,dc=ru" -D "uid=squid,ou=Services,dc=mydomain,dc=ru" -W /usr/local/etc/squid/passwd 127.0.0.1
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
...
# Раздел настройки ACL:
acl ldap_users proxy_auth REQUIRED
#или
acl priviledged_users proxy_auth User1 ... UserN
#и т.д.
acl trusted_users proxy_auth /usr/local/squid/etc/trusted_users.txt"
...
# Раздел разрешений:
http_access allow ldap_users
lange_sauvage написал(а):
заметил что по команде getent shadow не выводится хеш пароля для юзеров из ldap

А что он должен выводить?
Зачем вообще "домен" (и что это такое)?

--
Live free or die

Ну и раз пошла такая пьянка

Для Apache 2.2 (снова цитируются конфиги FreeBSD, для случая Gentoo - проверить пути):

Если Apache устанавливался с чистого листа, то проверить, если производится обновление имеющее целью
отказ от файлов .htpasswd, то добавить ручками в основной конфигурационный файл следующие строки:

LoadModule ldap_module libexec/apache22/mod_ldap.so
LoadModule authnz_ldap_module libexec/apache22/mod_authnz_ldap.so

И собственно секция описывающая авторизацию:

AuthName "My secret part"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL "ldap://localhost:389/ou=Users,dc=mydomain,dc=ru"
# Или
# AuthLDAPURL "ldap://ldap.mydomain.ru:389/ou=Users,dc=mydomain,dc=ru"
AuthzLDAPAuthoritative off
AuthLDAPBindDN uid=apache,ou=Services,dc=mydomain,dc=ru
AuthLDAPBindPassword my_password
#Require ldap-attribute employeeType=active
#Require ldap-attribute city="San Jose" status=active # OR!!!
Require valid-user

Допускается указание только одного выражения 'Require'.
'valid-user' означает разрешение доступа для всех прошедших авторизацию.

--
Live free or die

чет

чет авторизалка сквида так и не запахала... как выяснить в чем может быть трабл??
Anarchist можно тебя по аське побеспокоить?

..жить надо ярко... иначе зачем жить вообще!?

=

lange_sauvage написал(а):
чет авторизалка сквида так и не запахала... как выяснить в чем может быть трабл??

Интересно...
Системная авторизация какая?
Я надеюсь, ты не просто копировал процитированные мной фрагменты конфигов?

lange_sauvage написал(а):
Anarchist можно тебя по аське побеспокоить?

Можно. Смотри личку.

ЗЫ: Есть ещё один ньюанс относительно конфигурации сквида и доступа к ресурсам, требующим апачевской авторизации. Демонстрация реальной квалификации самовлюблённых бздунишек представлена здесь.
--
Live free or die

Anarchist спасибо

Anarchist спасибо за помощь, в итоге все настроил да и сквид привязал через ntlmssp

щас интересен вопрос прикручивания к samba и openldap также kerberos и его взаимодействие с учетками самбы... погуглив вроде нашел что это реализовать вполне реально, вот собственно думаю с чего начать

..жить надо ярко... иначе зачем жить вообще!?

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

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