在(SVS-V)IPC信号量上配置SELinux权限

Bra*_*rad 12 linux ipc selinux

我有一堆使用IPC信号量进行交互的程序(semget).

其中一个程序是一个Apache模块,它运行在(某种)受限制的SELinux上下文中(我不太了解).

该模块能够正确地与任何常规文件交互,如果文件当然正确设置了SELinux安全上下文.

但是 - 当我的(模块)访问IPC信号量时,semget调用失败并带有EPERM.当SELinux关闭时,我没有收到此错误.

所以 - 显然我需要做一些事情来设置某种SELinux安全上下文或Semaphore上的东西才能使其工作.如果是常规文件,我可以在其上调用"chcon".由于它是System-V IPC信号量,我不能这样做.

我能做些什么才能做到这一点?

Dan*_*ruz 2

让SELinux适应您需要的更改的基本步骤是:

  1. 启用宽容模式
  2. 捕捉否认
  3. 添加新的策略模块或修改现有的策略模块
  4. 启用强制模式并测试

具体如何执行这些步骤取决于您使用的 Linux 发行版;这里是CentOSDebianGentooRedHatUbuntu的参考。您还可以从NSA找到 SELinux 信息。我发现的最好的文档来自 Gentoo:步骤 1步骤 2步骤 3步骤 4

正如@smassey 指出的,您很可能需要修改某些IPC 权限