Как установить OpenLDAP Server на AlmaLinux 9

OpenLDAP — это программная реализация Lightweight Directory Access Protocol (LDAP). OpenLDAP — это бесплатное программное обеспечение с открытым исходным кодом, лицензия которого в стиле BSD называется OpenLDAP Public License. Его программное обеспечение LDAP с приводом командной строки доступно в большинстве дистрибутивов Linux, таких как CentOS, Ubuntu, Debian, SUSE и многих других.

OpenLDAP — это полный набор программного обеспечения для LDAP-серверов, который включает SLAPD (автономный LDAP-демон), SLURPD (автономный демон репликации обновлений LDAP), а также некоторые утилиты и инструменты для управления LDAP-серверами. OpenLDAP является высоконастраиваемым LDAP-сервером и поддерживает все основные вычислительные платформы.

В этом руководстве мы покажем вам, как установить OpenLDAP Server на AlmaLinux 9, чтобы вы могли с легкостью приступить к работе.

Настройка FQDN

Перед установкой сервера OpenLDAP необходимо убедиться, что fqdn настроен и указывает на правильный IP-адрес. Выполните следующие шаги, чтобы настроить fqdn на машине AlmaLinux.

Выполните следующую команду, чтобы настроить fqdn на машине AlmaLinux. В этом случае сервер будет иметь fqdn ldap.domain.local.

sudo hostnamectl set-hostname ldap.domain.local

Теперь откройте /etc/hosts файл с помощью следующей команды редактора nano.

sudo nano /etc/hosts

Вставьте следующую конфигурацию и не забудьте изменить IP-адрес, fqdn и имя хоста.

192.168.10.50   ldap.domain.local   ldap

Сохраните файл и выйдите из редактора после завершения работы.

Наконец, выполните следующую команду, чтобы проверить fqdn вашей системы и убедиться, что она указывает на правильный локальный IP-адрес.

sudo hostname -f
ping -c3 ldap.domain.local

В данном случае fqdn ldap.domain.local указывает на IP-адрес 192.168.10.50.

настройка fqdn

Установка сервера OpenLDAP

Пакет сервера OpenLDAP доступен в репозитории EPEL. Поэтому перед установкой сервера OpenLDAP необходимо установить репозиторий EPEL на ваш сервер AlmaLinux.

В следующем разделе мы покажем вам, как добавить репозиторий EPEL, установить сервер OpenLDAP и управлять службой OpenLDAP.

Сначала добавьте репозиторий EPEL на ваш сервер AlmaLinux с помощью команды dnf, приведенной ниже.

sudo dnf install epel-release -y

установить репозиторий epel

После этого выполните приведенную ниже команду dnf для установки пакетов сервера и клиента OpenLDAP.

sudo dnf install openldap-servers openldap-clients

Когда появится запрос, введите y для подтверждения и нажмите ENTER.

установка сервера openldap

Также, когда появится запрос на добавление GPG-ключа репозитория EPEL, снова введите y и нажмите ENTER.

принять ключ gpg

Теперь выполните приведенную ниже команду systemctl, чтобы запустить и включить службу OpenLDAP slapd.

sudo systemctl start slapd
sudo systemctl enable slapd

Проверьте работу службы slapd с помощью следующей команды, чтобы убедиться, что служба запущена.

sudo systemctl status slapd

Если служба запущена, вы должны получить вывод типа active (running).

запустить службу openldap

Наконец, вам нужно будет открыть обе службы LDAP и LDAPS в firewalld, чтобы разрешить клиентские соединения.

Выполните приведенные ниже команды firewall-cmd, чтобы добавить службы LDAP и LDAPS в firewalld. Затем перезагрузите firewalld, чтобы применить изменения.

sudo firewall-cmd --add-service={ldap,ldaps} --permanent
sudo firewall-cmd --reload

Теперь вы можете проверить список правил firewalld с помощью следующей команды.

