SFTP SELinux ssh_chroot_full_access

SFTP SELinux ssh_chroot_full_access

我总是在 Centos 6 上配置 SFTP,如下所示:

https://www.linuxtechi.com/configure-chroot-sftp-in-linux/

该项目出现在评论中的位置:

setsebool -P ssh_chroot_full_access on

来自文档https://linux.die.net/man/8/ssh_selinux:

如果要允许受防护的域执行 ssh,则必须打开 fenced_can_ssh 布尔值。

然而,CentOS 7 抱怨:

SELinux 布尔值 ssh_chroot_full_access 不存在。

CentOS7 执行此操作的正确方法是什么?

答案1

getsebool -a | grep ssh我的 CentOS 7 上的命令显示

fenced_can_ssh --> off 
selinuxuser_use_ssh_chroot --> off
ssh_chroot_rw_homedirs --> off
ssh_keysign --> off
ssh_sysadm_login --> off

所以根据你的问题命令

setsebool -P fenced_can_ssh on

应该修复它。

但您也可以采用“困难”方式并安装以下setroubleshoot-server软件包policycoreutils-python

yum -y install setroubleshoot-server policycoreutils-python

然后暂时将 SELinux 模式设置为permissivewith

setenforce Permissive

之后尝试之前不起作用的任何方法。现在应该可以了。

现在看一下以下文件/var/log/audit/audit.log。它通常显示 SELinux 发现的问题。

grep -i "denied" /var/log/audit/audit.log

如果您在日志中没有收到拒绝消息,则 SELinux 可能认为该事件会生成太多日志,因此没有记录它。在这种情况下,您可以使用以下命令启用所有事件的日志记录

semodule -DB

semodule -B但请确保在故障排除结束后将其恢复正常。

如果您发现问题,您现在可以使用该audit2allow工具来创建满足您需求的策略模块。audit2allow有很多选项,所以你应该首先阅读允许访问:AUDIT2ALLOW习惯audit2allow.

不要忘记再次打开 SELinux 并(如果更改)启用减少日志记录!

setenforce permissive
semodule -B

相关内容