Kiedy biegnę
sudo systemctl disable avahi-daemon.socket
dostaję
Failed to execute operation: Access denied
Ale działa jako root, jak można odmówić dostępu? (CentOS 7)
centos
administrator
systemctl
spraff
źródło
źródło
journalctl -xe
aby dowiedzieć się, dlaczego tak się dzieje.Odpowiedzi:
Pracuję również na CentOS 7 i miałem podobny problem:
Odmowa dotyczy SELinuksa. Może tak być w przypadku, gdy używasz SELinux w
enforcing
trybie:W moim przypadku
systemctl
błąd spowodowałUSER_AVC
odmowę w pliku dziennika SELinux/var/log/audit/audit.log
:Rozwiązanie
W tym artykule stwierdzono, że jest to spowodowane błędem w systemie, i przedstawiono obejście:
Rozwiązanie wtórne
Jeśli powyższe nie działało, możesz ustawić tryb SELinux na
permissive
:i powinno działać dobrze. To drugie rozwiązanie ma jednak wpływ na bezpieczeństwo.
źródło
Removed symlink
a potemsystemctl disable avahi-daemon.socket
zawodzi jak poprzednio, produkując ten sam wiersz inaudit.log
setenforce 0
systemctl disable avahi-daemon.socket
powiedzie się posetenforce 0
bezsystemctl daemon-reexec
(i zdaję sobie sprawę, terazunmask
to polecenie, nie moja :-)) Czy to jest w porządku, po prostu to zrobić isetenforce 1
po?setenforce 0
w mojej odpowiedzi.setenforce 0
. Jest to zła praktyka w środowisku produkcyjnym. Użyjsystemctl daemon-reexec
zamiast tego.W moim przypadku właśnie zaktualizowałem
systemd
i każdesystemctl
polecenie nie działa:Jednak według strony
init
podręcznika możesz zrobić to samo, wysyłającSIGTERM
do demona działającego jako PID 1, który działał:To przeładowało demona, po czym wszystkie
systemctl
polecenia znów zaczęły działać.źródło
Żadne z tych rozwiązań nie działało dla mnie. Okazało się, że w jednym z wierszy w moim pliku .service był brakujący znak =. Odkryłem to, szukając / var / log / messages i zobaczyłem tam błąd, który był bardziej opisowy. Odmowa dostępu wprowadzała w błąd. To nie był tak naprawdę problem bezpieczeństwa.
źródło