Гид по технологиям

Установка OpenLDAP на Debian Buster 10

• 5 min read • DevOps • Обновлено 24 Nov 2025
Установка OpenLDAP на Debian Buster 10
Установка OpenLDAP на Debian Buster 10

Важно: примеры используют ldap.hakase.com и IP 10.5.5.35 — замените их на собственные значения в вашей среде.

Что такое LDAP и OpenLDAP

LDAP — Lightweight Directory Access Protocol: сетевой протокол для доступа к служебной информации каталога (пользователи, группы, политики). OpenLDAP — свободная реализация LDAP, часто используемая для централизованной аутентификации и хранения учётных записей.

Факты в одну строку: LDAP хранит записи в древовидной структуре DN (Distinguished Name). OpenLDAP реализует серверную часть (slapd) и утилиты клиента (ldap-utils).

Предварительные требования

  • Сервер Debian 10 (Buster)
  • 1 ГБ оперативной памяти, 25 ГБ свободного диска и 2 CPU (рекомендация для тестовой/малой среды)
  • root или sudo-доступ
  • Статический IP или управляемый DNS

Факт-бокс — ключевые параметры:

  • Порты: LDAP 389, LDAPS 636 (если включён TLS)
  • Пакеты: slapd, ldap-utils
  • Формат импорта/экспорта: LDIF

План работ

  • Настроить FQDN
  • Установить пакеты OpenLDAP
  • Создать базовую OU (people, groups)
  • Добавить пользователя
  • Выполнить базовые команды управления

Шаг 1 — Настройка FQDN

Полное доменное имя (FQDN) важно для сертификатов и предсказуемого поведения DNS. В примере используется ldap.hakase.com.

Добавьте запись в /etc/hosts (замените IP и домен на свои):

echo "10.5.5.35 ldap.hakase.com ldap" | sudo tee -a /etc/hosts

Установите hostname на “ldap”:

sudo hostnamectl set-hostname ldap

Выйдите и войдите снова в сессию или перезапустите shell. Проверьте:

hostname
hostname -f

Результат: FQDN настроен для Debian Buster 10.

Скриншот подтверждения FQDN

Шаг 2 — Установка пакетов OpenLDAP

Установите сервер slapd и клиентские утилиты ldap-utils:

sudo apt install slapd ldap-utils

Во время установки будет предложено задать пароль администратора LDAP (cn=admin,…). Выберите надёжный пароль и подтвердите его.

Ввод пароля администратора LDAP при установке

Подтвердите пароль ещё раз при повторном запросе.

Повторный ввод пароля администратора

Проверка установки: вы можете просмотреть содержимое базы данных slapd командой:

slapcat

Это выведет текущие записи в базе (LDIF) и покажет используемый домен по умолчанию.

Результат slapcat с FQDN по умолчанию

Проверка подключения как анонимного пользователя:

ldapwhoami -H ldap:// -x

Вы увидите вывод anonymous, если сервер принимает простые соединения без аутентификации.


Шаг 3 — Создание базовой OU: people и groups

Мы добавим две организационные единицы (OU): ou=people и ou=groups. Для этого создадим LDIF-файл и импортируем его.

Создайте файл base.ldif:

vim base.ldif

Пример содержимого (замените dc=hakase,dc=com на ваш домен):

dn: ou=people,dc=hakase,dc=com
objectClass: organizationalUnit
ou: people


dn: ou=groups,dc=hakase,dc=com
objectClass: organizationalUnit
ou: groups

Сохраните и закройте файл. Импортируйте:

ldapadd -x -D cn=admin,dc=hakase,dc=com -W -f base.ldif

Введите пароль администратора LDAP, когда будет запрошено.

Добавление базовых OU people и groups

Проверьте результат:

ldapsearch -x -LLL -b "dc=hakase,dc=com"

Вы увидите записи для ou=people и ou=groups.

Вывод ldapsearch с OU people и groups


Шаг 4 — Добавление пользователя

  1. Сгенерируйте зашифрованный пароль для LDAP:
slappasswd

Введите новый пароль пользователя и подтвердите. Утилита выведет значение вида {SSHA}… — его нужно использовать в LDIF.

Пример вывода slappasswd с хэшем пароля

  1. Создайте файл user.ldif:
vim user.ldif

Пример содержимого (замените olaf и соответствующие значения на свои):

dn: uid=olaf,ou=people,dc=hakase,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: olaf
sn: Olaf
userPassword: {SSHA}DX0BCCDmy7MzciI2vh6ymbywEmth6CQL
loginShell: /bin/bash
uidNumber: 2000
gidNumber: 2000
homeDirectory: /home/olaf


dn: cn=olaf,ou=groups,dc=hakase,dc=com
objectClass: posixGroup
cn: olaf
gidNumber: 2000
memberUid: olaf

Сохраните и закройте. Затем импортируйте пользователя:

ldapadd -x -D cn=admin,dc=hakase,dc=com -W -f user.ldif

Введите пароль администратора. После успешного выполнения пользователь olaf появится в базе.

