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 :
- Comment activer et désactiver la connexion root dans Ubuntu
- Comment désactiver SELinux temporairement ou définitivement dans RHEL/CentOS 7/6
- Désactiver ou activer la connexion racine SSH et limiter l'accès SSH sous Linux
- 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.