Lantsei.lesCigales.ORG

Gestion des utilisateurs et des groupes

Sous Linux, les utilisateurs sont représentés par l’UID et le GID, l’identifiant utilisateur et l’identifiant du groupe principal.

Il est possible qu’un utilisateur appartienne à plusieurs groupes. Il y aura donc les notions de groupe principal et de groupe secondaire. Le groupe principal étant le groupe attribué à l’utilisateur au moment de sa connexion.


Il existe trois types d’utilisateurs :

root :

UID=0, GID=0 C’est l’administrateur du système. On se connecte en root avec su -.

daemon :

UID 1-999, GID 1-999

Les utilisateurs compris entre 1 et 999 pour leur UID/GID représentent les utilisateurs applicatifs (les services). 99% des services ne sont pas exécutés sous l’identité de root mais sous leur propre identité à des fins de sécurité.

utilisateur :

`UID et GID > 1000`

Les utilisateurs sont représentés par des UID/GID supérieur à 1000.

Gestion des utilisateurs

Les informations utilisateurs sont contenues dans /etc/passwd et /etc/shadow

Le fichier /etc/passwd

Chaque ligne du fichier est écrite de la façon suivante :

nom:motdepassechiffré:UID:GID:nom,complet:/repertoire/personnel:/shell

Le x dans la colonne indique que le mot de passe est présent dans le fichier /etc/shadow.

Le fichier /etc/shadow

Il est écrit de la façon suivante :

user:motdepassechiffré:datedernierchangement:agemini:agemax:périodeavertissement:périodeinectivité:datefinvalidité:champréservé

Ajouter un utilisateur

useradd <option> <utilisateur>

-m : Crée le répertoire de l’utilisateur.
-M : Ne créé pas le répertoire de l'utilisateur
-d [chemin] : Permet de spécifier l'emplacement du répertoire utilisateur
-g [groupe /GID] : Permet de spécifier le groupe principal ou le GID principal de l'utilisateur
-G [groupe1,groupe2] : Spécifie la liste de groupe secondaire pour l'utilisateur
-s [/chemin/shell] : Spécifie le shell de l'utilisateur
-r : Indique la création d'un utilisateur système.

Par exemple :

useradd -m lantsei # créé l'utilisateur lantsei avec le répertoire utilisateur
useradd -m -d /srv/lantsei lantsei # créé l'utilisateur lantsei avec un répertoire utilisateur spécifié
useradd -m -g admin -G apache -s /bin/zsh lantsei # créé un utilisateur lantsei avec le groupe principal admin, le groupe secondaire apache, le shell zsh

Le fichier de configuration par défaut lors de la création d'un utilisateur sans options est configurable dans : /etc/default/useradd.

Lors de la création d'un utilisateur, si l'option -m est donné, useradd copiera le contenu du répertoire /etc/skel dans le répertoire d'accueil de l'utilisateur.

Supprimer un utilisateur

userdel <option> <utilisateur>

-r : supprime les fichiers présent dans le répertoire de l'utilisateur

Modifier un utilisateur

usermod <option> <utilisateur>

-a : Ajoute l'utilisateur aux groupes supplémentaires
-d [chemin] : Indique le nouveau répertoire d'accueil de l'utilisateur.
-g [groupe /GID] : Nom du nouveau groupe principal ou nouveau GID de l'utilisateur
-G [groupe1,groupe2] : Remplace par des nouveau groupes secondaires sauf si l'option -a est rajouté. Dans ce cas, les anciens groupes sont conservés.
-S [chemin] : Remplace le shell de l'utilisateur
-L : Verrouille le mot de passe de l'utilisateur
-U : Déverrouille le mot de passe de l'utilisateur

Changer le mot de passe d'un utilisateur :

passwd <utilisateur>

Changer le shell d'un utilisateur

chsh -s /bin/bash <utilisateur>

Gestion des groupes

Les informations des groupes sont dans deux fichiers : /etc/group et /etc/gshadow.

Le fichier /etc/group

Ce fichier est composé de plusieurs champs séparés par le délimiteur :.

nomdugroupe:motdepassechiffré:GID:liste,des,membres,ayant,ce,groupe,en,groupe,secondaire

S'il y'a un x dans la colonne du mot de passe, cela indique que le mot de passe est dans le fichier /etc/gshadow

Le fichier /etc/gshadow

Ce fichier contient des informations cachées sur les groupes séparées par le délimiteur :.

nomdugroupe:motdepassechiffré:administrateurs:membres

Si le champ du mot de passe contient les caractères ! ou *, les utilisateurs ne pourront pas utiliser le mot de passe pour accéder au groupe. Si le champ est vide dans ce cas seul les membres du groupe pourront obtenir les permissions du groupe. Le champ administrateurs contient la liste des administrateurs du groupe séparé par des virgules. Les administrateurs peuvent modifier le mot de passe et les membres du groupe.

Commandes utiles pour la gestion des groupes

Créer un groupe avec groupadd

groupadd <options> <groupe>

-G [GID] : valeur numérique du nom du groupe (> GID 1000 et supérieur au dernier groupe créé)

Exemple :

groupadd -G 1005 cloud # créé le groupe cloud avec le GID 1005

Modifier un groupe avec groupmod

groupmod <options> <groupe>

-g [GID] : Change le GID d'un groupe
-n [nouveau nom] : Change le nom d'un groupe

Exemples :

groupmod -g 1006 cloud # Change le GID du groupe cloud à 1006
groupmod -n cloud admin-cloud # Change le groupe cloud en admin-cloud

Supprimer un groupe avec groupdel

groupdel <groupe> # permet de supprimer un groupe s'il est vidé de tous ses membres avant

Exemple :

groupdel admin-cloud

Ajouter/supprimer un utilisateur à un groupe avec gpasswd

gpasswd <options> <groupe>

Exemples :

gpasswd -a <utilisateur> <groupe> # Ajoute un utilisateur à un groupe
gpasswd -d <utilisateur> <groupe> # Supprime un utilisateur à un groupe

gpasswd -d lantsei admin-cloud # Supprime l'utilisateur lantsei du groupe admin-cloud