Добавление пользователя olaf


Шаг 5 — Базовые команды LDAP: управление и проверка

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

Показать все объекты базового DN

ldapsearch -x -LLL -b "dc=hakase,dc=com"

Выводит все записи в указанном DN.

Пример ldapsearch вывода всех объектов

Смена пароля пользователя

Для смены пароля используйте ldappasswd. Пример:

ldappasswd -H ldap://10.5.5.35 -x -D "cn=admin,dc=hakase,dc=com" -W -S "uid=olaf,ou=people,dc=hakase,dc=com"

Опция -S интерактивно запросит новый пароль для целевого пользователя. После ввода нового пароля введите пароль администратора.

Проверка входа новым паролем:

ldapwhoami -vvv -h 10.5.5.35 -D "uid=olaf,ou=people,dc=hakase,dc=com" -x -W

Введите пароль пользователя и убедитесь, что аутентификация прошла успешно.

Проверка аутентификации пользователя olaf

Удаление пользователя

ldapdelete -x -W -D 'cn=admin,dc=hakase,dc=com' "uid=olaf,ou=people,dc=hakase,dc=com"

Введите пароль администратора и пользователь будет удалён.

Удаление пользователя olaf


Шпаргалка: часто используемые команды (cheat sheet)

  • Установка пакетов: sudo apt install slapd ldap-utils
  • Просмотр БД: slapcat
  • Добавление LDIF: ldapadd -x -D “cn=admin,…” -W -f file.ldif
  • Поиск: ldapsearch -x -LLL -b “dc=example,dc=com”
  • Смена пароля: ldappasswd -H ldap://host -x -D “cn=admin,…” -W -S “uid=user,…”
  • Удаление: ldapdelete -x -W -D “cn=admin,…” “dn”

Безопасность и рекомендации по жёсткой настройке

Важно обеспечить безопасное хранение учётных данных и шифрование трафика.

  • Настройте TLS (LDAPS или STARTTLS) и используйте сертификаты (Let’s Encrypt или внутренний CA).
  • Запретите анонимные операции, если они не нужны: настройте соответствующие ACL в slapd.conf или cn=config.
  • Ограничьте доступ по IP и настройте брандмауэр (ufw/iptables) для портов 389/636.
  • Регулярно делайте бэкапы LDIF: slapcat > backup.ldif
  • Мониторьте логирование и подключение к серверу.

Короткая инструкция по включению TLS:

  1. Получите сертификат и приватный ключ (pem).
  2. Разместите их в защищённом каталоге, доступном slapd.
  3. Настройте cn=config (или slapd.conf) для использования olcTLSCertificateFile и olcTLSCertificateKeyFile.
  4. Перезапустите slapd и проверьте соединение через ldapsearch с -ZZ или через порт 636.

Когда этот подход может не подойти

  • Если вам нужна интеграция с Active Directory в режиме домена (Samba AD DC лучше подходит).
  • При масштабных нагрузках и миллионах записей рассмотрите более масштабируемые решения и репликацию.
  • Если необходима встроенная веб-консоль и коммерческая поддержка, возможно, стоит рассмотреть продукты с поддержкой.

Альтернативы и расширения

  • 389 Directory Server — альтернатива с богатым набором функций и удобными средствами управления.
  • FreeIPA — если нужна интеграция Identity + Policy + CA (для Linux-среды).
  • Samba 4 AD — если нужна полноценная интеграция Windows Active Directory.

Роли и чек-листы

Администратор (перед установкой):

  • Проверить статический IP и DNS
  • Подготовить домен для LDAP
  • Сформировать стратегию резервного копирования

Оператор (после установки):

  • Проверить доступность сервиса
  • Выполнить тестовые аутентификации
  • Настроить мониторинг и бэкапы

Разработчик (интеграция приложений):

  • Проверить схему атрибутов
  • Тестировать bind-пользователя для приложения
  • Настроить ACL для ограничений доступа

Критерии приёмки

  • Сервер отвечает на ldapsearch для базового DN
  • Пользователь успешно аутентифицируется через ldapwhoami
  • OU people и groups присутствуют
  • TLS настроен (если требовался) и соединение шифруется
  • Выполнен бэкап конфигурации/данных (slapcat)

Тестовые сценарии

  1. Поиск всех записей: ldapsearch -x -LLL -b “dc=ваш,dc=домен”
  2. Создание/удаление временного тестового пользователя
  3. Смена пароля пользователя и аутентификация под ним
  4. Проверка работы TLS (ldapsearch -H ldaps://host -x -LLL)

Сводка

Вы установили OpenLDAP на Debian Buster 10, настроили FQDN, создали базовые OU, добавили пользователя и проверили базовые операции: поиск, смену пароля и удаление. Следующие шаги — настройка TLS, ACL и резервного копирования для эксплуатации в продакшне.

Важно: адаптируйте примеры DN и IP под вашу инфраструктуру и всегда храните бэкапы конфигурации и данных.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро