Ricerca nel sito web

Come disabilitare i comandi di spegnimento e riavvio in Linux


Il comando shutdown pianifica un orario per lo spegnimento di un sistema Linux, può anche essere utilizzato per arrestare, spegnere o riavviare la macchina quando richiamato con opzioni particolari e riavviare ordina al sistema di riavviarsi.

Alcune distribuzioni Linux come Ubuntu, Linux Mint, Mandriva, solo per citarne alcune, consentono di riavviare/arrestare/spegnere il sistema come utente normale, per impostazione predefinita. Questa non è l'impostazione ideale soprattutto sui server, deve essere qualcosa di cui preoccuparsi soprattutto per un amministratore di sistema.

In questo articolo, mostreremo come disabilitare i comandi di spegnimento e riavvio per i normali utenti di Linux.

Disabilita i comandi di spegnimento e riavvio in Linux

Il modo più semplice per disabilitare i comandi shutdown e reboot utilizzando il file /etc/sudoers, qui puoi specificare un utente (tecmint<) o gruppo (sviluppatori) a cui non è consentito eseguire questi comandi.

vi /etc/sudoers

Aggiungi queste righe alla sezione Alias di comando.

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

Ora prova ad eseguire i comandi shutdown e reboot come utente normale (tecmint).

Un altro modo è rimuovere i permessi di esecuzione sui comandi di spegnimento e riavvio per tutti gli utenti tranne root.

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

Nota: sotto systemd, questi file (/sbin/shutdown, /sbin/reboot, /sbin/halt, /sbin/poweroff) sono solo collegamenti simbolici a /bin /sistemactl:

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

Per impedire ad altri utenti di eseguire questi comandi, rimuoveresti semplicemente i permessi di esecuzione come spiegato sopra, ma ciò non è efficace con systemd. Puoi rimuovere i permessi di esecuzione su /bin/systemctl, il che significa che tutti gli altri utenti tranne root eseguiranno solo systemctl.

chmod  o-x /bin/systemctl

Potresti anche voler imparare come disabilitare alcune funzionalità come l'accesso root SSH e limitare l'accesso SSH, SELinux, servizi indesiderati in Linux leggendo queste guide:

  1. Come abilitare e disabilitare l'accesso root in Ubuntu
  2. Come disabilitare SELinux temporaneamente o permanentemente in RHEL/CentOS 7/6
  3. Disabilita o abilita l'accesso root SSH e limita l'accesso SSH in Linux
  4. Come arrestare e disattivare i servizi indesiderati dal sistema Linux

Questo è tutto! In questo articolo, abbiamo mostrato come disabilitare i comandi di spegnimento e riavvio per i normali utenti del sistema Linux. Conosci qualche altro modo per farlo, condividilo con noi nei commenti.