Установка 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.

Шаг 2 — Установка пакетов OpenLDAP
Установите сервер slapd и клиентские утилиты ldap-utils:
sudo apt install slapd ldap-utilsВо время установки будет предложено задать пароль администратора LDAP (cn=admin,…). Выберите надёжный пароль и подтвердите его.

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

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

Проверка подключения как анонимного пользователя:
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, когда будет запрошено.

Проверьте результат:
ldapsearch -x -LLL -b "dc=hakase,dc=com"Вы увидите записи для ou=people и ou=groups.

Шаг 4 — Добавление пользователя
- Сгенерируйте зашифрованный пароль для LDAP:
slappasswdВведите новый пароль пользователя и подтвердите. Утилита выведет значение вида {SSHA}… — его нужно использовать в LDIF.

- Создайте файл 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 появится в базе.

Шаг 5 — Базовые команды LDAP: управление и проверка
Ниже собрана подборка часто используемых команд с описанием их назначения.
Показать все объекты базового DN
ldapsearch -x -LLL -b "dc=hakase,dc=com"Выводит все записи в указанном DN.

Смена пароля пользователя
Для смены пароля используйте 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Введите пароль пользователя и убедитесь, что аутентификация прошла успешно.

Удаление пользователя
ldapdelete -x -W -D 'cn=admin,dc=hakase,dc=com' "uid=olaf,ou=people,dc=hakase,dc=com"Введите пароль администратора и пользователь будет удалён.

Шпаргалка: часто используемые команды (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:
- Получите сертификат и приватный ключ (pem).
- Разместите их в защищённом каталоге, доступном slapd.
- Настройте cn=config (или slapd.conf) для использования olcTLSCertificateFile и olcTLSCertificateKeyFile.
- Перезапустите 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)
Тестовые сценарии
- Поиск всех записей: ldapsearch -x -LLL -b “dc=ваш,dc=домен”
- Создание/удаление временного тестового пользователя
- Смена пароля пользователя и аутентификация под ним
- Проверка работы TLS (ldapsearch -H ldaps://host -x -LLL)
Сводка
Вы установили OpenLDAP на Debian Buster 10, настроили FQDN, создали базовые OU, добавили пользователя и проверили базовые операции: поиск, смену пароля и удаление. Следующие шаги — настройка TLS, ACL и резервного копирования для эксплуатации в продакшне.
Важно: адаптируйте примеры DN и IP под вашу инфраструктуру и всегда храните бэкапы конфигурации и данных.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента