Ausführen eines bash-Skripts im Netzwerknamensraum mit Durchsetzung von systemd und selinux?
Ich habe ein Skript, das in einem Netzwerknamespace (ip netns exec) ausgeführt werden muss, und ich habe eine systemd-Servicedatei geschrieben.
Es kann jedoch nicht gestartet werden, berichtet journalctl -xe:
ip [7918]: exec von "/usr/share/stats/run_collect.sh" fehlgeschlagen: Berechtigung abgelehnt
Die Dienstdatei führt den Befehl als aus (es ist ein instanziierter Dienst).
ExecStart=/sbin/ip netns exec ns%i /usr/share/stats/run_collect.sh %i
Selinux ist im Modus erzwungen, und damit es funktioniert, muss ich laufen semanage permissive -a ifconfig_t
.
Ohne dass das Skript nicht ausgeführt wird,
Bei meinen verschiedenen Versuchen kam ich in eine Situation, die ich nicht reproduzieren kann, wo das Skript gestartet wurde, aber dann fehlgeschlagen ist, weil der vom Skript gestartete Prozess tcpdump den richtigen Selinux-Kontext verfehlt hat, um in eine Protokolldatei in / var / log / stats / geschrieben zu werden. . (Ich glaube, ich bin in diese Situation geraten, als ich es ausgegeben hatte semanage fcontext -a -t ifconfig_exec_t /usr/share/stats/run_collect.sh
und es mit beantragte restorecon -Frvv /usr/share/stats/
. Wiederholen funktioniert jedoch nicht ...)
Was ist der beste Ansatz, um dies zu erreichen, ohne die Domäne ifconfig_t als zulässig zu definieren?
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4