Гайд: Bash как оболочка по умолчанию для доменных пользователей Active Directory в Astra Linux
В Astra Linux по умолчанию используется оболочка Bash (/bin/bash), и она доступна для доменных пользователей, интегрированных в Active Directory (AD). Однако корректная настройка оболочки для доменных учетных записей требует понимания механизмов аутентификации и конфигурации служб интеграции с доменом.
1. Архитектура интеграции с AD в Astra Linux
Astra Linux поддерживает два основных метода интеграции с доменом Microsoft Active Directory:
| Метод | Описание | Рекомендация |
|---|---|---|
| SSSD | System Security Services Daemon — современная служба аутентификации с кешированием | Рекомендуется |
| Winbind | Устаревший компонент Samba для интеграции с AD | Не рекомендуется для новых развертываний |
Компания-разработчик Astra Linux рекомендует использовать SSSD как более современную и функциональную альтернативу Winbind.
2. Bash по умолчанию: как это работает
2.1. Локальные пользователи
Для локальных учетных записей оболочка определяется полем в файле /etc/passwd и по умолчанию устанавливается как /bin/bash.
2.2. Доменные пользователи (через SSSD)
Для пользователей Active Directory оболочка определяется следующим образом:
- Из атрибута
loginShellв AD — если он задан для учетной записи пользователя. - Из параметра
default_shellвsssd.conf— если атрибут в AD не задан. - Системное значение по умолчанию — обычно
/bin/sh, если ничего не настроено.
# Пример фрагмента /etc/sssd/sssd.conf
[sssd]
domains = example.com
services = nss, pam
[nss]
# Глобальная настройка оболочки для всех доменных пользователей
default_shell = /bin/bash
[domain/example.com]
id_provider = ad
access_provider = ad
# Переопределение оболочки только для этого домена
# default_shell = /bin/bash
Параметр default_shell в секции [nss] или [domain/...] указывает оболочку, которая будет назначена пользователю, если провайдер не вернул значение при поиске.
3. Пошаговая настройка Bash для доменных пользователей
Шаг 1: Установка необходимых пакетов
# Установка клиента SSSD для интеграции с AD
sudo apt update
sudo apt install astra-ad-sssd-client
Пакет astra-ad-sssd-client автоматически установит зависимости: sssd, sssd-ad, realmd, adcli.
Шаг 2: Присоединение к домену
# Ввод компьютера в домен (интерактивный ввод пароля)
sudo astra-ad-sssd-client -d example.com -u Administrator -px
# Или с указанием пароля в командной строке (небезопасно!)
# sudo astra-ad-sssd-client -d example.com -u Administrator -p 'YourPassword'
Шаг 3: Настройка оболочки в sssd.conf
Откройте конфигурационный файл:
sudo nano /etc/sssd/sssd.conf
Добавьте или проверьте следующие параметры:
[sssd]
domains = example.com
services = nss, pam
config_file_version = 2
[nss]
# Установка Bash как оболочки по умолчанию для всех доменных пользователей
default_shell = /bin/bash
# Опционально: ограничение разрешённых оболочек
allowed_shells = /bin/bash, /bin/sh, /usr/bin/bash
[domain/example.com]
id_provider = ad
access_provider = ad
# Переопределение оболочки для конкретного домена (при необходимости)
# default_shell = /bin/bash
# Шаблон домашнего каталога
fallback_homedir = /home/%D/%U
Шаг 4: Проверка доступности Bash в системе
Убедитесь, что /bin/bash присутствует в списке допустимых оболочек:
cat /etc/shells
Ожидаемый вывод должен содержать:
/bin/bash
/usr/bin/bash
Если /bin/bash отсутствует, добавьте его:
echo "/bin/bash" | sudo tee -a /etc/shells
Шаг 5: Перезапуск служб и проверка
# Перезапуск SSSD
sudo systemctl restart sssd
# Очистка кеша SSSD (при необходимости)
sudo sss_cache -E
# Проверка получения данных о доменном пользователе
getent passwd user@example.com
Пример успешного вывода:
user@example.com:*:10001:10001:User Name:/home/example.com/user:/bin/bash
Последний элемент (/bin/bash) — это оболочка пользователя.
4. Альтернативные методы управления оболочкой
4.1. Через атрибут loginShell в Active Directory
Если вы хотите задать оболочку индивидуально для пользователя в AD:
- Откройте Active Directory Users and Computers.
- Включите отображение вкладки Attribute Editor (View → Advanced Features).
- Найдите атрибут loginShell у нужного пользователя.
- Установите значение:
/bin/bash.
При наличии этого атрибута в AD, SSSD будет использовать его вместо default_shell из конфигурации.
4.2. Ограничение доступа по оболочке
Для запрета интерактивного входа определенным группам можно использовать:
[nss]
allowed_shells = /bin/bash
shell_fallback = /usr/sbin/nologin
Пользователи, у которых в AD задана оболочка, отсутствующая в allowed_shells, получат /usr/sbin/nologin вместо входа в систему.
5. Диагностика и устранение неполадок
Проверка конфигурации SSSD
# Проверка синтаксиса конфигурации
sudo sssd --genconf
# Просмотр логов SSSD
sudo journalctl -u sssd -f
# или
sudo tail -f /var/log/sssd/sssd_example.com.log
Проверка аутентификации доменного пользователя
# Получение билета Kerberos
kinit user@example.com
# Проверка присоединения к домену
net ads testjoin -k
# Проверка списка доменных пользователей
wbinfo -u # для winbind
sss_user_list # для sssd (если установлен)
Если оболочка не применяется
- Убедитесь, что
default_shellзадан в правильной секции ([nss]или[domain/...]). - Проверьте, что
/bin/bashесть в/etc/shells. - Очистите кеш:
sudo sss_cache -u user@example.com. - Перезапустите SSSD:
sudo systemctl restart sssd.
6. Графическая настройка (опционально)
Astra Linux предоставляет графические утилиты для управления интеграцией с AD:
- fly-admin-ad-client — для настройки клиента Winbind (устаревший метод).
- Настройка клиента SSSD Fly — графический интерфейс для SSSD (доступен после установки
astra-ad-sssd-client).
Доступ через меню:
Пуск → Панель управления → Сеть → Настройка клиента SSSD Fly
Заключение
- Bash доступен для доменных пользователей AD в Astra Linux по умолчанию при условии корректной настройки SSSD.
- Параметр
default_shell = /bin/bashв/etc/sssd/sssd.confгарантирует назначение Bash, если атрибутloginShellне задан в AD. - Используйте SSSD вместо Winbind для новых развертываний — это обеспечивает лучшую производительность, кеширование и поддержку современных функций.
Важно:
Все изменения в /etc/sssd/sssd.conf требуют перезапуска службы sssd и, при необходимости, очистки кеша командой sss_cache -E.
Для дополнительной информации обращайтесь к официальной документации:
Справочный центр Astra Linux — Active Directory: https://wiki.astralinux.ru/kb/active-directory-ad-153486217.html
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.