Aller au contenu

Exploiter des serveurs Linux

1. Objectif du cours

Apprendre à installer et configurer des serveurs GNU/Linux Debian (comptes utilisateurs, droits dʼaccès, services) et à installer/configurer un ITSM (GLPI). Mise en pratique sur VM ou machine physique dans un contexte de support niveau 1.

2. Notions et définitions essentielles

  • Debian : distribution GNU/Linux open source (ici Debian 12, sortie en juin 2023).
  • Serveur : ordinateur destiné à fournir des services à d'autres périphériques réseau.
  • Rôle : ensemble de fonctionnalités/services (ex. gestion dʼannuaire, DNS, DHCP).
  • Utilisateurs : types = root (super‑utilisateur) et utilisateur standard.
  • Fichiers système utilisateurs : /etc/passwd (infos comptes) et /etc/shadow (infos mots de passe).
  • Permissions : r = lecture (4), w = écriture (2), x = exécution (1) ; appliquées pour propriétaire / groupe / autres.

3. Fonctionnement et principes

  • Installation : privilégier une installation « serveur sans bureau » pour limiter la surface d'attaque et la consommation de ressources ; choisir le mode « Install » et ne pas installer d'environnement graphique. Après installation, renommer la machine selon RFC1178 et fixer une IP statique.
  • Virtualisation : pour VM, activer la virtualisation en BIOS/UEFI (VT‑x/AMD‑V), prévoir CPU ≥1 GHz/ cœur, ≥4 Go RAM hôte (≥512 Mo pour la VM), espace disque (10 Go mini pour la VM).
  • Rôles équivalents Windows/Linux : ADDS ↔ Samba4, DNS ↔ Bind9, DHCP ↔ ISC‑DHCP‑SERVER, IIS ↔ Apache/Nginx.
  • Modèle fichiers : « tout est fichier » — un répertoire est un fichier contenant d'autres fichiers ; les fichiers et répertoires sont identifiés par des types (par ex. '-' pour fichier régulier, 'd' pour répertoire).
  • Gestion utilisateurs/groupes : les comptes appartiennent à des groupes pour centraliser les droits ; création/suppression peut être interactive ou scriptable selon l'outil utilisé.

4. Commandes et manipulations

Groupées par procédure (commandes présentes dans le PDF) : - Gestion interactive d'utilisateurs/groupes : - adduser : crée un utilisateur en mode interactif (pose des questions). - addgroup : crée un groupe en mode interactif. - Gestion non‑interactive / scripts : - useradd : crée un utilisateur en mode non interactif. - groupadd : crée un groupe en mode non interactif. - Modification et suppression : - deluser / userdel : suppriment un compte utilisateur. - delgroup / groupdel : suppriment un groupe. - usermod : ajoute un utilisateur à un groupe (ex. aG). - Mots de passe et élévation : - passwd nomUtilisateur : change le mot de passe d'un utilisateur. - sudo : permet d'exécuter une commande avec les droits super‑utilisateur (bonne pratique plutôt que se loguer en root). - Propriété et permissions de fichiers : - chown : change le propriétaire d'un fichier/répertoire. - chgrp : change le groupe propriétaire. - chmod : modifie les permissions (possibilité -R pour récursif ; exemples en PDF comme 644 ou 700). - setfacl : gère des droits plus fins (ACL) par utilisateur/groupe.

5. Sécurité et bonnes pratiques

  • Préférer un serveur sans interface graphique (moins de paquets, moins de vecteurs d'attaque).
  • Utiliser sudo pour les opérations administratives plutôt que de rester en session root.
  • Ne pas donner des permissions excessives (ex. chmod 777) sans nécessité — le document rappelle le risque de sécurité associé.
  • Respecter les prérequis de virtualisation et dimensionner correctement CPU/RAM/stockage pour éviter des problèmes de performance ou d'instabilité.
  • Après installation, fixer un nom d'hôte adapté (RFC1178) et une IP fixe pour les services serveur.

6. Points essentiels à retenir pour le TSSR

  • Debian 12 est la version citée et Debian est une distribution libre, stable et courante côté serveur.
  • Préférer l'installation « server » sans environnement graphique pour une production serveur.
  • Les comptes utilisateur sont déclarés dans /etc/passwd et les mots de passe dans /etc/shadow ; les utilisateurs appartiennent à des groupes pour gérer les accès.
  • Permissions fichiers = triplet propriétaire/groupe/autres avec r,w,x ; représenter en octal (ex. 644, 700) pour configurer rapidement.
  • La propriété d'un fichier et son groupe peuvent être modifiés séparément (propriétaire vs groupe).
  • setfacl permet une gestion granulaire des droits au‑delà du modèle propriétaire/groupe/autres.
  • GLPI nécessite un serveur LAMP (Linux + Apache + MariaDB + PHP) pour s'installer.
  • Beaucoup d'opérations peuvent être faites en mode interactif (adduser/addgroup) ou automatisées via les équivalents non‑interactifs (useradd/groupadd/usermod).
  • Connaître les équivalences services Windows ↔ Linux (Samba, Bind9, ISC‑DHCP, Apache/Nginx).

7. Tableau récapitulatif

Élément Option serveur Remarque utile
Installation Sans bureau recommandé Moins de paquets = meilleure sécurité/performances
Gestion utilisateurs Interactive vs scriptable adduser/addgroup vs useradd/groupadd
Stockage des comptes /etc/passwd & /etc/shadow Séparation infos compte / mots de passe
Permissions rwx par Tri (proprio/groupe/autres) Octal (4/2/1) facilite la configuration
Droits granulaires ACL (setfacl) Autorisations par utilisateur séparées du propriétaire
ITSM GLPI Nécessite LAMP Apache + MariaDB + PHP pour fonctionner

8. Vérifications pratiques

Non abordé dans ce cours

9. Flashcards Anki

Qu'est‑ce que Debian ? :: Une distribution GNU/Linux open source basée sur le noyau Linux et les outils GNU. Quelle version de Debian est mentionnée dans le cours ? :: Debian 12. Quels fichiers contiennent les informations des comptes et des mots de passe ? :: /etc/passwd et /etc/shadow. Quels sont les deux types de comptes utilisateur cités ? :: root (super‑utilisateur) et utilisateur standard. Que représentent les lettres r, w, x dans les permissions ? :: r = lecture, w = écriture, x = exécution. Quelle valeur octale correspond à la lecture ? :: 4. Quelle commande interactive crée un utilisateur ? :: adduser. Quelle commande change le propriétaire d'un fichier ? :: chown. À quoi sert setfacl ? :: Gérer des droits d'accès plus fins (ACL) pour des utilisateurs spécifiques. Quels composants forment LAMP pour installer GLPI ? :: Linux, Apache, MariaDB, PHP.