
Auf meinem Laptop verwende ich die Fedora 17-Distribution zum ersten Mal und habe einige Probleme beim Hinzufügen von Regeln zusemodule
Ein Beispiel:
# grep httpd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp
Und die Ausgabe ist:
libsemanage.semanage_get_lock: Es konnte keine direkte Transaktionssperre unter /etc/selinux/targeted/modules/semanage.trans.LOCK abgerufen werden. (Ressource vorübergehend nicht verfügbar). semodule: Bei mypol.pp fehlgeschlagen!
Ich habe nach Informationen zu diesem Problem gesucht, konnte aber scheinbar nichts finden.
Also, irgendwelche Ideen, wohin wir gehen oder was wir tun können, um dieses Problem zu beheben?
Antwort1
Wahrscheinlich brauchen Sie das jetzt nicht, aber ich habe es gefunden, als ich nach einer Lösung gegoogelt habe. Daher werde ich meine Antwort für alle posten, die sich fragen, wie man das Problem löst.
Lösung:
Wenn Sie eine Fehlermeldung wie die oben genannte zu einer „Sperrdatei“ erhalten und darin steht „Ressource vorübergehend nicht verfügbar“, bedeutet das normalerweise, dass das Programm aus irgendeinem Grund bereits ausgeführt wird und Sie es daher nicht erneut ausführen können.
Sie müssen also das Programm finden und beenden.
Mit dem folgenden Befehl werden die Prozesse im System nach Semodule durchsucht.
$ ps aux | grep semodule
Die Ausgabe sieht ungefähr so aus:
root 6288 0.0 0.1 229084 7652 pts/1 T 22:34 0:00 sudo semanage permissive -a httpd_t
Die zweite Spalte (der Wert 6288) ist die ID des bereits laufenden Prozesses.
Sie können es mit diesem Befehl beenden.
$ sudo kill -9 6288
Diese Antwort hat mir bei der folgenden Lösung ein wenig geholfen.
Antwort2
Ich hatte einen besseren Tag nach:
# setenforce 0 && setenforce 1
Dadurch wird Selinux deaktiviert und dann wieder aktiviert. Dadurch werden alle Race Conditions behoben, die beim gleichzeitigen Verwalten von Einstellungen auftreten können, während Selinux erzwungen wird.