Bienvenue sur le site linux.goffinet.org !

Administration Linux

Introduction

Auteur : François-Emmanuel Goffinet

Ce document est un guide de formation en français sur les pratiques sécurisées d’administration du système d’exploitation (OS) GNU/Linux. Le propos invite progressivement à déployer les technologies de virtualisation, à procéder à des tâches d’automation / automatisation via des scripts, à déployer les services traditionnels tels que des services Web ou d’infrastructure, voire plus spécifiques en ToIP / VoIP / UC ou même IaaS.

Le document comprend de nombreux scripts et exemples. Aussi, il traite les sujets sur les distributions basées RHEL (Centos et dérivés) et Debian Stable (Ubuntu et autres dérivés).

Le document vise à atteindre un double objectif :

Alignement sur les certifications

SujetsCertifications alignéesProgrès dans la rédaction
I. Administration sécurisée du systèmeLinux Essentials, RHCSA, LPIC1, LPI 201, RHCE partiel, LFCS partiel.-
II. Services RéseauRHCE, LPI 202, LFCS, LFCE-

Orientation pédagogique

Ce document oriente le contenu sur :

  • La virtualisation, les technologies en nuage (cloud)
  • L’automatisation par la rédaction de code (scripts)
  • Les pratiques de sécurité

Public cible du document

Ce document s’adresse à tous les professionnels de l’informatique bien sûr mais aussi des services et de l’industrie pour lesquels l’ère numérique a modifié les pratiques de travail.

Du bon usage du support

Ce support évolue constamment selon l’épreuve du temps et des retours d’expérience. Il est toujours préférable de se référer à la dernière version en ligne sur https://linux.goffinet.org.

Il se lit ou s’expose en face d’une console Linux, dans une machine virtuelle par exemple. Les interfaces graphiques des logiciels seront laissées à l’appréciation des utilisateurs.

Pour obtenir de meilleurs résultats d’apprentissage, notamment en classe de formation, il est conseillé d’utiliser une installation native, avec une ligne de commande ou un shell à disposition.

Enfin, ce document n’étant qu’un support de cours, il sera nécessaire de visiter les références et les liens fournis ainsi que les sites officiels et leur pages de documentation qui restent dans la plupart des cas librement disponibles.

Distributions de référence

On conseillera quelques distributions Linux de référence avant d’entamer des distributions spécialisées ou spécifiques.

  1. Centos / (RHEL) / Fedora
  2. Ubuntu 20.04 LTS Focal / Debian Stable

Matériel nécessaire

Un ordinateur individuel récent connecté au réseau local (et à l’Internet) est nécessaire. Dans une classe de formation, la meilleure expérience est d’installer une distribution Linux native et d’utiliser des outils de virtualisation tels que libvirt et qemu/KVM pour réaliser des exercices avancés.

Droits

Ce document de François-Emmanuel Goffinet est mis à disposition selon les termes de la licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International. Il est produit en ligne sur https://linux.goffinet.org/.

Ce document s’inspire de près ou de loin de toute une série d’autres qui sont soumis la plupart du temps aux mêmes droits. Les sources citées ou reprises sont présentes sous format d’URI dans le code source. J’espère que les auteurs concernés se satisferont de cette exposition. Les marques citées ont été déposées par leurs propriétaires.

Titres publiés sur Leanpub

Titres publiés sur Leanpub

Titres publiés sur Leanpub :

  • Linux Administration, Volume 1, Administration fondamentale : Guide pratique de préparation aux examens de certification LPIC 1, Linux Essentials, RHCSA et LFCS. Administration fondamentale. Introduction à Linux. Le Shell. Traitement du texte. Arborescence de fichiers. Sécurité locale.
  • Linux Administration, Volume 2, Administration avancée : Guide pratique de préparation aux examens de certification LPIC 1, LPIC 2, Linux Essentials, RHCSA et LFCS. Processus et Démarrage. Installation de logiciels. Scripts Shell. Virtualisation KVM. Disques et Stockage LVM. Configuration du réseau.
  • Linux Administration, Volume 3, Administration sécurisée : Guide pratique de préparation aux examens de certification LPIC 1, LPIC 2, Linux Essentials, RHCSA et LFCS. LFCS/LFCE. Secure Shell (SSH), Synchronisation temporelle, Syslog, Cron, SELINUX, Apparmor, Routage IP, Pare-feu Netfilter, uff, firewall, iptables, audit et scan, renforcement sécuritaire.
  • Linux Administration, Volume 4, Administration Services TCP/IP : Guide pratique de préparation aux examens de certification RHCE, LPIC 202 et LFCE. LFCS/LFCE. Laboratoires Services Réseau, Services de passerelle, Services d’infrastructure, Services de partage, Authentification centralisée, Services de Messagerie, Services de surveillance, Apache HTTP Server, Nginx, Services de Base de Données.

