小编Jua*_*ios的帖子

CentOS 7 - 通过 VSFTPD 创建的目录不继承 SELinux 上下文

我们公司有一个装有 CentOS 7 的网络服务器,我们的客户通过 FTP (vsftpd) 管理他们的网站。SELinux 处于强制模式。

问题是通过 VSFTPD 创建/上传的数据没有继承适当的 SELinux 上下文。让我解释。

例如,对于 WordPress 站点,服务器开箱即用,已经有几个可以使用 看到的规则semanage fcontext -l |grep '/var/www',它们是:

/var/www/html(/.*)?/uploads(/.*)?                  all files          system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html(/.*)?/wp-content(/.*)?               all files          system_u:object_r:httpd_sys_rw_content_t:s0
Run Code Online (Sandbox Code Playgroud)

因此,当我/var/www/html/通过 SSH从另一台服务器复制一个 WordPress 站点时,文件夹wp-content/wp-content/uploads/具有适当的httpd_sys_rw_content_t安全上下文。但是,当通过 FTP 创建这些文件夹时,它们获得的上下文是httpd_sys_content_t(no rw )。这意味着即使我们的客户向 apache 用户/组授予写权限,我们的客户上传到服务器的站点也无法写入这些目录,因此 WordPress 管理员不起作用。因此,当他们上传网站时,他们必须请求我们的支持来解决这个问题,这对所有相关人员来说都是浪费时间。

假设客户将他们的网站上传到httpdocs,如果我通过 SSHmv httpdocs/ httpdocs.2/ && cp -pr httpdocs.2/ httpdocs/ && rm httpdocs.2/ -fr来解决问题,那么数据没有任何问题。

我也可以restorecon -Rv httpdocs/解决问题。

所以,问题是:如何让通过 VSFTPD 创建/上传的目录继承正确的 SELinux 上下文,就像通过 …

linux selinux centos vsftpd

8
推荐指数
1
解决办法
714
查看次数

标签 统计

centos ×1

linux ×1

selinux ×1

vsftpd ×1