Установка Gosa для управления Ldap каталога и Samb
После настройки связки LDAP+SAMBA мне нужно было как-то админить все это дело. Можно конечно выполнять администрирование в консоли, но иногда это делать легче через веб интервейс, тем более если администратор будет не один, и другие админы либо не имеют доступа к консоли, либо не имеют соответствующей квалификации.
Далее рассмотрим установку одной из систем управления. Я использовал для этого GOsa
эта статья идет как продолжение предыдущей статьи где, мы рассматривали установку Samba Domain Controller с LDAP (OpenLDAP)
небольшое описание:
Скрипты GOsA предназначены для удобного администрирования каталога на основе Open LDAP?. Данный проект позволяет наглядно визуализировать объекты, находящиеся в LDAP-каталоге. Причем отображение объектов происходит только в том случае, если в их описании присутствует какой либо из специальных классов, зарегистрированных в схеме gosa. Такой подход не позволяет использовать какие либо другие проекты, работающие с LDAP-каталогом, без существенной их модификации. Соответственно, если планируется использовать базу LDAP только для администрирования пользовательских аккаунтов в локальной сети и для интеграции с Samba, то лучшей админки просто не найти. Если же в дальнейшем планируется использовать какие либо еще приложения, например, Open Xchange, то использование Gosa – неприемлемо.
Ставим из репов следующие пакеты:
sudo apt-get install gosa gosa-schema
Правда, тут есть минус, при установке из репов тянет за собой кучу ненужных пакетов типа exim4 и других (я особо разбираться не стал).
В файле /etc/ldap/slapd.conf
подключаем следующие схемы:
include /etc/ldap/schema/gosystem.schema
include /etc/ldap/schema/gofon.schema
include /etc/ldap/schema/goto.schema
include /etc/ldap/schema/gofax.schema
include /etc/ldap/schema/goserver.schema
include /etc/ldap/schema/gosa+samba3.schema
потом перезапускаем slapd:
sudo /etc/init.d/slapd restart
После чего в браузере набираем http://gosahost/gosa где http://gosahost/ это адрес где вы установили gosa
Следуем инструкциям установщика,
В процессе установки на шаге «Проверка установки» где происходит базовая проверка версии PHP и требуемых расширений. Инсталлятор может вывести ошибки и предупреждения и предложит их исправить, у меня ругнулось на:
Проверка поддержки kadm5
Пропустил предупреждение.
Проверка поддержки SNMP
Установил модуль php5-snmp
apt-get install php5-snmp
Проверка поддержки Cups
Тоже пропустил, так как принтерами не планирую пользоваться
Дальше исправил ошибку
memory_limit >= 32
Ошибка
Найдите 'memory_limit' в вашем php.ini и установите в 32M или более.
GOsa НЕ запустится без исправления
И предупреждение:
Найти 'expose_php' в вашем php.ini и установить его в 'Off'.
GOsa запустится без исправления
После этого рестартуем апач
/etc/init.d/apache2 restartПродолжаем установку. На шаге «Настройки GOSA 1/3»
Изменяем параметры в пунктах:
Атрибут DN пользователей
На uid
Поддерево хранения пользователей с
ou=peopleна
ou=Users
Поддерево хранения групп c
ou=groupsна
ou=Groups
также ставим галочку на пункте (если необходимо)
Ограничения пароля
Остальное оставляем по умолчанию
На шаге «Настроки GOsa 2/3»
Изменяем:
Контейнер рабочей станции
На
ou=Computers
на шаге «Проверка LDAP» исправляем показанные предупреждения и ошибки,
после этого скачиваем конфиг, переписываем его в /etc/gosa и даем нужные права.
После установки приходится немного допилить конфиг GOsa под себя.
Так как мне нужно было, чтобы при создании учетной записи пользователя создавалась домашняя директория этого пользователя, необходимо было изменить следующее:
Находим в gosa.conf
Следующее
<plugin acl="default" class="posixAccount" icon="posix.png" path="plugins/personal/posix" />
Меняем на это:
<plugin acl="default" class="posixAccount" icon="posix.png" path="plugins/personal/posix" postcreate="/usr/bin/sudo /etc/gosa/createaccount.sh %uid %homeDirectory" />
Далее создаем файл:
/etc/gosa/createaccount.sh
В нем прописываем следующее:
#!/bin/sh
/bin/mkdir -m 700 $2
/bin/chown -R $1 $2
сохраняем и изменяем его права:
chmod 750 /etc/gosa/createaccount.sh
Далее нужно разрешить Apache создание каталогов и т.д.
Изменяем /etc/sudoers добавив туда следующие строки:
www-data ALL=(ALL) NOPASSWD: /etc/gosa/createmail.sh, /etc/gosa/createaccount.sh
Теперь при добавлении пользователя создается его домашняя папка
Еще один момент, чтобы каждый раз не вводить вручную данные при добавлении нового пользователя, создаем шаблон, в котором указываем нужные данные.
В поле «Домашний каталог» вводим следующее(где %uid это переменная подставляющая имя пользователя):
/home/samba/profiles/%uid
В файл
Добавляем строку /etc/gosa/shells
/bin/false
Чтобы при создании пользователя можно было выбрать /etc/gosa/ в качестве шелла пользователя.
Далее, если не планируется пользоваться такими функциями как управление факсами и Телефонными макросами нужно отключить их в файле:
/etc/gosa/gosa.conf
Закомментировав соответствующие плагины в секциях "My account", "Administration", "Addons" подобным образом:
<!--
<plugin acl="default" class="gofaxAccount" icon="fax.png"
path="plugins/gofax/faxaccount" />
-->
Ссылки:
https://oss.gonicus.de/labs/gosa/
https://oss.gonicus.de/labs/gosa/wiki/FAQ
http://www.freesource.info/wiki/AndrewShan/gosa?show_files=1
Комментарии


