[ ARCHIVE ] :

[ TITLE    ] : Daemon Systemd
[ CATEGORY ] : //
[ DATE     ] :

Le daemon systemd gère le processus de démarrage pour Linux, y compris les démarrages des autres services et leur gestion. Les daemons sont des processus exécutés en arrière-plan. Par convention, les noms de daemons se terminent par d. Les services pour systemd font référence à un ou plusieurs daemons. Le premier processus qui se lance sur le système est systemd est possède un PID 1. Gérer les deamons et servicesLa commande systemctl affiche l’état du système en listant les services chargés e

[ TITLE    ] : Stockage - Gestion LVM
[ CATEGORY ] : //
[ DATE     ] :

La création de volumes logiques se fait en plusieurs étapes. Ci-dessous un flux de travail de base pour utiliser LVM sous Linux. Création d’un stockage LVMPréparation des disquesCréez une nouvelle partition LVM avec fdisk : # fdisk /dev/vde Créez une nouvelle partition LVM : n : créer une nouvelle partition type de partition : par défaut primaire, appuyez sur Enter numéro de partition : par défaut le prochain disponible, appuyez sur Enter premier secteur : appuyez sur Enter pour utiliser la va

[ TITLE    ] : Stockage - Volumes logiques
[ CATEGORY ] : //
[ DATE     ] :

LVM (Logical Volume Manager) permet de gérer l’espace de stockage de manière plus dynamique et flexible en utilisant les concepts de Physical Volumes, Volume Groups et Logical Volumes. Avantage de LVML’avantages avec LVM est de : redimensionner des volumes sans arrêter les applications ni démonter les systèmes de fichiers de déplacer des données entre des disques d’ajouter facilement de nouveaux disques au pool de stockage Disque physiques - Partitions - PV - VG - LVPéripheriques PhysiquesLes

[ TITLE    ] : Stockage - Le swap
[ CATEGORY ] : //
[ DATE     ] :

Le swap (espace d’échange) est une zone de stockage sur le disque dur utilisée par le système pour étendre la capacité de la mémoire vive (RAM). Lorsque la RAM atteint sa limite, le swap permet de déplacer temporairement des données moins utilisées vers le disque dur, libérant ainsi de l’espace en RAM pour les données actuellement nécessaires. Capacité recommandée RAM Swap Swap si hibernation ⩽ 2Go 2 x la RAM 3 x la RAM 2 Go - 8 Go = à la RAM 2 x la RAM 8 Go - 64 Go ⩾ 4 Go 1,5 x la RAM

[ TITLE    ] : Gestion du stockage
[ CATEGORY ] : //
[ DATE     ] :

