Para sistemas más nuevos con systemd, esto ha sido resuelto por systemd-inhibit
. Ejemplo de uso:
systemd-inhibit --why="Doing weekly backup" bash my-backups.sh
Entonces, si un usuario intenta apagarlo, no se le permitirá a menos que sea forzado.
❯ systemctl poweroff
Operation inhibited by "bash my-backups.sh" (PID 2414 "systemd-inhibit", user ntrrgc),
reason is "Doing weekly backup".
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl poweroff -i'.
Ejecute which shutdown
para ver dónde está la ruta al programa de apagado. Puede cambiar el nombre del archivo, aunque no lo recomiendo.
Otro método (más seguro). Usa un alias:alias shutdown=' '
Algo así es más reversible. Si intenta evitar el apagado de todos los usuarios, agregue el alias globalmente.
Deshabilite los comandos similares a "apagar/reiniciar/apagar/detener/nombre de host" en servidores de misión crítica
chmod 0 /sbin/shutdown
luego, si necesita usarlo, vuelva a cambiarlo a chmod 0755
.