
Tengo un grupo de PC de escritorio Ubuntu Trusty en mi oficina y, por lo general, les envío ssh e instalo actualizaciones de forma remota desde la línea de comandos. Desafortunadamente, a veces los usuarios locales deciden apagar esas PC, interrumpiendo el proceso de actualización.
Me gustaría evitar que esos usuarios apaguen, reinicien o suspendan sus PC cuando hay una sesión SSH activa. ¿Cómo puedo hacerlo?
Lo intenté molly-guard
, pero no impide que los usuarios de GUI apaguen el sistema (no parece afectar a los usuarios de GUI).
También vi esta pregunta, pero no entendí si se aplica también a Ubuntu 14.04 LTS o no (y no estoy seguro de cómo aplicarla):
deshabilite el apagado/suspensión si hay otro usuario conectado a través de ssh
Respuesta1
Esto se puede hacer usando una política PolKit, si tiene privilegios de administrador.
Cree un .pkla
archivo en /etc/polkit-1/localauthority/50-local.d
(digamos disable-shutdown.pkla
), que contenga:
[Disable Shutdown, etc.]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no
La -multiple-sessions
parte es para cuando varios usuarios inician sesión; hay acciones similares sin ese sufijo. Esto deshabilita estas acciones desde la GUI, hasta donde yo sé.
Tenga en cuenta que este método solo bloquea los comandos de reinicio, etc., emitidos desde la GUI. Para bloquear los comandos de reinicio, etc. desde la línea de comandos, se puede usar molly-guard, como se explica enDeshabilitar el comando de apagado para todos los usuarios, incluso root: ¿consecuencias?