Recherche de site Web

Série RHCSA : Comment gérer les utilisateurs et les groupes dans RHEL 7 - Partie 3


La gestion d'un serveur RHEL 7, comme c'est le cas pour tout autre serveur Linux, nécessitera que vous sachiez comment ajouter, modifier, suspendre ou supprimer des comptes d'utilisateurs, et accorder aux utilisateurs les autorisations nécessaires sur les fichiers. , répertoires et autres ressources système pour effectuer les tâches qui leur sont assignées.

Gestion des comptes utilisateur

Pour ajouter un nouveau compte utilisateur à un serveur RHEL 7, vous pouvez exécuter l'une des deux commandes suivantes en tant qu'utilisateur root :

adduser [new_account]
useradd [new_account]

Lorsqu'un nouveau compte utilisateur est ajouté, les opérations suivantes sont effectuées par défaut.

  1. Son répertoire personnel est créé (/home/username sauf indication contraire).
  2. Ces fichiers cachés .bash_logout, .bash_profile et .bashrc sont copiés dans le répertoire personnel de l'utilisateur et seront utilisés pour fournir des variables d'environnement pour son /sa session utilisateur. Vous pouvez explorer chacun d’eux pour plus de détails.
  3. Un répertoire de spool de courrier est créé pour le compte utilisateur ajouté.
  4. Un groupe est créé avec le même nom que le nouveau compte utilisateur.

Le résumé complet du compte est stocké dans le fichier /etc/passwd. Ce fichier contient un enregistrement par compte utilisateur système et a le format suivant (les champs sont séparés par deux points) :

[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
  1. Ces deux champs [username] et [Comment] sont explicites.
  2. Le deuxième champ « x » indique que le compte est sécurisé par un mot de passe masqué (dans /etc/shadow), qui est utilisé pour se connecter en tant que [nom d'utilisateur].
  3. Les champs [UID] et [GID] sont des entiers qui montrent l'identification de l'utilisateur et l'identification du groupe principal auquel [nom d'utilisateur] appartient, de manière égale. .

Enfin,

  1. Le [Home directory] indique l'emplacement absolu du répertoire personnel de [username], et
  2. [Default shell] est le shell qui est validé pour cet utilisateur lorsqu'il se connecte au système.

Un autre fichier important avec lequel vous devez vous familiariser est /etc/group, où les informations sur le groupe sont stockées. Comme c'est le cas avec /etc/passwd, il y a un enregistrement par ligne et ses champs sont également délimités par deux points :

[Group name]:[Group password]:[GID]:[Group members]

où,

  1. [Nom du groupe] est le nom du groupe.
  2. Ce groupe utilise-t-il un mot de passe de groupe ? (Un « x » signifie non).
  3. [GID] : identique à /etc/passwd.
  4. [Membres du groupe] : une liste d'utilisateurs, séparés par des virgules, qui sont membres de chaque groupe.

Après avoir ajouté un compte, vous pouvez à tout moment modifier les informations du compte de l'utilisateur à l'aide de usermod, dont la syntaxe de base est :

usermod [options] [username]

Lire aussi :
15 exemples de commandes 'useradd'
15 exemples de commandes 'usermod'

EXEMPLE 1 : Définition de la date d'expiration d'un compte

Si vous travaillez pour une entreprise qui a une sorte de politique pour activer le compte pendant un certain intervalle de temps, ou si vous souhaitez accorder l'accès pour une période de temps limitée, vous pouvez utiliser le --expiredate indicateur suivi d'une date au format AAAA-MM-JJ. Pour vérifier que la modification a été appliquée, vous pouvez comparer le résultat de

chage -l [username]

avant et après la mise à jour de la date d'expiration du compte, comme indiqué dans l'image suivante.

EXEMPLE 2 : Ajout de l'utilisateur à des groupes supplémentaires

Outre le groupe principal créé lorsqu'un nouveau compte utilisateur est ajouté au système, un utilisateur peut être ajouté à des groupes supplémentaires en utilisant la combinaison -aG ou –append < options–groupes, suivies d'une liste de groupes séparés par des virgules.

EXEMPLE 3 : Modification de l'emplacement par défaut du répertoire personnel de l'utilisateur et/ou modification de son shell

Si pour une raison quelconque vous devez modifier l'emplacement par défaut du répertoire personnel de l'utilisateur (autre que /home/username), vous devrez utiliser le -d ou < options–home, suivies du chemin absolu vers le nouveau répertoire personnel.

Si un utilisateur souhaite utiliser un autre shell autre que bash (par exemple, sh), qui est attribué par défaut, utilisez usermod avec le –shell flag, suivi du chemin d'accès au nouveau shell.

EXEMPLE 4 : Afficher les groupes dont un utilisateur est membre

Après avoir ajouté l'utilisateur à un groupe supplémentaire, vous pouvez vérifier qu'il appartient désormais réellement à ce(s) groupe(s) :

groups [username]
id [username]

L'image suivante représente les exemples 2 à 4 :

Dans l'exemple ci-dessus :

usermod --append --groups gacanepa,users --home /tmp --shell /bin/sh tecmint

Pour supprimer un utilisateur d'un groupe, omettez le commutateur --append dans la commande ci-dessus et répertoriez les groupes auxquels vous souhaitez que l'utilisateur appartienne en suivant l'indicateur --groups.

EXEMPLE 5 : Désactivation du compte en verrouillant le mot de passe

Pour désactiver un compte, vous devrez utiliser l'option -L (L minuscule) ou –lock pour verrouiller le mot de passe d'un utilisateur. Cela empêchera l'utilisateur de pouvoir se connecter.

EXEMPLE 6 : Déverrouillage du mot de passe

Lorsque vous devez réactiver l'utilisateur afin qu'il puisse se reconnecter au serveur, utilisez l'option -U ou –unlock pour déverrouiller le mot de passe d'un utilisateur qui a été précédemment bloqué, comme expliqué dans l'Exemple 5 ci-dessus.

usermod --unlock tecmint

L'image suivante illustre les Exemples 5 et 6 :

EXEMPLE 7 : Supprimer un groupe ou un compte utilisateur

Pour supprimer un groupe, vous devrez utiliser groupdel, tandis que pour supprimer un compte utilisateur, vous utiliserez userdel (ajoutez le commutateur –r si vous souhaitez également supprimer le contenu de son répertoire personnel et de son spool de messagerie) :

groupdel [group_name]        # Delete a group
userdel -r [user_name]       # Remove user_name from the system, along with his/her home directory and mail spool

S'il existe des fichiers appartenant à group_name, ils ne seront pas supprimés, mais le propriétaire du groupe sera défini sur le GID du groupe qui a été supprimé.