Paquets Linux

51 minutes de lecture

Ce chapitre est consacré à la gestion des paquets de logiciels sous Linux. On y verra la manipulation courante des utilitaires de base comme dpkg ou rpm mais aussi des gestionnaires de dépôt comme apt ou yum. On élargira cette vue avec d’autres outils comme opkg, pacman, emerge ou encore apk.

Consoles virtuelles screen

5 minutes de lecture

Screen (GNU Screen) est un “multiplexeur de terminaux” permettant d’ouvrir plusieurs terminaux dans une même console, de passer de l’un à l’autre et de les récupérer plus tard.

Processus Linux

18 minutes de lecture

Ce chapitre dédié aux processus Linux explique comment les identifier dans leur filiation, comment les sélectionner pour les mettre en pause ou les tuer, comment les mettre en avant-plan ou en arrière-plan, comment gérer les priorités en cas de concurrence, comment mesurer l’utilisation des ressources et résoudre des problèmes.

Démarrage du système Linux

34 minutes de lecture

Ce chapitre expose les principes du démarrage d’un système Linux en différentes étapes dans lesquelles interviennent le chargeur de démarrage Grub2, le noyau Linux et puis le lancement des services init ou systemd. On expliquera ici les différentes manière d’arrêter ou de réinitialiser un système Linux. Enfin, on monterera comment reprendre la main sur un système dont on a perdu le mot de passe (Password Recovery) et comment s’en protéger.

Noyau Linux

42 minutes de lecture

Ce chapitre est une introduction au noyau Linux. On expliquera ici comment interroger et configurer un noyau Linux courant.

Pluggable Authentication Modules (PAM)

24 minutes de lecture

Pluggable Authentication Modules (PAM) permet de contrôler les authentifications et les autorisations sur un système Linux de manière unifiée et avancée grâce à des stratégies et à des modules. Nous verrons dans ce chapitre comment paramétrer PAM pour des applications et comment créer un nouveau module.

Access control lists (ACLs) Linux

8 minutes de lecture

Les droits standards et les droits étendus sont des fonctionnalités intéressantes mais qui ne s’applique que pour un seul utilisateur ou un seul groupe. Comment définir des permissions spécifiques, voire différents, pour d’autres utilisateurs ou groupes que les propriétaires ? Les ACLs (Access control lists) offrent une réponse à cette question.

Permissions Linux

22 minutes de lecture

Dans ce chapitre sur les permissions Linux on évouera les sujets suivants : propriété, droits, représentation symbolique et octale, umask, droits étendus, modification des droits, modification de l’utilisateur et du groupe propriétaire, SUID, GUID, sticky bit, commande stat, révision de la commande ls

Opérations sur les utilisateurs et les groupes

11 minutes de lecture

Dans ce chapitre on expose des opérations courantes sur les utilisateurs et les groupes comme : créer un nouvel utilisateur avec useradd, définir un mot de passe avec passwd, créer de nouveaux groupes, ajouter un utilisateur à un groupe, modifier les paramètres utilisateur et groupe, verrouiller un compte, modifier l’expiration du mot de passe ou encore supprimer un compte et un groupe

Utilisateurs et groupes Linux

15 minutes de lecture

Dans ce chapitre sur les utilisateurs et les groupes, nous verrons la différence entre les programmes su et sudo. On identifiera l’emplacement des informations sur les utilisateurs et les groupes. On trouvera aussi des considérations sur le chiffrement et la force des mots de passe sous Linux.