En tant qu’administrateur système, vous effectuerez inévitablement des maintenances système planifiées à un moment donné. À quelques reprises, votre système peut également rencontrer un ou plusieurs problèmes et vous serez contraint de l’arrêter pour résoudre le(s) problème(s). Quelle que soit la situation, il est judicieux d’empêcher les utilisateurs non-root (normaux) de se connecter au système.
Lire aussi : Désactiver ou activer la connexion root SSH et limiter l’accès SSH dans Linux
Dans cet article, nous décrirons comment bloquer les connexions des utilisateurs non-root en utilisant le fichier /etc/nologin ainsi qu’un shell nologin sous Linux. Nous verrons comment définir un message expliquant aux utilisateurs ce qui se passe réellement.
Comment bloquer les connexions d’utilisateurs en utilisant le fichier /etc/nologin
La fonction principale du fichier /etc/nologin est d’afficher un message (stocké dans le fichier) aux utilisateurs tentant de se connecter à un système pendant le processus d’arrêt.
Une fois que le message a été affiché à l’utilisateur, la procédure de connexion se termine, empêchant l’utilisateur de se connecter au système.
Cela peut être utilisé pour bloquer la connexion de l’utilisateur en créant manuellement le fichier comme suit.
# vi /etc/nologin
Ajoutez le message ci-dessous au fichier, qui sera affiché aux utilisateurs tentant de se connecter au système.
The Server is down for a routine maintenance. We apologize for any inconvenience caused, the system will be up and running in 1 hours time. For more information, contact the system admin [email protected].
Maintenant, vous pouvez tester si tout fonctionne ; comme vous pouvez le voir sur la capture d’écran ci-dessous, un utilisateur normal tecmint
ne peut pas se connecter.

Comment bloquer les connexions utilisateur en utilisant la coquille nologin
Cette méthode fonctionne un peu différemment : elle bloque uniquement un utilisateur d’accéder à une coquille. Mais il ou elle peut se connecter au système via des programmes tels que ftp ne nécessitant pas nécessairement une coquille pour que l’utilisateur se connecte au système.
De plus, cela vous permet de bloquer l’accès à la coquille à des utilisateurs spécifiques dans des scénarios spéciaux.
Sur RHEL/CentOS/Fedora
Il suffit d’utiliser la commande chsh (changer de coquille) pour changer la coquille des utilisateurs dans le fichier /etc/passwd de quelque chose comme /bin/bash
ou /bin/sh
à /sbin/nologin
signifiant refuser une connexion.
# chsh -s /bin/nologin tecmint
Sur Debian/Ubuntu
Ici, vous devez utiliser le fichier /bin/false. La commande ci-dessous change la coquille de l’utilisateur tecmint en /bin/false
signifiant ne rien faire (après que l’utilisateur a fourni les informations de connexion) :
$ sudo chsh -s /bin/false tecmint
Vous pourriez également être intéressé par la lecture des articles connexes suivants.
- Comment activer et désactiver la connexion de root dans Ubuntu
- Réinitialisation/Récupération du mot de passe du compte utilisateur root oublié dans RHEL/CentOS 7
- Comment Restreindre les Utilisateurs SFTP aux Répertoires Personnel en Utilisant la Prison Chroot
- Comment Définir et Supprimer des Variables d’Environnement Locales, Utilisateur et Système sur Linux
C’est tout pour le moment ! Si vous avez des questions ou des idées supplémentaires à partager concernant ce sujet, utilisez le formulaire de commentaire ci-dessous.
Source:
https://www.tecmint.com/block-or-disable-normal-user-logins-in-linux/