Pesquisa de site

Como desativar comandos de desligamento e reinicialização no Linux


O comando shutdown agenda um horário para um sistema Linux ser desligado, ele também pode ser usado para parar, desligar ou reinicializar a máquina quando invocado com opções específicas e reiniciar instrui o sistema a reiniciar.

Certas distribuições Linux, como Ubuntu, Linux Mint, Mandriva, apenas para mencionar algumas, tornam possível reiniciar/parar/desligar o sistema como um usuário normal, por padrão. Esta não é a configuração ideal, especialmente em servidores; deve ser algo com que se preocupar, especialmente para um administrador de sistema.

Neste artigo, mostraremos como desabilitar os comandos shutdown e reboot para usuários normais no Linux.

Desative comandos de desligamento e reinicialização no Linux

A maneira mais fácil de desabilitar os comandos shutdown e reboot usando o arquivo /etc/sudoers, aqui você pode especificar um usuário (tecmint<) ou grupo (desenvolvedores) que não têm permissão para executar esses comandos.

vi /etc/sudoers

Adicione estas linhas à seção 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

Agora tente executar os comandos shutdown e reboot como usuário normal (tecmint).

Outra maneira é remover as permissões de execução dos comandos shutdown e reboot para todos os usuários, exceto root.

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

Nota: No systemd, esses arquivos (/sbin/shutdown, /sbin/reboot, /sbin/halt, /sbin/poweroff) são apenas links simbólicos para /bin /sistemactl:

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

Para evitar que outros usuários executem esses comandos, você simplesmente removeria as permissões de execução conforme explicado acima, mas isso não é eficaz no systemd. Você pode remover as permissões de execução em /bin/systemctl, o que significa que todos os outros usuários, exceto root, executarão apenas o systemctl.

chmod  o-x /bin/systemctl

Você também pode querer aprender como desabilitar certas funcionalidades, como login root SSH e limitar o acesso SSH, SELinux, serviços indesejados no Linux, lendo estes guias:

  1. Como ativar e desativar o login root no Ubuntu
  2. Como desabilitar o SELinux temporária ou permanentemente no RHEL/CentOS 7/6
  3. Desative ou ative o login raiz SSH e limite o acesso SSH no Linux
  4. Como parar e desativar serviços indesejados do sistema Linux

É isso! Neste artigo, mostramos como desabilitar comandos de desligamento e reinicialização para usuários normais do sistema no Linux. Você conhece alguma outra maneira de fazer isso, compartilhe conosco nos comentários.