Гайд: Bash как оболочка по умолчанию для доменных пользователей Active Directory в Astra Linux

Настройка Bash для доменных пользователей AD в Astra Linux. Установка SSSD, конфигурация sssd.conf, интеграция с Active Directory

2026.05.30                  


Гайд: Bash как оболочка по умолчанию для доменных пользователей Active Directory в Astra LinuxГайд: 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 оболочка определяется следующим образом:

  1. Из атрибута loginShell в AD — если он задан для учетной записи пользователя.
  2. Из параметра default_shell в sssd.conf — если атрибут в AD не задан.
  3. Системное значение по умолчанию — обычно /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:

  1. Откройте Active Directory Users and Computers.
  2. Включите отображение вкладки Attribute Editor (View → Advanced Features).
  3. Найдите атрибут loginShell у нужного пользователя.
  4. Установите значение: /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 (если установлен)

Если оболочка не применяется

  1. Убедитесь, что default_shell задан в правильной секции ([nss] или [domain/...]).
  2. Проверьте, что /bin/bash есть в /etc/shells.
  3. Очистите кеш: sudo sss_cache -u user@example.com.
  4. Перезапустите 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


Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.


Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта