Comment désactiver les connexions d’utilisateurs sous Linux ?

By Thomas GROLLEAU

Désactiver les connexions utilisateurs sous Linux est essentiel pour sécuriser les systèmes, contrôler les accès et préserver la stabilité des environnements partagés. Ce besoin touche autant les administrateurs systèmes en entreprise que les utilisateurs avancés à domicile.

Dans cet article, nous explorons les méthodes recommandées pour restreindre ou bloquer les connexions, dans le respect des meilleures pratiques de sécurité.

À retenir :

  • Verrouiller un compte Linux n’implique pas forcément sa suppression, il existe des alternatives réversibles.
  • Le shell /sbin/nologin ou la création du fichier /etc/nologin sont des solutions efficaces pour bloquer l’accès.
  • Les règles réseau, scripts et politiques de sécurité automatisent la gestion d’accès à grande échelle.

Sécuriser un compte Linux sans le supprimer

“Désactiver un utilisateur ne veut pas dire l’effacer, mais le protéger.”

Alain Lorent, expert systèmes

Lorsqu’un utilisateur ne doit plus accéder au système temporairement ou définitivement, désactiver les connexions Linux permet de bloquer ses actions tout en gardant ses fichiers et permissions intactes.

Verrouillage via commandes système

Deux commandes simples permettent de verrouiller un compte utilisateur :

  • usermod -L nom_utilisateur : ajoute un caractère ! devant le mot de passe.
  • passwd -l nom_utilisateur : rend le mot de passe inutilisable.
A lire également :  Les arnaques de Wordle sur iPhone et Android

Ces méthodes sont réversibles via usermod -U ou passwd -u.

Changement de shell vers /sbin/nologin

Modifier le shell empêche l’ouverture d’une session :

usermod -s /sbin/nologin nom_utilisateur

Ce mécanisme est discret et efficace. Il peut être combiné à une alerte via /etc/nologin.

« J’ai utilisé cette méthode sur nos serveurs en production pour isoler les comptes temporaires tout en préservant les logs. »

Témoignage d’un sysadmin freelance

Gérer les accès pendant les périodes de maintenance

Désactiver l’accès aux utilisateurs pendant des interventions critiques permet d’éviter tout incident. La commande Linux /etc/nologin est la plus directe.

Création d’un fichier /etc/nologin

Il suffit de créer ce fichier avec un message personnalisé :

echo « Maintenance en cours. Veuillez réessayer plus tard. » > /etc/nologin

Tous les utilisateurs (sauf root) sont bloqués avec ce message.

Désactivation programmée via chage

Pour planifier une expiration :

chage -E 2025-04-30 nom_utilisateur

C’est utile pour les comptes temporaires ou en fin de contrat.

« Grâce à chage, nous avons automatisé les expirations d’accès pour les stagiaires de fin de mission. »

Retour d’expérience d’un DSI en milieu académique

Appliquer les politiques de sécurité d’entreprise

“L’automatisation est la clé pour respecter la conformité des accès.”

Pascal Deniau, auditeur en cybersécurité

Certaines industries doivent documenter et automatiser la désactivation d’accès utilisateur pour répondre à des normes strictes (RGPD, ISO 27001, PCI DSS…).

Scripts d’automatisation

Un script Bash peut regrouper les étapes de verrouillage, changement de shell et notification :

#!/bin/bash
usermod -L $1
usermod -s /sbin/nologin $1
logger « Compte $1 désactivé selon politique interne »

A lire également :  Forfaits mobiles chez Sosh : les meilleures offres en 2025

Journalisation dans /var/log/secure

Pour assurer la traçabilité, chaque action doit être loguée.

« Un script déclenché par webhook via GitLab CI nous a permis de désactiver automatiquement les comptes en fin de projet. »

Témoignage d’un responsable DevOps

Tableau des principales méthodes de désactivation d’utilisateur sous Linux

MéthodeCommande principaleEffetRéversibilité
Verrouillage par mot de passepasswd -l userDésactive le loginOui
Verrouillage du compteusermod -L userRend le compte inutilisableOui
Shell non interactifusermod -s /sbin/nologin userBloque la sessionOui
Fichier /etc/nologinecho > /etc/nologinDésactive tous les comptesOui
Expiration planifiéechage -E YYYY-MM-DD userCompte expiré à date donnéeOui

Utiliser les outils réseau pour bloquer l’accès SSH

“Limiter les connexions SSH, c’est construire la première ligne de défense.”

Julien Fort, architecte réseau

Empêcher les connexions SSH est une solution directe pour bloquer l’accès distant à un compte.

Modifier le fichier sshd_config

Bloquer le login root :

PermitRootLogin no

Restreindre certains utilisateurs :

DenyUsers utilisateur1 utilisateur2

Filtrage par adresse IP avec iptables

Permet de bloquer ou autoriser des plages d’adresses :

iptables -A INPUT -s 192.168.1.0/24 -p tcp –dport 22 -j ACCEPT

« Nous avons mis en place ce système sur un serveur exposé à l’international. Depuis, les tentatives de brute force ont chuté de 95%. »

Administrateur réseau chez un hébergeur cloud

Et vous, quelles méthodes utilisez-vous pour désactiver un utilisateur sous Linux ? Partagez vos pratiques ou astuces dans les commentaires !