Utilisateurs et groupes

Les utilisateurs et groupes permettent de structurer et de sécuriser les accès au système, que ce soit pour des personnes ou des processus systèmes.

Utilisateur: définition

Un utilisateur sous Linux est une entité qui peut se connecter au système et exécuter des commandes. Chaque utilisateur a un identifiant unique appelé UID (User ID). Les utilisateurs système, quant à eux, ne se connectent pas directement et ont généralement un UID inférieur à 1000, bien que cela puisse selon les distributions (par exemple, sur certaines distributions, les utilisateurs humains commencent à partir de 500).

Il existe différents types d'utilisateurs :
  • root : utilisateur administrateur avec tous les privilèges. On parle de superutilisateur.
  • Utilisateurs système : créés pour exécuter des services (ex. : www-data, nobody).
  • Utilisateurs humains : créés pour des personnes interagissant directement avec le système.

Groupe: définition

Un groupe est un ensemble d’utilisateurs qui partagent des permissions. Les groupes simplifient la gestion des accès à certains fichiers ou répertoires.

Par exemple, un groupe developers auquel appartiennent plusieurs utilisateurs peut être utilisé pour donner accès à un répertoire partagé contenant du code source.


Créer des utilisateurs et des groupes

Commandes clés

Ces commandes sont celles que l'on utilise sur la distribution Alpine Linux (dont nous utilisons un émulateur en cours).
Elles ne sont pas toujours disponibles, et il conviendra de chercher, en fonction de la distribution utilisée, les commandes appropriées.
  • adduser : crée un utilisateur (man).
  • deluser : supprime un utilisateur (man).
  • addgroup : crée un groupe (man).
  • delgroup : supprime un groupe (man).
  • groups [user] : affiche les groupes associés à l'utilisateur (remplacer [user] par le nom d'un utilisateur)

Exemple de scénario

Imaginons que l'on veuille créer des comptes pour quatre utilisateurs, puis les ajouter au groupe nsi.

Cela va créer les dossiers suivants :
/home
├── nono
├── toto
├── nana
└── didi
# addgroup nsi
# adduser nono
# adduser toto
# adduser nana
# adduser didi
# adduser nono nsi
# adduser toto nsi
# adduser nana nsi
# adduser didi nsi