Administration système

1. Introduction

On invitera le lecteur à relire l’introduction générale du document.

Cette partie “Administration Système” est un guide de formation qui tente d’aligner le contenu de programmes de certification Linux sur les domaines de compétence pratiques de l’administration d’un système Linux. Les sujets de ce support de cours font référence aux différents programmes des certifications Red Hat, Linux Professional Institute (LPI) et Linux Foundation (voir le document Certifications Linux). Le support s’aligne sur un grand nombre de programmes de formation officiels.

Le propos intègre aussi des pratiques d’administration sécurisée du système qui complètent les programmes de certification. On remarquera que ceux-ci suivent de manière inéluctable cet intérêt croissant et urgent pour la sécurité des systèmes informatiques. L’auteur importe régulièrement des propos développés dans le cadre de formations en cybersécurité.

Les candidats RHCSA préféreront une installation Centos ou (RHEL) ou encore Fedora. D’autres pourront préférer une distribution Ubuntu ou Debian Stable. Quel que soit le choix pris sur la distribution, l’auteur encourage une installation native et la pratique de la virtualisation Linux KVM.

I. Administration fondamentale

II. Administration avancée

III. Administration sécurisée

Évolution de Linux

18 minutes de lecture

Cette introduction est un point de départ sur le monde des ordinateurs et du système d’exploitation Unix moderne GNU/Linux. On verra l’évolution de Linux en tant que reproduction de Unix sur des plateformes Intel. 30 ans plus tard, Linux est certainement l’OS le plus déployé dans le monde.

Distributions Linux et cycles de maintenance

42 minutes de lecture

On présentera dans cet article les différentes distributions Linux principales au regard de leur cycle de maintenance et des critères de choix. Debian, Ubuntu, Red Hat Entreprise Linux (RHEL), Fedora, Centos, Rocky, OpenWRT, Kali, Gentoo, ArchLinux, sont celles qui feront l’objet de notre attention.

Licences Open Source

25 minutes de lecture

On présentera brièvement les licences Open Source GNU, GPL, BSD, Creative Common, Apache, leur organismes FSF, ISO, Linux Foundation et les intérêts économiques à adopter un modèle Open Source.

Applications Open Source

10 minutes de lecture

On trouvera ici une liste des applications Open Source à connaître dans le cadre de l’administration des systèmes Linux.

Environnements de bureau Linux

13 minutes de lecture

On exposera brièvement quelques environnements de bureau comme Gnome, KDE, LXDE ou encore XFCE sous Debian/Ubuntu et sous RHEL/Centos.

Installation Linux Debian

85 minutes de lecture

Il existe un guide complet pour répondre à toutes les questions concernant l’installation de Debian : Manuel d’installation pour la distribution Debian GNU/Linux. Ce document est tiré du livre Le cahier de l’administrateur Debian, Chapitre 4. Installation.

La ligne de commande

18 minutes de lecture

Voici une première approche de la ligne de commande du Shell Linux. On apprendra ici à manipuler les commandes du système et des alias des commandes.

Premier script shell

7 minutes de lecture

Voici un premier script shell qui vise à démontrer simplement l’environnement programmable du shell Linux.

Aide sous Linux

9 minutes de lecture

Il est essentiel de trouver de l’aide sous Linux grâce aux pages Manuel, aux fichiers sources et README mais aussi à travers des ressources en ligne.

Outils de base de traitement du texte

29 minutes de lecture

Ce chapitre expose les notions et les outils de base pour traiter du texte sous Linux. On s’attachera aux notions de tubes et de redirections d’entrée et de sortie et leur interaction avec différents binaires POSIX comme cat, tac, head, tail, tee, wc, split, od, hexdump, cut, uniq, sort, paste, join, fmt, pr, tr et diff.

Outils avancés de traitement du texte

51 minutes de lecture

Dans ce chapitre sur les outils avancés de traitement du texte on s’intéressa aux expressions rationnelles (regexp) et aux commandes grep, sed et awk.

L’éditeur de texte VI

12 minutes de lecture

Ce chapitre est un incontournable de la maîtrise d’un système Linux. Dans 99,99 % des cas, l’éditeur VI est présent sur votre système. Pourquoi s’en passer ?

Filesystem Hierachy Standard (FHS)

9 minutes de lecture

Ce chapitre se focalise sur la structure du système de fichiers sous Linux. On identifiera les différents emplacements d’un système Linux, l’emplacement courant et comment naviguer à travers des chemins relatifs ou absolus.

Opérations sur les fichiers

18 minutes de lecture

