Cet article décrit les options de gestion de base des utilisateurs du serveur Linux®. Il vous montre comment ajouter, supprimer, verrouiller, faire expirer et modifier des utilisateurs sur un serveur Linux.
Prérequis
Vous devez avoir les prérequis suivants :
- Compréhension de base de Secure Shell (SSH).
- Accès sudo ou administratif à votre serveur. Un utilisateur administratif peut consulter les articles suivants :
- Accorder l'accès sudo dans RHEL® et CentOS®
- Accorder l'accès sudo dans Debian et le système d'exploitation Ubuntu
- Un serveur cloud exécutant des versions prises en charge de Linux.
Connectez-vous à votre serveur à l'aide de SSH, puis suivez les étapes des sections suivantes pour effectuer les actions :
Ajouter un utilisateur SSH de base
Utilisez les étapes suivantes pour ajouter un utilisateur de base à votre serveur Linux avec les paramètres par défaut :
-
Exécutez la commande suivante pour créer l'utilisateur :
useradd <user>
-
Définissez le mot de passe de l'utilisateur :
passwd <some-secure-password>
Ajouter un utilisateur avec des drapeaux
Vous pouvez utiliser les drapeaux communs suivants avec le useradd
commande pour spécifier la configuration du nouvel utilisateur :
-G
,--groups <group_names>
:pour ajouter le nouveau compte aux groupes-d
,--home-dir <home_directory>
:pour définir le répertoire d'accueil du nouveau compte-s
,--shell <shell_name>
:pour définir le shell de connexion du nouveau compte
Par exemple, vous pouvez créer un utilisateur et spécifier le répertoire personnel, le shell de connexion, et également ajouter l'utilisateur à un groupe supplémentaire, comme illustré dans l'exemple suivant :
useradd -d /home/nonDefaultHome/ -s /bin/bash -G developers <newuser>
Cette commande crée un nouvel utilisateur avec un répertoire personnel de /home/nonDefaultHome/ et le /bin/bash/
coquille. La commande ajoute également cet utilisateur au groupe developers .
Vous pouvez voir d'autres options pour personnaliser le nouvel utilisateur en utilisant la commande suivante :
useradd --help
Verrouiller ou faire expirer des utilisateurs
Si vous devez désactiver l'accès d'un utilisateur à votre serveur, vous pouvez expirer ou verrouiller le compte utilisateur Linux.
Verrouiller ou déverrouiller un utilisateur
Le verrouillage d'un utilisateur modifie le mot de passe de l'utilisateur en une chaîne illisible, ce qui empêche l'utilisateur de se connecter à l'aide de l'authentification par mot de passe. Utilisez la commande suivante pour verrouiller un compte utilisateur Linux :
passwd -l <user>
Vous pouvez vérifier que l'utilisateur a bien été verrouillé à l'aide de la commande suivante :
passwd -S <user>
Si l'utilisateur a été verrouillé avec succès, le message suivant s'affiche :
<user> LK <date> 0 99999 7 -1 (Password locked.)
Si vous devez déverrouiller l'utilisateur, utilisez la commande suivante :
passwd -u <user>
Vous pouvez vérifier que l'utilisateur est déverrouillé avec la commande suivante :
passwd -S <user>
Si la commande a réussi, le message suivant s'affiche :
<user> PS <date> 0 99999 7 -1 (Password set, SHA512 crypt.)
Expirer et réactiver un utilisateur
Bien que le verrouillage d'un utilisateur désactive l'accès par mot de passe, cette option ne désactive pas les autres formes d'authentification telles que l'authentification par clé SSH. Pour désactiver complètement l'accès d'un utilisateur, expirez le compte à l'aide de la commande suivante :
usermod -e $(date '+1970-01-01') <user>
Remarque :Cette commande fait expirer l'utilisateur à la date du 1er janvier 1970. Vous pouvez également définir la date d'expiration sur la date actuelle en remplaçant la section de date par :$(date '+%Y-%m-%d')
Vous pouvez vérifier que l'utilisateur a expiré avec succès en exécutant la commande suivante :
chage -l <user>
La sortie suivante s'affiche pour l'utilisateur :
Last password change : Apr 20, 2020
Password expires : never
Password inactive : never
Account expires : Jan 01, 1970
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
Si vous devez annuler l'expiration de l'utilisateur sur le serveur, exécutez la commande suivante :
usermod -e -1 <user>
Afin de vérifier que l'utilisateur n'a pas expiré, exécutez la commande suivante :
chage -l <user>
La sortie suivante s'affiche pour l'utilisateur :
Last password change : Apr 20, 2020
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
Supprimer un utilisateur
Si vous êtes certain que vous n'avez plus besoin d'un utilisateur Linux, vous pouvez supprimer l'utilisateur du serveur.
Remarque :bien que cela ne supprime pas le répertoire personnel de l'utilisateur, cela peut entraîner des problèmes de propriété ou d'autres autorisations sur le serveur. Avant de supprimer l'utilisateur, assurez-vous que la suppression de l'utilisateur n'entraîne pas l'arrêt des applications sur votre serveur.
Pour supprimer un utilisateur sur votre serveur, exécutez la commande suivante :
userdel <user>
Vous pouvez vérifier que l'utilisateur a été supprimé avec la commande suivante :
getent passwd <user>
Si l'utilisateur a été supprimé avec succès, vous ne devriez recevoir aucune sortie car l'utilisateur n'existe pas dans /etc/passwd fichier.