Security
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
(繼續)
設置完成後,一個簡單的 restorecon -Rv /var/git 應該可以解決問題。