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.