如何让 SELinux 允许访问某个文件?

如何让 SELinux 允许访问某个文件?

我公司拥有一款专有软件,需要访问根级文件。我们称之为它,/secfile因为它与安全/许可证相关。系统运行一个守护进程,将更新的信息写入/secfile。如果阻止此守护进程更新/secfile,则会导致相关许可证无效,因为它认为存在违规行为。

我如何强制 SELinux 允许位于 的守护进程/bin/secdaemon访问/secfile

唯一需要访问(当前不受限制)的其他应用程序/secfile/usr/bin/licensemanager

答案1

好吧,最简单的方法是禁用 SELinux,但我不推荐这样做:

setenforce 0

或者您可以创建一个规则以允许它写入、运行或执行任何它需要执行但目前被阻止的操作。为此,请检查您的系统日志文件并复制“拒绝”的行,它应该是这样的:

audit(...): avc:  denied  { write } for  pid=27984 comm="httpd" name="httpd" dev=sda6 ino=307469 scontext=root:system_r:httpd_t:s0 tcontext=system_u:object_r:usr_t:s0 tclass=...

复制并运行以下命令:

audit2allow -M local << _EOF_
(paste the content)
_EOF_

然后运行:

semodule -i local.pp

这将为其创建一个永久规则,因此您不需要禁用 SELinux。

相关内容