Когда я бегу
sudo systemctl disable avahi-daemon.socket
я получил
Failed to execute operation: Access denied
Но он запускается с правами root, как запретить доступ? (CentOS 7)
centos
administrator
systemctl
spraff
источник
источник
journalctl -xe
чтобы выяснить, почему это происходит.Ответы:
Я также работаю над CentOS 7, и у меня была похожая проблема:
Отказ связан с SELinux. Это может быть ваш случай, если вы используете SELinux в
enforcing
режиме:В моем случае
systemctl
ошибка привела кUSER_AVC
отказу в файле журнала SELinux/var/log/audit/audit.log
:Решение
В этой статье говорится, что это происходит из-за ошибки в systemd, и предоставляется обходной путь:
Вторичное решение
Если вышеописанное не сработало, вы можете установить режим SELinux на
permissive
:и это должно работать нормально. Однако это второе решение имеет последствия для безопасности.
источник
Removed symlink
этого я получаю не вывод, а потомsystemctl disable avahi-daemon.socket
audit.log
setenforce 0
systemctl disable avahi-daemon.socket
после успехаsetenforce 0
безsystemctl daemon-reexec
(и теперь я понимаю, чтоunmask
это ваша команда, а не моя :-)) Можно ли делать это иsetenforce 1
после?setenforce 0
в моем ответе тогда.setenforce 0
. Это плохая практика в производственной среде. Пожалуйста, используйтеsystemctl daemon-reexec
вместо этого.В моем случае я только что обновился,
systemd
и любаяsystemctl
команда не работала:Однако, в соответствии с
init
man-страницей, вы можете сделать то же самое, отправивSIGTERM
демону, работающему как PID 1, который сработал:Это перезагрузило демон, после чего все
systemctl
команды снова начали работать.источник
Ни одно из решений не сработало для меня. Оказалось, что в одной из строк в моем файле .service отсутствует знак =. Я обнаружил это, просмотрев / var / log / messages и увидел там ошибку, которая была более наглядной. Таким образом, доступ запрещен вводит в заблуждение. Это была не проблема безопасности.
источник