Подробный гайд: Настройка домена по умолчанию в 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
- Получите права
rootили используйтеsudoдля всех команд. - 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.conf ≠ 0600 |
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