Dans ce chapitre on définira la nature d’un fichier Linux par un numéro d’inode. On identifiera aussi la nature d’un dossier. On verra comment réaliser différentes opérations sur les fichiers et répertoires comme la création, la copie, le déplacement, le renommage, la création de liens physiques et de liens symboliques.

Recherche de fichiers

8 minutes de lecture

Ce chapitre explique comment trouver des fichiers sur un système Linux selon différents critères comme la taille, les dates, les propriétaires ou encore les permissions. La recherche de fichiers peut se réaliser avec les commandes find et xargs, locate, which et whereis.

Archivage et compression

17 minutes de lecture

Ce chapitre présente différents outils d’archivage et de compression des fichiers sous Linux : tar, untar, gzip, gunzip, bzip2, bunzip2, xz, unxz, zip, unzip.

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.

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

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, SGID, sticky bit, commande stat, révision de la commande ls

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.

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.

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.

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.

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.

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.

Paquets Linux

52 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.

Virtualisation KVM

111 minutes de lecture

On trouvera ici une initiation à la virtualisation native Linux Qemu/KVM exploitée avec la librairie Libvirt.

Disques sous Linux

44 minutes de lecture

On trouvera ici l’essentiel des concepts et des outils pour manipuler des disques sous Linux : périphériques blocs, partitions EXT et XFS, mémoire swap, points de montages, quotas.

Introduction à TCP/IP

49 minutes de lecture

Ce chapitre est une brève introduction à la pile des protocoles TCP/IP.

Synthèse rapide des commandes réseau sous Linux

2 minutes de lecture

Synthèse rapide des commandes réseau sous Linux. Il y a trois paramètres nécessaires pour établir une connexion TCP/IP globale à partir d’un ordinateur : une adresse IP et son masque, une passerelle par défaut et un serveur de résolution de nom.

Outils Linux réseau

25 minutes de lecture

Diagnostic du réseau et outils d’audit : tcpdump, ping, traceroute, netstat, nslookup et dig.

Secure Shell

39 minutes de lecture

Secure Shell (SSH) est un protocole qui permet de sécuriser les communications de données entre les ordinateurs connectés au réseau. Il permet d’assurer la confidentialité, l’intégrité, l’authentification et l’autorisation des données dans des tunnels chiffrés. Il utilise TCP habituellement sur le port 22, mais il peut en utiliser d’autres simultanément. On utilise aujourd’hui la version SSH-2. La version SSH-1 est à proscrire. Le protocole SSH comporte autant de fonctionn...

Localisation géographique et synchronisation temporelle

18 minutes de lecture

La localisation géographique et la synchronisation des horloges est indispensable au bon fonctionnement des systèmes informatiques (logs, authentifications, chiffrement, forensic, …). Les logiciels Linux utiles sont date, timedatectl, ntpdate, chronyc. Le démon chronyd permet d’assurer la synchronisation temporelle auprès de serveurs de temps (NTP).

Tâches planifiées at cron

11 minutes de lecture

at, cron et systemd sont les programme Linux natifs qui permettent de planifier des tâches.

Journalisation Systemd et Syslog

18 minutes de lecture

Les logs ou les fichiers de journaux du système Linux sont collectés par le démon syslog. Systemd nous offre une capacité de journalisation ponctuelle issue des fichiers de journaux. L’horodatage des journaux et leur format est d’une importance cruciale pour un traitement ultérieur. Le système Linux étant particulièrement loquace, c’est en consultant ces journaux qu’on identifiera des pannes et que leur résolution sera d’autant plus aisée.

Sécurités MAC SElinux et AppArmor

19 minutes de lecture

Le Mandatory access control (MAC) ou contrôle d’accès obligatoire est une méthode de gestion des droits des utilisateurs pour l’usage de systèmes d’information. SElinux et AppArmor sont des logiciels qui implémentent la sécurité MAC sous Linux.

Logiciels de sauvegarde (Backup)

moins de 1 minutes de lecture

On peut réaliser des sauvegardes des disques, des systèmes de fichiers ou d’emplacements précis d’un système Linux de différentes manières. Les sauvegardes émanent toujours d’une stratégie et les restorations devraient être régulièrement validées. On trouvera ici quelques pistes pour les tâches de sauvegarde.

Routage et Pare-feu

58 minutes de lecture

Le pare-feu examine le trafic entrant, le trafic sortant et le trafic transféré. On trouvera ici une introduction au routage statique et dynamique sous Linux, les principes fondamentaux des concepts de pare-feu, le pare-feu Ubuntu par défaut ufw, le pare-feu Red Hat par défaut firewalld et le pare-feu Linux natif Netfilter avec ses commandes iptables.