Cómo deshabilitar los comandos de apagado y reinicio en Linux


El comando shutdown programa una hora para que un sistema Linux se apague, también puede usarse para detener, apagar o reiniciar la máquina cuando se invoca con opciones particulares y reiniciar le indica al sistema que se reinicie.

Ciertas distribuciones de Linux como Ubuntu, Linux Mint, Mandriva, solo por mencionar algunas, permiten reiniciar/detener/apagar el sistema como un usuario normal, de forma predeterminada. Esta no es la configuración ideal, especialmente en servidores, debe ser algo de lo que preocuparse especialmente para un administrador de sistemas.

En este artículo, mostraremos cómo deshabilitar los comandos de apagado y reinicio para usuarios normales en Linux.

Deshabilitar los comandos de apagado y reinicio en Linux

La forma más fácil de deshabilitar los comandos de apagado y reinicio usando el archivo/etc/sudoers, aquí puede especificar un usuario (tecmint) o grupo (desarrolladores) que no están autorizados a ejecutar estos comandos.

# vi /etc/sudoers

Agregue estas líneas a la sección Command Aliases.

Cmnd_Alias     SHUTDOWN = /sbin/shutdown,/sbin/reboot,/sbin/halt,/sbin/poweroff

# User privilege specification
tecmint   ALL=(ALL:ALL) ALL, !SHUTDOWN

# Allow members of group sudo to execute any command
%developers  ALL=(ALL:ALL) ALL,  !SHUTDOWN

Ahora intente ejecutar los comandos de apagado y reinicio como usuario de normail (tecmint).

Otra forma es eliminar los permisos de ejecución en los comandos de apagado y reinicio para todos los usuarios excepto root.

# chmod o-x /sbin/shutdown
# chmod o-x /sbin/reboot

Nota: En systemd, estos archivos (/ sbin/shutdown,/sbin/reboot,/sbin/halt,/sbin/poweroff) son solo enlaces simbólicos a/bin/systemctl:

# ls -l /sbin/shutdown
# ls -l /sbin/reboot
# ls -l /sbin/halt
# ls -l /sbin/poweroff

Para evitar que otros usuarios ejecuten estos comandos, simplemente eliminaría los permisos de ejecución como se explicó anteriormente, pero esto no es efectivo en systemd. Puede eliminar los permisos de ejecución en /bin/systemctl , lo que significa que todos los demás usuarios, excepto root, solo ejecutarán systemctl.

# chmod  o-x /bin/systemctl

También puede aprender cómo deshabilitar ciertas funcionalidades como el inicio de sesión SSH root y limitar el acceso SSH, SELinux, servicios no deseados en Linux leyendo estas guías:

  1. Cómo habilitar y deshabilitar el inicio de sesión raíz en Ubuntu
  2. Cómo deshabilitar SELinux temporal o permanentemente en RHEL/CentOS 7/6
  3. Deshabilite o habilite el inicio de sesión de raíz SSH y limite el acceso SSH en Linux
  4. Cómo detener y deshabilitar servicios no deseados del sistema Linux

¡Eso es! En este artículo, mostramos cómo deshabilitar los comandos de apagado y reinicio para usuarios normales del sistema en Linux. ¿Conoces alguna otra forma de hacerlo? Compártelo con nosotros en los comentarios.