7,49 €
"
Guide d'Administration Linux pour les Débutants" de Maxime Seb est un ouvrage essentiel pour ceux qui débutent dans le monde de Linux.
Ce livre offre une introduction complète à l'
administration de systèmes Linux, idéale pour les lecteurs qui souhaitent devenir rapidement opérationnels. Il couvre les bases de l'administration système : la gestion des utilisateurs, des disques et des fichiers sont des thèmes qui y sont traités, tout comme l'analyse réseau avec la commande sar par exemple.
Vous découvrirez de nombreuses autres commandes d'administration qui enrichiront votre compréhension et vos compétences dans la gestion de systèmes Linux.
Le guide est structuré de manière à faciliter l'apprentissage progressif, avec
des explications claires et
des exemples pratiques qui permettent aux débutants de se familiariser avec l'environnement Linux.
Ce livre est une ressource précieuse qui vous aidera à maîtriser les fondamentaux de Linux.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Veröffentlichungsjahr: 2024
Guide D’Administration LINUX Pour Les Débutants
Maxime Seb
Published by Maxime Seb, 2024.
Guide
D’Administration
LINUX
Pour Les
Débutants
Table des matières
Chapitre 1 : Gestion des utilisateurs et des groupes
1.1 Création d'un utilisateur avec `useradd`
1.2 Modification de mot de passe avec `passwd`
1.3 Suppression d'un utilisateur avec `userdel`
1.4 Création d'un groupe avec `groupadd`
1.5 Modification d'un utilisateur avec `usermod`
1.6 Exécution de commandes avec `sudo`
1.7 Changement d'utilisateur avec `su`
Chapitre 2 : Gestion des permissions
2.1 modifier les permissions de fichier avec`chmod`
2.2 Gestion des propriétaires de fichiers avec `chown`
2.3 changement de groupe pour les fichiers `chgrp`
Chapitre 3 : Gestion des processus
3.1 Surveillance des processus en cour `ps`
3.2 Utilisation avancée de pgrep
3.3 Surveillance en temps réel avec `top`
3.4 terminer les processus avec `kill`
Exercice corrigé
Chapitre 4 : Gestion des services
4.1 Gestion des Services avec `systemctl`
4.2 Gestion des services avec `service`
Exercice corrigé
Chapitre 5 : Gestion des journaux
5.1 Gestion des erreurs Linux avec `journalctl`
5.2 Gestion des logs du noyau avec `dmesg`
Exercice corrigé
Chapitre 6 : Réseau et connectivité
6.1 Configuration réseau avec `ifconfig`
6.2 Connexion réseau avec `netstat`
6.3 Surveillance des sockets avec `ss`
6.4 Communication réseau avec `telnet`
6.5 Communication réseau avec nc (Netcat)
6.6 Communication réseau avec /dev/tcp/
Exercice corrigé
Chapitre 7 : Gestion des disques et des partitions
7.1 Gestion des partitions de disque avec `fdisk`
7.2 Gestion des partitions de disque avec `parted`
7.3 Création d'une nouvelle partition avec `parted`
7.6 Redimensionnement d'une partition avec `parted`
7.4 Espace disponible avec `df`
7.5 Espace disque de l’utilisateur avec `du`
Exercice corrigé
Chapitre 8 : Sauvegarde et restauration
8.1 Archiver des fichiers/dossier avec `tar`
8.2 Synchronisation des données avec `rsync`
8.3 Vérifier les systèmes de fichier avec `fsck`
8.4 Vérifier les blocks défectueux avec `badblocks`
Exercice corrigé
Chapitre 9 : Montage de systèmes de fichiers
9.1 monter des systèmes de fichiers avec `mount`
9.2 Détacher les systèmes de fichiers avec `umount`
Exercice corrigé
Chapitre 10 : Partage de fichiers en réseau
10.1 Partage NFS (Network File System)
10.2 Partage CIFS (Common Internet File System)
Exercice corrigé
Chapitre 11 : Gestion des packages
11.1 Gestion des packages avec apt et apt-get
11.2 Gestion des paquets avec `yum` et `dnf`
11.3 Gestion des paquets avec `zypper`
Exercice corrigé
Chapitre 12 : Gestion des tâches planifiées
12.1 Planification des tâches avec `crontab`
12.2 Planification des tâches avec `at`
12.3 Donner à un utilisateur les droits d’accès à crontab :
Exercice corrigé
Chapitre 13 : Surveillance du système
13.1 Statistiques de mémoire virtuelle avec `vmstat`
13.2 Analyse des performances des disque avec `iostat`
13.3 Statistiques des données système avec `sar`
Exercice corrigé
Chapitre 14 : Gestion des fichiers texte
14.1 Recherche de motif avec `grep`
14.2 Editeur `sed`
14.3 Extraire des données avec `awk`
Exercice corrigé
Chapitre 15 : Contrôle d'accès réseau
15.1 Règle de filtrage réseau avec `iptables`
15.2 Gestion avancée du filtrage réseau avec nftables
15.3 Gestion Dynamique des Règles de Pare-feu `firewalld`
15.4 Iptables vs. Firewalld
15.5 Configuration réseau avec `ip`
Exercice corrigé
Chapitre 16 : Sécurité
16.1 Contrôle d’Accès aux Fichiers avec `chmod`
16.2 Sécurité et Propriété des Fichiers avec`chown`
16.3 Protéger l’Authentification Utilisateur avec `passwd`
Exercice corrigé
Chapitre 17 : Analyse et diagnostic
17.1 Exploration des paquets réseau `tcpdump`
17.2 Surveillance des processus en exécution avec `strace`
17.3 Cartographie des fichiers ouverts par les processusavec `lsof`
Exercice corrigé
Chapitre 18 : Gestion de la mémoire
18.1 Analyse détaillée de l’utilisation de la mémoire avec `free`
18.2 Activer/Désactiver la mémoire swap avec `swapoff`/`swapon`
Chapitre 19 : Arrêter/Redémarrer le système
19.1 Éteindre le système avec précision et sécurité avec `shutdown`
19.2 Exécuter un arrêt complet et sécurisé du systèmeavec `poweroff`
19.3 Redémarrage du système d’exploitation avec `reboot`
Chapitre 20 : Analyse des performances
20.1 Analyse de performance avec `perf`
20.2 : La commande `sysctl`
Exercice corrigé
Chapitre 21 : Gestion des clés RSA
21.1 Génération de clés
21.2 Utilisation des clés
21.3 Utilisation de la commande `ssh-copy-id`
21.4 Méthode manuelle ( équivalent à `ssh-copy-id` )
Exercice corrigé
Chapitre 22 : Gestion des certificats SSL/TLS avec OpenSSL
22.1 Utilisation de OpenSSL
22.2 Principales fonctionnalités :
22.2.1. Génération de clés privées et de demandes de signature de certificat (CSR)
22.2.2. Signature de certificats auto-signés
22.2.3. Installation et configuration de certificats SSL/TLS
Exercice corrigé
Chapitre 23 : Gestion des logs d'application
23.1 Suivi en temps réel des fichiers de logs `tail`
23.2 Recherche de chaînes de caractères avec `grep`
23.3 Rotation des fichiers de logs avec `logrotate`
Chapitre 24 : Gestion des utilisateurs distants
24.1 Accès distant des serveurs avec `ssh`
24.2 copie sécurisée à travers les serveurs avec `scp`
24.3 Réplication de données avec `rsync`
Exercice corrigé
Chapitre 25 : Analyse et surveillance avancées
25.1 Diagnostic des performances avec `nmon`
25.2 Exploration des processus système avec `htop`
25.3 Collecte de données sur les performances système `sysstat`
Exercice corrigé
Chapitre 26 : Sécurisation du serveur
26.1 Configuration facile du pare-feu avec `ufw`
26.2 Protection contre les attaques par force brute avec `fail2ban`
Chapitre 27 : Gestion des mises à jour et des correctifs
27.1 Mise à jour des packages sous Debian et ses dérivés
27.2 Mise à jour des packages sous les distributions basées sur RPM
27.3 Mise à jour des packages sous openSUSE
Exercice corrigé
Chapitre 28 : Gestion avancée de la sécurité avec SELinux
28.1 Introduction à SELinux
28.2 Configuration de SELinux
28.3 Dépannage de SELinux
28.4 Intégration de SELinux dans la stratégie de sécurité
Exercice corrigé
Chapitre 29. Automatisation des tâches :
29.1 Scripts Shell
29.2 `cron`
Exercice corrigé
Chapitre 30 : La Commande uptime
30.1 Qu’est-ce que la commande uptime
30.2 Syntaxe de base :
30.3 Options courantes de uptime :
30.4 Exemples d’utilisation :
Chapitre 31 : La commande jobs
31.1 Introduction
31.2 Qu’est-ce que la commande jobs
31.3 Utilisation de la commande jobs
31.4 Exemples d’utilisation
Conclusion
Chapitre 32 : La commande nohup
32.1 Qu’est ce que la commande nohup
32.2 Qu’est-ce que Linux nohup
32.3 Comment fonctionne la commande nohup
32.4 Options de la commande nohup
32.5 Exemples d’utilisation
Conclusion
Chapitre 33 : La Commande nmap
33.1 Qu’est-ce que la commande nmap
33.2 Syntaxe de base
33.3 Options courantes de nmap
33.4 Exemples d’utilisation
Conclusion
Chapitre 34 : La Commande `bridge` sous Linux
34.1 Introduction à Bridge
34.2 Description
34.3 Options de la Commande :
34.4 Exemples
©[2024], [Maxime Seb]
Tous droits réservés.
Aucune partie de cette publication ne peut être reproduite, distribuée ou transmise sous quelque forme ou par quelque moyen que ce soit, y compris la photocopie, l’enregistrement ou d’autres méthodes électroniques ou mécaniques, sans l’autorisation préalable écrite de l’auteur, sauf dans le cas de brèves citations incorporées dans des critiques et certaines autres utilisations non commerciales autorisées par la loi sur le copyright.
Bien que l’auteur et l’éditeur aient fait tout leur possible pour s’assurer que les informations contenues dans ce livre étaient correctes au moment de la publication, l’auteur et l’éditeur n’assument aucune responsabilité pour les erreurs, les inexactitudes ou les omissions, ou pour les résultats obtenus de l’utilisation de ces informations.
La gestion des utilisateurs et des groupes est une compétence fondamentale dans l'administration Linux. Ce chapitre vous fournira une compréhension de base des commandes nécessaires pour créer, modifier et supprimer des utilisateurs ainsi que des groupes.
La commande `useradd` est utilisée pour créer un nouvel utilisateur sur le système.
Privilèges requis : La commande useradd ne peut être exécutée que par des utilisateurs disposant de droits root ou des privilèges pour la commande sudo.
Paramètres du fichier de configuration : Les valeurs de la commande useradd sont définies dans le fichier /etc/default/useradd. En fonction de ces paramètres, le système crée un nouvel utilisateur avec le nom que vous avez choisi.
Options couramment utilisées :
- `-m` : Crée un répertoire personnel pour l'utilisateur dans `/home`.
- `-G groupe` : Ajoute l'utilisateur à un ou plusieurs groupes supplémentaires.
Exemple d’utilisation :
Création d’un utilisateur : Pour créer un nouvel utilisateur, utilisez la syntaxe suivante :
useradd monutilisateur
useradd monutilisateur :
Cette commande crée un nouvel utilisateur appelé “monutilisateur”.
Elle ne spécifie pas d’options supplémentaires, ce qui signifie que l’utilisateur sera créé sans répertoire personnel dans /home.
L’utilisateur ne sera pas automatiquement ajouté à un groupe particulier.
Création d’un utilisateur avec option :
Cette commande crée un nouvel utilisateur appelé "monutilisateur" avec un répertoire personnel dans `/home` et l'ajoute au groupe "sudo".
useradd -m -G sudo monutilisateur
useradd -m -G sudo monutilisateur :
Cette commande crée également un nouvel utilisateur appelé “monutilisateur”.
L’option -m est utilisée pour créer un répertoire personnel pour l’utilisateur dans /home.
L’option -G sudo ajoute l’utilisateur au groupe “sudo”.
En conséquence, l’utilisateur aura un répertoire personnel et fera partie du groupe “sudo”, ce qui lui accorde des privilèges root.
La commande `passwd` permet à un utilisateur de changer son mot de passe ou à un superutilisateur de modifier le mot de passe d'un autre utilisateur.
Pour changer votre propre mot de passe, utilisez la syntaxe suivante :
Passwd
Si vous êtes un superutilisateur et que vous souhaitez modifier le mot de passe d’un autre utilisateur (par exemple, “monutilisateur”), utilisez la commande suivante :
passwd monutilisateur
Options couramment utilisées
-e : Exige que l’utilisateur change son mot de passe lors de la prochaine connexion. Par exemple :
passwd -e monutilisateur
Cette commande forcera “monutilisateur” à changer son mot de passe lors de sa prochaine connexion.
-l : Verrouille le compte de l’utilisateur, le rendant inaccessible pour les connexions. Par exemple :
passwd -l monutilisateur
Cette commande verrouillera le compte de “monutilisateur”.
Modification des options par défaut :
Les options par défaut de useradd peuvent être affichées et modifiées à l’aide de l’option -D ou en éditant manuellement le fichier /etc/default/useradd. Pour afficher les options par défaut actuelles, utilisez la commande :
useradd -D
Le résultat ressemblera à ceci :
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
Ces valeurs peuvent varier d’une distribution à l’autre.
Conseils de sécurité
Choisissez des mots de passe forts, mélangeant majuscules, minuscules, chiffres et caractères spéciaux.
Changez régulièrement vos mots de passe pour renforcer la sécurité de votre compte.
La commande `userdel` est utilisée pour supprimer un utilisateur du système Linux. Voici comment l’utiliser :
Pour supprimer un utilisateur sans supprimer les fichiers et répertoires de l’utilisateur, utilisez la syntaxe suivante :
userdel nom_utilisateur
Remplacez “nom_utilisateur” par le nom de l’utilisateur que vous souhaitez supprimer. Cette commande supprime l’entrée de l’utilisateur des fichiers /etc/passwd et /etc/shadow.
Supprimer l’utilisateur et ses fichiers personnels : Si vous souhaitez également supprimer le répertoire personnel de l’utilisateur et son contenu, ajoutez l’option -r (ou --remove) :
userdel -r monutilisateur
- Cette commande supprime l'utilisateur "monutilisateur" du système et supprime également son répertoire personnel.
Attention aux fichiers situés dans d’autres systèmes de fichiers
Lorsque vous utilisez la commande userdel pour supprimer un utilisateur, elle ne supprime que les entrées de cet utilisateur dans les fichiers système tels que /etc/passwd et /etc/shadow. Cependant, elle ne supprime pas automatiquement les fichiers personnels de l’utilisateur qui peuvent être situés dans d’autres emplacements du système de fichiers.
Voici ce que cela signifie concrètement :
Répertoire personnel dans /home
:
Par défaut, userdel supprime l’entrée de l’utilisateur des fichiers de configuration, mais il ne supprime pas automatiquement le répertoire personnel de l’utilisateur situé dans /home.
Si vous souhaitez supprimer également le répertoire personnel de l’utilisateur, vous devez utiliser l’option -r (ou --remove) avec userdel. Cette option supprimera le répertoire personnel, ainsi que tous les fichiers et sous-répertoires qu’il contient.
Autres fichiers dans d’autres systèmes de fichiers
:
L’avertissement concerne les fichiers de l’utilisateur qui peuvent être situés en dehors du répertoire personnel standard (/home). Par exemple, l’utilisateur peut avoir des fichiers dans d’autres partitions, des disques montés, ou même des emplacements réseau.
Ces fichiers ne sont pas automatiquement supprimés par userdel. Vous devrez les rechercher et les supprimer manuellement si nécessaire.
Vérification manuelle
:
Avant de supprimer un utilisateur, il est recommandé de vérifier s’il existe des fichiers personnels en dehors du répertoire /home. Vous pouvez utiliser des commandes telles que find pour rechercher ces fichiers.
Assurez-vous de sauvegarder ou de transférer les fichiers importants avant de supprimer l’utilisateur.
Soyez conscient que userdel ne supprime pas automatiquement tous les fichiers de l’utilisateur, en particulier ceux situés en dehors du répertoire personnel standard. Vous devrez prendre des mesures supplémentaires pour gérer ces fichiers, le cas échéant.
Gestion des processus en cours d’exécution : Si l’utilisateur que vous souhaitez supprimer est toujours connecté ou s’il existe des processus en cours d’exécution appartenant à cet utilisateur, la commande userdel ne permettra pas de le supprimer. Dans ce cas, il est recommandé de déconnecter l’utilisateur et de tuer tous les processus en cours d’exécution avec la commande killall :
sudo killall -u nom_utilisateur
Une autre option consiste à utiliser l’option -f (--force) pour forcer la suppression de l’utilisateur, même s’il est toujours connecté ou s’il existe des processus en cours d’exécution :
userdel -f nom_utilisateur
L’utilisation de userdel -r -f permet de supprimer complètement l’utilisateur, y compris son répertoire personnel et ses fichiers. Assurez-vous de prendre en compte les fichiers personnels et les processus en cours d’exécution lors de la suppression d’un utilisateur
Exemple :
sudo userdel -r -f alice
Utilisez cette option avec précaution, car elle supprime définitivement l’utilisateur et tous ses fichiers
La commande `groupadd` permet de créer un nouveau groupe sur le système.
Exemple d’utilisation :
groupadd mongroupe
- Cette commande crée un nouveau groupe appelé "mongroupe".
Lorsque vous exécutez la commande groupadd pour créer un nouveau groupe sous Linux, voici ce qui se passe en détail :
Création du groupe
: Vous saisissez la commande groupadd suivie du nom du nouveau groupe que vous souhaitez créer. Par exemple, si vous voulez créer un groupe appelé “mon_groupe”, vous tapez groupadd mon_groupe.
Ajout d’une entrée dans les fichiers
:
La commande groupadd ajoute une entrée pour le nouveau groupe dans deux fichiers système :
/etc/group
: Ce fichier contient des informations sur les groupes d’utilisateurs. Chaque ligne représente un groupe et contient des détails tels que le nom du groupe, son identifiant de groupe (GID) et les utilisateurs qui en font partie.
/etc/gshadow
: Ce fichier stocke des informations sensibles sur les groupes, telles que les mots de passe des groupes (si configurés). Il est utilisé pour gérer les groupes de manière sécurisée.
L’entrée ajoutée dans ces fichiers comprend des informations telles que le nom du groupe, son GID et d’autres attributs associés.
Utilisation du groupe
:
Une fois que le groupe est créé, vous pouvez commencer à ajouter des utilisateurs à ce groupe. Les utilisateurs peuvent être membres de plusieurs groupes, ce qui facilite la gestion des autorisations et des accès aux fichiers et répertoires.
La commande usermod vous permet de modifier les propriétés d’un utilisateur existant sur un système Linux. Voici comment l’utiliser et quelques Options couramment utilisées :
Ajout d’un utilisateur à un groupe supplémentaire :
L’option -aG permet d’ajouter un utilisateur à un groupe supplémentaire.
Par exemple, pour ajouter l’utilisateur “monutilisateur” au groupe “mongroupe”, utilisez la commande suivante
Exemple d’utilisation :
usermod -aG mongroupe monutilisateur
Après avoir exécuté cette commande, l’utilisateur “monutilisateur” sera membre du groupe “mongroupe” en plus de ses autres groupes existants
Autres modifications possibles avec usermod :
Outre l’ajout à un groupe, usermod permet également de modifier d’autres propriétés d’un utilisateur, telles que son répertoire personnel, son shell par défaut, sa description, etc.
Pour afficher toutes les options disponibles, consultez la page de manuel en utilisant la commande :
man usermod
La commande sudo (qui signifie “SuperUser DO”) permet à un utilisateur autorisé d’exécuter des commandes en tant que superutilisateur (ou tout autre utilisateur spécifié dans le fichier sudoers). Voici comment elle fonctionne et comment la configurer :
Utilisation de sudo :
Lorsque vous préfixez une commande avec sudo, vous demandez au système d’exécuter cette commande avec des privilèges élevés (équivalents à ceux du superutilisateur, généralement root).
Par exemple, la commande suivante met à jour les paquets du système en tant que superutilisateur :
sudo apt update
Remarque :
Le fichier /etc/sudoers contient les règles qui définissent les utilisateurs et les commandes autorisés à utiliser sudo.
Pour configurer `sudo` de manière à ce qu'il ne demande pas de mot de passe lors du changement d'utilisateur, vous devez modifier le fichier `sudoers`. Voici les étapes à suivre :
Fichier `sudoers`
Ouvrez le fichier `sudoers` avec un éditeur de texte en mode superutilisateur. Il est recommandé d'utiliser la commande `visudo` pour éviter les erreurs de syntaxe :
sudo visudo
Configuration pour éviter la demande de mot de passe
Vous pouvez configurer sudo pour qu’il n’exige pas de mot de passe lors de l’utilisation de certaines commandes.
Ajoutez la ligne suivante à la fin du fichier, en remplaçant `username` par le nom d'utilisateur concerné :
username ALL=(ALL) NOPASSWD :ALL
Attention :
Cette configuration permet à l'utilisateur spécifié d'exécuter toutes les commandes via `sudo` sans avoir à entrer son mot de passe. Soyez prudent lorsque vous utilisez cette configuration, car elle peut présenter des risques de sécurité si elle n'est pas gérée correctement. Il est conseillé de l'appliquer uniquement pour des utilisateurs ou des commandes spécifiques en qui vous avez confiance.
Gestion des privilèges :
Pour la plupart des distributions Linux modernes, un utilisateur doit appartenir au groupe sudo, sudoers ou wheel pour utiliser la commande sudo.
Par défaut, un système mono-utilisateur accorde automatiquement les privilèges sudo à son utilisateur.
Pour ajouter un utilisateur au groupe sudoers :
Dans RedHat/CentOS : Utilisez usermod -aG wheel [username].
Dans Debian/Ubuntu : Utilisez usermod -aG sudo [username].
La commande `su` permet à un utilisateur de passer à un autre utilisateur ou de devenir superutilisateur.
Exemple d’utilisation :
su - monutilisateur
Explication :
- Cette commande permet de se connecter en tant que "monutilisateur".
Exercice corrigé
1. Créez un nouvel utilisateur nommé "nouveau" avec un répertoire personnel et ajoutez-le au groupe "nouveaugroupe".
2. Changez le mot de passe de l'utilisateur "nouveau".
3. Supprimez l'utilisateur "nouveau" et son répertoire personnel.
4. Créez un nouveau groupe appelé "autregroupe".
5. Modifiez l'utilisateur "nouveau" pour l'ajouter au groupe "autregroupe".
6. Utilisez la commande `sudo` pour mettre à jour les paquets du système.
7. Utilisez la commande `su` pour passer à l'utilisateur "nouveau".
Correction :
Voici les étapes pour accomplir les tâches demandées :
Créez un nouvel utilisateur nommé “nouveau” avec un répertoire personnel et ajoutez-le au groupe “nouveaugroupe”.
useradd -m -G nouveaugroupe nouveau
Changez le mot de passe de l’utilisateur “nouveau”.
passwd nouveau
Supprimez l’utilisateur “nouveau” et son répertoire personnel.
userdel -r nouveau
Créez un nouveau groupe appelé “autregroupe”.
groupadd autregroupe
Modifiez l’utilisateur “nouveau” pour l’ajouter au groupe “autregroupe”.
usermod -aG autregroupe nouveau
Utilisez la commande sudo pour mettre à jour les paquets du système.
sudo apt update
Utilisez la commande su pour passer à l’utilisateur “nouveau”.
su – nouveau