sudo firewall-cmd --list-all

В случае успеха вы должны увидеть службы LDAP и LDAPS доступными в списке служб firewalld.

настройка firewalld

Базовая конфигурация сервера OpenLDAP

После установки сервера OpenLDAP вам предстоит настроить установку OpenLDAP. И первым шагом, который вы должны сделать, будет настройка пользователя-администратора и импорт некоторых базовых схем для вашей установки сервера OpenLDAP.

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

slappasswd

Создайте новый файл chrootpw.ldif с помощью команды редактора nano, приведенной ниже.

nano chrootpw.ldif

Добавьте следующую конфигурацию и не забудьте заменить значение в строке olcRootPW параметр с вашим хэшированным паролем. Это изменит пароль для вашего сервера OpenLDAP.

# chrootpw.ldif

dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}yK9Dk+Kz9S9CLu3Y+ZtJVAYF+MPIRl1X

После завершения работы сохраните и выйдите из файла.

Теперь выполните приведенную ниже команду ldapadd, чтобы применить конфигурацию к серверу OpenLDAP.

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif

В случае успеха вы должны получить следующий результат:

настройка администратора openldap-сервера

Наконец, выполните следующую команду, чтобы добавить несколько базовых схем на ваш сервер OpenLDAP.

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif 
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

Это добавит такие новые записи, как нис, косинус, и inetorgperson на ваш сервер OpenLDAP.

импорт основных схем openldap

Настройка домена и базового домена

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

Выполните следующие шаги для настройки доменного имени и базового домена с помощью LDIF-файла.

Настройка доменного имени

Создайте новый LDIF-файл chdomain.ldif с помощью следующей команды редактора nano.

nano chdomain.ldif

Добавьте следующую конфигурацию и не забудьте изменить имя домена dc=domain,dc=local с именем домена вашего сервера OpenLDAP. Кроме того, внутри olcRootPW измените параметр на свой хэшированный пароль.

Это изменит доменное имя по умолчанию вашего сервера OpenLDAP на новый домен.

# chdomain.ldif
# replace to your own domain name for [dc=***,dc=***] section
# specify the password generated above for [olcRootPW] section

dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base=»gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth»
read by dn.base=»cn=Manager,dc=domain,dc=local» read by * none

dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=domain,dc=local

dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=domain,dc=local

dn: olcDatabase={2}mdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}yK9Dk+Kz9S9CLu3Y+ZtJVAYF+MPIRl1X

dn: olcDatabase={2}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
dn=»cn=Manager,dc=domain,dc=local» write by anonymous auth by self write by * none
olcAccess: {1}to dn.base=»» by * read
olcAccess: {2}to * by dn=»cn=Manager,dc=domain,dc=local» write by * read

Сохраните файл и выйдите из редактора, когда закончите.

Далее выполните приведенную ниже команду ldapmodify, чтобы применить новые конфигурации к серверу OpenLDAP.

sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif

изменить имя домена по умолчанию

После внесения изменений выполните приведенную ниже команду ldapsearch, чтобы проверить конфигурацию. В случае успеха вы должны увидеть, что namingContexts содержит доменное имя вашего сервера OpenLDAP. В данном случае доменное имя ldap.domain.local.

sudo ldapsearch -H ldap:// -x -s base -b "" -LLL "namingContexts"

проверить доменное имя

Настройка базового домена

Создайте новый LDIF-файл basedomain.ldif с помощью редактора nano.

nano basedomain.ldif

Вставьте в файл следующую конфигурацию. С ее помощью вы создадите три различных объекта oragnizationalUnit Manager, Люди, и Группа.

# basedomain.ldif
# replace to your own domain name for [dc=***,dc=***] section

dn: dc=domain,dc=local
objectClass: top
objectClass: dcObject
objectclass: organization
o: domainLocal
dc: domain

dn: cn=Manager,dc=domain,dc=local
objectClass: organizationalRole
cn: Manager
description: Directory Manager

