Автор Тема: а нет пошаговой инструкции: LDAP+Samba ( в домене с машинами WindowsXP и ALT Linux Desktop 4.1 )  (Прочитано 35107 раз)

Оффлайн ApB

  • Участник
  • *
  • Сообщений: 412
Вопрос:
Что вам выдаёт команда service krb5kdc status ?

Вот что выдаётся в smb.conf при попытке создать домен с samba на кентавре (p6)

[global]
realm = DOMAIN.LOC
server string = Samba server on %h (v. %v)
security = user
dedicated keytab file = /etc/krb5.keytab
kerberos method = dedicated keytab
log file = /var/log/samba/log.%m
max log size = 50
printcap name = cups
dns proxy = No
use sendfile = Yes
passdb backend = ldapsam:ldap://127.0.0.1/
ldap admin dn = cn=ldaproot,dc=domain,dc=loc
ldap suffix = dc=titan,dc=loc
ldap group suffix = ou=Group
ldap user suffix = ou=People

Вы думаете вам нужен именно "use kerberos keytab" ?

Причина неконтакта с ldap может решить slapindex а для начала slaptest из под рута естественно.

И не забываем про то, что перезапуск сервиса может требваться не одного, а нескольких (может для уверенности reboot?) и после рестарта - проверить нужно, чтобы все требуемые сервисы поднялись.

Если вы только строите систему (с ноля) - вероятно имеет смысл разобраться с проблемой, за тем пересоздать домен?

Оффлайн rabbit75

  • Участник
  • *
  • Сообщений: 20
Вы думаете вам нужен именно "use kerberos keytab" ?

Остался от конфига по вышеупомянутой инструкции. Попробую убрать по Вашему примеру, спасибо.
Кстати, вопрос "неконтакта" с LDAP
Цитировать
erreur LDAP: Can't contact master ldap server for writing (IO::Socket::INET: connect: В соединении отказано) at /usr/share/perl5/smbldap_tools.pm line 325.
решился правкой /etc/sysconfig/ldap (вычитал по одной из ссылок из этой темы). Заменил "ldap://localhost/" на "ldap:///"
(или как-то так, главное убрать "localhost", сейчас нет системы под рукой).

Оффлайн rabbit75

  • Участник
  • *
  • Сообщений: 20
Цитировать
Конфиги те-же, за исключением того, что пришлось удалить все "_" из файлов зон bind'а. Не понимал он этот символ.

Кстати, вопрос по ходу: оказывается символ "_" в файлах зон у меня не понимал DHCP. После "автозаполнения" /etc/dhcp/dhcp.conf alterator'ом, он выпадал с ошибкой типа "ожидается имя хоста _..." (на память не помню). На ArkServer-5.0 все работало.
Что сломали на P6? Баг?

Оффлайн ZayDen

  • Участник
  • *
  • Сообщений: 19
  • windows must die...
    • Blog ZayDen

Кстати, на ArkServer 5.0 у меня домен по этому мануалу завелся с пол оборота (за исключением описанной проблемы), а вот на Кентавре 6.0 нивкакую не хочет соединяться с каталогом LDAP.

между нами девочками этот контроллер домена создавался на версии 4.1, я после пробовал на 5.0 с первого раза тоже не завёлся....танцы с бубном и пару часов шаманства....полёт нормальный. К примеру в RedHat и CentOS гораздо меньше геморроя. В общем настоящий сисьадмин должен определить сервисы как под винду так и под никсы...

Оффлайн DragDen

  • Участник
  • *
  • Сообщений: 4
Приветствую всех. Прежде всего большое спасибо ZayDen за такую подробную инструкцию :).
Поднимая в течение трех недель домен на Centaurus6/School Server 6, хотелось бы поделиться способами решения всех проблем, что у меня возникали (мне кажется, у меня возникли все проблемы, какие только могли).

  • Во время перезапуска LDAP может выдать ошибку "unrecognised database type (hdb)". Для исправления этого надо найти в файле "/etc/openldap/slapd.conf" строку "include /etc/openldap/slapd-ИМЯДОМЕНА.conf" и переместить ее вниз, можно прямо в самый конец файла.
  • В пункте VII, если вручную правите конфиги, будьте внимательны на строках "ldap group suffix = ou=Group" (должен быть Group, а не Groups, как по-умолчанию) и "ldap idmap suffix = ou=Idmap" (в Idmap английская "ай", а не "л").
  • Не уверен, будет ли жаловаться самба шестой платформы на строку "use kerberos keytab = Yes". У меня вместо нее две строки:
    dedicated keytab file = /etc/krb5.keytab
    kerberos method = dedicated keytab
  • Пункт VIII. При команде "net getlocalsid" может возникнуть ошибка вроде "Failed to issue the StartTLS instruction (Protocol Error)". Для ее устранения надо добавить в конфиг самбы строку "ldap ssl = no". Кстати говоря, вносить SID в конфиг необязательно, он автоматически берется из net getlocalsid, как и многие другие параметры в этом конфиге
  • Рекомендую в качестве masterLDAP и slaveLDAP указать "127.0.0.1", так не будет проблем с описанной немного выше ошибкой "Can't contact master ldap server for writing (IO::Socket::INET: connect: В соединении отказано)"
  • Конец пункта VIII. При отдаче команды smbldap-populate лучше указать не 30000, а ~5000 (чтобы было больше 1000, но меньше 10000). Тогда созданные пользователи будут видны в альтераторе (хотя создавать их оттуда по-прежнему не получится).
  • Пункт IX. С Керберосом у меня ничего не получилось, так что я этот пункт просто пропустил.
  • Пункт X. Как в этой теме уже упоминалось, строка "include /etc/ddns-key.conf" в файле "/var/lib/bind/etc/ddns.conf" лишняя.
  • После настройки bind'а по инструкции надо соблюдать некоторую осторожность при работе с альтератором. Похоже, альтератор не зря после первого запуска заносит страницу настройки DHCP-сервера в /etc/alterator/menu/skip-module-list. Если после настройки bind'а что-либо изменить в DHCP-сервере, то альтератор занесет несколько зон в настройки DHCP, и тот при запуске будет выдавать сообщение об ошибке в конфигурации. Поэтому DHCP стоит настроить до начала настройки домена.

Теперь о подключении компьютеров на базе Windows к домену.
  • Ошибок тут может быть несколько. Первая: "Убедитесь, что имя домена введено правильно". Причины начинаются с отсутствия подключения к серверу до неработающих служб на сервере. Надо убедиться, что на сервере работают службы: smb, nmb, winbind, slapd, bind, dhcpd (если DHCP-сервер требуется на сервере)
  • Ошибка "Домен не существует или к нему невозможно подключиться". Эта ошибка, как правило, возникает в Win7. Для подключения Windows 7 к домену самбы необходимо добавить два DWORD параметра в реестр и желательно после этого перезагрузиться:
    [HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters] 
             DomainCompatibilityMode = 1 
             DNSNameResolutionRequired = 0
  • Ошибка нечто вроде "Имя пользователя и пароль не опознаны". Здесь стоит иметь в виду, что пароль задается и должен быть одинаковым в ПЯТИ местах (возможно, какие-то из них взаимозаменяемые):
    - Личный пароль соответствующего пользователя через passwd
    - /etc/openldap/slapd-ИМЯДОМЕНА.conf,
    - smbpasswd -w ПАРОЛЬ
    - /etc/smbldap-tools/smbldap_bind.conf
    - При выполнении smbldap-populate
    По правде сказать, у меня не получилось использовать не-root пользователя.
  • По поводу logon-скрипта - его надо вводить из dos или windows. Если не ошибаюсь, у линукса текстовые файлы выглядят несколько иначе, чем виндоусовские, в частности, символы конца строки отличаются.
« Последнее редактирование: 10.10.2012 15:45:36 от DragDen »

Оффлайн ApB

  • Участник
  • *
  • Сообщений: 412
Цитировать
По поводу logon-скрипта - его надо вводить из dos или windows. Если не ошибаюсь, у линукса текстовые файлы выглядят несколько иначе, чем виндоусовские, в частности, символы конца строки отличаются.

в logon-скрипте должна быть кодировка CP-1251.
Действительно, при просмотре текстового файла в блокноте в конце строки висит символ "/\ M" 

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 166
    • Домашняя страница
