Я хотел бы подключить учетную запись пользователя, которую я создал для 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
и контекст не создавался автоматически.