dn: ou=People,dc=domain,dc=local
objectClass: organizationalUnit
ou: People

dn: ou=Group,dc=domain,dc=local
objectClass: organizationalUnit
ou: Group

Сохраните файл и выйдите из редактора после завершения работы.

Теперь выполните приведенную ниже команду ldapadd, чтобы добавить новый базовый домен на ваш сервер OpenLDAP.

sudo ldapadd -x -D cn=Manager,dc=domain,dc=local -W -f basedomain.ldif

Введите пароль OpenLDAP, когда появится запрос. В случае успеха вы должны получить следующее сообщение:

добавление базового домена

Наконец, вы можете проверить список ou на вашем сервере OpenLDAP с помощью следующей команды.

sudo ldapsearch -x -b "dc=domain,dc=local" ou

Если конфигурация выполнена успешно, вы должны увидеть три разных ou Менеджер, Люди, и Группа.

проверить базовый домен

На этом этапе вы завершили установку сервера OpenLDAP на машину AlmaLinux. На следующем этапе вы узнаете, как создать пользователя OpenLDAP с помощью LDIF-файла.

Добавление нового пользователя на сервер OpenLDAP

Чтобы создать новых пользователей вручную на сервере OpenLDAP, вы можете использовать команду slappasswd для генерации хэшированного пароля и создания нового LDIF-файла для вашего нового пользователя. В этом шаге вы узнаете, как это сделать.

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

slappasswd

Введите свой пароль и скопируйте сгенерированный хэш.

Теперь создайте новый файл newuser.ldif с помощью приведенной ниже команды редактора nano.

nano newuser.ldif

Вставьте следующую конфигурацию для создания нового пользователя и группы OpenLDAP. Также не забудьте изменить данные о доменном имени, новом пользователе, gid и uid группы, а также хэш пароля.

# newuser.ldif
# Change detail username and path home directory and default domain name

dn: uid=alma,ou=People,dc=domain,dc=local
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: alma
sn: temp
userPassword: {SSHA}l/lZ6zZSGgGP1s7pezz6faYX86Tx3Fv/
loginShell: /bin/bash
uidNumber: 2000
gidNumber: 2000
homeDirectory: /home/alma
shadowLastChange: 0
shadowMax: 0
shadowWarning: 0

dn: cn=alma,ou=Group,dc=domain,dc=local
objectClass: posixGroup
cn: alma
gidNumber: 2000
memberUid: alma

Сохраните файл и выйдите из редактора после завершения работы.

Далее запустите программу ldapadd команду ниже, чтобы добавить нового пользователя и группу OpenLDAP. Введите свой пароль OpenLDAP, когда появится запрос, и нажмите ENTER для подтверждения.

sudo ldapadd -x -D cn=Manager,dc=domain,dc=local -W -f newuser.ldif

добавление пользователя и группы

После добавления новых пользователей и групп выполните приведенную ниже команду ldapsearch, чтобы получить список доступных пользователей и групп на вашем сервере OpenLDAP.

sudo ldapsearch -x -b "ou=People,dc=domain,dc=local"
sudo ldapsearch -x -b "ou=Group,dc=domain,dc=local"

Если настройка прошла успешно, вы должны увидеть пользователя и группу alma , доступный на сервере OpenLDAP.

Ниже приведен пользователь альма доступно на сервере OpenLDAP.

проверить пользователя

Ниже приведена группа альма доступен на сервере OpenLDAP.

проверка пользователя и группы

Заключение

Отлично! Вы выполнили все шаги и установили сервер OpenLDAP на свою машину с AlmaLinux 9. Теперь вы готовы использовать и интегрировать его в свои приложения. Кроме того, рекомендуется настроить безопасный OpenLDAP-сервер с SSL/TLS и установить веб-фронтенд для вашего OpenLDAP-сервера с помощью phpOpenLDAP или аналогичной программы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *