![为什么创建逻辑卷(LVM)后会出现 SELinux 问题?](https://linux22.com/image/708876/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%88%9B%E5%BB%BA%E9%80%BB%E8%BE%91%E5%8D%B7%EF%BC%88LVM%EF%BC%89%E5%90%8E%E4%BC%9A%E5%87%BA%E7%8E%B0%20SELinux%20%E9%97%AE%E9%A2%98%EF%BC%9F.png)
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 };
但我想一定有一个更干净的方法来解决这个问题。有人吗?