Решение проблемы входа доменного пользователя на рабочей станции Альт Линукс Рабочая станция К

При переходе на отечественное и свободное программное обеспечение мы столкнулись с проблемой входа доменных пользователей в систему.

В организации работал старый контроллер домена на базе NethServer 7. С Astra Linux 1.7 проблем не возникло, система успешно вводилась в домен, и пользователи авторизовались без проблем. Однако в Альт Линукс Рабочая станция возникли трудности с авторизацией доменных пользователей.

💡 Присоединяйтесь к нашим сообществам!

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

📢 Telegram 👥 ВКонтакте 📰 Дзен 🎥 RuTube 🎬 VK Видео

Администраторы домена входили в систему без проблем, в отличие от обычных пользователей. Оказалось, что пользовательские директории создавались в /var/lib/nethserver/. Это расположение домашних каталогов не устраивало нас, но менять контроллер домена в процессе перехода было не лучшим решением. Поэтому мы нашли другой выход.

NethServer — это дистрибутив Linux на базе CentOS/Rocky Linux, ориентированный на малый и средний бизнес, который предоставляет готовые серверные решения с веб-интерфейсом для управления.

Исходные данные

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

1.1. Получение прав супер пользователя

Запускаем консоль и переходим в режим суперпользователя:

su -

1.2. Проверка присоединения к домену

net ads testjoin
net ads info

1.3. Проверка статуса домена в SSSD

sssctl domain-status school.lan

1.4. Проверка доступности пользователя

wbinfo -u | grep -i ivanov
getent passwd ivanov.i@school.lan
getent passwd ivanov.i

1.5. Проверка текущего пути домашних директорий

Посмотреть текущие настройки домашних директорий:

getent passwd ivanov.i | cut -d: -f6

1.6. Проверка настроек PAM

Проверить, настроено ли автоматическое создание домашних директорий:

grep -r "pam_mkhomedir" /etc/pam.d/

1.7. Проверка служб аутентификации

systemctl status sssd winbind smb nmb

2. Решение

2.1. Создание резервных копий конфигурационных файлов

mkdir -p /root/save
cp /etc/sssd/sssd.conf /root/save/sssd.conf.backup.$(date +%Y%m%d_%H%M%S)
cp /etc/pam.d/su /root/save/su.backup.$(date +%Y%m%d_%H%M%S)
cp /etc/pam.d/system-auth /root/save/system-auth.backup.$(date +%Y%m%d_%H%M%S)
ls -la /root/save/

2.2. Настройка конфигурации SSSD

Редактирование конфигурационного файла SSSD:

mcedit /etc/sssd/sssd.conf

Содержимое файла /etc/sssd/sssd.conf:

[sssd]
config_file_version = 2
services = nss, pam
domains = school.lan

[nss]

[pam]

[domain/school.lan]
# Провайдеры для работы с Active Directory
id_provider = ad
auth_provider = ad
chpass_provider = ad
access_provider = ad
ad_domain = school.lan

# Настройки домашних директорий
override_homedir = /home/%u
fallback_homedir = /home/%u

# Настройки оболочки (shell)
override_shell = /bin/bash
default_shell = /bin/bash

# Настройки интеграции с Active Directory
ldap_id_mapping = True
use_fully_qualified_names = False
ad_gpo_ignore_unreadable = true
ad_gpo_access_control = permissive
ad_update_samba_machine_account_password = true

Установка правильных прав доступа:

chmod 600 /etc/sssd/sssd.conf

2.3. Настройка PAM для автоматического создания домашних директорий

echo "session     required      pam_mkhomedir.so skel=/etc/skel umask=0022" >> /etc/pam.d/su
echo "session     required      pam_mkhomedir.so skel=/etc/skel umask=0022" >> /etc/pam.d/system-auth

2.4. Перезапуск служб и очистка кэша

systemctl stop sssd
rm -rf /var/lib/sss/db/*
systemctl start sssd
systemctl status sssd

3. Тестирование решения

3.1. Проверка настроек пользователя

getent passwd ivanov.i | cut -d: -f6,7

3.2. Получение прав пользователя с созданием полноценной сессии

su - ivanov.i

3.3. Выполнение команды от имени пользователя

su - ivanov.i -c "whoami && echo 'Тестирование прошло успешно'"

3.4. Проверка создания домашней директории

ls -la /home/ivanov.i

4. Дополнительные команды диагностики

sssctl domain-status school.lan
getent passwd ivanov.i@school.lan
id ivanov.i
tail -f /var/log/sssd/sssd_school.lan.log
journalctl -u sssd -n 20

5. Пояснение ключевых параметров

Почему именно эти параметры решают проблему:

6. Ожидаемый результат

После выполнения всех шагов пользователь ivanov.i должен успешно входить в систему с помощью команды:

su - ivanov.i

При первом входе автоматически создается домашняя директория /home/ivanov.i с файлами из /etc/skel/.

7. Действия при сохранении проблемы

  1. Проверить логи:
    journalctl -u sssd -f
  2. Убедиться в правильности присоединения к домену:
    net ads testjoin
  3. Проверить разрешение DNS:
    nslookup school.lan
  4. Проверить доступность контроллера домена
  5. Проверить синтаксис конфига SSSD:
    sssd --genconf

Результат внедрения

После применения данного решения доменные пользователи успешно авторизуются в системе Альт Линукс Рабочая станция К с корректно созданными домашними директориями в /home/, что соответствует стандартам организации и упрощает администрирование. Проблема несовместимости со старым контроллером домена NethServer решена без замены инфраструктуры.

🚀 Понравилась статья?

Подписывайтесь на наши соцсети чтобы не пропустить новые полезные материалы!

📢 Telegram 👥 ВКонтакте 📰 Дзен 🎥 RuTube 🎬 VK Видео