Exemple de gestion du stockage. Montage et démontage de systèmes de fichiersLa commande lsblk donne les disques existants, ici sdb, sdc et sdd viennent d’être ajoutés et ne sont pas partitionnés : [root@SERVER01 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSsda 8:0 0 50G 0 disk├─sda1 8:1 0 600M 0 part /boot/efi├─sda2 8:2 0 1G 0 part /boot└─sda3 8:3 0 48.4G 0 part ├─rhel-root 253:0 0 44.5G 0 lvm / └─rhel-swap 253:1

[ TITLE    ] : Stockage - Mount et unmount
[ CATEGORY ] : //
[ DATE     ] :

Les commandes mount et unmount permettent monter et démonter un système de fichiers manuellement en utilisant soit le nom du périphérique dans /dev ou avec son UUID. Lister les périphériques disponiblesLa commande lsblk permet de lister les périphériques disponibles : # lsblk La commande lsblk avec les options -f et -p permet de lister les périphériques disponibles et d’afficher leurs UUID : # lsblk -fp Sortie de la commande : NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE

[ TITLE    ] : Stockage - Créer un système de fichiers
[ CATEGORY ] : //
[ DATE     ] :

Pour créer un système de fichier on utilise la commande mkfs. Créer un système de fichiersAfficher le types de système de fichiers : # lsblk# file /dev/sdX Monter un système de fichier : # mkfs.ext4 /dev/sdX1# mkfs.fat -F32 /dev/sdX1# mkfs.ntfs /dev/sdX1# mkfs.xfs /dev/sdX1# mkfs.btrfs /dev/sdX1 Afficher les types de système de fichiersPeut se faire avec lsblk -o NAME, FSTYPE et blkid : # lsblk -o NAME,FSTYPENAME FSTYPEsda├─sda1 vfat├─sda2 xfs└─sda3 LVM2_member ├

[ TITLE    ] : Stockage - Ajout de partitions
[ CATEGORY ] : //
[ DATE     ] :

Pour patitionner un volume, on peut utiliser parted ou fdisk. À moins d’être expert·e parted il vaut mieux utiliser fdisk car les modifications restent en RAM avant la modification finale, alors que pour parted tout se valide au fur et à mesure et peut être compliqué en cas d’erreur. Partitionner un volumeOn veut partitionner un volume vdb. Affichage des informations sur les volumesListing des volumes disponibles : # lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSvda 252:0 0 10G 0 disk

[ TITLE    ] : Stockage - Ordre de procédure
[ CATEGORY ] : //
[ DATE     ] :

Ordre pour créer un nouveau volume sur un système : 0 - Plugger son disque1 - Créer une partition2 - Créer un système de fichiers3 - Monter la partition OrdrePlugger un disqueAfficher les informations des volumes : # lsblk # lsblk -fp # lsblk -fs Créer une partitionAfficher les informations des volumes : # lsblk # lsblk -fp # lsblk -fs Partitionner un volume, lire les instructions de l’aide # fdisk /dev/sdX Appliquer la modificationPour s’assurer que le noyau et udev ont bien pris e

[ TITLE    ] : Repository avec DNF
[ CATEGORY ] : //
[ DATE     ] :

La commande dnf repolist all permets de lister tous les repositories ( = dépôts) disponibles : dnf repolist all Activer des dépôtsPour activer un dépôt : # dnf config-manager --enable <name> // Active un dépôts Ajouter des dépôtsVia les fichiers de configurationIl est possible d’ajouter des dépôts de 2 façons : Créer un fichier .repo dans le répertoire /etc/yum.repos.d/ (Recommandé, les fichiers sont prioritaires) Ajouter une section [repository] au fichier /etc/dnf/dnf.conf (Plus pou

[ TITLE    ] : Yum - Installation et MAJ des packages
[ CATEGORY ] : //
[ DATE     ] :

DNF pour Dandified YUM (YUM vêtu en dandy 🤔 🤨) remplace maintenant YUM en tant que gestionnaire de packages dans RedHat 9. Les commandes DNF sont identiques à YUM. DNF et rpmCommande rpm : bas niveau utilisée pour installer des packages ne résoud pas les dépendances Commande dnf : améliore l’installation et les MAJ basés sur RPM pour installer, MAJ, supprimer pour obtenir des informations sur les packages et leurs dépendances historique des transactions Utilisation de dnfInformations sur l

[ TITLE    ] : Fichiers temporaires
[ CATEGORY ] : //
[ DATE     ] :

La plupart des applications, services et utilisateurs utilisent des fichiers et des répertoires temporaires dans /tmp.Les daemons (et parfois les utilisateurs) utilisent le répertoire /run.Ces répertoires /tmp et /run existent uniquement en mémoire et quand le système redémarre un nettoyage automatique est effectué. L’outil systemd-tmpfiles permet de gérer les répertoires et les fichiers temporaires. Il exécute au démarrage la commande systemd-tmpfiles avec les l’options --create ou --remove et

[ TITLE    ] : Crontab et planification
[ CATEGORY ] : //
[ DATE     ] :

Les daemons Cron et Anacron servent à planifier l’exécution de tâches récurrentes à un certain moment : une heure exacte, un jour du mois, un jour de la semaine et par une semaine. CronLa commande crontab permet de gérer et de planifier des tâches. Pour exécuter des tâches récurentes, il est conseillé de les faire à partir d’un compte système plutôt qu’utilisateur. Le fichier /etc/crontab donne la syntaxe et il est possible de spécifier l’utilisateur : SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/u

[ TITLE    ] : Bash - Boucles FOR
[ CATEGORY ] : //
[ DATE     ] :

Memo pour les boucles for et while en bash. Boucles forDans un script bashBoucle limitée : #!/bin/bashfor i in {1..10}do echo "My number is $i"done Boucle limitée : #!/bin/bashfor (( n=1; n<=10; n++ ))do echo "My number is $n"done Boucle infinie : #!/bin/bashfor (( ; ; ))do echo "Hello World!"done Dans un terminalDirectement dans le terminal : # for i in {1..10} ; do echo "Bonjour $i" ; done# for i in {1..3}; do sha

[ TITLE    ] : Nice et Renice
[ CATEGORY ] : //
[ DATE     ] :

Quand un processus est créé, il passe dans une file d’attente de priorité. Ce processus hérite de la valeur nice de son parent et quand il est lancé depuis un terminal, il hérite du nice du processus du shell. De façon générale, lorsqu’un nouveau processus est crée, sa valeur nice par défaut est 0. Les priorités sous LinuxGestion de la priorité sous linux : de -1 à -20 : priorités HAUTES (-20 étant la plus haute) de 0 à 19 : priorités BASSES (19 étant la plus basse) Higher Priority

[ TITLE    ] : Profils d'optimisation
[ CATEGORY ] : //
[ DATE     ] :

Le daemon tuned permet de selectionner un profil pour optimiser les performances du système, il utilise udev pour surveiller les appareils connectés et ajuste les paramètres du système de façon statique et dynamique en fonction d’un profil sélectionné. Tuned comporte plusieurs profils prédéfinis pour des cas d’utilisation courants : débit élevé, faible latence, économie d’énergie, etc. Utilitaire tunnedPour installer et activer tunned : # dnf install tuned# systemctl enable --now tuned Pour vé

[ TITLE    ] : Tuer des processus
[ CATEGORY ] : //
[ DATE     ] :

La commande kill permet d’envoyer un signal à un processus. L’option -l permet de lister tous les signaux possible : # kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR213) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT19) SIGSTOP 20) SIGTSTP [...] Tuer des processusLister les processus pour récuper leurs PID afin de les tuer 🔪 # ps aux | grep fir

[ TITLE    ] : SELinux - Annalyser les problèmes
[ CATEGORY ] : //
[ DATE     ] :

SELinux fonctionne avec des politiques ciblées qui définissent les actions autorisées. Les politiques décrivent les types de processus, les contextes de fichier ou de port, en posant des étiquettes sur les processus et les ressources et déterminent l’action à autoriser. S’il n’existe pas d’entrée pour un processus, une ressource ou une action spécifique, l’action demandée sera refusée et la tentative sera écrite dans le fichier logs /var/log/audit/audit.log sous forme de message AVC (Access Vect

[ TITLE    ] : SELinux
[ CATEGORY ] : //
[ DATE     ] :

SELinux (Security-Enhanced Linux) protège les ressources en permettant de définir une politique de contrôle d’accès obligatoire aux ressources d’un système Linux. SELinux applique des règles d’accès définissant les actions autorisées entre les différents processus et ressources. Toute action non définie dans une règle n’est pas autorisée. Sa principale fonction est de protéger les données utilisateurs contre toute utilisation inappropriée des services, ports, processus ou applications. Ces prote

[ TITLE    ] : Gérer les permissions
[ CATEGORY ] : //
[ DATE     ] :

La commande chmod permet de modifier les permissions sur des fichier et chown de modifier les utilisateurs et groupes propriétaires. /!\ Résumé des commandesCommandes : # chmod [-R][ugoa][+-=][rwxX] file|directory# chmod u+rwx,g+rx,o+r monfichier# chown [-R][owner:group] file|directory# chown [-R][owner] file|directory# chown [-R][:group] file|directory# umask# echo "umask 007" >> ~/.bashrc // Change l'umask pour un utilisateur en particulier Fichiers : /etc/login.defs //

[ TITLE    ] : Gérer les mots de passe
[ CATEGORY ] : //
[ DATE     ] :

Gestion de la politique de mots de passe et du (dé)verouillage des comptes. FormatFichier /etc/shadowLe fichier /etc/shadow contient les mots de passe chiffrés des utilisateurs : # cat /etc/shadow [...]john:$6$BxDsd3v$awt/IiD0DClCydf:13370:0:90:14:5:18100: Signification des champs : john : nom du compte $6$BxDsd3v$awt/IiD0DClCydf : mdp chiffré 13370 : nbres de jours depuis le dernier changement de mdp 0 : nbre de jours avant que l’utilisateur puisse à nouveau changer son mdp 90 : nbre de jour

[ TITLE    ] : Root et Wheel
[ CATEGORY ] : //
[ DATE     ] :

La commande su permet de basculer sur un autre compte utilisateur. Les options de suDifférences entre su, su - et su -i: su <user> : démarre un shell sans connexion Lance un shell sous l’identité de de l’utilisateur voulu en conservant les paramètres d’environnement courants su - <user> : lance un shell de connexion (si pas précisé, se connecte en root) Configure l’environnement shell comme s’il s’agissait d’une nouvelle connexion sous l’identité voulue sudo -i : bascule vers l

[ TITLE    ] : Gestion des groupes
[ CATEGORY ] : //
[ DATE     ] :

Il y a 3 types de comptes utilisateurs dans Linux : root (super utilisateur), daemon (utilisateur système) et utilisateur normal. Un utilisateur a un groupe principal (qui a le même nom que son login et ne comporte que lui-même) et peut être membre de groupes secondaires. Les fichiers contenant des informations sur les groupes secondaires sont : /etc/group et /etc/passwd pour le groupe principal. Gestion des groupesAfficher les informations du groupe pour un utilisateur : # id <username>ui

[ TITLE    ] : Gestion des utilisateurs
[ CATEGORY ] : //
[ DATE     ] :

Il y a 3 types de comptes utilisateurs dans Linux : root (super utilisateur), daemon (utilisateur système) et utilisateur normal. Les fichiers contenant des informations sur les utilisateurs sont : /etc/passwd, /etc/group et /etc/shadow. Les commandes : useradd, usermod et userdel : gèrent les utilisateurs. passwd : gère les mots de passe utilisateurs chage : affiche et configure les paramètres d’expiration du mot de passe Gestion des utilisateursCréer un utilisateur et son groupe personnel :

[ TITLE    ] : Utilisateurs et groupes
[ CATEGORY ] : //
[ DATE     ] :

Sous Linux, la sécurité du système est en partie gérée par des droits accordés aux utilisateurs et aux groupes. Les utilisateursLes 3 types de comptes utilisateurs sont : super utilisateur : administre le système (root avec l’UID 0) utilisateur système : utilisés par des processus (daemons) utilisateur standard accès limité au système ProcessusLa commande ps permet d’afficher les processus. Par défaut seul les processus du shell actuel sont affichés. L’option -a affiche tous les proces

[ TITLE    ] : Bash Pattern Filter
[ CATEGORY ] : //
[ DATE     ] :

Une expression régulière ou motif ou regex (de l’anglais regular expression) est une chaîne de caractères qui décrit, selon une syntaxe précise, un ensemble de chaînes de caractères possibles. Elles sont issues des théories mathématiques des langages formels. Les expressions régulières peuvent être testées via https://regex101.com/ Tableau des correspondancesExpressions rationnelles courantes : Pattern Correspondance * Toute chaîne de zéro caractère ou plus ? Tout ca

[ TITLE    ] : Les liens sous Linux
[ CATEGORY ] : //
[ DATE     ] :

Les liens sous linux sont des fichiers qui pointent vers le même fichier. Il en existe de 2 types lien matériel (hard link) lien symbolique (soft|symbolic link) Les liensHard LinkUn hard link est juste un autre nom de fichier qui pointe vers les mêmes données. Création de hard linkPour créer un hard link : # ln myfile.txt myfile-hardLink01.txt SpécificitésLes hard link : Pointent vers les mêmes données Ont les mêmes numéros d’inode Donc si un fichier linké modifié alors tous le seront Les do

[ TITLE    ] : Systeme de fichier Linux
[ CATEGORY ] : //
[ DATE     ] :

Les contenus des répertoires peuvent être : Statique : le contenu reste inchangé jusqu’à ce qu’il soit modifié ou reconfiguré Dynamique/variable : le contenu est généralement modifié ou complété par des processus actifs Persistant : contenu qui persiste après un redémarrage (ex : paramètres de configuration) Exécution : contenu spécifique au processus ou au système supprimé lors d’un redémarrage Arboressence LinuxArboressence treeTree de l’arboressence avec les liens synboliques $ tree -L 1 //

[ TITLE    ] : Configuration clés SSH
[ CATEGORY ] : //
[ DATE     ] :

SSH peut permettre une connexion sans mot de passe en utilisant l’authentification par clé privée/publique. La clé privée est utilisée comme identifiant d’authentification et comme mot de passe, elle doit être tenue secrète et sécurisée.La clé publique est copiée sur les systèmes auxquels l’utilisateur souhaite se connecter et sert à vérifier la clé privée. La clé publique n’a pas besoin d’être secrète. Configuration de l’authentification par clé SSHUne copie de la clé publique sera associée à v

[ TITLE    ] : Manage Container
[ CATEGORY ] : //
[ DATE     ] :

TIPS & TRICKSTo search the contents of the man pages # man -k searchterm # man -K searchterm Container tasks examplesTo keep in mind:Example for the generate, folder and linger: # man podman-generate-systemd Build a container 1| Use the URL http://classroom.example.com/Containerfile to build the container image with the name “web”| Build it in ~/mycontainer as harry user.| Do not modify the container file. Connect to Harry user and create the /mycontainer directory: $ mkdir ~/mycontainer

[ TITLE    ] : Manage LVM
[ CATEGORY ] : //
[ DATE     ] :

TIPS & TRICKSTo search the contents of the man pages # man -k searchterm # man -K searchterm Configure LVMTo keep in mind: Création de partition LVM Création de PV (pour chaque partition) Création de VG (Englobant 1 ou plusieurs PV) Création de LV (Faisant partie d’un VG) Formatage du LV dans un système de fichier Création de répertoires pour monter les LV (1 LV = 1 Répertoire) Rendre persistant dans /etc/fstab Les PV:Un simple fdisk pour partitionner, ajouter le type (t) lvm: # fdisk /d

[ TITLE    ] : Manage SELiux
[ CATEGORY ] : //
[ DATE     ] :

TIPS & TRICKSTo search the contents of the man pages # man -k searchterm # man -K searchterm SELinux task examplesTo keep in mind. Context: # cat /etc/selinux/config // Edit context - permanent Web site: # vim /etc/httpd/conf/httpd.conf // Change document root if needed# systemctl enable httpd.service --now# systemctl reload httpd.service # man semanage-fcontext# semanage fcontext -a -t httpd_sys_content_t "/myBlog(/.*)?"# restorecon -R -v /myBlog Users di

[ TITLE    ] : Manage Swap
[ CATEGORY ] : //
[ DATE     ] :

TIPS & TRICKSTo search the contents of the man pages # man -k searchterm # man -K searchterm Swap partition tasks examplesDon’t forget # mkswap /dev/sdb1# swapom /dev/sdb1 And in fstab: UUID=29ee03a0-196a-42cd-986f-4560097c9764 swap swap defaults 0 0UUID=fe0b8dff-238d-4748-8e16-c576c4c0b8be swap swap pri=42 0 0 Create a swap partition 1Create a swap partition of 512MB at /dev/sdb, with a persistent prioity of 20. # free -m # fdisk /dev/sdb/ // g, n, +512M, t, swap, w# partprobe# lsb