Recherche de site Web

Comment bloquer ou désactiver les connexions utilisateur normales sous Linux


En tant qu'administrateur système, vous effectuerez inévitablement des maintenances planifiées du système à un moment ou à un autre. Parfois, votre système peut également rencontrer des problèmes et vous serez obligé de le mettre hors tension pour résoudre le ou les problèmes. Quelles que soient les situations, c'est une bonne idée d'empêcher les utilisateurs non root (normaux) de se connecter au système.

Lire aussi : Désactiver ou activer la connexion racine SSH et limiter l'accès SSH sous Linux

Dans cet article, nous décrirons comment bloquer les connexions des utilisateurs non root à l'aide du fichier /etc/nologin ainsi que d'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 des utilisateurs à l'aide du fichier /etc/nologin

La fonction principale du fichier /etc/nologin est d'afficher un message (stocké dans le fichier) aux utilisateurs qui tentent de se connecter à un système pendant le processus d'arrêt.

Une fois le message 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 . 

Vous pouvez maintenant 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 des utilisateurs à l'aide de Nologin Shell

Cette méthode fonctionne un peu différemment : elle bloque uniquement l'accès d'un utilisateur à un shell. Mais il ou elle peut se connecter au système via des programmes tels que ftp qui ne nécessitent pas nécessairement un shell pour que l'utilisateur se connecte à un système.

De plus, il peut vous permettre de bloquer l'accès au shell à des utilisateurs spécifiques dans des scénarios spéciaux.

Sur RHEL/CentOS/Fedora

Utilisez simplement la commande chsh (change shell) pour changer le shell de l'utilisateur dans le fichier /etc/passwd à partir de quelque chose comme /bin/bash ou /bin/sh à /sbin/nologin ce qui signifie refuser une connexion.

chsh -s /bin/nologin tecmint

Sur Debian/Ubuntu

Ici, vous devez utiliser le fichier /bin/false. La commande ci-dessous modifie le shell de l'utilisateur tecmint en /bin/false, ce qui signifie ne rien faire (une fois que l'utilisateur a fourni ses informations de connexion) :

sudo chsh -s /bin/false tecmint

Vous aimerez peut-être également lire les articles connexes suivants.

  1. Comment activer et désactiver la connexion root dans Ubuntu
  2. Réinitialisation/récupération du mot de passe du compte utilisateur root oublié dans RHEL/CentOS 7
  3. Comment restreindre les utilisateurs SFTP aux répertoires personnels à l'aide de chroot Jail
  4. Comment définir et supprimer des variables d'environnement locales, utilisateur et système sous 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 commentaires ci-dessous.