Подробный гайд: вход доменных пользователей в Astra Linux
Важное уточнение
При подключении Linux к Active Directory (или другому каталогу) локальные учётные записи для доменных пользователей не создаются. Это архитектурная норма: аутентификация и учётные данные обрабатываются централизованно через SSSD/Winbind, а домашние каталоги и профиль подтягиваются динамически при первом входе.
Если ваша цель:
- Вход доменных пользователей → настраиваем realmd + sssd + PAM/NSS.
- Именно локальные учётки → создаются вручную командой adduser, они не связаны с доменом.
Ниже приведён полный цикл настройки доменного входа в Astra Linux Special/Common Edition 1.7/1.8.
1. Подготовка системы
# Синхронизация времени (обязательно для Kerberos)
sudo apt install chrony
sudo systemctl enable --now chronyd
# Проверьте: timedatectl status → NTP synchronized: yes
# Установка необходимых пакетов
sudo apt update
sudo apt install realmd sssd sssd-tools adcli krb5-user oddjob-mkhomedir libpam-mkhomedir
sudo systemctl enable sssd oddjobd
2. Обнаружение домена
realm discover ваш.домен.ru
Ожидаемый вывод:
type: kerberos, realm-name, domain-name, server-software: active-directory.
Если ошибка:
проверьте DNS, доступность портов 53/UDP/TCP, 88/TCP/UDP, 389/TCP, 445/TCP, 135/TCP.
3. Присоединение к домену
sudo realm join -U <доменный_администратор> ваш.домен.ru
- Введите пароль учётки с правами
Join computers to domain.
- Успешное присоединение подтвердит:
realm list
Вывод должен содержать configured: kerberos-member и server-software: active-directory.
4. Настройка SSSD
Редактируем /etc/sssd/sssd.conf:
[sssd]
domains = ваш.домен.ru
config_file_version = 2
services = nss, pam
[domain/ваш.домен.ru]
ad_domain = ваш.домен.ru
krb5_realm = ВАШ.ДОМЕН.RU
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u
access_provider = ad
Важно:
use_fully_qualified_names = Falseпозволяет входить какuser, а неuser@domain. При проблемах с дублированием имён установитеTrue.
- Права:
sudo chmod 600 /etc/sssd/sssd.conf
- Перезапуск:
sudo systemctl restart sssd
5. Настройка NSS и PAM
NSS
Проверьте /etc/nsswitch.conf:
passwd: files sss
group: files sss
shadow: files sss
Автоматическое создание домашних каталогов
sudo pam-auth-update --enable mkhomedir
Убедитесь, что oddjobd запущен:
sudo systemctl status oddjobd
6. Проверка работоспособности
# Получение данных пользователя
id доменный_пользователь
getent passwd доменный_пользователь
# Тест входа (консоль)
su - доменный_пользователь
# Проверка активных сессий
loginctl list-users
Если id или getent возвращают данные, а su запускает сессию → настройка успешна.
Типовые ошибки и решения
| Симптом | Причина | Решение |
|---|---|---|
id: «пользователь»: нет такого пользователя |
SSSD не запущен / кэш пуст / DNS | systemctl restart sssd, sss_cache -E, проверка DNS |
User not known to the underlying authentication module |
PAM не настроен / время рассинхронизировано | pam-auth-update, синхронизация NTP (±5 мин для Kerberos) |
Входит, но нет /home/пользователь |
mkhomedir не активен |
sudo pam-auth-update --enable mkhomedir, проверить oddjobd |
| В консоли работает, в графической среде нет | LightDM/GDM блокирует доменные сессии | В /etc/pam.d/lightdm добавить auth required pam_sss.so |
Permission denied после ввода пароля (Astra SE) |
Заблокировано MAC (Parsec) | См. раздел ниже |
Особенности Astra Linux Special Edition
В версии SE включён механизм mandatory access control (Parsec). По умолчанию доменные пользователи могут быть заблокированы на уровне политик, даже если SSSD настроен верно.
Как разрешить вход доменным пользователям:
- Откройте
fly-admin-smc(от root). - Перейдите:
Безопасность→Политики доступа→Правила входа. - Добавьте доменную группу (например,
domain adminsилиdomain users) в список разрешённых.
4. Либо через CLI:
# Разрешить вход всем доменным пользователям
sudo pdp-config --add-rule --allow --subject "unix-group:domain_users" --object "login"
sudo pdp-config --apply
- Перезагрузите политику или систему.
В Common Edition этот шаг не требуется.
Если вам всё же нужны локальные учётные записи
Доменные и локальные учётки живут параллельно.
Создать локальную:
sudo adduser localuser
sudo usermod -aG sudo,audio,dip,plugdev localuser # нужные группы
Эти учётки не синхронизируются с AD, пароль задаётся локально, аутентификация идёт через /etc/shadow.
Диагностика и логи
# Логи SSSD
sudo journalctl -u sssd -f
sudo tail -f /var/log/sssd/sssd_<ваш.домен>.log
# Аутентификация
sudo tail -f /var/log/auth.log
# Проверка конфигурации
realm list
sssctl domain-status ваш.домен.ru
Рекомендации по безопасности
- Не используйте
winbindв новых развёртываниях:sssdбыстрее, безопаснее, лучше интегрирован с AD. - Включите
cache_credentials = Trueдля работы при отключении от сети. - Регулярно обновляйте
realmd,sssd,krb5-userчерезapt upgrade. - Ограничьте доступ к
/etc/sssd/sssd.conf(chmod 600). - Для аудита включите
debug_level = 3вsssd.confтолько на время диагностики.
Чек-лист успешной настройки
- [x]
realm listпоказывает домен - [x]
id доменный_пользовательвозвращает UID/GID - [x]
su - доменный_пользовательсоздаёт/home/пользовательи запускает bash - [x] В графической оболочке можно выбрать/ввести доменного пользователя
- [x] В Astra SE доменная группа добавлена в политики Parsec