1. Настройка LDAP-сервера для раздельного хранения данных и логов
2. Резервирование LDAP
3. Настройка Berkeley DB
Для хранения данных пользователей можно использовать базу LDAP.
Разархивируйте пакет в домашний каталог командой:
ssw@ecss1:~$ sudo tar -jxf ecss_ldap_configs_2_14.tar.bz2
Перейдите в папку ecss_ldap_configs_2_14 командой:
ssw@ecss1:~$ cd ecss_ldap_configs_2_14
Запустите скрипт install командой:
ssw@ecss1:~$ sudo ./install
Все параметры нужно оставить по умолчанию.
Перейдите в папку /etc/ldap/ командой:
ssw@ecss1:~$ cd /etc/ldap/
Удалите папку slapd.d командой:
ssw@ecss1:/etc/ldap$ sudo rm slapd.d/ -R
Скопируйте папку slapd.d из папки ecss_ldap_configs_2_14 в папку /etc/ldap/ командой:
ssw@ecss1:/etc/ldap$ sudo cp ~/ecss_ldap_configs_2_14/slapd.d/ slapd.d/ -R
где ~ - каталог, в котором был распакован архив.
Далее выполните команду:
ssw@ecss1:/etc/ldap$ sudo chown openldap:openldap slapd.d/ -R
Перейдите в папку /var/lib/ldap/:
cd /var/lib/ldap/
и удалите все содержимое в папке:
sudo rm *
Перейдите в папку ecss_ldap_configs_2_14:
cd ~/ecss_ldap_configs_2_14
Откройте текстовым редактором файл install командой:
sudo nano install
Подкорректируйте содержимое следующим образом:
#!/bin/sh
- Копируем конфигурационные файлы и скрипты (комментируем 4 и 7 строки - прописываем в их начале решетку #)
#sudo cp -r etc / закомментируйте строку (пропишите решетку '#' в начале строки); - Установка
#sudo aptitude install slapd ldap-utils libpam-ldap ldap-utils ldapscripts ldap-auth-client ldap-auth-config libnss-ldap закомментируйте строку (пропишите решетку '#' в начале строки); - Конфигурируем схемы
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ecss.com.ldif
sudo ldapadd -x -D cn=admin,dc=ecss -w admin -f ecss_default.ldif
Перезапустите LDAP-сервер командой:
sudo systemctl restart slapd.service
Запустите скрипт инсталляции заново:
cd ~/ecss_ldap_configs_2_14/
ssw@ecss1:~$ sudo ./install
Якорь |
---|
| 1-Настройка-LDAP-сервера-для-раздельного |
---|
| 1-Настройка-LDAP-сервера-для-раздельного |
---|
|
1. Настройка LDAP-сервера для раздельного хранения данных и логов.
Остановите slapd командой:
sudo systemctl stop slapd.service
Добавьте следующие настройки в профиль AppArmor для slapd (/etc/apparmor.d/usr.sbin.slapd):- customized bdb data and log files:
/var/lib/ecss/ldap/bdbdata/ r,
/var/lib/ecss/ldap/bdbdata/* rw,
/var/lib/ecss/ldap/bdblogs/ r,
/var/lib/ecss/ldap/bdblogs/* rw, - lock file in customized bdbdata dir
/var/lib/ecss/ldap/bdbdata/alock kw,
Примените обновленный профиль командой:
sudo apparmor_parser -r < /etc/apparmor.d/usr.sbin.slapd
Обновите каталог данных в /usr/share/slapd/slapd.conf:
directory "/var/lib/ecss/ldap/bdbdata"
Далее нужно прописать в файле /usr/share/slapd/DB_CONFIG новые директивы set_data_dir и set_lg_dir:
Wiki разметка |
---|
Directory for the data files
set_data_dir /var/lib/ecss/ldap/bdbdata
\[...\] |
- Directory for the logfiles
set_lg_dir /var/lib/ecss/ldap/bdblogs
Переместите отредактированный файл DB_CONFIG в /var/lib/ecss/ldap/bdbdata и проверьте права доступа и владельца:
rw-rr- 1 openldap openldap 96 янв. 14 09:59 DB_CONFIG
Запустите slapd:
sudo systemctl start slapd.service
Якорь |
---|
| 2-Резервирование-LDAP |
---|
| 2-Резервирование-LDAP |
---|
|
2. Резервирование LDAP.
В данном разделе рассмотрен вариант использования двух LDAP-серверов, расположенных на двух хостах.
После того, как были развернуты LDAP-серверы, необходимо добавить поддержку резервирования.Для этого необходимо предварительно создать копии конфигурации и базы LDAP:
Конфигурация: по умолчанию директория /etc/ldap;
База LDAP: по умолчанию директория /var/lib/ldap.
Нужно скопировать директории конфигурации и базы LDAP.После создания копии необходимо воспользоваться скриптом replication.ldif, предварительно изменив его:
dn: cn=config
changetype: modify
delete: olcServerID
dn: cn=config
changetype: modify
add: olcServerID
#Идентификатор сервера: первому серверу назначаем значение 1, второму назначаем значение 2.
olcServerID: 1
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryCSN eq
-
add: olcDbIndex
olcDbIndex: entryUUID eq
#Load the syncprov and accesslog modules.
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcSyncRepl
#Необходимо указать значение параметра "provider" - должно соответствовать URI удаленного сервера.
#Необходимо указать значение параметра "binddn" - от имени этого пользователя будет осуществляться подключение к удаленному серверу.
#Необходимо указать значение параметра "credentials" - этот пароль будет использован при подключении к удаленному серверу.
#Проверить параметр "searchbase" - по умолчанию в скриптах развертывания используется ecss.
olcSyncRepl: rid=001 provider=ldap://broker.remote binddn="cn=admin,dc=ecss" bindmethod=simple credentials=admin searchbase="dc=ecss" type=re
freshAndPersist retry="60 +" schemachecking=on - syncrepl Provider for primary db
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpNoPresent: TRUE
olcSpCheckpoint: 100 10
dn: olcDatabase={1}hdb,cn=config
changetype: modify
replace: olcMirrorMode
olcMirrorMode: TRUE
Исходя из практики установки системы CSS-17 на двух хостах - для удаленного хоста используется имя broker.remote. Если broker.remote прописан (используется имя "cn=admin,dc=ecss", пароль admin), то можно воспользоваться следующими скриптами:
replication_server_1.ldifreplication_server_2.ldif
После того, как скрипт отредактирован - необходимо выполнить его на обоих хостах:
На первом сервере:
sudo ldapmodify -c -Y EXTERNAL -H ldapi:/// -
f replication_server_1.ldif
На втором сервере:
sudo ldapmodify -c -Y EXTERNAL -H ldapi:/// -f replication_server_2.ldif
Якорь |
---|
| 3-Настройка-Berkeley-DB |
---|
| 3-Настройка-Berkeley-DB |
---|
|
3. Настройка Berkeley DB.
3.1. Автоудаление логов
В файл /usr/share/slapd/DB_CONFIG добавите строку 'set_flags DB_LOG_AUTOREMOVE'.
В slapd.conf - checkpoint <kbyte> <min> (см. man 5 slapd-bdb, http://www.openldap.org/lists/openldap-technical/201212/threads.html#00161Image RemovedImage Added).
Перезапустите slapd:
sudo systemctl restart slapd.service
3.2. Максимальный размер файла log.XXXXXXXXXX
В файл /usr/share/slapd/DB_CONFIG добавить строку 'set_lg_max <NEW_MAX_SIZE>' (см. http://docs.oracle.com/cd/E17076_03/html/api_reference/C/frame_main.htmlImage RemovedImage Added).
Перезапустить slapd:
sudo systemctl restart slapd.service