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

Rocky Linux: подключение к OpenLDAP через SSSD

• 6 min read • Linux • Обновлено 18 Nov 2025
Rocky Linux: подключение к OpenLDAP через SSSD
Rocky Linux: подключение к OpenLDAP через SSSD

g)

Кратко: настроим клиент Rocky Linux для аутентификации через OpenLDAP с помощью SSSD. Опишем проверку пользователей на сервере LDAP, настройку FQDN и /etc/hosts, установку пакетов, выбор профиля аутентификации, конфигурацию /etc\/openldap\/ldap.conf и /etc\/sssd\/sssd.conf, тестирование и отладку. В конце — чеклисты, критерии приёмки и рекомендации по безопасности.

Важно: команды выполняйте от имени пользователя с root-привилегиями.

Основная цель

Добавить клиент Rocky Linux в домен OpenLDAP и настроить централизованную аутентификацию через SSSD. Подходит для RHEL-подобных дистрибутивов: CentOS, AlmaLinux, Rocky Linux.

Быстрый план

  • Проверить список пользователей на OpenLDAP.
  • Настроить FQDN и /etc/hosts на клиенте.
  • Установить openldap-clients, sssd, sssd-ldap, oddjob-mkhomedir.
  • Выбрать профиль аутентификации sssd с помощью authselect.
  • Настроить /etc\/openldap\/ldap.conf и /etc\/sssd\/sssd.conf.
  • Запустить и проверить службы, протестировать вход.

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

  • Рабочий сервер OpenLDAP, настроенный и доступный по сети.
  • Клиентская машина Rocky Linux (пример: Rocky Linux 8.5).
  • Пользователь с правами sudo на клиенте.

Проверка пользователей на OpenLDAP

Сначала убедитесь, что на OpenLDAP-сервере есть записи пользователей. На сервере выполните поиск по OU people (замените dc-параметры на свои).

sudo ldapsearch -x -b "ou=people,dc=mydomain,dc=io"

Ожидаемый результат: список объектов LDAP. В примере ниже присутствует пользователь с uid john, который будет использоваться для тестирования.

Поиск пользователей OpenLDAP

Настройка FQDN и файла hosts

Перед установкой пакетов задайте FQDN клиентской машины и добавьте в /etc/hosts запись сервера LDAP.

В примере используются адреса:

  • ldap.mydomain.io — 192.168.10.50
  • RockyLinux.mydomain.io — 192.168.10.80

Установите FQDN:

sudo hostnamectl set-hostname RockyLinux.mydomain.io

Отредактируйте /etc/hosts:

sudo nano /etc/hosts

Добавьте строки:

192.168.10.50 ldap.mydomain.io ldap
192.168.10.80 RockyLinux.mydomain.io RockyLinux

Проверьте FQDN и доступность сервера:

sudo hostname -f
sudo ping -c3 ldap.mydomain.io

Результат должен подтвердить FQDN и успешный ping к ldap.mydomain.io.

Настройка hostname и проверка ping

Установка клиента OpenLDAP и SSSD

Установите пакеты клиента и вспомогательные утилиты. SSSD будет обрабатывать аутентификацию и получение идентификационных данных.

sudo dnf -y install openldap-clients sssd sssd-ldap oddjob-mkhomedir

Пакет oddjob-mkhomedir создаёт домашние каталоги при первом входе пользователя.

Установка openldap-clients и sssd

Смена профиля аутентификации на SSSD

Используйте authselect для выбора профиля sssd и автоматического создания домашних каталогов.

authselect list

Вы увидите доступные профили. Выберите профиль sssd с опцией with-mkhomedir:

authselect select sssd with-mkhomedir --force

Запустите службу oddjobd, которая создаёт домашние каталоги:

sudo systemctl enable --now oddjobd.service
sudo systemctl status oddjobd.service

Выбор профиля sssd

Статус oddjobd

Конфигурация OpenLDAP клиента и SSSD

  1. Отредактируйте /etc/openldap/ldap.conf и укажите URI сервера и базу поиска:
sudo nano /etc/openldap/ldap.conf

Добавьте:

URI ldap://ldap.mydomain.io/
BASE dc=mydomain,dc=io
  1. Создайте файл /etc/sssd/sssd.conf с конфигурацией для провайдера ldap:
sudo nano /etc/sssd/sssd.conf

Пример конфигурации. Замените ldap_uri и ldap_search_base на свои значения:

[domain/default]
id_provider = ldap
autofs_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldap://ldap.mydomain.io/
ldap_search_base = dc=mydomain,dc=io
ldap_id_use_start_tls = True
ldap_tls_cacertdir = /etc/openldap/certs
cache_credentials = True
ldap_tls_reqcert = allow

[sssd]
services = nss, pam, autofs
domains = default

[nss]
homedir_substring = /home

Сохраните файл и ограничьте права доступа:

sudo chmod 0600 /etc/sssd/sssd.conf

Перезапустите и проверьте sssd:

sudo systemctl restart sssd
sudo systemctl status sssd

Ожидается статус active (running).

Конфигурация sssd и openldap

Статус sssd

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

Выполните несколько проверок на клиенте:

  1. Получение информации о пользователе через getent:
getent passwd john
getent group somegroup
  1. Попытка входа локально и по SSH от имени LDAP-пользователя john.
ssh john@RockyLinux.mydomain.io

Если всё настроено верно, при первом входе будет создан домашний каталог, uid/gid совпадут с данными из LDAP.

Вход пользователем john

SSH вход пользователем john

Отладка и распространённые ошибки

Если вход не работает, используйте набор команд для диагностики:

  • Проверка SSSD логов:
sudo tail -n 200 /var/log/sssd/sssd.log
sudo tail -n 200 /var/log/sssd/sssd_nss.log
  • Принудительная очистка кеша SSSD и повторный запрос:
sudo sss_cache -E
getent passwd john
  • Проверка доступности LDAP через ldapsearch с клиента:
ldapsearch -x -H ldap://ldap.mydomain.io/ -b "dc=mydomain,dc=io" -LLL uid=john
  • Убедитесь, что TLS/STARTTLS настроены правильно. Если вы используете самоподписанный сертификат, добавьте его в /etc/openldap/certs и проверьте ldap_tls_cacertdir.

  • Если authselect перезаписывает PAM-конфигурацию, проверьте содержимое директорий /etc\/authselect\/ and /etc\/pam.d\/.

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

  • Клиент Rocky Linux отвечает на hostnamectl -f с ожидаемым FQDN.
  • getent passwd для LDAP-пользователя возвращает корректные uid и gid.
  • Пользователь может войти локально и по SSH, и его домашний каталог создаётся автоматически.
  • Службы sssd и oddjobd запущены и находятся в состоянии active.

Чеклист для администратора (шаг за шагом)

  • Проверен список пользователей на LDAP-сервере.
  • Настроен FQDN клиента.
  • Добавлена запись сервера LDAP в /etc/hosts.
  • Установлены openldap-clients, sssd, sssd-ldap, oddjob-mkhomedir.
  • Выбран профиль authselect sssd with-mkhomedir.
  • Отредактированы /etc/openldap/ldap.conf и /etc/sssd/sssd.conf.
  • Ограничены права на /etc/sssd/sssd.conf до 0600.
  • Перезапущены службы sssd и oddjobd.
  • Протестирован вход LDAP-пользователя локально и по SSH.

Чеклист по ролям

Администратор LDAP:

  • Подтвердить структуру DN и OU на сервере.
  • Проверить, что у пользователей заполнены uidNumber и gidNumber.

Инженер по безопасности:

  • Проверить TLS-сертификаты LDAP и цепочку доверия.
  • Ограничить доступ к /etc/sssd/sssd.conf.

Оператор системы (на клиенте):

  • Выполнить установку и базовую проверку сервисов.
  • Проводить проверку логов при ошибках.

Инцидентный план и откат

Если новая конфигурация ломает вход на систему:

  1. Подключитесь через IP-консоль или переключитесь в одиночный режим.
  2. Восстановите /etc\/sssd\/sssd.conf из резервной копии или удалите изменения.
  3. Выполните authselect select sssd with-mkhomedir –force (или верните предыдущий профиль).
  4. Перезапустите sssd: sudo systemctl restart sssd.
  5. Проверьте логи и повторно примените изменения поэтапно.