Приветствую всех. Прежде всего большое спасибо ZayDen за такую подробную инструкцию :).
Более того, я со своей стороны начинаю активно допиливать домен ALT Linux для аутентификации компьютеров с Windows в этом домене. Так что если что-то тривиальное буду спрашивать, не ругайте. Процесс копания пока развёрнут и результатов пока нет.
Цитировать
Ошибок тут может быть несколько. Первая: "Убедитесь, что имя домена введено правильно". Причины начинаются с отсутствия подключения к серверу до неработающих служб на сервере. Надо убедиться, что на сервере работают службы: smb, nmb, winbind, slapd, bind, dhcpd (если DHCP-сервер требуется на сервере)
А зачем в этой связке winbind?
Цитировать
Ошибка нечто вроде "Имя пользователя и пароль не опознаны". Здесь стоит иметь в виду, что пароль задается и должен быть одинаковым в ПЯТИ местах (возможно, какие-то из них взаимозаменяемые):
- Личный пароль соответствующего пользователя через passwd
- /etc/openldap/slapd-ИМЯДОМЕНА.conf,
- smbpasswd -w ПАРОЛЬ
- /etc/smbldap-tools/smbldap_bind.conf
- При выполнении smbldap-populate
Скрипты smbldap-tools лучше не использовать. В ldap-useradd я планировал добавить добавление машин в базу LDAP с возможностью доверия (то, что делается в smbldap-useradd -w -i... Кстати, в настроенном ALT- домене пароль, заводимый в Alterator действителен и в Samba. Есть проблема при смене имени сервера, когда заведённые SID не соответствуют SID сервера.
Цитировать
По правде сказать, у меня не получилось использовать не-root пользователя.
Тут всё просто! (убил три часа времени на это :( ). В LDAP uidNumber пользователя-администратора должен быть 0. Тогда он может назначать привилегии через net rpc... Меняется uidNumber так: echo "uidNumber: 0" | ldap-usermod replace <имя пользователя>
Цитировать
По поводу logon-скрипта - его надо вводить из dos или windows. Если не ошибаюсь, у линукса текстовые файлы выглядят несколько иначе, чем виндоусовские, в частности, символы конца строки отличаются.
Рекомендуют заводить шару netlogon и туда класть logon.bat. Концы строк настраиваются почти во всех линуксовых редакторов.
Андрей Черепанов (cas@)

Оффлайн ZayDen

  • Участник
  • *
  • Сообщений: 19
  • windows must die...
    • Blog ZayDen
Приветствую всех. Прежде всего большое спасибо ZayDen за такую подробную инструкцию :).
Вери сенкс....очень лесно!

Как известно прогресс не стоит на месте... и выходят новые версии Альта, со своими багами. Уважаемый, огромная просьба прикрепить работоспособную инструкцию для School Server 6. Можно корректировать мою бесконечно, но лучше свой проект с корректными именами и IP-адресами, также подробно со скриншотами. Сколько времени Вы сэкономите другим людям, которые оценят потраченное вами время как для самосовершенствования так и для огромного вклада в развитие технологий. Вместе мы сила!
З.Ы. Всемогущий Skull, поделись с пользователями своими наработками, тонкостями настройки и подводными камнями встречающимися на пути. Неужели в России нельзя выпустить полноценный контроллер домена на AltLinux из коробки, с графической оболочкой для администрирования?

Оффлайн DragDen

  • Участник
  • *
  • Сообщений: 4
Цитировать
Более того, я со своей стороны начинаю активно допиливать домен ALT Linux для аутентификации компьютеров с Windows в этом домене. Так что если что-то тривиальное буду спрашивать, не ругайте. Процесс копания пока развёрнут и результатов пока нет.
Отлично, со своей стороны попытаюсь помочь, чем смогу :).

Цитировать
А зачем в этой связке winbind?
Разве он не необходим для логина Windows-пользователей в домен?

