No permita que los usuarios se reinicien mientras la raíz está conectada

9

En mi sistema, los usuarios pueden reiniciar y apagar el sistema. De vez en cuando necesito actualizar el software (o hacer cualquier otra cosa) y no quiero que los usuarios reinicien / apaguen el sistema hasta que haya terminado.

¿Hay alguna manera de evitar que el sistema se reinicie / apague mientras la raíz está conectada (localmente o a través de SSH)?

Inútil
fuente
¿Cómo evitarás que las personas usen el método de fuerza bruta?
Bernhard
@Bernhard probablemente algo con/etc/acpi/powerbtn.sh
PMint

Respuestas:

11

Prueba el guardia de Molly:

$ sudo apt-get install 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:

#!/bin/sh
exit 1

(No mencionaste el sistema operativo, esto es para Ubuntu).

Historia

Si tienes curiosidad, el término molly-guard es como se llama la cubierta sobre un botón rojo. Vea el artículo de Wikipedia en Big Red Button si tiene curiosidad.

extracto

Un Big Red Switch a menudo incluye un molly-guard, una cubierta que se debe levantar para activar el interruptor. El guardia original de Molly fue manipulado por jurado de Plexiglas para evitar que la joven hija de un programador, Molly, presione el BRS en un servidor IBM 4341, después de haberlo hecho dos veces en un día.

Otras distribuciones

Puede tomar el .debpaquete y usarlo alienpara convertirlo a un RPM adecuado para Fedora / RHEL / CentOS.

$ sudo yum install alien
$ alien -r molly-guard*.deb
PMint
fuente
1
+1 nunca ha oído hablar de esta herramienta, la instalará en varios servidores 8-).
slm
1
Herramienta realmente ordenada. En aras de la pregunta específica y la integridad, podría especificar para .bashrc / .bash_logout raíz para habilitar / deshabilitar la parada total. Un condicional en la secuencia de comandos molly-guard que comprueba UID! = 0 también podría ser apropiado.
Joshua Miller