FreeSource: AndrewShan/sambagosa

Samba

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

Для начала скажу что вместо админа LDAP cn=administrator,dc=office,dc=etersoft,dc=ru у меня теперь фигурирует cn=admin,dc=office,dc=etersoft,dc=ru .

Советую поставить в добавок ко всему phpldapadmin. Для работы достаточно прописать в Apache путь и права. :) Вход в консоль управления осуществляется при помощи LDAP админа (имя надо вводить полностью cn=admin,dc=office,...)

Сейчас расскажу что пришлось изменить для корректной работы Самбы.

Файл Open LDAP стал таким

Как можно заметить, были внесены изменения в схемы (если самба используется без ГОсы, то достаточно переключить на схему, связанную с самбой) и в ACL. Я пошел по пути простому, пусть один пользователь (админ) заведует всем. Кто хочет, может сделать все это сложнее, разделить пользователей, но я пока не вижу смысла, при этом знаю в чем выгода этого решения.

Дальше

Он вроде не изменялся, но все равно выложил

Поехали дальше – было принято решение работать без pam_ldap, только nss_ldap. Файл nsswitch.conf остался без изменений.

А вот nss_ldap.conf стал таким (здесь много что закамменчено, настроек минимум)

Для верности можно в pam_ldap изменить

Не забываем что 127.0.0.1 это годится только для локальной машины (нашего сервера), для остальных *nix-машин надо вводить testing.office.etersoft.ru (забыл упомянуть что тестовая машина тоже изменилась :) )

Примечание (не обязательное к прочтению): В настройке pam_ldap все же были внесены измениния (но не значительные, которые почти не влияют на работу (они не позволяют пользователю LDAP войти локально)). ПАМ настраивался с учетом уже существующего конфига (#PAM).

Теперь попытаюсь объяснить суть этого примечания. Физически в паме есть изменения, но они ни каким образом не влияют на работу, т.к. для их корректнной работы надо изменять nss_ldap и pam_ldap (весь это процесс я уже описывал)

Двигаемся дальше:

Ставим Samba и Smbldap tools через apt-get:

Меняем конфиг самбы (smb.conf) на такой:

С помощью такой настройки (в сочетание с smbldap tools) я пытался добиться того, чтобы при залогинивании у каждого пользователя был сетевой профиль, хранящийся на сервере, + чтобы профиль подключался как сетевой диск. Также есть файловая помойка (share).

В отличие от обычных описаний, я не стал разбивать пользователей на отдельные группы, решил чтобы абсолютно все пользователи находились в одной группе.

Для того чтобы получить SID надо ввести команду net getlocalsid, этот номер записываем в след.файл + изменения.

Файл smbldap_bind.conf

Теперь можно заполнить базу

После этого:

и определяем пароль root'a LDAP для samba:

Задаем пароль root (с помощью него будем вводить в домен Win-машину)

На всякий случай вот еще есть изменения в /etc/hosts

В моем случаи имя машины winxp

Работа полученной конфигурации проверяется следующим образом:

Вывод должен быть такой:

добавление пользователей в домен:

смотреть, как пользователь «устроился» в домене:

Windows XP SP2 компьютер вводится в полученный домен от учетной записи root; прописывается в базе автоматически.

Для управления этой конфигурацией можно использовать phpLDAPAdmin (http://phpldapadmin.sourceforge.net) или GOsa (https://www.gosa-project.org).

В некоторых описаниях читал, что для корректной работы надо править реестр Винды, но у меня в XP SP2 ничего не пришлось изменять.

И наконец, вот скрипты для автоматической инициализации сетевых дисков, его следует положить в папку netlogon

pav это группа Domain Users. По каким-то причинам имена совмещаются и принадлежат одной группе.

А теперь самое интересное – Как создавать пользователя?

1) Создать пользователя в ГОсе.

2) Настроить его, добавить в соответствующую группу (!)

3) smbpasswd -a имя_пользователя

4) возможно придется создать его домашний каталог в profiles и настроить его (chmod, chown)

Только после этого он входит у меня в домен на XP. При первом заходе может ругаться что нет сетевого диска и т.п., зато при последующих исправно работает.