Recherche de site Web

Comment désactiver les commandes d'arrêt et de redémarrage sous Linux


La commande shutdown planifie une heure de mise hors tension d'un système Linux. Elle peut également être utilisée pour arrêter, éteindre ou redémarrer la machine lorsqu'elle est invoquée avec des options particulières et redémarrer. demande au système de redémarrer.

Certaines distributions Linux telles que Ubuntu, Linux Mint, Mandriva pour n'en citer que quelques-unes, permettent de redémarrer/arrêter/arrêter le système en tant qu'utilisateur normal, par défaut. Ce n’est pas un paramètre idéal, en particulier sur les serveurs, cela doit être un sujet de préoccupation, en particulier pour un administrateur système.

Dans cet article, nous montrerons comment désactiver les commandes shutdown et reboot pour les utilisateurs normaux sous Linux.

Désactiver les commandes d'arrêt et de redémarrage sous Linux

Le moyen le plus simple de désactiver les commandes shutdown et reboot à l'aide du fichier /etc/sudoers, vous pouvez ici spécifier un utilisateur (tecmint<) ou un groupe (développeurs) qui ne sont pas autorisés à exécuter ces commandes.

vi /etc/sudoers

Ajoutez ces lignes à la section Alias de commande.

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

Essayez maintenant d'exécuter les commandes shutdown et reboot en tant qu'utilisateur normal (tecmint).

Une autre méthode consiste à supprimer les autorisations d'exécution sur les commandes shutdown et reboot pour tous les utilisateurs à l'exception de root.

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

Remarque : Sous systemd, ces fichiers (/sbin/shutdown, /sbin/reboot, /sbin/halt, /sbin/poweroff) ne sont que des liens symboliques vers /bin /systèmectl :

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

Pour empêcher d'autres utilisateurs d'exécuter ces commandes, vous supprimeriez simplement les autorisations d'exécution comme expliqué ci-dessus, mais cela n'est pas efficace sous systemd. Vous pouvez supprimer les autorisations d'exécution sur /bin/systemctl, ce qui signifie que tous les autres utilisateurs, à l'exception de root, exécuteront uniquement systemctl.

chmod  o-x /bin/systemctl

Vous souhaiterez peut-être également apprendre comment désactiver certaines fonctionnalités telles que la connexion root SSH et limiter l'accès SSH, SELinux et les services indésirables sous Linux en lisant ces guides :

  1. Comment activer et désactiver la connexion root dans Ubuntu
  2. Comment désactiver SELinux temporairement ou définitivement dans RHEL/CentOS 7/6
  3. Désactiver ou activer la connexion racine SSH et limiter l'accès SSH sous Linux
  4. Comment arrêter et désactiver les services indésirables du système Linux

C'est ça! Dans cet article, nous avons montré comment désactiver les commandes d'arrêt et de redémarrage pour les utilisateurs normaux du système sous Linux. Connaissez-vous une autre façon de procéder, partagez-la avec nous dans les commentaires.