Подробный гайд: Настройка домена по умолчанию в sssd.conf на Astra Linux: гайд

Гайд по настройке default_domain_suffix в sssd.conf на Astra Linux. Конфигурация SSSD для автоподстановки домена при входе пользователей в систему.

2026.05.06                  


Подробный гайд: Настройка домена по умолчанию в sssd.conf на Astra Linux: гайдПодробный гайд: Настройка домена по умолчанию в sssd.conf на Astra Linux: гайд

Что делает default_domain_suffix

Параметр default_domain_suffix в секции [sssd] указывает, какой домен будет автоматически подставляться к логину, если пользователь вводит имя без явного указания домена (например, ivanov превращается в ivanov@example.com).

Важно:

Параметр работает только при use_fully_qualified_names = False (значение по умолчанию). Если включён режим полных имён, SSSD будет требовать явного указания user@domain или DOMAIN\user.


Подготовка

1. Убедитесь, что sssd установлен и работает:
   sudo systemctl status sssd
  1. Получите права root или используйте sudo для всех команд.
  2. Astra Linux (Common/Special Edition) базируется на Debian, поэтому управление службами и конфигурацией стандартное. Дополнительных изменений в синтаксис SSSD не требуется.

Пошаговая инструкция

1. Сделайте резервную копию

sudo cp /etc/sssd/sssd.conf /etc/sssd/sssd.conf.bak.$(date +%F_%T)

2. Откройте конфигурационный файл

sudo nano /etc/sssd/sssd.conf
# или sudo vim /etc/sssd/sssd.conf

3. Укажите домен по умолчанию

Найдите секцию [sssd] (если её нет, создайте) и добавьте/измените параметры:

[sssd]
domains = example.com
default_domain_suffix = example.com
services = nss, pam
config_file_version = 2
# use_fully_qualified_names = False  # По умолчанию, можно не указывать явно

Пояснения:

  • domains — список доменов, которые SSSD будет обслуживать. Должен содержать хотя бы один домен.
  • default_domain_suffix — домен, который будет подставляться автоматически.
  • services = nss, pam — минимальный набор для аутентификации и NSS-запросов.

4. Проверьте синтаксис

sudo sssctl config-check

Если вывод пуст или содержит только Configuration file is valid, переходите дальше. При ошибках исправьте их до перезапуска службы.

Примечание:

В старых версиях SSSD (до 2.5) sssctl может отсутствовать. Используйте sudo sssd -i для интерактивного запуска и проверки логов, либо сразу переходите к шагу 6 и смотрите journalctl.

5. Установите корректные права (обязательно!)

SSSD откажется запускаться, если права на sssd.conf не соответствуют требованиям:

sudo chown root:root /etc/sssd/sssd.conf
sudo chmod 600 /etc/sssd/sssd.conf

Любые другие права (даже 644) приведут к ошибке запуска и записи в лог: File permissions are too open.

6. Перезапустите SSSD и очистите кэш

sudo systemctl restart sssd
sudo sss_cache -E

Проверьте статус:

sudo systemctl status sssd

Служба должна быть active (running).

7. Проверьте работу

# Проверка NSS
getent passwd username
id username

# Проверка кэша SSSD
sudo sssctl cache-list

Если вы ввели только username, а в выводе присутствует username@example.com, домен по умолчанию применяется корректно.


Диагностика и типичные проблемы

Симптом Причина Решение
sssd не запускается, в journalctl ошибка File permissions Права на sssd.conf0600 sudo chmod 600 /etc/sssd/sssd.conf
Домен не подставляется, работает только user@domain Включён use_fully_qualified_names = True Установите use_fully_qualified_names = False в [sssd]
getent passwd не находит пользователя Проблема с подключением к LDAP/AD или кэшем Проверьте journalctl -u sssd -n 50, sudo sss_cache -E, убедитесь, что сеть и сертификаты/пароли валидны
sssctl config-check ругается на неизвестный параметр Ошибка в имени параметра или секции Проверьте написание: default_domain_suffix (именно так), секция [sssd]

Примечания для Astra Linux

  • В Astra Linux Special Edition (Смоленск, Воронеж) действуют усиленные политики безопасности (Mandatory Access Control, pam_tally2/pam_faillock, fly-admin). Конфиг sssd.conf не меняется, но после правок рекомендуется проверить статус аутентификации через fly-admin или astra-ctrl.
  • Если используется интеграция с Active Directory, убедитесь, что в секции [domain/example.com] также корректно указаны krb5_realm, ldap_uri, id_provider, auth_provider.
  • При работе в изолированных сетях (без DNS) добавьте запись домена в /etc/hosts или настройте dns_resolver в SSSD.

Полезные команды для администрирования SSSD

# Просмотр лога в реальном времени
sudo journalctl -u sssd -f

# Вывод текущей конфигурации SSSD (без комментариев)
sudo sssctl config-show

# Тест аутентификации через PAM/SSSD
sudo su - username

# Пересборка кэша (если изменения в домене/пользователях не подхватываются)
sudo systemctl stop sssd
sudo rm -f /var/lib/sss/db/*
sudo systemctl start sssd