Альтернативные подходы

  • Использование nslcd/sssd-ldap вместо sssd-ldap: nslcd может быть проще в простых конфигурациях, но уступает SSSD в кешировании и интеграции PAM.
  • Прямое использование PAM+NSS с pam_ldap и nss_ldap без SSSD: подходит для очень простых окружений, но сложнее в управлении и менее производительно.
  • Интеграция в Active Directory или FreeIPA — если уже используется другая система управления идентификацией.

Когда SSSD не подходит:

  • Очень старые дистрибутивы без поддержки sssd-ldap.
  • Специфические требования к синхронизации атрибутов, которые SSSD не поддерживает напрямую.

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

  • По возможности используйте TLS (STARTTLS или LDAPS) для защиты LDAP-трафика.
  • Разместите сертификаты CA в /etc/openldap/certs и настройте ldap_tls_cacertdir.
  • Ограничьте права доступа к /etc/sssd/sssd.conf (0600). Не храните пароли в открытом виде.
  • Логи SSSD могут содержать чувствительные данные. Ограничьте доступ к логам и используйте ротацию логов.

Миграция и совместимость

  • Конфигурация подходит для RHEL 8-подобных систем. Для других версий могут понадобиться корректировки путей и пакетов.
  • При переходе с pam_ldap/nss_ldap на SSSD проверьте и откорректируйте конфигурацию PAM.

Мини-методология внедрения (3 этапа)

  1. Пилот: настройте один клиент и проверьте все сценарии входа.
  2. Широкое развертывание: поэтапно добавляйте клиентов, мониторьте логи и метрики.
  3. Поддержка: документируйте конфигурации, создайте шаблоны и playbook для автоматизации.

Примеры команд для отладки сети и LDAP

# Проверка разрешения имени
getent hosts ldap.mydomain.io

# Проверка NSS через SSSD
id john
getent passwd john

# LDAP поиск с клиента
ldapsearch -x -H ldap://ldap.mydomain.io/ -b "dc=mydomain,dc=io" uid=john

Тестовые кейсы и критерии приёмки

  • TC1: getent passwd john возвращает запись с uid и gid. Ожидание: запись найдена.
  • TC2: SSH вход john успешен и создаётся /home/john. Ожидание: домашний каталог создан.
  • TC3: После перезапуска sssd getent возвращает те же данные. Ожидание: кеш работает корректно.

Краткий глоссарий

  • SSSD: System Security Services Daemon — служба, обеспечивающая аутентификацию и получение идентификационных данных.
  • LDAP: Lightweight Directory Access Protocol — протокол доступа к каталогу.
  • FQDN: Fully Qualified Domain Name — полное доменное имя хоста.

Частые ошибки и их исправление

  • “Не найден пользовател” — проверьте ldap_search_base и ldap_uri в /etc\/sssd\/sssd.conf.
  • “Проблемы с TLS” — убедитесь, что CA-сертификат доступен и путь ldap_tls_cacertdir указан верно.
  • “PAM не позволяет вход” — проверьте файлы в /etc\/pam.d\/ и результат authselect list.

Заключение

Поздравляем. Вы настроили клиент Rocky Linux для аутентификации через OpenLDAP с использованием SSSD. Решение масштабируемое и подходит для RHEL-подобных систем. Документируйте свои изменения и автоматизируйте развёртывание при массовом добавлении клиентов.

Краткое резюме приведено ниже.

Сводка

  • Проверьте LDAP-пользователей и убедитесь в доступности сервера.
  • Настройте FQDN и /etc/hosts на клиенте.
  • Установите необходимые пакеты и выберите профиль sssd.
  • Сконфигурируйте /etc\/openldap\/ldap.conf и /etc\/sssd\/sssd.conf и ограничьте права доступа.
  • Тестируйте входы, проверяйте логи и применяйте рекомендации по безопасности.
Поделиться: 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 быстро