Назад | Перейти на главную страницу

SELinux предотвращает вход по SSH без пароля

Я хотел бы подключить учетную запись пользователя, которую я создал для git, в /var/git с помощью authorized_keys. Однако SELinux предотвращает это следующим сообщением AVC

SELinux is preventing sshd(sshd_t) "read" var_t

Я новичок в администрировании SELinux, но понимаю, что в этом сообщении говорится, что sshd не может читать что-либо в /var. Как я могу изменить метку, чтобы разрешить ему доступ к /var/git? (без перевода sshd в разрешающий режим)

Я пробовал маркировать /var/git/.ssh/authorized_keys так как sshd_key_t, но это ни на что не влияет. Заранее спасибо!

Я не использую Git, поэтому могу ошибаться, но если я правильно понимаю вашу проблему, вы, вероятно, создали пользователя полностью вручную (т.е. отредактировали / etc / passwd), не дав системе знать, что / var / git является пользователем домашний каталог. Обычно он помещает соответствующие каталоги в /etc/selinux/targeted/contexts/files/file_contexts.homedirs. Например, у меня такая же настройка, но с / Var / svn, добавленным с помощью useradd, и вот отрывок из этого файла, добавленный автоматически:

#
# Home Context for user unconfined_u
#

/var/svn/[^/]*/.+       system_u:object_r:user_home_t:s0
/var/svn/[^/]*/.pulse(/.*)?     system_u:object_r:gnome_home_t:s0
/var/svn/[^/]*/.gnome2(/.*)?    system_u:object_r:gnome_home_t:s0
/var/svn/[^/]*/.*/plugins/nppdf\.so     --      system_u:object_r:textrel_shlib_t:s0
/var/svn/[^/]*/.*/plugins/nppdf\.so.*   --      system_u:object_r:textrel_shlib_t:s0
/var/svn/[^/]*/((www)|(web)|(public_html)|(public_git))(/.+)?      system_u:object_r:httpd_user_content_t:s0
/var/svn/[^/]*/\.ssh(/.*)?      system_u:object_r:ssh_home_t:s0

(продолжение)

Как только это будет настроено, простое восстановление -Rv / var / git должно помочь.

Эту проблему также можно решить, сделав .ssh каталог с ssh_home_t контекст.

например

context directory
home_root_t /customhome
user_home_dir_t /customhome/user
ssh_home_t /customhome/user/.ssh
ssh_home_t /customhome/user/.ssh/authorized_keys

В RHEL я создал пользователя, используя следующее:

useradd gitlab --home /app/gitlab

У меня было чертовски много времени на отладку и выяснение правильного контекста. audit.log не показывал много. Я также дважды проверил /etc/selinux/targeted/contexts/files/file_contexts.homedirs и контекст не создавался автоматически.