Commandes et paramètres pour la gestion des comptes d'utilisateurs sous Linux

Si vous administrez un serveur Linux, vous avez sans doute de nombreux comptes utilisateurs à gérer, ainsi que de nombreux fichiers et paramètres à contrôler. Vous trouverez ci-dessous quelques commandes et questions importantes pour la configuration et la gestion des comptes utilisateurs et des droits d'accès.

Faire des cartes d'identité

Tout d'abord, lors de la gestion des comptes utilisateurs, vous devez connaître l'identifiant utilisateur (UID) et l'identifiant de groupe (GID). La plupart des comptes sont configurés de telle sorte que chaque utilisateur est le seul membre d’un groupe portant le même nom que le compte utilisateur. En effet, ces deux identifiants sont définis lors de la création du compte à l’aide de la commande `useradd`. Lorsque vous affichez la liste du répertoire personnel de l’utilisateur, vous devriez voir quelque chose comme ceci :

$ ls -ld /home/dbell

drwxr-xr-x. 8 dbell dbell 4096 23 mars 2021 /home/dbell

^ ^

| |

groupe d'utilisateurs

Notez que le nom d'utilisateur et le nom du groupe sont tous deux “ dbell ”. Pour afficher les équivalents numériques de ces valeurs, utilisez plutôt la commande suivante :

$ ls -ldn dbell

drwxr-xr-x. 8 1003 1003 4096 23 mars 2021 dbell

^ ^

| |

UID GID

Le nom d'utilisateur et le nom de groupe ont tous deux la valeur numérique 1003. Les informations affichées proviennent des fichiers /etc/passwd et /etc/group, qui associent les noms à leurs valeurs numériques.

$ grep dbell /etc/passwd /etc/group

/etc/passwd:dbell:x:1003:1003:Dana Bell:/home/dbell:/bin/bash

/etc/group:dbell:x:1003:

Traiter les documents importants

Parmi les fichiers les plus importants à prendre en compte lors de la gestion des comptes utilisateurs figurent les fichiers /etc/passwd, /etc/shadow et /etc/group. Comme indiqué ci-dessus, les fichiers /etc/passwd et /etc/group contiennent l’UID et le GID ainsi que le répertoire personnel de l’utilisateur. Tous les groupes auxquels appartient un utilisateur, y compris ses groupes personnels, sont répertoriés dans le fichier /etc/group. Le fichier /etc/shadow contient les paramètres de hachage et d'expiration des mots de passe, qui permettent d'assurer la sécurité des mots de passe et d'obliger les utilisateurs à les modifier régulièrement.

Ces entrées sont définies lors de l'utilisation de la commande `useradd`, qui ajoute des lignes aux fichiers `/etc/passwd`, `/etc/group` et `/etc/shadow`.

$ sudo useradd newuser

$ sudo grep newuser /etc/passwd /etc/group /etc/shadow

/etc/passwd:newuser:x:1019:1019::/home/newuser:/bin/bash

/etc/group:newuser:x:1019:

/etc/shadow:newuser:!!:19372:0:99999:7:::

Notez que l'utilisation de « sudo » est nécessaire pour créer le compte et consulter le fichier /etc/shadow.

Le compte utilisateur se verra automatiquement attribuer le prochain numéro disponible de l’UID du nouveau compte. Sur la plupart des systèmes Linux, le premier compte utilisateur a la valeur 1 000, et chaque utilisateur supplémentaire aura un numéro supérieur d’une unité à celui du précédent. Le compte système est celui dont l’UID a la valeur la plus faible. Comme l’indique la dernière ligne de la sortie ci-dessus, il n’y a pas de hachage de mot de passe lors de la création initiale du compte. Le champ s’affiche sous la forme ! ! , jusqu’à ce qu’un mot de passe soit attribué. Lors de la définition d’un mot de passe, une longue chaîne représentant le hachage du mot de passe remplacera les deux points d’exclamation.

Les administrateurs système définissent souvent un mot de passe temporaire pour les nouveaux utilisateurs, puis le désactivent à l'aide d'une deuxième commande `sudo`, comme indiqué ci-dessous, avant d'exiger que l'utilisateur définisse un nouveau mot de passe lors de sa première connexion. De cette manière, seul l'utilisateur connaît le mot de passe de son compte.

$ sudo passwd newuser

Nouveau mot de passe :

Entrez à nouveau le nouveau mot de passe :

$ sudo passwd -e newuser

Le cinquième champ (séparé par des deux-points) du fichier /etc/passwd est réservé au nom complet et/ou à la description de l'utilisateur ; on l'appelle souvent le champ « commentaire ».

Cette information peut être ajoutée lors de la création du compte ou ultérieurement à l'aide de la commande `usermod -c`. Par ailleurs, si vous disposez des privilèges de superutilisateur, il vous suffit de modifier le fichier `/etc/password` pour y ajouter le nom complet.

$ sudo usermod -c “ Dana Bell ” dbell

$ grep dbell /etc/passwd

dbell:x:1003:1003:Dana Bell:/home/dbell:/bin/bash

^

|

nom d'utilisateur ou description

Pour indiquer le nom complet lors de la configuration initiale du compte, utilisez une commande comme celle-ci :

$ sudo useradd -c “ Dana Bell ” dbell

Supprimer un compte utilisateur

Alors que la commande `useradd` permet de créer des comptes et que la commande `usermod` permet de modifier des comptes, la commande `userdel` sert à supprimer des comptes. Il est toutefois important de comprendre que la commande `userdel` ne supprime pas le répertoire personnel de l'utilisateur, sauf si vous utilisez l'option `-r` comme suit :

$ sudo userdel newuser -r

Afficher les paramètres utilisateur

S'il est facile d'extraire des informations des fichiers /etc/passwd et /etc/group à l'aide de grep, la commande id constitue une autre commande très utile pour extraire des informations sur les comptes utilisateurs ; elle affiche en effet l'UID, le GID et l'appartenance aux groupes dans un format très pratique.

$ id newuser

uid=1019(newuser) gid=1019(newuser) groupes=1019(newuser)

$ id shs

uid=1000(shs) gid=1000(shs) groupes=1000(shs),10(wheel),900(techs)

Ajouter un utilisateur au groupe secondaire l

La commande `usermod` permet également d'ajouter des utilisateurs à des groupes secondaires. Pour ce faire, ajoutez l'utilisateur au groupe « Technicians » à l'aide de la commande indiquée ci-dessous. Vous pouvez ensuite utiliser la commande `id` pour vérifier les modifications.

$ sudo usermod -a -G techs newuser

$ id newuser

uid=1019(newuser) gid=1019(newuser) groupes=1019(newuser),20(techs)

Résumer

Sous Linux, il est très facile de créer, de modifier et de supprimer des comptes, mais il est nécessaire de connaître certaines commandes essentielles pour gérer correctement les comptes utilisateurs et les droits d'accès.

l

↑