我想连接我为 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,这是该文件的摘录,自动添加:
(继续)
设置完成后,一个简单的 restorecon -Rv /var/git 应该可以解决问题。
这也可以通过使
.ssh
目录带有ssh_home_t
上下文来解决。例如
在 RHEL 上,我使用以下命令创建了一个用户:
我花了很长时间调试和找出正确的上下文。
audit.log
没有表现出太多。我还仔细检查了/etc/selinux/targeted/contexts/files/file_contexts.homedirs
它并没有自动创建上下文。