
私のラップトップでは初めて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
2 番目の列 (値 6288) は、すでに実行中のプロセスの ID です。
このコマンドで強制終了できます。
$ sudo kill -9 6288
答え2
その後は良い一日になりました。
# setenforce 0 && setenforce 1
これにより、selinux が無効になってから有効になり、selinux の適用中に同時に設定を管理する際に発生する可能性のある競合状態が解決されます。