Вопрос или проблема
sssd.conf:
[sssd]
domains = corp.com
config_file_version = 2
services = nss, pam
[domain/corp.com]
ad_domain = corp.lecapam.com
krb5_realm = CORP.COM
realmd_tags = manages-system joined-with-samba
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@%d
access_provider = simple
simple_allow_groups = RootUser,NonRootUser
Проблема в том, что члены групп AD NonRootUser не могут установить SSH-соединение, в то время как члены RootUser могут. Я недавно добавил группу AD NonRootUser в конфигурацию и перезапустил службы sshd и sssd.
Ошибки:
sshd[29077]: pam_sss(sshd:auth): успех аутентификации; logname= uid=0 euid=0 tty=ssh ruser= rhost=ad01.corp.com user=corp\test
sshd[29077]: pam_sss(sshd:account): Доступ запрещен для пользователя corp\test: 6 (Доступ запрещён)
sshd[29077]: Неудачная попытка входа для corp\\test с 1.1.1.1 порт 60235 ssh2
sshd[29077]: фатально: Доступ запрещен для пользователя corp\\\\test по конфигурации PAM аккаунта [preauth]
Является ли corp\test
членом групп RootUser/NonRootUser? Я предполагаю, что нет.
Ответ или решение
Анализ проблемы: доступ к SSH для пользователей Active Directory
Введение
Ваша проблема связана с тем, что пользователи, входящие в группу NonRootUser Active Directory, не могут получить доступ к SSH, в то время как пользователи из группы RootUser имеют такой доступ. Давайте подробно рассмотрим конфигурацию, ошибки и предоставим рекомендации для решения данной проблемы.
Конфигурация SSSD
Ваш файл конфигурации sssd.conf
выглядит следующим образом:
[sssd]
domains = corp.com
config_file_version = 2
services = nss, pam
[domain/corp.com]
ad_domain = corp.lecapam.com
krb5_realm = CORP.COM
realmd_tags = manages-system joined-with-samba
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@%d
access_provider = simple
simple_allow_groups = RootUser,NonRootUser
Ошибки при аутентификации
Из приведенных вами логов видно, что пользователю corp\test
не разрешен доступ:
sshd[29077]: pam_sss(sshd:account): Access denied for user corp\test: 6 (Permission denied)
sshd[29077]: fatal: Access denied for user corp\\\\test by PAM account configuration [preauth]
Эти строки указывают, что аутентификация прошла успешно, однако доступ к учетной записи был отклонен. Ключевым моментом является то, что используется access_provider = simple
и simple_allow_groups = RootUser,NonRootUser
.
Причины проблемы
-
Проверка групп: Вам необходимо убедиться, что пользователь
corp\test
действительно является членом группы NonRootUser. Это можно сделать, выполнив команду на соответствующем сервере:id corp\test
Если
corp\test
не будет перечислен среди членов группыNonRootUser
, то это основной источник проблемы. -
Кэширование учётных данных: Поскольку
cache_credentials
установлено вTrue
, возможно, это связано с тем, что информация о группах была закэширована. Попробуйте выполнить команды для очистки кэша:sudo systemctl restart sssd
-
Конфигурация PAM: Убедитесь, что конфигурация PAM для SSH (обычно это файл
/etc/pam.d/sshd
) правильно настроена и не содержит дополнительных правил, которые могут блокировать доступ для группы NonRootUser. -
Проверка прав доступа: Кроме групп, следует проверить, не заданы ли какие-либо другие ограничения на доступ для этой группы, например в файле
/etc/security/access.conf
или аналогичных.
Рекомендации по решению
-
Проверьте членство в группах: Убедитесь, что пользователь
corp\test
находится в группе NonRootUser. -
Очистите кэш SSSD: Перезапустите службу SSSD и проверьте, доступен ли пользователь после очистки кэша.
-
Проверьте конфигурацию PAM: Убедитесь, что в конфигурации PAM нет дополнительных ограничений для пользователей из группы NonRootUser.
-
Перезагрузите SSH: После внесения изменений в конфигурацию перезапустите службу SSH, чтобы убедиться, что изменения вступили в силу.
Заключение
Проблема с доступом пользователя corp\test
по SSH из группы NonRootUser скорее всего связана с неправильно настроенной групповой принадлежностью или ограничениями в конфигурации PAM. Внимательно следуя приведенным рекомендациям, вы сможете решить данную проблему и обеспечить необходимый доступ для всех пользователей соответствующих групп.