Cuando corro
sudo systemctl disable avahi-daemon.socket
yo obtengo
Failed to execute operation: Access denied
Pero se ejecuta como root, ¿cómo se puede denegar el acceso? (CentOS 7)
centos
administrator
systemctl
rociar
fuente
fuente
journalctl -xe
para descubrir por qué sucede esto.Respuestas:
También trabajo en CentOS 7 y tuve un problema similar:
La negación tiene que ver con SELinux. Este puede ser su caso si está ejecutando SELinux en
enforcing
modo:En mi caso, el
systemctl
error hubiera producido unaUSER_AVC
denegación de archivo de registro de SELinux,/var/log/audit/audit.log
:Solución
Este artículo indica que se debe a un error en systemd y proporciona una solución:
Solución secundaria
Si lo anterior no funcionó, puede configurar el modo SELinux para
permissive
:y debería funcionar bien. Sin embargo, esta segunda solución tiene implicaciones de seguridad.
fuente
Removed symlink
y luegosystemctl disable avahi-daemon.socket
falla como antes, produciendo la misma línea enaudit.log
setenforce 0
systemctl disable avahi-daemon.socket
tiene éxito despuéssetenforce 0
sinsystemctl daemon-reexec
(y me doy cuenta ahora de queunmask
es su comando, no el mío :-)) ¿Está bien hacer esto ysetenforce 1
después?setenforce 0
en mi respuesta entonces.setenforce 0
. Esta es una mala práctica en el entorno de producción. Por favor, usesystemctl daemon-reexec
en su lugar.En mi caso, acababa de actualizar
systemd
y cualquiersystemctl
comando fallaba:Sin embargo, de acuerdo con la página de
init
manual, puede hacer lo mismo enviandoSIGTERM
al demonio que se ejecuta como PID 1, que funcionó:Esto volvió a cargar el demonio, después de lo cual todos los
systemctl
comandos comenzaron a funcionar nuevamente.fuente
Ninguna de las soluciones funcionó para mí. Resultó que faltaba un signo = en una de las líneas de mi archivo .service. Descubrí esto mirando / var / log / messages y vi un error allí que era más descriptivo. Por lo tanto, el acceso denegado fue engañoso. No fue realmente un problema de seguridad.
fuente