我公司拥有一款专有软件,需要访问根级文件。我们称之为它,/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。