Comment désactiver l’accès Shell au compte d’utilisateur sous Linux

Par défaut, lors de la création d’un compte utilisateur sous Linux, l’utilisateur aura explicitement un accès SSH. Il existe des situations où les comptes d’utilisateurs n’ont pas besoin d’un accès shell à FTP, mails ou ssh.

Dans ce didacticiel, apprenons à désactiver l’accès au shell pour un utilisateur Linux existant ou à créer un nouvel utilisateur sans accès au shell.

Créer un nouvel utilisateur sans accès shell

Par défaut lors de la création d’un compte utilisateur, un shell est attribué à l’utilisateur tel que défini dans le fichier /etc/default/useradd.

Lors de la création d’un compte utilisateur, vous pouvez spécifier explicitement au shell quel utilisateur doit se connecter.

Linux est livré avec un shell /sbin/nologin qui affiche un message “Ce compte n’est actuellement pas disponible”, lorsqu’un utilisateur tente de se connecter. C’est une façon de désactiver l’accès de l’utilisateur au shell de connexion.

Vérifions deux commandes pour créer un utilisateur avec un shell désactivé.

Utilisation de useradd :

Syntaxe:

useradd -s /sbin/nologin {nom d’utilisateur}

En utilisant adduser :

Syntaxe:

adduser –shell /sbin/nologin {nom d’utilisateur}

Désactiver Shell pour un utilisateur existant

Pour changer le shell de l’utilisateur existant, utilisez la commande chsh ou usermod.

Utilisation de chsh :

Syntaxe:

chsh -s /sbin/nologin {nom d’utilisateur}

Pour changer le shell en nologin pour l’utilisateur nommé bob, tapez :

$ sudo chsh -s /sbin/nologin bob

Utilisation de usermod :

Syntaxe:

usermod {nom d’utilisateur} -s {chemin du shell}

Pour changer le shell en /sbin/ftpnologin pour l’utilisateur nommé bob, tapez :

$ sudo usermod bob -s /sbin/ftpnologin

Vous pouvez personnaliser le shell pour afficher un message lorsque les utilisateurs se connectent via ftp.

cat /sbin/ftpnologin !/bin/sh Pas d’accès au shell. Seul l’accès FTP est autorisé.

Pour donner l’autorisation exécutable, tapez :

$ sudo chmod a+x /sbin/ftpnologin

Tous les shells sont disponibles dans /etc/shell, ajoutez un nouveau shell à cette liste :

$ echo “/sbin/ftpnologin” | sudo tee -a /etc/coquilles

Au lieu de suivre les méthodes ci-dessus, vous pouvez modifier manuellement le shell en éditant le fichier /etc/password, cela fonctionnera également.

Conclusion

Dans ce didacticiel, nous avons appris comment désactiver un compte utilisateur pour accéder au shell par défaut. Merci d’avoir lu.