Цитировать
Скрипты smbldap-tools лучше не использовать. В ldap-useradd я планировал добавить добавление машин в базу LDAP с возможностью доверия (то, что делается в smbldap-useradd -w -i... Кстати, в настроенном ALT- домене пароль, заводимый в Alterator действителен и в Samba. Есть проблема при смене имени сервера, когда заведённые SID не соответствуют SID сервера.
Хм, не знал, что можно обойтись без них. Как буду на работе, попробую на другом компьютере поднять домен без smbldap-tools.

Цитировать
Тут всё просто! (убил три часа времени на это :( ). В LDAP uidNumber пользователя-администратора должен быть 0. Тогда он может назначать привилегии через net rpc... Меняется uidNumber так: echo "uidNumber: 0" | ldap-usermod replace <имя пользователя>
Спасибо, попробую :).

Цитировать
Рекомендуют заводить шару netlogon и туда класть logon.bat.
Да, у меня так и есть. К тому же, судя по всему, можно создавать логон-скрипты для отдельных пользователей, групп и компьютеров.

Цитировать
Уважаемый, огромная просьба прикрепить работоспособную инструкцию для School Server 6. Можно корректировать мою бесконечно, но лучше свой проект с корректными именами и IP-адресами, также подробно со скриншотами.
Хорошо, только сперва попытаюсь таки поднять домен без использования smbldap-tools.

Кстати, возник вопрос - для чего добавлять в базу данных рабочие станции?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 166
    • Домашняя страница
Цитировать
А зачем в этой связке winbind?
Разве он не необходим для логина Windows-пользователей в домен?
В описании пакета:
Цитировать
Winbind enables Linux to be a full member in Windows domains and to use
Windows user and group accounts on Linux.
Вот для ввода машин Linux в AD он, безусловно, нужен. А вот обратно — сомневаюсь. nmbd нужен для резолвинга имён, smbd собственно для домена, slapd — для LDAP. Ну до кучи и krb5kdc для Kerberos.
Цитировать
Хм, не знал, что можно обойтись без них. Как буду на работе, попробую на другом компьютере поднять домен без smbldap-tools.
Почитайте http://www.altlinux.org/Домен там все инструкции и руководства собраны.
Цитировать
Цитировать
Рекомендуют заводить шару netlogon и туда класть logon.bat.
Да, у меня так и есть. К тому же, судя по всему, можно создавать логон-скрипты для отдельных пользователей, групп и компьютеров.
Я до этого не добрался, просто создал одну шару с одним скриптом для всех.
Цитировать
Кстати, возник вопрос - для чего добавлять в базу данных рабочие станции?
net join не срабатывает для одного пользователя:
[root@server ~]# net join admin -U admin%12345
Creation of workstation account failed
Unable to join domain SCHOOL-5.

В Интернете для этого рекомендуют вешать скрипты на заведение групп, пользователей и машин. Вот я и хочу адаптировать инструментарий работы с доменом ALT Linux для вызова из Samba.
Андрей Черепанов (cas@)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 166
    • Домашняя страница
Завёл страницу http://www.altlinux.org/Домен/Windows
куда по мере анализа этой темы и собственного опыта публиковать инструкции.
Андрей Черепанов (cas@)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 166
    • Домашняя страница
З.Ы. Всемогущий Skull, поделись с пользователями своими наработками, тонкостями настройки и подводными камнями встречающимися на пути. Неужели в России нельзя выпустить полноценный контроллер домена на AltLinux из коробки, с графической оболочкой для администрирования?
даже круче будет: с веб-интерфейсом. :)
Пока что особо хвастаться нечем:
а) при существующей схеме создания домена пользователи, заведённые в LDAP через веб-интерфейс, видны и в Samba (сами и их пароли)
Посмотреть:
net sam list usersб) при смене имени сервера требуется для пользователей перегерировать SID. Это я описал в инструкции http://www.altlinux.org/Домен/Windows
в) там же описал процесс заведения и выдачи привилегий для группы.

Теперь о том, что нужно сделать:
1) адаптировать скрипты ldap-* из ldap-user-tools для замены smbldap-* (для начала заведение рабочих станций).
2) разобраться, почему пользователь, заведённый в административную группу, не получил прав.
3) перебрать параметры, добавленные в smb.conf.

После успешного net join и прав на заведение можно попробовать ввести Windows в домен.

P.S. Параллельно пытаюсь укоротить инструкцию в ответе #17
Андрей Черепанов (cas@)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 166
    • Домашняя страница
Удалось успешно войти в домен. Доработал скрипт заведения компьютера. Потребуется
1. Разобрать и автоматизировать заведение дополнительных параметров Samba. Сейчас это:
netbios name = SMBServer
workgroup = SCHOOL-5
local master = yes
preferred master = yes
domain master = yes
domain logons = yes
add machine script = /usr/sbin/ldap-useradd -w -i "%u"
2. Доработать ldap-useradd -w -i
3. Убрать компьютеры в alterator-ldap-users
4. Сделать скрипт по первичному заведению администраторов и групп

UPD: P.S. winbind оказался не нужен.

« Последнее редактирование: 16.10.2012 19:29:30 от Skull »
Андрей Черепанов (cas@)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 166
    • Домашняя страница
Как известно прогресс не стоит на месте... и выходят новые версии Альта, со своими багами. Уважаемый, огромная просьба прикрепить работоспособную инструкцию для School Server 6.
Закончил инструкцию на http://www.altlinux.org/Домен/Windows (в части ручной настройки сервера).
Инструкция будет трансформироваться в автоматические скрипты при создании домена.
Андрей Черепанов (cas@)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 166
    • Домашняя страница
В ALT Linux новая версия alterator-net-domain-0.4-alt13 при создании домена создаёт заодно NT домен для аутентификации Windows-машин. Обновите систему из p6 и создайте домен.

Для существующего домена выполните:
/etc/hooks/hostname.d/91-ldap-groups
/etc/hooks/hostname.d/95-smb

Не забудьте в модуле «Группы» добавить в группу admins пользователей, под правами которых будете на Windows заводить в домен.
Андрей Черепанов (cas@)