TawaKnow LogoTawaKnow
AWSDevOpsFavorisContribuer

© 2026 TawaKnow. Tous droits réservés.

Mentions LégalesPolitique de confidentialitéContribuer
Pratiques DevOps
0/29 chapitres0%
1.

Introduction au DevOps

2.

Introduction à Linux

3.

Système de Fichiers Linux

4.

Interface en Ligne de Commande (CLI)

5.

Gestionnaire de Paquets Linux

6.

Vim — Éditeur de Texte CLI

7.

Utilisateurs & Groupes Linux

8.

Permissions & Propriété des Fichiers

9.

Shell Scripting Bash

10.

Variables d'Environnement Linux

11.

Réseau Linux

12.

SSH — Secure Shell

13.

Introduction à Git & Contrôle de Version

14.

Configurer un Dépôt Git

15.

Flux de Travail Git — add, commit, push, pull

16.

Branches Git & Merge Requests

17.

Git Avancé — Commandes, .gitignore & Bonnes Pratiques

18.

Outils de Build & Gestionnaires de Paquets

19.

Build Tools, Docker & CI/CD

20.

Introduction à Nexus — Gestionnaire de Dépôts d'Artifacts

21.

Installer et Configurer Nexus sur un Serveur

22.

Nexus — Repositories, Publication et API REST

23.

Introduction aux Containers & Docker

24.

Commandes Docker & Registries

25.

Dockerfile — Créer des Images Docker

26.

Docker Compose, Volumes & Bonnes Pratiques

27.

Introduction à Jenkins & CI/CD

28.

Installer et Configurer Jenkins

29.

Jenkins Pipeline & Jenkinsfile

...Utilisateurs & Groupes Linux
CoursPratiques DevOpsUtilisateurs & Groupes Linux
Chapitre 7/29

Utilisateurs & Groupes LinuxUtilisateurs & Groupes Linux

5 min de lecture
Total: ~5 min
Progression du cours0/29 chapitres

Utilisateurs & Groupes Linux

Linux est un système multi-utilisateurs. Chaque personne ou service a son propre compte, avec des permissions distinctes pour assurer la sécurité et la traçabilité.


Concepts fondamentaux

Username et UID

Chaque compte utilisateur a 2 identifiants uniques :

IdentifiantDescription
UsernameNom lisible, utilisé pour se connecter (peut changer, doit être unique)
UID (User Identifier)Nombre assigné par Linux, immuable, utilisé en interne par le système

Le username est pour les humains. L'UID est pour le système. Deux ordinateurs différents peuvent avoir le même UID pour des utilisateurs différents (contrairement à Windows Active Directory qui gère les comptes de façon centralisée).


Les 3 types de comptes

┌─────────────────────────────────────────────────────────────────┐
│ 1. Superutilisateur (root)  UID = 0                             │
│    ─ Permissions illimitées sur tout le système                 │
│    ─ Utilisé pour les tâches d'administration                   │
│    ─ 1 seul root par machine                                    │
├─────────────────────────────────────────────────────────────────┤
│ 2. Compte utilisateur normal                                    │
│    ─ Créé pour chaque membre de l'équipe                        │
│    ─ Ex: alice → /home/alice                                    │
│    ─ Permissions limitées à ses propres fichiers                │
├─────────────────────────────────────────────────────────────────┤
│ 3. Compte de service (system account)                           │
│    ─ Créé automatiquement par les logiciels serveur             │
│    ─ Ex: "mysql" pour MySQL, "nginx" pour Nginx                 │
│    ─ Bonne pratique : ne JAMAIS faire tourner un service        │
│      avec le compte root                                        │
└─────────────────────────────────────────────────────────────────┘

Linux vs Windows — Gestion des comptes

LinuxWindows (Active Directory)
Comptes locaux à la machineComptes centralisés sur tous les ordinateurs
UID peut se répéter entre machinesUID unique dans tout le réseau
Pas de connexion automatique sur une autre machineLogin possible sur n'importe quel PC du réseau
Adapté aux serveurs indépendantsAdapté aux réseaux d'entreprise

