Подробный гайд: интеграция ALT Linux в домен Active Directory
Примечание:
Ниже рассматривается самый распространённый сценарий – ввод рабочей станции/сервера ALT Linux в домен Windows Active Directory (или Samba AD). В конце кратко описан вариант развёртывания самого ALT Linux как контроллера домена.
Гайд актуален для ALT Linux p9, p10, p11. Команды выполняются от root или через sudo.
1. Подготовка системы
1.1. Обновление пакетов
sudo apt update && sudo apt upgrade -y
1.2. Статическое имя хоста и /etc/hosts
sudo hostnamectl set-hostname alt-pc.domain.local
Проверьте /etc/hosts. Должна быть строка:
127.0.0.1 alt-pc.domain.local alt-pc localhost
1.3. DNS (критически важно!)
Убедитесь, что первым DNS-сервером указан IP контроллера домена:
# Пример через NetworkManager (замените имя соединения)
nmcli con mod "Wired connection 1" ipv4.dns "192.168.1.10"
nmcli con up "Wired connection 1"
Проверьте:
nslookup domain.local
nslookup -type=SRV _ldap._tcp.dc._msdcs.domain.local
1.4. Синхронизация времени (Kerberos требует расхождения ≤5 мин)
sudo apt install chrony
sudo systemctl enable --now chronyd
sudo chronyc tracking
При необходимости укажите NTP-сервер в /etc/chrony.conf и перезапустите chronyd.
1.5. Установка необходимых пакетов
sudo apt install realmd sssd sssd-tools krb5-user adcli samba-common-tools chrony oddjob-mkhomedir
2. Ввод в домен (realmd + SSSD)
2.1. Обнаружение домена
realm discover domain.local
Вывод должен содержать type: kerberos, server-software: active-directory.
2.2. Присоединение к домену
sudo realm join domain.local -U Administrator --computer-ou="OU=Linux,DC=domain,DC=local"
- Замените
Administratorна учётную запись с правами ввода в домен. --computer-ouопционален, но рекомендуется для организации.- При запросе введите пароль учётной записи.
realmd автоматически настроит /etc/sssd/sssd.conf, /etc/krb5.conf и PAM.
2.3. Запуск и включение служб
sudo systemctl enable --now sssd
sudo systemctl enable --now oddjobd
3. Настройка домашних каталогов и PAM
3.1. Автоматическое создание home при первом входе
ALT Linux p10/p11 использует pam-config:
sudo pam-config --add --mkhomedir
Если pam-config отсутствует, добавьте вручную в /etc/pam.d/system-auth (перед session required pam_unix.so):
session required pam_mkhomedir.so skel=/etc/skel umask=0077
3.2. Настройка SSSD (опционально)
Проверьте /etc/sssd/sssd.conf.
Рекомендованные параметры:
[sssd]
domains = domain.local
config_file_version = 2
services = nss, pam
[domain/domain.local]
ad_domain = domain.local
krb5_realm = DOMAIN.LOCAL
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
После правок:
sudo systemctl restart sssd
4. Управление доступом и sudo
4.1. Разрешить вход только определённым группам
sudo realm deny --all
sudo realm permit -g "Domain Admins" -g "Linux-Users"
4.2. Настройка sudo через AD-группы
Создайте в AD группу sudoers-linux.
Добавьте в /etc/sudoers.d/domain-admins:
echo "%sudoers-linux ALL=(ALL) ALL" | sudo tee /etc/sudoers.d/domain-admins
sudo chmod 0440 /etc/sudoers.d/domain-admins
5. Проверка работоспособности
realm list
id user@domain.local
getent passwd user
kinit user@DOMAIN.LOCAL
klist
Попробуйте войти по SSH или через TTY доменным пользователем.
6. Диагностика и типичные ошибки
| Симптом | Решение |
|---|---|
realm discover не видит домен |
Проверьте DNS, ping домена, открытость портов |
kinit: Preauthentication failed |
Рассинхронизация времени или неверный пароль/реалм |
Вход проходит, но id user не работает |
sssd не запущен или неверный id_provider в конфиге |
| Домашний каталог не создаётся | Проверьте oddjobd, pam-config, права /home |
Ошибка LDAP server is not available |
Убедитесь, что SSSD может резолвить _ldap._tcp.dc._msdcs |
Логи:
journalctl -u sssd -f
tail -f /var/log/sssd/*.log
sssctl config-check
Обязательные порты (откройте в firewalld/iptables):
53, 88, 135, 139, 389, 445, 464, 636, 3268, 3269 (TCP/UDP где применимо).
7. Альтернатива: ALT Linux как контроллер домена (Samba AD DC)
Если вам нужно развернуть собственный домен на ALT Linux:
sudo apt install samba-dc bind9 krb5-server python3-samba
sudo samba-tool domain provision --use-rfc2307 --interactive
# Следуйте мастеру: realm, domain, roles, passwords, DNS backend = BIND9_DLZ
sudo systemctl enable --now samba-ad-dc bind9
sudo systemctl disable --now nmbd smbd winbind
После этого на клиентах используется тот же realm join, указывая IP этого сервера.
Развёртывание Samba AD DC требует отдельного гайда по настройке BIND9, Kerberos, резервному копированию и репликации.
8. Безопасность и рекомендации
- Не используйте
rootдля входа в домен – настройтеsudoчерез AD-группы. - Кеширование учётных данных:
cache_credentials = Trueпозволяет входить при падении контроллера. - Обновления:
sssdиrealmdрегулярно обновляются. Следите заapt list --upgradable. - SELinux: В ALT Linux обычно отключён по умолчанию. Если включён, установите:
setsebool -P samba_domain_controller on(для Samba DC) или проверьтеausearch -m avc. - Резервное копирование:
/etc/sssd/sssd.conf,/etc/krb5.keytab,/etc/samba/smb.conf.
Краткий чек-лист
- [ ] DNS указывает на DC, резолвит SRV-записи
- [ ] Время синхронизировано (±5 мин)
- [ ] Пакеты установлены,
sssdиoddjobdзапущены - [ ]
realm joinвыполнен успешно - [ ]
id userвозвращает UID/GID домена - [ ] Домашний каталог создаётся автоматически
- [ ] Доступ ограничен группами,
sudoнастроен
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.