Wenn ich renne
sudo systemctl disable avahi-daemon.socket
Ich bekomme
Failed to execute operation: Access denied
Aber es wird als root ausgeführt. Wie kann der Zugriff verweigert werden? (CentOS 7)
centos
administrator
systemctl
spraff
quelle
quelle
journalctl -xe
um herauszufinden, warum dies geschieht.Antworten:
Ich arbeite auch an CentOS 7 und hatte ein ähnliches Problem:
Die Ablehnung hat mit SELinux zu tun. Dies kann der Fall sein, wenn Sie SELinux im
enforcing
Modus ausführen :In meinem Fall hatte der
systemctl
Fehler eineUSER_AVC
Ablehnung in der SELinux-Protokolldatei zur Folge/var/log/audit/audit.log
:Lösung
Dieser Artikel gibt an, dass es sich um einen Fehler in systemd handelt, und bietet eine Problemumgehung:
Sekundäre Lösung
Wenn dies nicht funktioniert hat, können Sie den SELinux-Modus folgendermaßen einstellen
permissive
:und es sollte gut funktionieren. Diese zweite Lösung hat jedoch Auswirkungen auf die Sicherheit.
quelle
Removed symlink
und danachsystemctl disable avahi-daemon.socket
nicht wie zuvor, in die gleiche Linie produzierenaudit.log
setenforce 0
systemctl disable avahi-daemon.socket
Gelingt das nachhersetenforce 0
ohnesystemctl daemon-reexec
(und mir ist jetzt klar, dass dasunmask
dein Befehl ist, nicht meiner :-)) Ist es in Ordnung, dies einfach undsetenforce 1
nachher zu tun ?setenforce 0
in meiner Antwort.setenforce 0
. Dies ist eine schlechte Praxis in der Produktionsumgebung. Bitte verwenden Siesystemctl daemon-reexec
stattdessen.In meinem Fall hatte ich gerade ein Upgrade durchgeführt
systemd
und einsystemctl
Befehl schlug fehl:Der
init
Manpage zufolge können Sie jedoch dasselbe tun, indem SieSIGTERM
an den Daemon senden , der als PID 1 ausgeführt wird. Das hat funktioniert:Dadurch wurde der Dämon neu geladen, wonach alle
systemctl
Befehle wieder funktionierten.quelle
Keine der beiden Lösungen hat bei mir funktioniert. Es stellte sich heraus, dass in einer der Zeilen meiner .service-Datei ein fehlendes = Zeichen vorhanden war. Ich entdeckte dies, indem ich / var / log / messages ansah und dort einen Fehler entdeckte, der aussagekräftiger war. Der Zugriff verweigert war also irreführend. Es war kein wirkliches Sicherheitsproblem.
quelle