Fichier /etc/passwd

Ce fichier contient la liste de tous les comptes du système.

cat /etc/passwd

# Format : username:x:UID:GID:description:home:shell
root:x:0:0:root:/root:/bin/bash
alice:x:1001:1001:Alice Dupont:/home/alice:/bin/bash
mysql:x:112:117:MySQL Server:/var/lib/mysql:/usr/sbin/nologin

Tout le monde peut lire /etc/passwd, mais seul root peut le modifier. Les mots de passe sont stockés (hachés) dans /etc/shadow (lecture root uniquement).


Groupes Linux

Un groupe = ensemble d'utilisateurs partageant les mêmes permissions.

Groupe "devops"
├── alice
├── bob
└── charlie

Groupe "admin"
├── alice
└── david
  • Chaque groupe a un GID (Group Identifier)
  • Root a toujours un GID de 0
  • Un utilisateur peut appartenir à plusieurs groupes
  • Le groupe primaire d'un utilisateur = créé automatiquement avec le même nom

Pourquoi utiliser des groupes ?

  • Donner des permissions à toute une équipe d'un seul coup
  • Traçabilité : savoir qui a fait quoi sur le serveur
  • Séparation des responsabilités : junior ≠ senior, devops ≠ finance

Commandes de gestion

Créer et modifier des utilisateurs

# Créer un utilisateur (recommandé — interactif, auto-configure home et UID)
sudo adduser alice

# Créer un utilisateur (bas niveau — vous gérez tout manuellement)
sudo useradd alice

# Supprimer un utilisateur
sudo deluser alice
sudo userdel alice          # bas niveau

# Modifier un utilisateur
sudo usermod -g devops alice      # Changer le groupe primaire
sudo usermod -G admin alice       # Définir le groupe secondaire (remplace)
sudo usermod -aG devops alice     # Ajouter au groupe (sans retirer les autres)
sudo usermod -l nouveau alice     # Renommer l'utilisateur

# Changer de mot de passe
sudo passwd alice

Créer et modifier des groupes

# Créer un groupe
sudo groupadd devops
sudo addgroup devops          # version haut niveau

# Supprimer un groupe
sudo groupdel devops
sudo delgroup devops          # version haut niveau

# Lister les membres d'un groupe
getent group devops

Afficher les informations

id                         # UID, GID et groupes de l'utilisateur courant
id alice                   # UID, GID et groupes d'Alice
whoami                     # Nom de l'utilisateur courant
groups                     # Groupes de l'utilisateur courant
cat /etc/group             # Lister tous les groupes et leurs membres

adduser vs useradd

adduser / addgroupuseradd / groupadd
TypeScript haut niveau (interactif)Commande bas niveau
Facilité✅ Plus simpleParamètres manuels
Home créé✅ Automatiquement❌ Option -m requise
UID/GID✅ Choisis automatiquementManuel
Recommandé✅ Pour usage courantScripts avancés

Bonnes pratiques sécurité

  • Ne jamais partager le compte root entre plusieurs personnes
  • Créer un compte individuel par membre de l'équipe (traçabilité)
  • Ne jamais exécuter des services (MySQL, Nginx) avec le compte root
  • Utiliser sudo plutôt que de se connecter directement en root
  • Supprimer ou désactiver les comptes qui ne sont plus utilisés
  • Configurer une expiration des mots de passe

À retenir

  • 3 types de comptes : root (UID=0), utilisateur normal, compte de service
  • Username = pour les humains ; UID = pour le système (immuable)
  • /etc/passwd = liste de tous les comptes (lisible par tous)
  • adduser alice = créer un utilisateur (recommandé, interactif)
  • usermod -aG groupe alice = ajouter alice à un groupe sans retirer les autres
  • Groupes = gérer les permissions par équipe plutôt que par personne
  • Linux = gestion locale (UID local) ≠ Windows Active Directory (UID central)
Précédent
Vim — Éditeur de Texte CLI
Suivant
Permissions & Propriété des Fichiers
Sur cette page
PrécédentSuivant