Security

SELinux 防止無密碼 SSH 登錄

  • September 9, 2013

我想連接我為 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_keyssshd_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

(繼續)

設置完成後,一個簡單的 restorecon -Rv /var/git 應該可以解決問題。

引用自:https://serverfault.com/questions/50573