Tengo una PC de escritorio Ubuntu 10.04 LTS con GNOME.
¿Cómo puedo desactivar por completo las funciones de reinicio / apagado / suspensión / hibernación en GNOME o incluso con root? Para que la raíz emita el comando "reiniciar" o "pm-suspender" no hace nada, y la máquina continúa. ¿Cómo puedo desactivar por completo estas "características" básicas?
shutdown
ypm-suspend
de/sbin/
y/bin/
Respuestas:
El acceso de los usuarios a estas acciones está controlado por polkit. En particular, corresponden a las siguientes acciones:
org.freedesktop.consolekit.system.stop
org.freedesktop.consolekit.system.restart
org.freedesktop.upower.suspend
org.freedesktop.upower.hibernate
Todas estas acciones están permitidas de forma predeterminada para usuarios locales activos (aunque
consolekit
restringe aún más los dos primeros permisos para que solo funcionen cuando hay un solo usuario conectado al sistema).Si desea deshabilitar estas acciones, cree un archivo que
/etc/polkit-1/50-local.d/disable-shutdown.pkla
contenga algo como:Esto debería evitar que esas acciones se completen. Puede encontrar más información sobre estos archivos de políticas ejecutando
man pklocalauthority
.Sin embargo, si está tratando de restringir
root
, esto solo será un inconveniente menor. Por definición,root
es una cuenta sin restricciones de acuerdo con el sistema de control de acceso discrecional tradicional de UNIX. Si no puede confiar en los usuarios a los que ha dadoroot
acceso completo , entonces tiene problemas más grandes que simplemente apagar el sistema.Tenga en cuenta que en versiones posteriores de Ubuntu alguien decidió romper la compatibilidad. Como se respondió en ¿Cómo deshabilitar el apagado / reinicio de lightdm en 14.04? la acción parece haber cambiado a "org.freedesktop. login1 .reboot" (y similares).
Por ejemplo, en 14.04 agregando las siguientes líneas como
/etc/polkit-1/localauthority/50-local.d/restrict-login-powermgmt.pkla
trabajos:Además, tenga en cuenta que este método bloquea únicamente los comandos de reinicio / etc emitidos desde la GUI. Para bloquear los comandos de reinicio / etc. de la línea de comandos, ¿se puede usar molly-guard, como se explica en Deshabilitar el comando de apagado para todos los usuarios, incluso la raíz, consecuencias?
fuente
Considere instalar molly-guard .
Este paquete evitará el apagado / reinicio / suspensión / suspensión involuntaria al solicitarle interactivamente que ingrese el nombre de host del sistema.
Sin embargo, es trivial configurar molly-guard para desactivar por completo el apagado / reinicio / suspensión / hibernación. Simplemente cree un archivo ejecutable en /etc/molly-guard/run.d/99-prevent-all que contenga esto:
Tenga en cuenta que solo protege contra los comandos emitidos desde la línea de comandos, el apagado / reinicio / suspensión / hibernación emitido desde la GUI lo omite. Para bloquear también la GUI usando el reinicio, se pueden usar reglas de polkit .
fuente
fuente
/bin/systemctl
y eliminarán el bit ejecutable. Este es un ejecutable crítico que también controlaservice SERVICE_NAME [stop|start|restart]
. Es probable que su sistema ya no arranque (si puede hacer que se apague)./bin/systemctl
se establece en solo lectura-escritura-rw-r--r-- 1 root root
Sobre la base de la respuesta de OP, puedes hacer
Esto cambia el nombre de los enlaces simbólicos y los reemplaza con archivos en blanco. Esto evitará el cierre de la línea de comandos, no sé si los comandos de la GUI lo llaman o hacen lo suyo, por lo que es posible que también deba hacer la respuesta aceptada.
fuente