Gestion des groupes

Il y a 3 types de comptes utilisateurs dans Linux : root (super utilisateur), daemon (utilisateur système) et utilisateur normal.

Un utilisateur a un groupe principal (qui a le même nom que son login et ne comporte que lui-même) et peut être membre de groupes secondaires.

Les fichiers contenant des informations sur les groupes secondaires sont : /etc/group et /etc/passwd pour le groupe principal.

Gestion des groupes

Afficher les informations du groupe pour un utilisateur :

# id <username>
uid=1001(john) gid=1003(john) groups=1003(john),10(wheel),10000(group01)

Création de groupes

Créer un groupe :

# groupadd Nom_Groupe

Créer un groupe en précisant son GID (doit être supérieur ou égal à 1000):

# groupadd -g 10000 Nom_Groupe

Créer un groupe système (avec un GID inférieur à 1000):

# groupadd -r Nom_Groupe_system

Les GID sont listés dans le fichier /etc/login.defs.

Modification de groupes

Modifier le nom d’un groupe :

# groupmod -n MonGroupe MonGroupeNew

Modifier le GID d’un groupe :

# groupmod -g 1337 MonGroupe

Suppression de groupes

Suppression d’un groupe :

# groupdel uselessGroup

/!\ Résumé des commandes

Les commandes :

# id <username>                         // Afficher les informations du groupe pour un utilisateur
# groupadd <Nom_Groupe> // Créer un groupe
# groupadd -g GID <Nom_Groupe> // Créer un groupe et préciser son GID
# groupadd -r <Nom_Groupe> // Créer un groupe système
# groupmod -n <Nom_Groupe> <New_Name> // Changer le nom d'un groupe
# groupmod -g GID <Nom_Groupe> // Changer le GID d'un groupe
# groupdel <Nom_Groupe> // Supprimer un groupe

Les fichiers :

/etc/passwd       // informations sur le groupe principal
/etc/group // informations sur les groupes secondaires
/etc/login.defs // informations sur les plages GID et UID

Cas pratique

Création de 2 groupes :

[root@SERVER01 ~]# groupadd -g 5000 supervisors
[root@SERVER01 ~]# groupadd admin

Vérification via /etc/group :

[root@SERVER01 ~]# tail -n6 /etc/group
aline:x:1000:
paul:x:1001:
blue:x:1002:
john:x:1003:
supervisors:x:5000:
admin:x:5001:

Ajout d’utilisateurs à un groupe :

[root@SERVER01 ~]# usermod -aG supervisors aline
[root@SERVER01 ~]# usermod -aG supervisors blue
[root@SERVER01 ~]# usermod -aG supervisors john

Vérification des id:

[root@SERVER01 ~]# id aline blue john
uid=1000(aline) gid=1000(aline) groups=1000(aline),5000(supervisors)
uid=1002(blue) gid=1002(blue) groups=1002(blue),5000(supervisors)
uid=1003(john) gid=1003(john) groups=1003(john),5000(supervisors)

Ajout d’utilisateurs à une autre groupe :

[root@SERVER01 ~]# usermod -aG admin aline
[root@SERVER01 ~]# usermod -aG admin blue
[root@SERVER01 ~]# id aline blue

Vérification des id :

uid=1000(aline) gid=1000(aline) groups=1000(aline),5000(supervisors)
uid=1002(blue) gid=1002(blue) groups=1002(blue),5000(supervisors)

Vérification via /etc/group:

[root@SERVER01 ~]# tail -n6 /etc/group
aline:x:1000:
paul:x:1001:
blue:x:1002:
john:x:1003:
supervisors:x:5000:aline,blue,john
admin:x:5001:aline,blue

Documentation

MAN id(1)
MAN groupadd(8)
MAN groupdel(8)
MAN group(5)

> Partager <