![套接字和 PID 的 SELinux 权限](https://linux22.com/image/670336/%E5%A5%97%E6%8E%A5%E5%AD%97%E5%92%8C%20PID%20%E7%9A%84%20SELinux%20%E6%9D%83%E9%99%90.png)
我正在考虑米尔特安装在 CentOS 7 机器上。我正在尝试找出守护进程需要哪些 SELinux 标签/权限才能绑定/写入以下内容
pidfile = /run/rmilter/rmilter.pid; bind_socket = unix:/run/rmilter/rmilter.sock;
以下是 redis 和 rmilter 的比较示例(在 /run 下)
drwxr-xr-x. redis redis system_u:object_r:redis_var_run_t:s0 redis drwxr-xr-x. root root unconfined_u:object_r:var_run_t:s0 rmilter
答案1
我猜您已经检查过您的审计日志(/var/log/audit/audit.log)!
您可以尝试运行 policycoreutils-python 包提供的 audit2allow(您可以使用 yum 安装它),以获取有关您需要配置的策略的更多信息!此工具甚至可以帮助您生成一个策略文件,您可以在之后使用 semodule 加载它!
检查手册页,但 audit2allow -w: 将帮助您了解为什么您的应用程序不适用于当前策略
audit2allow -M policy_name :将帮助您生成策略
然后 semodule -i policy_name.pp:将安装生成的策略(在应用之前不要忘记检查新创建的规则)
例如:我已执行一些命令来使用 apache 和 selinux 配置乘客模块:
grep httpd /var/log/audit/audit.log|audit2allow -w grep httpd /var/log/audit/audit.log|audit2allow -M passenger semodule -i passenger.pp
加油,朱利安