在我的笔记本电脑上,我第一次使用 Fedora 17 发行版,在添加规则时遇到了一些问题semodule
一个例子:
# grep httpd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp
输出为:
libsemanage.semanage_get_lock:无法在 /etc/selinux/targeted/modules/semanage.trans.LOCK 获取直接事务锁。(资源暂时不可用)。semodule:mypol.pp 失败!
我搜索了与该问题相关的信息,但似乎什么也没找到。
那么,对于去哪里或做什么来解决这个问题,您有什么想法吗?
答案1
您现在可能不需要这个,但我通过谷歌搜索解决方案找到了这个,所以我会为任何想知道如何解决这个问题的人发布我的答案。
解决方案:
当您收到有关“锁定文件”的上述错误消息并且显示“资源暂时不可用”时,通常意味着由于某种原因该程序已在运行,因此您无法再次运行它。
因此您需要找到该程序并结束它。
运行以下命令在系统进程中搜索 semodule
$ ps aux | grep semodule
它将返回类似这样的输出:
root 6288 0.0 0.1 229084 7652 pts/1 T 22:34 0:00 sudo semanage permissive -a httpd_t
第二列(值 6288)是正在运行的进程的 id。
您可以用此命令将其杀死。
$ sudo kill -9 6288
答案2
之后我度过了更好的一天:
# setenforce 0 && setenforce 1
这将禁用然后启用 selinux,从而解决 selinux 强制执行时可能同时发生管理设置的任何竞争条件。