为什么创建逻辑卷(LVM)后会出现 SELinux 问题?

为什么创建逻辑卷(LVM)后会出现 SELinux 问题?

RHEL 7.3 中默认的 postfix 队列目录是 /var/spool/postfix。权限为 755,所有者 root,组 root,SELinux 上下文为 system_u:object_r:postfix_spool_t:s0。

我可以删除此目录中的所有目录和文件。执行“systemctl restart postfix”后,目录/文件会重新创建。

然后我在 /var/spool/postfix 上安装了一个逻辑卷,具有相同的权限、所有者、组和 SELinux 上下文。在“systemctl restart postfix”之后,我遇到了各种 SELinux 问题。那么为什么会有区别呢?解决这个问题的正确方法是什么?

目前我有这个自定义的 SELinux 模块,它仍然不完整:

  module postfix_queue 1.0;

  require {
    type postfix_master_t;
    type postfix_spool_t;
    type postfix_pickup_t;
    class capability { fowner fsetid };
    class fifo_file { create open read write unlink getattr setattr };
    class sock_file { create getattr setattr };
  }

  #============= postfix_master_t ==============
  allow postfix_master_t self:capability { fowner fsetid };
  allow postfix_master_t postfix_spool_t:fifo_file { create open read write unlink getattr setattr };
  allow postfix_master_t postfix_spool_t:sock_file { create getattr setattr };
  allow postfix_pickup_t postfix_spool_t:fifo_file { read write };

但我想一定有一个更干净的方法来解决这个问题。有人吗?

相关内容