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 };
但我想一定有一个更干净的方法来解决这个问题。有人吗?