如何使用 selinux 上下文挂载 iso 文件

如何使用 selinux 上下文挂载 iso 文件

我正在尝试将 iso 文件挂载到 /var/ftp/pub/centos

当我尝试在 Web 浏览器中使用 ftp 访问这些文件时,它不起作用。经过故障排除后,我发现这是由于 selinux 造成的。

dr-xr-xr-x. root root system_u:object_r:iso9660_t:s0 centos -rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 CentOS-6.10-x86_64-bin-DVD1.iso

是否可以安装包括 selinux 在内的 iso?

我提到方法(使用 selinux 上下文进行 ftp)但对我来说不起作用。

我正在使用的操作系统CentOS release 6.10

答案1

我也无法让它工作。由于 FS 是只读的,所以“semanage fcontext”+ restorecon 也无法工作,我只需添加一个例外以允许 httpd 读取这些文件(我认为这不会带来重大的安全问题):

  • 设置宽容模式以确保所有相关拒绝都出现在 audit.log 中

    $ sudo setenforce permissive

  • 通过WEB服务器挂载ISO并读取文件。

  • 拒绝消息应通过以下方式找到:

    $ sudo grep denied /var/log/audit/audit.log | grep httpd | grep iso9660_t

  • 使用这些拒绝事件构建 selinux 异常模块并应用它

    $ sudo grep denied /var/log/audit/audit.log | grep httpd | grep iso9660_t | audit2allow -M my-iso-rules $ sudo semodule -i my-iso-rules.pp

  • 恢复强制模式:

    $ sudo setenforce enforcing

相关内容