diff --git a/docs/books/admin_guide/00-toc.pt-BR.md b/docs/books/admin_guide/00-toc.pt-BR.md
index 9a574be011..aed88d97d0 100644
--- a/docs/books/admin_guide/00-toc.pt-BR.md
+++ b/docs/books/admin_guide/00-toc.pt-BR.md
@@ -4,7 +4,7 @@ title: Aprendendo Linux Com o Rocky
-# Aprendendo Linux com o Rocky
+# Aprendendo Linux com Rocky
O Guia do Administrador é uma coleção de documentos educacionais direcionados aos Administradores de Sistema. Eles podem ser utilizados por futuros Administradores de Sistema tentando se familiarizar, pelos atuais Administradores de Sistemas que gostariam de se atualizar, ou por qualquer usuário Linux que gostaria de aprender mais sobre o ambiente Linux, comandos, processos e mais. Como todo documento desse tipo, ele evoluirá e se atualizará com o tempo.
@@ -20,7 +20,7 @@ Em seguida podemos entrar no funcionamento mais profundo do Linux para entender
* Sistemas de Arquivos
* Gerenciamento de Processos
-Backup e Restauração são informações essenciais para o Administrador de Sistemas. O Linux vem com muitas soluções de programas para aprimorar os backups (rsnapshot, lsyncd, etcetera.). É importante conhecer os componentes essenciais de backup que existem no sistema operacional. Nesse capítulo vamos abordar duas ferramentas: `tar` e o menos conhecido `cpio`.
+Backup e Restauração são informações essenciais para o Administrador de Sistemas. O Linux vem com muitas soluções de programas para aprimorar os backups (rsnapshot, lsyncd, etcétera.). É importante conhecer os componentes essenciais de backup que existem no sistema operacional. Nesse capítulo vamos abordar duas ferramentas: `tar` e o menos conhecido `cpio`.
A Inicialização do Sistema também é uma leitura importante porque o gerenciamento do sistema durante o processo de inicialização evoluiu significativamente nos últimos anos, desde a chegada do systemd.
diff --git a/docs/books/admin_guide/01-presentation.zh.md b/docs/books/admin_guide/01-presentation.zh.md
index 3aa13ba675..6e6a6c7b05 100644
--- a/docs/books/admin_guide/01-presentation.zh.md
+++ b/docs/books/admin_guide/01-presentation.zh.md
@@ -20,9 +20,8 @@ title: Linux 简介
:checkered_flag: **概述**, **linux**, **发行版**
-**知识掌握程度**: :star:
-
-**知识复杂度**: :star:
+**知识性**: :star:
+**复杂度**: :star:
**阅读时间**: 10 分钟
@@ -62,7 +61,7 @@ Linux、UNIX、BSD、Windows 和 MacOS 都是 **操作系统**。
* **1964 — 1968**:MIT、贝尔实验室(AT&T)和通用电气公司共同研发了 MULTICS(多功能信息和计算服务)。
-* **1969 — 1971**:在贝尔(1969)和通用电气退出该项目后,两位开发人员(肯·汤普森和丹尼斯·里奇)以及后来的布莱恩·科尼根(Brian Kernighan)认为 MULTICS 过于复杂,便启动开发 UNIX(UNiplexed Information and Computing Service,单一功能信息和计算服务)。 UNIX最初是用汇编语言开发的,它的设计者先后开发了B语言和C语言(1971年),并完全重写了UNIX。 由于 UNIX/Linux 系统是在1970年开发的,因此 UNIX/Linux 系统的起始时间参考日期(纪元日期)设置为1970年01月01日。
+* **1969 — 1971**:在贝尔(1969)和通用电气退出该项目后,两位开发人员(肯·汤普森和丹尼斯·里奇)以及后来的布莱恩·科尼根(Brian Kernighan)认为 MULTICS 过于复杂,便启动开发 UNIX(UNiplexed Information and Computing Service,单一功能信息和计算服务)。 UNIX 最初是用汇编语言开发的,它的设计者先后开发了B语言和C语言(1971年),并完全重写了 UNIX。 由于 UNIX/Linux 系统是在1970年开发的,因此 UNIX/Linux 系统的起始时间参考日期(纪元日期)设置为1970年01月01日。
C语言仍然是当今最流行的编程语言之一。 它是一种接近硬件的低级语言,允许操作系统适配任何具有C编译器的机器架构。
diff --git a/docs/books/admin_guide/04-advanced-commands.zh.md b/docs/books/admin_guide/04-advanced-commands.zh.md
index 50168ae54b..9687aab04c 100644
--- a/docs/books/admin_guide/04-advanced-commands.zh.md
+++ b/docs/books/admin_guide/04-advanced-commands.zh.md
@@ -10,11 +10,13 @@ title: 高级Linux 命令
**目标**:在本章中,未来的Linux管理员将学习:
-:heavy_check_mark: 上一章中没有介绍的一些有用命令。 :heavy_check_mark: 一些高级命令。
+:heavy_check_mark: 上一章没有介绍的一些有用命令。
+:heavy_check_mark: 一些高级命令。
:checkered_flag: **用户命令**, **Linux**
-**知识性**: :star: **复杂度**: :star: :star: :star:
+**知识性**: :star:
+**复杂度**: :star: :star: :star:
**阅读时间**: 20 分钟
@@ -331,7 +333,7 @@ systemd─┬─NetworkManager───2*[{NetworkManager}]
!!! note "说明"
- 要退出 `watch` 命令,您必须键入以下键:CTRL+C 以终止进程。
+ 要退出 `watch` 命令,您必须键入 ++control+c++ 以终止进程。
示例:
@@ -419,7 +421,7 @@ install: creating directory '~/samples'
sudo install -v -o rocky -g users -m 644 -D -t ~/samples/ src/sample.txt
```
- !!! note "说明"
+!!! note "说明"
在这种情况下,需要使用 `sudo` 来进行属性更改。
diff --git a/docs/books/index.fr.md b/docs/books/index.fr.md
index 9eea7ca56c..dfeb7e7637 100644
--- a/docs/books/index.fr.md
+++ b/docs/books/index.fr.md
@@ -54,6 +54,9 @@ Nos livres au format PDF peuvent être téléchargés pour une lecture hors-lign
* [Anglais](https://rocky-linux.github.io/documentation/RockyLinuxMiddlewaresGuide.pdf)
* [Italien](https://rocky-linux.github.io/documentation/RockyLinuxMiddlewaresGuide.it.pdf)
+### Services Web Rocky Linux (LAMP ou LEMP)
+
+* [Anglais](https://rocky-linux.github.io/documentation/RockyLinuxWebServicesGuide.pdf)
### Tutoriel RSync
* [Anglais](https://rocky-linux.github.io/documentation/learning_rsync_rocky_linux.pdf)
diff --git a/docs/books/learning_rsync/01_rsync_overview.zh.md b/docs/books/learning_rsync/01_rsync_overview.zh.md
index a71713bde5..55c3b35fe7 100644
--- a/docs/books/learning_rsync/01_rsync_overview.zh.md
+++ b/docs/books/learning_rsync/01_rsync_overview.zh.md
@@ -39,7 +39,7 @@ update: 2022年3月8日
在平台支持上,支持绝大多数的类Unix,不管是GNU/Linux还是BSD等都支持。 另外Windows平台下也有相关的rsync,比如cwRsync。
-最初的 rsync 由澳大利亚程序员安德鲁-特里杰尔(下图1所示)进行维护,现在已由韦恩-戴维森(下图2所示)进行维护,可以到 [github项目地址](https://github.com/WayneD/rsync) 获取您想要的信息。
+最初的 `rsync` 由澳大利亚程序员安德鲁-特里杰尔(下图1所示)进行维护,现在已由韦恩-戴维森(下图2所示)进行维护,可以到 [github项目地址](https://github.com/WayneD/rsync) 获取您想要的信息。
 
diff --git a/docs/books/learning_rsync/03_rsync_demo02.zh.md b/docs/books/learning_rsync/03_rsync_demo02.zh.md
index d91448254e..8dc38599f8 100644
--- a/docs/books/learning_rsync/03_rsync_demo02.zh.md
+++ b/docs/books/learning_rsync/03_rsync_demo02.zh.md
@@ -6,6 +6,7 @@ update: 2021-11-04
---
# 基于rsync协议的演示
+
在vsftpd中,有虚拟用户(管理员自定义的模拟用户),原因在于使用匿名用户和本地用户都不太安全。 我们知道基于SSH协议的服务器必须要保证有一个系统的用户, 当有许多的同步需求时,就可能需要创建许多的用户, 这显然不符合GNU/Linux的运维标准(用户数越多,服务器越不安全),在rsync中,为了安全性考虑,就有了rsync协议验证登录方式。
**具体如何操作?**
diff --git a/docs/books/learning_rsync/04_rsync_configure.zh.md b/docs/books/learning_rsync/04_rsync_configure.zh.md
index 7157e2c9dd..49afe4c6fe 100644
--- a/docs/books/learning_rsync/04_rsync_configure.zh.md
+++ b/docs/books/learning_rsync/04_rsync_configure.zh.md
@@ -6,7 +6,7 @@ update: 2021-11-04
# /etc/rsyncd.conf
-上一篇 [rsync演示02](03_rsync_demo02.zh.md) 我们介绍了一些基本的参数,本篇是做另外参数的补充。 本篇是做另外参数的补充。
+上一篇 [rsync演示02](03_rsync_demo02.zh.md) 我们介绍了一些基本的参数。 本篇是做另外参数的补充。
| 参数 | 说明 |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
diff --git a/docs/books/learning_rsync/06_rsync_inotify.zh.md b/docs/books/learning_rsync/06_rsync_inotify.zh.md
index 46029c326a..3cc1fa8871 100644
--- a/docs/books/learning_rsync/06_rsync_inotify.zh.md
+++ b/docs/books/learning_rsync/06_rsync_inotify.zh.md
@@ -64,8 +64,10 @@ fs.inotify.max_user_watches = 1048576
## 相关命令
inotify-tools工具有两个命令,分别是:
-* **inotifywait** - 用于持续监控,实时输出结果。 一般是配合rsync增量备份工具一起使用,因为是文件系统的监控,所以可以搭配脚本一起使用,后面我们会介绍具体的脚本写法。 因为是文件系统的监控,所以可以搭配脚本一起使用。 后面我们会介绍具体的脚本写法。
-* **inotifywatch** - 用于短期监控,任务完成后输出结果。
+
+* **inotifywait**:用于持续监控,实时输出结果。 它通常与 rsync 增量备份工具一起使用。 因为它是对文件系统的监控,所以可以搭配脚本一起使用。 我们稍后将介绍具体的脚本编写。
+
+* **inotifywatch**:用于短期监控,任务完成后输出结果。
inotifywait 主要有以下选项:
diff --git a/docs/books/web_services/00-toc.de.md b/docs/books/web_services/00-toc.de.md
new file mode 100644
index 0000000000..0588307d7c
--- /dev/null
+++ b/docs/books/web_services/00-toc.de.md
@@ -0,0 +1,30 @@
+---
+title: Vorwort
+author: Antoine Le Morvan
+contributors: Steven Spencer, Ganna Zhyrnova
+tags:
+ - web
+ - Dienste
+---
+
+
+
+Rocky Linux ist Teil der Enterprise Linux-Familie und eignet sich daher besonders gut zum Hosten von Webdiensten wie Dateiservern (FTP, sFTP), Webservern (Apache, nginx), Anwendungsservern (PHP, Python), Datenbankservern (MariaDB, Mysql, PostgreSQL) oder spezifischeren Diensten wie Lastausgleich, Caching, Proxy oder Reverse-Proxy (HAProxy, Varnish, Squid).
+
+Das Internet wäre ohne E-Mail nicht das, was es ist. Webdienste nutzen in der Regel in großem Umfang Mailserver (Postfix).
+
+Manchmal sind diese Dienste extrem ausgelastet oder erfordern Systeme mit hoher Verfügbarkeit. In diesen Fällen können andere Dienste implementiert werden, um eine optimale Service-Performance zu gewährleisten (Heartbeat, PCS).
+
+Jedes Kapitel dieses Buches kann je nach Bedarf unabhängig voneinander konsultiert werden und es ist nicht zwingend erforderlich, die Kapitel der Reihe nach zu lesen.
+
+Dieses Buch ist auch Teil einer Reihe von Büchern, die sich der Systemadministration unter Linux widmen (Admin Guide, Learning Bash, Learning Ansible). Bei Bedarf werden Sie aufgefordert, die Konzepte, die Ihnen möglicherweise fehlen, in den entsprechenden Kapiteln der oben genannten Bücher noch einmal durchzugehen.
+
+## Zielgruppe
+
+Die Zielgruppe dieses Buches sind Systemadministratoren, die bereits in der Verwendung von Systemadministrationsbefehlen geschult sind (siehe [unser Buch Admin Guide](../admin_guide/00-toc.md)) und ihre Webdienste installieren, konfigurieren und sichern möchten.
+
+## Wie benutze ich dieses Buch?
+
+Dieses Buch ist als Trainingshandbuch konzipiert, so dass es auf verschiedene Arten eingesetzt werden kann. Entweder als Schulungshilfe für Trainer oder als Selbstlernmittel für Administratoren, die neue Fähigkeiten erwerben oder ihr vorhandenes Wissen vertiefen möchten.
+
+Zur Implementierung einiger der in diesem Buch vorgestellten Dienste benötigen Sie möglicherweise zwei (oder mehr) Server, um die Theorie in die Praxis umsetzen zu können.
diff --git a/docs/books/web_services/00-toc.fr.md b/docs/books/web_services/00-toc.fr.md
new file mode 100644
index 0000000000..6461489e14
--- /dev/null
+++ b/docs/books/web_services/00-toc.fr.md
@@ -0,0 +1,30 @@
+---
+title: Préface
+author: Antoine Le Morvan
+contributors: Steven Spencer, Ganna Zhyrnova
+tags:
+ - web
+ - services
+---
+
+
+
+Rocky Linux fait partie de la famille Enterprise Linux, ce qui le rend particulièrement adapté à l'hébergement de services web tels que les serveurs de fichiers (FTP, sFTP), les serveurs web (apache, nginx), les serveurs d'applications (PHP, Python), les serveurs de bases de données (MariaDB, Mysql, PostgreSQL) ou des services plus spécifiques comme le Load Balancing, la mise en cache, le proxy ou le reverse proxy (HAProxy, Varnish, Squid).
+
+Le Web ne serait pas ce qu’il est sans la messagerie électronique. Les services Web font généralement largement appel aux serveurs de messagerie (Postfix).
+
+Parfois, ces services sont extrêmement sollicités ou nécessitent des systèmes hautement disponibles. Dans ces cas, d'autres services peuvent être mis en œuvre pour garantir des performances de service optimales (Heartbeat, PCS).
+
+Chaque chapitre de ce livre peut être consulté indépendamment, selon vos besoins et il n'est pas obligatoire de lire les chapitres dans l'ordre.
+
+Ce livre fait également partie d'une série d'ouvrages consacrés à l'administration système sous Linux (Admin Guide, Learning Bash, Learning Ansible). Le cas échéant, vous serez invité à revoir les notions qui pourraient vous manquer dans les chapitres correspondants des ouvrages mentionnés ci-dessus.
+
+## Public
+
+Le public cible de cet ouvrage est constitué des administrateurs système déjà formés à l'utilisation des commandes d'administration système (voir [notre livre Admin Guide](../admin_guide/00-toc.md)), qui souhaitent installer, configurer et sécuriser leur site web.
+
+## Comment utiliser ce manuel
+
+Ce livre a été conçu comme un manuel de formation, afin de pouvoir être utilisé de plusieurs manières. Soit comme aide à la formation pour les formateurs, soit comme aide à l'autoformation pour les administrateurs souhaitant acquérir de nouvelles compétences ou renforcer leurs connaissances existantes.
+
+Pour implémenter certains des services présentés dans ce livre, vous aurez peut-être besoin de deux serveurs (ou plus) pour mettre la théorie en pratique.
diff --git a/docs/books/web_services/01-files-servers.de.md b/docs/books/web_services/01-files-servers.de.md
new file mode 100644
index 0000000000..8beb3f406d
--- /dev/null
+++ b/docs/books/web_services/01-files-servers.de.md
@@ -0,0 +1,108 @@
+---
+author: null
+contributors: null
+title: Erster Teil File-Server
+tags:
+ - ftp
+ - sftp
+---
+
+
diff --git a/docs/books/web_services/01-files-servers.fr.md b/docs/books/web_services/01-files-servers.fr.md
new file mode 100644
index 0000000000..12df456a6f
--- /dev/null
+++ b/docs/books/web_services/01-files-servers.fr.md
@@ -0,0 +1,108 @@
+---
+author: null
+contributors: null
+title: Chapitre 1 Serveurs de Fichiers
+tags:
+ - ftp
+ - sftp
+---
+
+
diff --git a/docs/desktop/gnome/gnome-extensions.fr.md b/docs/desktop/gnome/gnome-extensions.fr.md
new file mode 100644
index 0000000000..875c55f772
--- /dev/null
+++ b/docs/desktop/gnome/gnome-extensions.fr.md
@@ -0,0 +1,74 @@
+---
+title: Extensions GNOME Shell
+author: Joseph Brinkman
+contributors: Steven Spencer
+tested with: 9.4
+tags:
+ - desktop
+ - gnome
+---
+
+## Introduction
+
+Extrait du [site de GNOME](https://extensions.gnome.org/about/){:target="_blank"}:
+
+> GNOME Shell fournit des fonctions d'interface utilisateur de base pour GNOME, comme la gestion de fenêtres et le lancement d'applications. Les éléments de l'interface utilisateur fournis par GNOME Shell incluent le panneau en haut de l'écran, l'aperçu des activités et la barre de messages en bas de l'écran."
+> Les extensions GNOME Shell sont des petits morceaux de code écrits par des développeurs tiers qui modifient le fonctionnement de GNOME. (Si vous connaissez les extensions Chrome ou les Firefox Add-ons, les extensions GNOME Shell leur sont similaires.) Vous pouvez trouver et installer des extensions GNOME Shell à l’aide de ce site Web.
+> La création d'extensions a lieu en dehors du processus normal de conception et de développement de GNOME, elle est prise en charge par leurs auteurs, plutôt que par la communauté GNOME. Certaines fonctionnalités initialement implémentées sous forme d'extensions peuvent se retrouver dans les futures versions de GNOME.
+
+## Prérequis
+
+- Un poste de travail ou un serveur Rocky Linux avec une interface graphique qui utilise GNOME.
+
+## Installation d'Extensions de GNOME
+
+Les extensions GNOME sont disponibles à partir du référentiel `appstream`, ne nécessitant aucune configuration de référentiel supplémentaire. Installez avec la commande suivante :
+
+```bash
+sudo dnf install gnome-extensions
+```
+
+L’installation inclut toutes les dépendances nécessaires.
+
+## Installation de l'Intégration du Navigateur
+
+Gnome Extensions dispose d'une bibliothèque de logiciels disponible sur leur site Web gnome.extensions.org à partir duquel vous pouvez directement installer des extensions. Pour y parvenir, votre navigateur et les extensions gnome doivent faciliter la connexion.
+
+```bash
+sudo dnf install chrome-gnome-shell
+```
+
+[guide d'installation](https://gnome.pages.gitlab.gnome.org/gnome-browser-integration/pages/installation-guide.html){target="_blank"}
+
+## Déterminer la Version du Shell GNOME
+
+L'extension de navigateur utilisée pour faciliter l'installation d'extensions à partir du site extensions.gnome.org devrait automatiquement détecter la version du shell GNOME que votre système exécute actuellement.
+
+Si vous souhaitez effectuer une installation locale, vous devrez télécharger l'extension avec la version correcte du shell GNOME.
+
+```bash
+gnome-shell --version
+```
+
+## Installation d\`une Extension
+
+Pour cet exemple, nous installerons l’extension populaire `Dash to Dock`.
+
+1. Rendez-vous sur [page Web de l'extension Dash to Dock](https://extensions.gnome.org/extension/307/dash-to-dock/){target="_blank"}
+2. Passer l'extension de "off" à "on"
+ 
+3. Lorsque vous êtes invité à installer l’extension, cliquez sur « yes »
+
+## Gestion des Extensions Installées
+
+Les extensions GNOME sont installées et gérées à partir de gnome.extensions.org.
+
+Pour gérer vos extensions GNOME, rendez-vous d'abord sur https://extensions.gnome.org/local/
+
+
+
+Sur cette page, vous trouverez une liste des extensions installées. Vous pouvez activer ou désactiver chacun de ces éléments. Vous pouvez également configurer les paramètres du shell en utilisant le bouton pour basculer sur l'une des deux options de menu disponibles « Désactiver toutes les extensions » « Désactiver la validation de version ».
+
+## Conclusion
+
+Les extensions GNOME sont un outil bien utile pour ajouter des fonctionnalités supplémentaires et personnaliser votre environnement de bureau GNOME.
diff --git a/docs/gemstones/network/nmcli.fr.md b/docs/gemstones/network/nmcli.fr.md
new file mode 100644
index 0000000000..7f1f470b25
--- /dev/null
+++ b/docs/gemstones/network/nmcli.fr.md
@@ -0,0 +1,33 @@
+---
+title: nmcli - définir la connexion automatique
+author: wale soyinka
+tags:
+ - nmcli
+---
+
+# Modifier la propriété 'autoconnect' du profil de connexion de NetworkManager
+
+Utilisez d'abord `nmcli` pour lire et afficher la valeur actuelle de la propriété de connexion automatique pour toutes les connexions réseau sur un système Rocky Linux. Entrer la commande suivante :
+
+```bash
+nmcli -f name,autoconnect connection
+```
+
+Pour modifier la valeur d'une propriété pour une connexion réseau, utilisez la sous-commande `modify` avec la `connexion nmcli`. Par exemple, pour changer la valeur de la propriété de connexion automatique de `no` à `yes` pour le profil de connexion `ens3`, tapez :
+
+```bash
+sudo nmcli con mod ens3 connection.autoconnect yes
+```
+
+## Explication des Commandes
+
+```bash
+connection (con) : objet de connexion de NetworkManager.
+modify (mod) : Modifie une ou plusieurs propriétés d'un profil de connexion donné.
+connection.autoconnect : le paramètre et la propriété (.)
+-f, --fields : indique les champs à afficher.
+```
+
+## Notes
+
+Cette astuce montre comment modifier un profil de connexion de NetworkManager existant. Ceci est utile lorsque l'interface réseau ne sera pas automatiquement activé après une nouvelle installation de Rocky Linux ou une mise à jour du système. La raison de cela est souvent parce que la valeur de la propriété de connexion automatique est définie à `no`. Vous pouvez utiliser la commande `nmcli` pour rapidement changer la valeur à `yes`.
diff --git a/docs/gemstones/network/nmtui.fr.md b/docs/gemstones/network/nmtui.fr.md
new file mode 100644
index 0000000000..757c894813
--- /dev/null
+++ b/docs/gemstones/network/nmtui.fr.md
@@ -0,0 +1,121 @@
+---
+title: nmtui - Outil de gestion du réseau
+author: tianci li
+contributors: Steven Spencer, Neil Hanlon
+update: 2021-10-23
+---
+
+# Présentation de nmtui
+
+Pour les utilisateurs qui sont nouveaux sur GNU/Linux la première chose à considérer est comment connecter la machine à Internet après avoir installé le système d'exploitation. Cet article vous indiquera comment configurer l'adresse IP, le masque de sous-réseau, la passerelle et le DNS. Il y a plusieurs moyens pour y parvenir. Que vous soyez novice ou expérimenté, vous pourrez débuter rapidement.
+
+## nmtui
+
+`NetworkManager` est une suite standard d'outils de configuration réseau Linux qui prend en charge les environnements serveur et de bureau. De nos jours, la plupart des distributions populaires le supportent. Cet ensemble d'outils de configuration réseau est adapté aux versions de Rocky Linux 8 et ultérieures. Si vous voulez configurer graphiquement les informations du réseau (en utilisant la commande `nmtui`), vous devez procéder comme suit :
+
+```bash
+shell > dnf -y install NetworkManager NetworkManager-tui
+shell > nmtui
+```
+
+| NetworkManager TUI (nmtui) | |
+| -------------------------------- | -------- |
+| Modifier une connexion | |
+| Activer une connexion | |
+| Définir le nom d'hôte du système | |
+| Quitter | |
+| | \ |
+
+Vous pouvez utiliser la touche ++tab++ ou la touche ++arrow-up++ ++arrow-down++ ++arrow-left++ ++arrow-right++ pour sélectionner une section spéciale. Si vous souhaitez modifier les informations réseau, veuillez sélectionner **Edit a connexion** puis ++enter++. Changez la carte réseau et sélectionnez **Edit..** pour l'éditer.
+
+### DHCP IPv4
+
+Pour IPv4, s'il s'agit d'obtenir des informations réseau avec DHCP, sélectionnez simplement *CONFIGURATION IPv4* **<Automatic>** et exécutez `systemctl restart NetworkManager.service` dans le terminal. Cela fonctionne dans la plupart des cas. Dans de rares cas, vous devez désactiver et réactiver votre carte réseau pour que la modification prenne effet. Par exemple : `nmcli connection down ens33`, `nmcli connection up ens33`
+
+### Corriger manuellement les informations sur le réseau
+
+Si vous voulez corriger manuellement toutes les informations du réseau IPv4, vous devez sélectionner **<Manual>** après *CONFIGURATION IPv4* et les jouter ligne par ligne. Par exemple, l'auteur utilise ceci :
+
+| Élément | Valeur |
+| ------------ | ---------------- |
+| Adresses | 192.168.100.4/24 |
+| Passerelle | 192.168.100.1 |
+| Serveurs DNS | 8.8.8.8 |
+
+Puis cliquez sur \< OK \>, retournez à l'interface de terminal étape par étape et exécutez `systemctl restart NetworkManager.service`. De même, dans de rares cas, la carte réseau doit être rallumée pour que les modifications prennent effet.
+
+## Changer directement les fichiers de configuration
+
+Toutes les distributions RHEL 7.x ou 8.x que ce soit en amont ou en aval, sont configurées de la même manière. Le fichier de configuration des informations réseau est stocké dans le répertoire **/etc/sysconfig/network-scripts/** et une carte réseau correspond exactement à un fichier de configuration. Le fichier de configuration contient de nombreux paramètres, comme indiqué dans la table suivante. Remarque! Les paramètres doivent être indiqués en majuscules.
+
+!!! warning "Avertissement"
+
+ Dans les distributions RHEL 9.x, l'emplacement du répertoire où le fichier de configuration du réseau est stocké a été modifié, c'est-à-dire **/etc/NetworkManager/system-connections/**. Veuillez consulter [ce site](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/configuring_and_managing_networking/index) pour plus d'informations.
+
+```bash
+shell > ls /etc/sysconfig/network-scripts/
+ifcfg-ens33
+```
+
+| Nom du paramètre | Signification | Exemple |
+| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
+| DEVICE | Nom logique du périphérique système | DEVICE=ens33 |
+| ONBOOT | Suivant que la carte réseau démarre automatiquement avec le système ou non, vous pouvez choisir yes ou no | ONBOOT=yes |
+| TYPE | Type d'interface de carte réseau, généralement Ethernet | TYPE=Ethernet |
+| BOOTPROTO | La façon d'obtenir l'adresse IP peut être une acquisition dynamique DHCP ou bien une configuration manuelle statique à l'aide de `static` | BOOTPROTO=static |
+| IPADDR | L'adresse IP de la carte réseau, lorsque BOOTPROTO=static, ce paramètre prendra effet | IPADDR=192.168.100.4 |
+| HWADDR | Adresse matérielle, i.e., adresse MAC | HWADDR=00:0C:29:84:F6:9C |
+| NETMASK | Valeur décimale du masque de sous-réseau | NETMASK=255.255.255.0 |
+| PRÉFIXE | Masque de sous-réseau, représenté par des nombres | PREFIX=24 |
+| GATEWAY | Passerelle, s'il y a plusieurs cartes réseau, ce paramètre ne peut apparaître qu'une seule fois | GATEWAY=192.168.100.1 |
+| PEERDNS | Quand c'est `yes`, les paramètres DNS définis ici modifieront le fichier /etc/resolv.conf. Quand c'est `no`, /etc/resolv.conf ne sera pas modifié. Lorsque vous utilisez DHCP, la valeur par défaut est `yes` | PEERDNS=yes |
+| DNS1 | Le DNS principal est sélectionné, il prend effet uniquement lorsque PEERDNS=no | DNS1=8.8.8.8 |
+| DNS2 | DNS alternatifs, seulement en vigueur lorsque PEERDNS=no | DNS2=114.114.114.114 |
+| BROWSER_ONLY | Autoriser uniquement les navigateurs | BROWSER_ONLY=no |
+| USERCTL | Si les utilisateurs ordinaires sont autorisés à contrôler le périphérique de la carte réseau, `yes` signifie autoriser, `no` le cas contraire | USERCTL=no |
+| UUID | Code d'identification unique universel, sa fonction principale est d'identifier le matériel, généralement parlant, il n'est pas nécessaire de l'indiquer | |
+| PROXY_METHOD | La méthode Proxy, habituellement aucune, peut être laissée vide | |
+| IPV4_FAILURE_FATAL | Si c'est `yes`, cela signifie que le périphérique sera désactivé après l'échec de la configuration ipv4 ; si c'est `no`, cela signifie qu'il ne sera pas désactivé. | IPV4_FAILURE_FATAL=no |
+| IPV6INIT | S'il faut activer IPV6, `yes` pour activer, `no` pour ne pas l'activer. Lorsque IPV6INIT=`yes`, les deux paramètres IPV6ADDR et IPV6_DEFAULTGW peuvent également être activés. La première représente l'adresse IPV6 et la seconde représente la passerelle désignée | IPV6INIT=yes |
+| IPV6_AUTOCONF | Si vous voulez utiliser la configuration automatique IPV6, yes signifie utiliser; no le cas contraire | IPV6_AUTOCONF=yes |
+| IPV6_DEFROUTE | S'il faut donner à IPV6 la route par défaut | IPV6_DEFROUTE=yes |
+| IPV6_FAILURE_FATAL | Après l'échec de la configuration IPV6, désactiver le périphérique | IPV6_FAILURE_FATAL=no |
+| IPV6_ADDR_GEN_MODE | Générer le modèle d'adresse IPV6, les valeurs optionnelles sont stable-privacy et eui64 | IPV6_ADDR_GEN_MODE=stable-privacy |
+
+Une fois le fichier de configuration modifié avec succès, n'oubliez pas de redémarrer le service de carte réseau avec la commande `systemctl restart NetworkManager.service`.
+
+### Configuration recommandée pour IPV4
+
+```bash
+TYPE=Ethernet
+ONBOOT=yes
+DEVICE=ens33
+USERCTL=no
+IPV4_FAILURE_FATAL=no
+BROWSER_ONLY=no
+BOOTPROTO=static
+PEERDNS=no
+IPADDR=192.168.100.4
+PREFIX=24
+GATEWAY=192.168.100.1
+DNS1=8.8.8.8
+DNS2=114.114.114.114
+```
+
+### Configuration recommandée pour IPV6
+
+```bash
+TYPE=Ethernet
+ONBOOT=yes
+DEVICE=ens33
+USERCTL=no
+BROWSER_ONLY=no
+IPV6INIT=yes
+IPV6_AUTOCONF=yes
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+```
+
+## Voir les informations sur le réseau
+
+`ip a` ou `nmcli device show`
diff --git a/docs/gemstones/scripts/bash_stub.fr.md b/docs/gemstones/scripts/bash_stub.fr.md
new file mode 100644
index 0000000000..f2ecbc23a9
--- /dev/null
+++ b/docs/gemstones/scripts/bash_stub.fr.md
@@ -0,0 +1,105 @@
+---
+title: bash - Ébauche de script
+author: Steven Spencer
+contributors: Ezequiel Bruni
+---
+
+# Bash - Ébauche de script
+
+Là où l'auteur était précédemment employé, nous avions un programmeur as qui connaissait un tas de langages de programmation. Il était aussi le gars à consulter quand vous aviez eu des questions sur la façon d'accomplir quelque chose avec un script. Il a finalement créé une petite ébauche, un fichier plein d'exemples de scripts que vous pourriez tout simplement supprimer et éditer au besoin. Finalement, l'auteur est devenu assez expérimenté dans ces routines pour ne pas avoir à consulter l'exemple, mais c'était un bon outil d'apprentissage et quelque chose que d'autres pourraient trouver utile.
+
+## L' ébauche
+
+L'exemple est bien documenté, mais gardez à l'esprit qu'il ne s'agit en aucun cas d'un script exhaustif ! Il y a beaucoup de routines qui pourraient être ajoutées. Si **vous** avez des exemples qui s'intègreraient bien dans cette ébauche, alors n'hésitez pas à ajouter des modifications :
+
+```bash
+#!/bin/sh
+
+# By exporting the path, this keeps you from having to enter full paths for commands that exist in those paths:
+
+export PATH="$PATH:/bin:/usr/bin:/usr/local/bin"
+
+# Determine and save absolute path to program directory.
+# Attention ! En bash, le ' 'représente la chaîne elle-même; mais " " est un peu différent. $, ` `, and \ represent call variable values, reference commands, and escape characters, respectively
+# When done will be in same directory as script:
+
+PGM=`basename $0` # Name of the program
+CDIR=`pwd` # Save directory program was run from
+
+PDIR=`dirname $0`
+cd $PDIR
+PDIR=`pwd`
+
+# If a program accepts filenames as arguments, this will put us back where we started.
+# (Needed so references to files using relative paths work.):
+
+cd $CDIR
+
+# Use this if script must be run by certain user:
+
+runby="root"
+iam=`/usr/bin/id -un`
+if [ $iam != "$runby" ]
+then
+ echo "$PGM : program must be run by user \"$runby\""
+ exit
+fi
+
+# Check for missing parameter.
+# Display usage message and exit if it is missing:
+
+if [ "$1" = "" ]
+then
+ echo "$PGM : parameter 1 is required"
+ echo "Usage: $PGM param-one"
+ exit
+fi
+
+# Prompt for data (in this case a yes/no response that defaults to "N"):
+
+/bin/echo -n "Do you wish to continue? [y/N] "
+read yn
+if [ "$yn" != "y" ] && [ "$yn" != "Y" ]
+then
+ echo "Cancelling..."
+ exit;
+fi
+
+# If only one copy of your script can run at a time, use this block of code.
+# Check for lock file. If it doesn't exist create it.
+# If it does exist, display error message and exit:
+
+LOCKF="/tmp/${PGM}.lock"
+if [ ! -e $LOCKF ]
+then
+ touch $LOCKF
+else
+ echo "$PGM: cannot continue -- lock file exists"
+ echo
+ echo "To continue make sure this program is not already running, then delete the"
+ echo "lock file:"
+ echo
+ echo " rm -f $LOCKF"
+ echo
+ echo "Aborting..."
+ exit 0
+fi
+
+script_list=`ls customer/*`
+
+for script in $script_list
+do
+ if [ $script != $PGM ]
+ then
+ echo "./${script}"
+ fi
+done
+
+# Remove the lock file
+
+rm -f $LOCKF
+```
+
+## Conclusion
+
+Scripting is a System Administrator's friend. Être capable de faire rapidement certaines tâches dans un script rationalise la réalisation du processus. Bien qu'il ne s'agisse pas d'un ensemble exhaustif de routines de scripts, ce conteneur offre quelques exemples d'utilisation courante.
diff --git a/docs/gemstones/sed_search_replace.fr.md b/docs/gemstones/sed_search_replace.fr.md
new file mode 100644
index 0000000000..2abbb275ba
--- /dev/null
+++ b/docs/gemstones/sed_search_replace.fr.md
@@ -0,0 +1,75 @@
+---
+title: sed - Rechercher et Remplacer
+author: Steven Spencer
+---
+
+# `sed` - Rechercher et remplacer
+
+`sed` est une commande qui signifie « stream editor ».
+
+## Conventions
+
+* `path` : le chemin actuel. Exemple : `/var/www/html/`
+* `filename` : Le nom du fichier actuel. Exemple : `index.php`
+
+## Utilisation de `sed`
+
+Utiliser `sed` pour la recherche et le remplacement est la préférence personnelle de l'auteur, car vous pouvez utiliser un délimiteur de votre choix, qui rend très pratique le remplacement de choses comme les liens web contenant « / ». Les exemples par défaut pour l'édition en place en utilisant `sed` montrent des choses comme dans cet exemple :
+
+`sed -i 's/search_for/replace_with/g' /path/filename`
+
+Mais que faire si vous recherchez des chaînes qui contiennent "/" ? Et si la barre oblique était la seule option disponible comme délimiteur ? Vous devez éviter toute barre oblique avant de pouvoir l'utiliser dans votre recherche. C'est ici que `sed` excelle par rapport aux autres outils, car le délimiteur est modifiable à la volée (vous n'avez pas besoin de préciser que vous le modifiez quelque part). Comme mentionné ci-dessus, si vous recherchez des éléments avec "/", vous pouvez le faire en remplaçant le délimiteur par "|". Voici un exemple de recherche de lien en utilisant cette méthode :
+
+`sed -i 's|search_for/with_slash|replace_string|g' /path/filename`
+
+Vous pouvez utiliser n'importe quel caractère d'un octet pour le délimiteur à l'exception des antislash, newline et "s". Par exemple, cela fonctionne aussi :
+
+`sed -i 'sasearch_forawith_slashareplace_stringag' /path/filename` où "a" est le délimiteur, la fonction recherche et remplacement fonctionne toujours. Pour des raisons de sécurité, vous pouvez spécifier une sauvegarde lors de la recherche et du remplacement, ce qui est pratique pour vous assurer que les changements que vous faites avec `sed` sont ceux que vous _voulez vraiment_. Cela vous donne une option de récupération à partir du fichier de sauvegarde :
+
+`sed -i.bak s|search_for|replacea_with|g /path/filename`
+
+Ce qui va créer une version intacte du fichier `filename` appelée `filename.bak`
+
+Vous pouvez également utiliser des guillemets doubles au lieu de guillemets simples si vous le désirez :
+
+`sed -i "s|search_for/with_slash|replace_string|g" /path/filename`
+
+## Explication des Options
+
+| Option | Description |
+| ------ | ----------------------------------------------------------------------- |
+| i | éditer le fichier |
+| i.ext | créer une sauvegarde avec une extension quelconque (par exemple., .ext) |
+| s | spécifie la recherche |
+| g | spécifie le remplacement global, c'est-à-dire de toutes les occurrences |
+
+## Plusieurs fichiers
+
+Malheureusement, `sed` n'a pas d'option de boucle en ligne comme `perl`. Pour traiter plusieurs fichiers ensemble, vous devez intégrer votre commande `sed` dans un script. Voici un exemple de faire ainsi.
+
+Tout d’abord, générez une liste de fichiers que le script va utiliser. Effectuez cette opération à partir de la ligne de commande avec :
+
+`find /var/www/html -name "*.php" > phpfiles.txt`
+
+Ensuite, créez un script pour utiliser ce fichier `phpfiles.txt`:
+
+```bash
+#!/bin/bash
+
+for file in `cat phpfiles.txt`
+do
+ sed -i.bak 's|search_for/with_slash|replace_string|g' $file
+done
+```
+
+Le script parcoure tous les fichiers créés dans `phpfiles.txt`, crée une sauvegarde de chaque fichier et exécute la fonction rechercher et remplacer de la chaîne de caractères globalement. Une fois que vous avez vérifié que votre recherche et votre remplacement ont été effectués avec succès et que vos modifications sont vérifiées, vous pouvez supprimer tous les fichiers de sauvegarde.
+
+## Autres Articles et Exemples
+
+* `sed` [manual page](https://linux.die.net/man/1/sed)
+* `sed` [exemples supplémentaires](https://www.linuxtechi.com/20-sed-command-examples-linux-users/)
+* `sed` & `awk` [O'Reilly Book](https://www.oreilly.com/library/view/sed-awk/1565922255/)
+
+## Conclusion
+
+`sed` est un outil puissant qui fonctionne très bien pour les fonctions de recherche et de remplacement, en particulier lorsque le délimiteur doit être flexible.
diff --git a/docs/guides/hardware/hpe_amsd.fr.md b/docs/guides/hardware/hpe_amsd.fr.md
new file mode 100644
index 0000000000..07d18235c5
--- /dev/null
+++ b/docs/guides/hardware/hpe_amsd.fr.md
@@ -0,0 +1,59 @@
+---
+title: HPE ProLiant Agentless Management Service
+author: Neel Chauhan
+contributors: Ganna Zhyrnova
+tested_with: 9.3
+tags:
+ - matériel
+---
+
+# HPE ProLiant Agentless Management Service
+
+## Introduction
+
+Les serveurs HPE ProLiant disposent d'un logiciel complémentaire appelé Agentless Management Service qui [selon HPE](https://techlibrary.hpe.com/docs/iss/EL8000t/setup_install/GUID-1CF69B20-790A-4EDC-A162-9D64572ED9E8.html) "utilise la communication `out-of-band` pour une sécurité et une stabilité accrues." De plus, « avec la gestion sans agent, la surveillance de l'état et les alertes sont intégrées au système et commencent à fonctionner dès que l'alimentation auxiliaire est connectée à [votre serveur] ».
+
+Ceci est utilisé, par exemple, pour réduire la vitesse des ventilateurs sur un HPE ProLiant ML110 Gen11 dans le laboratoire personnel de l'auteur.
+
+## Prérequis
+
+Les conditions suivantes sont indispensables pour utiliser cette procédure :
+
+- Un serveur HP/HPE ProLiant Gen8 ou plus récent avec iLO activé et visible sur le réseau
+
+## Installation de `amsd`
+
+Pour installer `amsd`, vous devez d'abord installer l'EPEL (Extra Packages for Enterprise Linux) et exécuter les mises à jour :
+
+```bash
+dnf -y install epel-release && dnf -y update
+```
+
+Ajoutez ensuite ce qui suit au fichier `/etc/yum.repos.d/spp.repo` :
+
+```bash
+
+[spp]
+name=Service Pack for ProLiant
+baseurl=https://downloads.linux.hpe.com/repo/spp-gen11/redhat/9/x86_64/current
+enabled=1
+gpgcheck=1
+gpgkey=https://downloads.linux.hpe.com/repo/spp/GPG-KEY-spp
+```
+
+Remplacez le `9` par la version majeure de Rocky Linux et `gen11` par la génération de votre serveur. Alors que l'auteur utilise un ML110 Gen11 s'il utilisait un DL360 Gen10 à la place, `gen10` serait utilisé.
+
+Ensuite, installez et activez `amsd` :
+
+```bash
+dnf -y update && dnf -y install amsd
+systemctl enable --now amsd
+```
+
+Si vous souhaitez vérifier si `amsd` fonctionne, connectez-vous à iLO via votre navigateur Web. S'il est installé correctement, iLO devrait indiquer que notre serveur exécute Rocky Linux :
+
+
+
+## Conclusion
+
+Une critique courante des serveurs HPE concerne les vitesses élevées des ventilateurs lors de l'utilisation de composants tiers tels que des SSD ou d'autres cartes PCI Express complémentaires non officiellement approuvées par HPE (par exemple, des cartes de capture vidéo). Même si vous n'utilisez que des composants de marque HPE, l'utilisation de `amsd` permet aux serveurs HPE ProLiant de fonctionner de manière plus froide et plus silencieuse que la simple utilisation de Rocky Linux seul.
diff --git a/docs/guides/security/authentication/active_directory_authentication_with_samba.fr.md b/docs/guides/security/authentication/active_directory_authentication_with_samba.fr.md
new file mode 100644
index 0000000000..4298f298c2
--- /dev/null
+++ b/docs/guides/security/authentication/active_directory_authentication_with_samba.fr.md
@@ -0,0 +1,174 @@
+---
+title: Active Directory Authentication avec Samba
+author: Neel Chauhan
+contributors: Steven Spencer
+tested_with: 9.4
+---
+
+## Prérequis
+
+- Connaissances de base de Active Directory
+- Connaissances de base de LDAP
+
+## Introduction
+
+Active Directory (AD) de Microsoft est, dans la plupart des entreprises, le système d'authentification standard pour les systèmes Windows et pour les applications externes connectées à LDAP. Il permet de configurer les utilisateurs et les groupes, le contrôle d'accès, les permissions, le montage automatique, etc.
+
+Alors que la connexion de Linux à un cluster AD ne peut pas prendre en charge _toutes_ les fonctionnalités mentionnées, elle peut gérer les utilisateurs, les groupes et le contrôle d'accès. Il est même possible (grâce à quelques ajustements de configuration du côté Linux et à certaines options côté AD) de distribuer des clés SSH à l'aide d'Active Directory.
+
+La manière par défaut d'utiliser Active Directory sur Rocky Linux utilise SSSD mais Samba offre une alternative plus complète. Par exemple, le partage de fichiers peut se faire avec Samba mais pas avec SSSD. Ce guide, cependant, couvrira uniquement la configuration de l'authentification sur Active Directory à l'aide de Samba et n'inclura aucune configuration supplémentaire du côté Windows.
+
+## Découvrir et joindre AD en utilisant Samba
+
+!!! note "Remarque"
+
+```
+Le nom de domaine `ad.company.local` dans ce guide représentera le domaine Active Directory. Pour suivre ce guide, remplacez-le par le nom de votre domaine AD.
+```
+
+La première étape pour relier un système GNU/Linux à AD consiste à connecter votre
+Cluster AD, pour s'assurer que la configuration réseau est correcte des deux côtés.
+
+### Préparations
+
+- Assurez-vous que les ports suivants sont ouverts sur votre hôte GNU/Linux dans le contrôleur de domaine :
+
+ | Service | Port(s) | Notes |
+ | -------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------- |
+ | DNS | 53 (TCP+UDP) | |
+ | Kerberos | 88, 464 (TCP+UDP) | Utilisé par `kadmin` pour définir et mettre à jour les mots de passe |
+ | LDAP | 389 (TCP+UDP) | |
+ | LDAP-GC | 3268 (TCP) | Catalogue global LDAP - vous permet de trouver des identifiants d'utilisateur à partir d'Active Directory |
+
+- Assurez-vous d'avoir configuré votre contrôleur de domaine AD en tant que serveur DNS sur votre hôte Rocky Linux :
+
+ **Avec NetworkManager :**
+
+ ```sh
+ # where your primary NetworkManager connection is 'System eth0' and your AD
+ # server is accessible on the IP address 10.0.0.2.
+ [root@host ~]$ nmcli con mod 'System eth0' ipv4.dns 10.0.0.2
+ ```
+
+- Assurez-vous que les horloges sont synchronisées des deux côtés (hôte AD et système GNU/Linux)
+
+ **Vérifier l'heure sur Rocky Linux :**
+
+ ```sh
+ [user@host ~]$ date
+ Wed 22 Sep 17:11:35 BST 2021
+ ```
+
+- Installez les paquets nécessaires pour la connexion à AD côté GNU/Linux :
+
+ ```sh
+ [user@host ~]$ sudo dnf install samba samba-winbind samba-client
+ ```
+
+### Connexion automatique
+
+Maintenant, vous devriez être en mesure de vous connecter avec succès à votre ou vos serveur(s) AD à partir de votre hôte Linux.
+
+```sh
+[user@host ~]$ realm discover ad.company.local
+ad.company.local
+ type: kerberos
+ realm-name: AD.COMPANY.LOCAL
+ domain-name: ad.company.local
+ configured: no
+ server-software: active-directory
+ client-software: sssd
+ required-package: oddjob
+ required-package: oddjob-mkhomedir
+ required-package: sssd
+ required-package: adcli
+ required-package: samba-common
+```
+
+Cela sera découvert à l'aide des enregistrements SRV pertinents stockés dans votre service DNS d'Active Directory.
+
+### Connexion
+
+Une fois que vous avez découvert avec succès votre installation Active Directory à partir de l'hôte Linux, vous devriez pouvoir utiliser `realmd` pour rejoindre le domaine, qui orchestrera la configuration de Samba à l'aide de `adcli` et d'autres outils similaires.
+
+```sh
+[user@host ~]$ sudo realm join -v --membership-software=samba --client-software=winbind ad.company.local
+```
+
+Vous serez invité à saisir le mot de passe administrateur de votre domaine, alors tapez-le.
+
+Si ce processus affiche un problème de chiffrement comme `KDC has no support for encryption type`, essayez de mettre à jour la stratégie de chiffrement globale pour autoriser les algorithmes de chiffrement plus anciens :
+
+```sh
+[user@host ~]$ sudo update-crypto-policies --set DEFAULT:AD-SUPPORT
+```
+
+Si ce processus réussit, vous devriez maintenant pouvoir extraire les informations `passwd` pour un utilisateur Active Directory.
+
+```sh
+[user@host ~]$ sudo getent passwd administrator@ad.company.local
+AD\administrator:*:1450400500:1450400513:Administrator:/home/administrator@ad.company.local:/bin/bash
+```
+
+!!! note "Remarque"
+
+```
+`getent` récupère les entrées des bibliothèques Name Service Switch (NSS). Cela signifie que, contrairement à `passwd` ou `dig` par exemple, il interrogera différentes bases de données, y compris `/etc/hosts` pour `getent hosts` ou depuis `samba` dans le cas `getent passwd`.
+```
+
+`realm` propose quelques options intéressantes que vous pouvez utiliser :
+
+| Option | Observation |
+| -------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
+| --computer-ou='OU=LINUX,OU=SERVERS,dc=ad,dc=company.local' | Le OU où stocker le compte du serveur |
+| --os-name='rocky' | Spécifie le nom du système d'exploitation stocké dans Active Directory |
+| --os-version='8' | Indique la version de l'OS stockée dans Active Directory |
+| -U admin_username | Indique un compte administrateur |
+
+### Tentative d'Authentification
+
+Now your users should be able to authenticate to your Linux host against Active Directory.
+
+**Sous Windows 10 :** (qui fournit sa propre copie d'OpenSSH)
+
+```dos
+C:\Users\John.Doe> ssh -l john.doe@ad.company.local linux.host
+Password for john.doe@ad.company.local:
+
+Activate the web console with: systemctl enable --now cockpit.socket
+
+Last login: Wed Sep 15 17:37:03 2021 from 10.0.10.241
+[john.doe@ad.company.local@host ~]$
+```
+
+If this succeeds, you have successfully configured Linux to use Active Directory as an authentication source.
+
+### Suppression du nom de domaine dans les noms d'utilisateurs
+
+Dans une configuration complètement par défaut, vous devrez vous connecter avec votre compte AD en spécifiant le domaine dans votre nom d'utilisateur (par exemple, « john.doe@ad.company.local »). Si ce n'est pas le comportement souhaité et que vous souhaitez plutôt pouvoir omettre le nom de domaine par défaut au moment de l'authentification, vous pouvez configurer Samba pour qu'il utilise par défaut un domaine spécifique.
+
+This is a relatively straightforward process, requiring a configuration tweak in your SSSD configuration file.
+
+```sh
+[user@host ~]$ sudo vi /etc/samba/smb.conf
+[global]
+...
+winbind use default domain = yes
+```
+
+En ajoutant le `winbind use default domain`, vous demandez à Samba de déduire que l'utilisateur tente de s'authentifier en tant qu'utilisateur du domaine « ad.company.local ». This allows you to authenticate as something like `john.doe` instead of `john.doe@ad.company.local`.
+
+Pour que cette modification de configuration prenne effet, vous devez redémarrer les services `smb` et `winbind` avec `systemctl`.
+
+```sh
+[user@host ~]$ sudo systemctl restart smb winbind
+```
+
+De la même manière, si vous ne souhaitez pas que vos répertoires personnels soient suffixés avec le nom de domaine, vous pouvez ajouter ces options dans votre fichier de configuration `/etc/samba/smb.conf` :
+
+```bash
+[global]
+template homedir = /home/%U
+```
+
+N'oubliez pas de redémarrer les services `smb` et `winbind`.
diff --git a/docs/guides/security/learning_selinux.fr.md b/docs/guides/security/learning_selinux.fr.md
index f6d8890ca9..a5220a45a7 100644
--- a/docs/guides/security/learning_selinux.fr.md
+++ b/docs/guides/security/learning_selinux.fr.md
@@ -51,10 +51,10 @@ Le contexte de sécurité est assigné à un utilisateur au moment de sa connexi
Considérez les pièces suivantes du puzzle SELinux :
-* Les sujets
-* Les objets
-* Les politiques
-* Le mode
+- Les sujets
+- Les objets
+- Les politiques
+- Le mode
Lorsqu'un sujet (par exemple une application) tente d'accéder à un objet (un fichier par exemple), la partie SELinux du noyau Linux interroge sa base de données de règles. En fonction du mode d'opération, SELinux autorise l'accès à l'objet en cas de succès, sinon il enregistre l'échec dans le fichier `/var/log/messages`.
@@ -66,7 +66,7 @@ Par défaut, le contexte de sécurité du processus est défini par le contexte
Un domaine SELinux (domain) désigne un type spécial lié à un processus, type hérité (normalement) de l'utilisateur qui l'a lancé. Les droits s'expriment en termes d'autorisation ou de refus sur des types liés aux objets :
-Un processus dont le contexte a un __domaine de sécurité D__ peut accéder à des objets de __type T__.
+Un processus dont le contexte a un **domaine de sécurité D** peut accéder à des objets de **type T**.

@@ -84,14 +84,14 @@ Ce mécanisme est essentiel car il restreint autant que possible les droits d'un
La commande `semanage` est utilisée pour gérer les règles SELinux.
-```
+```bash
semanage [object_type] [options]
```
Exemple :
-```
-$ semanage boolean -l
+```bash
+semanage boolean -l
```
| Options | Observations |
@@ -105,13 +105,13 @@ La commande `semanage` peut ne pas être installée par défaut sous Rocky Linux
Sans connaître le paquet qui fournit cette commande, vous devriez rechercher son nom avec la commande suivante :
-```
+```bash
dnf provides */semanage
```
puis installez :
-```
+```bash
sudo dnf install policycoreutils-python-utils
```
@@ -119,13 +119,13 @@ sudo dnf install policycoreutils-python-utils
Les objets booléens permettent de contenir les processus.
-```
+```bash
semanage boolean [options]
```
Pour lister les Booleans disponibles :
-```
+```bash
semanage boolean –l
SELinux boolean State Default Description
…
@@ -139,13 +139,13 @@ httpd_can_sendmail (off , off) Autoriser httpd à envoyer du courrier
La commande `setsebool` est utilisée pour modifier l'état d'un objet booléen :
-```
+```bash
setsebool [-PV] boolean on|off
```
Exemple :
-```
+```bash
sudo setsebool -P httpd_can_sendmail on
```
@@ -162,13 +162,13 @@ sudo setsebool -P httpd_can_sendmail on
La commande `semanage` est utilisée pour gérer les objets de type port :
-```
+```bash
semanage port [options]
```
Exemple : autoriser le port 81 pour les processus du domaine httpd
-```
+```bash
sudo semanage port -a -t http_port_t -p tcp 81
```
@@ -176,15 +176,15 @@ sudo semanage port -a -t http_port_t -p tcp 81
SELinux possède trois modes de fonctionnement :
-* Renforcé
+- Renforcé
Mode par défaut pour Rocky Linux. L'accès sera restreint selon les règles en vigueur.
-* Permissif
+- Permissif
Les règles sont verifiées, les erreurs d'accès sont enregistrées dans le log, mais l'accès ne sera pas bloqué.
-* Désactivé
+- Désactivé
Rien ne sera restreint, rien ne sera enregistré.
@@ -192,32 +192,32 @@ Par défaut, la plupart des systèmes d'exploitation sont configurés avec SELin
La commande `getenforce` retourne le mode de fonctionnement actuel
-```
+```bash
getenforce
```
Exemple :
-```
+```bash
$ getenforce
Enforcing
```
La commande `sestatus` retourne des informations sur SELinux
-```
+```bash
sestatus
```
Exemple :
-```
+```bash
$ sestatus
-SELinux status: enabled
-SELinuxfs mount: /sys/fs/selinux
+SELinux status: enabled
+SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
-Current mode: enforcing
+Current mode: enforcing
Mode from config file: enforcing
...
Version maximale de la politique du noyau : 33
@@ -225,13 +225,13 @@ Version maximale de la politique du noyau : 33
La commande `setenforce` modifie le mode de fonctionnement actuel :
-```
+```bash
setenforce 0|1
```
Faire passer SELinux au mode permissif :
-```
+```bash
sudo setenforce 0
```
@@ -245,7 +245,7 @@ Le fichier `/etc/sysconfig/selinux` vous permet de changer le mode de fonctionne
Modifier le fichier `/etc/sysconfig/selinux`
-```
+```bash
SELINUX=disabled
```
@@ -255,7 +255,7 @@ SELINUX=disabled
Redémarrez le système :
-```
+```bash
sudo reboot
```
@@ -269,7 +269,7 @@ Pour réactiver SELinux, vous devrez repositionner les étiquettes sur l'ensembl
Étiquetage de l'ensemble du système :
-```
+```bash
sudo touch /.autorelabel
sudo reboot
```
@@ -278,8 +278,8 @@ sudo reboot
SELinux fournit deux types de règles standard :
-* **Targeted** : seuls les démons de réseau sont protégés (`dhcpd`, `httpd`, `named`, `nscd`, `ntpd`, `portmap`, `snmpd`, `squid` et `syslogd`)
-* **Strict** : tous les démons sont protégés
+- **Targeted** : seuls les démons de réseau sont protégés (`dhcpd`, `httpd`, `named`, `nscd`, `ntpd`, `portmap`, `snmpd`, `squid` et `syslogd`)
+- **Strict** : tous les démons sont protégés
## Contexte
@@ -287,7 +287,7 @@ L'affichage des contextes de sécurité s'effectue avec l'option `-Z`. L'option
Exemples :
-```
+```bash
id -Z # le contexte de l'utilisateur
ls -Z # celui des fichiers actuels
ps -eZ # celui des processus
@@ -297,15 +297,15 @@ lsof -Z # pour les fichiers ouverts
La commande `matchpathcon` renvoie le contexte d'un répertoire.
-```
+```bash
matchpathcon directory
```
Exemple :
-```
+```bash
sudo matchpathcon /root
- /root system_u:object_r:admin_home_t:s0
+ /root system_u:object_r:admin_home_t:s0
sudo matchpathcon /
/ system_u:object_r:root_t:s0
@@ -313,13 +313,13 @@ sudo matchpathcon /
La commande `chcon` modifie un contexte de sécurité :
-```
+```bash
chcon [-vR] [-u USER] [–r ROLE] [-t TYPE] file
```
Exemple :
-```
+```bash
sudo chcon -vR -t httpd_sys_content_t /data/websites/
```
@@ -331,13 +331,13 @@ sudo chcon -vR -t httpd_sys_content_t /data/websites/
La commande `restorecon` restaure le contexte de sécurité par défaut (celle fournie par les règles) :
-```
+```bash
restorecon [-vR] directory
```
Exemple :
-```
+```bash
sudo restorecon -vR /home/
```
@@ -348,7 +348,7 @@ sudo restorecon -vR /home/
Pour faire un changement de contexte qui tient compte de `restorecon`, vous devez modifier les contextes de fichier par défaut avec la commande `semanage fcontext` :
-```
+```bash
semanage fcontext -a options file
```
@@ -358,22 +358,22 @@ semanage fcontext -a options file
Exemple :
-```
-$ sudo semanage fcontext -a -t httpd_sys_content_t "/data/websites(/.*)?"
-$ sudo restorecon -vR /data/websites/
+```bash
+sudo semanage fcontext -a -t httpd_sys_content_t "/data/websites(/.*)?"
+sudo restorecon -vR /data/websites/
```
## La commande `audit2why`
La commande `audit2why` indique la cause d'un rejet de SELinux :
-```
+```bash
audit2why [-vw]
```
Exemple pour obtenir la cause du dernier rejet par SELinux :
-```
+```bash
sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2why
```
@@ -386,13 +386,13 @@ sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2why
La commande `audit2allow` crée un module pour permettre une action SELinux (quand aucun module n'existe) à partir d'une ligne dans un fichier "audit" :
-```
+```bash
audit2allow [-mM]
```
Exemple :
-```
+```bash
sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2allow -M mylocalmodule
```
@@ -405,25 +405,25 @@ sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2all
Après l'exécution d'une commande, le système vous renvoie à l'invite de commande mais le résultat attendu n'est pas visible : aucun message d'erreur à l'écran.
-* **Étape 1**: Lisez le fichier log sachant que le message qui nous intéresse est de type AVC (SELinux), refusé (refusé) et le plus récent (donc le dernier).
+- **Étape 1**: Lisez le fichier log sachant que le message qui nous intéresse est de type AVC (SELinux), refusé (refusé) et le plus récent (donc le dernier).
-```
+```bash
sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1
```
Le message est correctement isolé, mais il ne nous est d'aucune utilité.
-* **Étape 2**: Lisez le message isolé avec la commande `audit2why` pour obtenir un message plus explicite qui pourrait contenir la solution à notre problème (généralement un booléen à définir).
+- **Étape 2**: Lisez le message isolé avec la commande `audit2why` pour obtenir un message plus explicite qui pourrait contenir la solution à notre problème (généralement un booléen à définir).
-```
+```bash
sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2why
```
Il y a deux cas : soit nous pouvons placer un contexte ou remplir un booléen, soit nous allons à l'étape 3 pour créer notre propre contexte.
-* **Étape 3**: Créez votre propre module.
+- **Étape 3**: Créez votre propre module.
-```
+```bash
$ sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2allow -M mylocalmodule
Generating type enforcement: mylocalmodule.te
Compiling policy: checkmodule -M -m -o mylocalmodule.mod mylocalmodule.te
diff --git a/docs/guides/security/ssh_ca_key_signing.fr.md b/docs/guides/security/ssh_ca_key_signing.fr.md
new file mode 100644
index 0000000000..9e2c16c648
--- /dev/null
+++ b/docs/guides/security/ssh_ca_key_signing.fr.md
@@ -0,0 +1,208 @@
+---
+title: SSH Certificate Authorities and Key Signing
+author: Julian Patocki
+contributors: Steven Spencer
+tags:
+ - sécurité
+ - ssh
+ - keygen
+ - certificats
+---
+
+## Prérequis
+
+- Savoir utiliser les outils de ligne de commande
+- Gestion de contenus à partir de la ligne de commande
+- Une certaine expérience des clés SSH est souhaitée mais pas indispensable
+- Une connaissance de base de SSH et de l'infrastructure de clés publiques est utile mais facultative
+- Un serveur qui exécute le daemon `sshd`.
+
+## Introduction
+
+La connexion SSH initiale avec un hôte distant n'est pas sécurisée si vous ne pouvez pas vérifier l'empreinte digitale de la clé de l'hôte distant. L'utilisation d'une autorité de certification pour signer les clés publiques des hôtes distants garantit la sécurité de la connexion initiale pour chaque utilisateur qui fait confiance à l'autorité de certification.
+
+Les autorités de certification peuvent également être utilisées pour signer les clés SSH des utilisateurs. Au lieu de distribuer la clé à chaque hôte distant, une seule signature suffit à autoriser l'utilisateur à se connecter à plusieurs serveurs.
+
+## Objectifs
+
+- Amélioration de la sécurité des connexions SSH.
+- Consolider le processus d'intégration et la gestion des clés.
+
+## Notes
+
+- L'auteur de l'article favorise l'éditeur de texte `vim`. L'utilisation d'éditeurs de texte comme `nano` ou autres est tout à fait acceptable.
+- L'utilisation de `sudo` ou `root` implique des privilèges supplémentaires.
+
+## Connexion initiale
+
+Pour sécuriser la connexion initiale, vous devez connaître au préalable l’empreinte digitale de la clé. Vous pouvez optimiser et intégrer cette procédure de déploiement pour les nouveaux hôtes.
+
+Affichage de l'empreinte digitale de la clé sur l'hôte distant :
+
+```bash
+user@rocky-vm ~]$ ssh-keygen -E sha256 -l -f /etc/ssh/ssh_host_ed25519_key.pub
+256 SHA256:bXWRZCpppNWxXs8o1MyqFlmfO8aSG+nlgJrBM4j4+gE no comment (ED25519)
+```
+
+Établissement de la connexion SSH initiale depuis le client. L'empreinte de la clé s'affiche et peut être comparée à celle précédemment acquise :
+
+```bash
+[user@rocky ~]$ ssh user@rocky-vm.example.com
+The authenticity of host 'rocky-vm.example (192.168.56.101)' can't be established.
+ED25519 key fingerprint is SHA256:bXWRZCpppNWxXs8o1MyqFlmfO8aSG+nlgJrBM4j4+gE.
+This key is not known by any other names
+Are you sure you want to continue connecting (yes/no/[fingerprint])?
+```
+
+## Création d'une Autorité de Certification
+
+Créer une autorité de certification (clés privées et publiques) et placer la clé publique dans le fichier `known_hosts` du client pour identifier tous les hôtes appartenant au domaine example.com :
+
+```bash
+[user@rocky ~]$ ssh-keygen -b 4096 -t ed25519 -f CA
+[user@rocky ~]$ echo '@cert-authority *.example.com' $(cat CA.pub) >> ~/.ssh/known_hosts
+```
+
+Où :
+
+- **-b** : bytes, longueur de clé en octets
+- **-t** : type de clé ; rsa, ed25519, ecdsa...
+- **-f** : fichier d'enregistrement de la clé
+
+Vous pouvez aussi spécifier la variable `known_hosts` pour tout le système en éditant le fichier de configuration SSH `/etc/ssh/ssh_config` :
+
+```bash
+Host *
+ GlobalKnownHostsFile /etc/ssh/ssh_known_hosts
+```
+
+## Signature des clés publiques
+
+Création d'une clé SSH utilisateur et signature :
+
+```bash
+[user@rocky ~]$ ssh-keygen -b 4096 -t ed2119
+[user@rocky ~]$ ssh-keygen -s CA -I user -n user -V +55w id_ed25519.pub
+```
+
+Acquisition de la clé publique du serveur via `scp` et signature :
+
+```bash
+[user@rocky ~]$ scp user@rocky-vm.example.com:/etc/ssh/ssh_host_ed25519_key.pub .
+[user@rocky ~]$ ssh-keygen -s CA -I rocky-vm -n rocky-vm.example.com -h -V +55w ssh_host_ed25519_key.pub
+```
+
+Où :
+
+- **-s** : signature de clé
+- **-I** : nom identifiant le certificat à des fins de journalisation
+- **-n** : identifie le nom (hôte ou utilisateur, un ou plusieurs) associé au certificat (s'il n'est pas spécifié, les certificats sont valables pour tous les utilisateurs ou hôtes)
+- **-h** : définit le certificat comme clé hôte, par opposition à une clé cliente
+- **-V** : durée de validité du certificat
+
+## Établir la confiance
+
+Copie du certificat de l'hôte distant pour que l'hôte distant le présente avec sa clé publique lorsqu'il est connecté :
+
+```bash
+[user@rocky ~]$ scp ssh_host_ed25519_key-cert.pub root@rocky-vm.example.com:/etc/ssh/
+```
+
+Copie de la clé publique de l'autorité de certification sur l'hôte distant pour qu'il fasse confiance aux certificats signés par l'autorité de certification :
+
+```bash
+[user@rocky ~]$ scp CA.pub root@rocky-vm.example.com:/etc/ssh/
+```
+
+Ajouter les lignes suivantes au fichier `/etc/ssh/sshd_config` pour spécifier la clé et le certificat précédemment copiés à utiliser par le serveur et faire confiance à l'autorité de certification pour identifier les utilisateurs :
+
+```bash
+[user@rocky ~]$ ssh user@rocky-vm.example.com
+[user@rocky-vm ~]$ sudo vim /etc/ssh/sshd_config
+```
+
+```bash
+HostKey /etc/ssh/ssh_host_ed25519_key
+HostCertificate /etc/ssh/ssh_host_ed25519_key-cert.pub
+TrustedUserCAKeys /etc/ssh/CA.pub
+```
+
+Redémarrage du service `sshd` sur le serveur :
+
+```bash
+[user@rocky-vm ~]$ systemctl restart sshd
+```
+
+## Test de connection
+
+Suppression de l'empreinte digitale du serveur distant de votre fichier `known_hosts` et vérification des paramètres en établissant une connexion SSH :
+
+```bash
+[user@rocky ~]$ ssh-keygen -R rocky-vm.example.com
+[user@rocky ~]$ ssh user@rocky-vm.example.com
+```
+
+## Révocation de Clé
+
+La révocation des clés d’hôte ou d’utilisateur peut s’avérer cruciale pour la sécurité de l’ensemble de l’environnement. Il est donc important de stocker les clés publiques précédemment signées pour pouvoir les révoquer à un moment donné dans le futur.
+
+Création d'une liste de révocation vide et révocation de la clé publique de l'utilisateur user2 :
+
+```bash
+[user@rocky ~]$ sudo ssh-keygen -k -f /etc/ssh/revokation_list.krl
+[user@rocky ~]$ sudo ssh-keygen -k -f /etc/ssh/revokation_list.krl -u /path/to/user2_id_ed25519.pub
+```
+
+Copier la liste de révocation sur l'hôte distant et la spécifier dans le fichier `sshd_config` :
+
+```bash
+[user@rocky ~]$ scp /etc/ssh/revokation_list.krl root@rocky-vm.example.com:/etc/ssh/
+[user@rocky ~]$ ssh user@rocky-vm.example.com
+[user@rocky ~]$ sudo vim /etc/ssh/sshd_config
+```
+
+La ligne suivante indique la liste de révocation :
+
+```bash
+RevokedKeys /etc/ssh/revokation_list.krl
+```
+
+Il est nécessaire de redémarrer le démon SSHD pour que la configuration soit rechargée :
+
+```bash
+[user@rocky-vm ~]$ sudo systemctl restart sshd
+```
+
+L'utilisateur user2 est rejeté par le serveur :
+
+```bash
+[user2@rocky ~]$ ssh user2@rocky-vm.example.com
+user2@rocky-vm.example.com: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
+```
+
+La révocation des clés du serveur est également possible :
+
+```bash
+[user@rocky ~]$ sudo ssh-keygen -k -f /etc/ssh/revokation_list.krl -u /path/to/ssh_host_ed25519_key.pub
+```
+
+Les lignes suivantes dans `/etc/ssh/ssh_config` déterminent la liste de révocation d'hôtes à l'échelle du système :
+
+```bash
+Host *
+ RevokedHostKeys /etc/ssh/revokation_list.krl
+```
+
+La tentative de connexion à l'hôte entraîne les résultats suivants :
+
+```bash
+[user@rocky ~]$ ssh user@rocky-vm.example.com
+Host key ED25519-CERT SHA256:bXWRZCpppNWxXs8o1MyqFlmfO8aSG+nlgJrBM4j4+gE revoked by file /etc/ssh/revokation_list.krl
+```
+
+La maintenance et la mise à jour des listes de révocation sont très importantes. Vous pouvez automatiser le processus pour vous assurer que les listes de révocation les plus récentes sont accessibles à tous les hôtes et utilisateurs.
+
+## Conclusion
+
+SSH est l'un des protocoles les plus importants pour gérer des serveurs distants. La mise en œuvre d’autorités de certification peut s’avérer utile, en particulier dans les environnements plus vastes comportant de nombreux serveurs et utilisateurs.
+Il est important de bien tenir à jour des listes de révocation. It ensures the **REVOCATION** of compromised keys easily without replacing the whole key infrastructure.
diff --git a/docs/guides/troubleshooting/kernel_panic.fr.md b/docs/guides/troubleshooting/kernel_panic.fr.md
new file mode 100644
index 0000000000..e6dd64db9f
--- /dev/null
+++ b/docs/guides/troubleshooting/kernel_panic.fr.md
@@ -0,0 +1,137 @@
+---
+title: Comment gérer un `Kernel panic`
+author: Antoine Le Morvan
+contributors: Steven Spencer
+tested_with: 9.4
+tags:
+ - kernel
+ - kernel panic
+ - dépannage
+---
+
+## Introduction
+
+Parfois, l'installation du noyau se passe mal et vous devez revenir en arrière.
+
+Il peut y avoir plusieurs raisons à cela : espace insuffisant sur la partition `/boot`, installation interrompue ou problème avec une application tierce.
+
+Heureusement pour nous, il y a toujours quelque chose que nous pouvons faire pour sauver la situation.
+
+## Essayez de redémarrer avec le noyau précédent
+
+La première chose à essayer est de redémarrer avec le kernel précédent.
+
+- Redémarrer le système.
+- Une fois que vous avez atteint l'écran de démarrage de GRUB 2, déplacez la sélection vers l'entrée de menu correspondant au noyau précédent et appuyez sur la touche ++enter++.
+
+Une fois le système redémarré, il peut être réparé.
+
+Si le système ne démarre pas, essayez le **mode de secours** (`rescue mode`, voir ci-dessus).
+
+## Désinstallez le noyau défectueux
+
+Le moyen le plus simple de procéder consiste à désinstaller la version du noyau qui ne fonctionne pas, puis à la réinstaller.
+
+!!! note "Remarque"
+
+````
+Vous ne pouvez pas supprimer un noyau en cours d'exécution.
+
+Pour afficher la version du noyau actuellement exécuté :
+
+```bash
+uname -r
+```
+````
+
+Vous pouvez vérifier la liste des noyaux installés :
+
+```bash
+dnf list installed kernel\* | sort -V
+```
+
+mais cette commande est peut-être plus pratique, puisqu'elle ne renvoie que les packages ayant plusieurs versions installées :
+
+```bash
+dnf repoquery --installed --installonly
+```
+
+Pour supprimer un noyau spécifique, vous pouvez utiliser `dnf`, en spécifiant la version du noyau que vous avez récupérée précédemment :
+
+```bash
+dnf remove kernel-core-
+```
+
+Exemple :
+
+```bash
+dnf remove kernel-5.14.0-427.20.1.el9_4.x86_64
+```
+
+or use the `dnf repoquery` command:
+
+```bash
+dnf remove $(dnf repoquery --installed --installonly --latest=1)
+```
+
+Vous pouvez maintenant mettre à niveau votre système et essayer de réinstaller la dernière version du noyau.
+
+```bash
+dnf update
+```
+
+Redémarrez et voyez si le nouveau noyau fonctionne cette fois correctement.
+
+## Mode de Secours
+
+Le mode Rescue correspond à l’ancien mode mono-utilisateur.
+
+!!! note "Remarque"
+
+```
+Pour entrer en mode de secours, vous devez fournir le mot de passe root.
+```
+
+Pour accéder au mode de secours, le moyen le plus simple est de sélectionner la ligne commençant par `0-rescue-*` dans le menu grub.
+
+Une autre façon consiste à éditer n'importe quelle ligne du menu grub (en appuyant sur la touche ++'e'++) et à ajouter `systemd.unit=rescue.target` à la fin de la ligne qui commence par `linux`, puis à appuyer sur ++ctrl++ + ++"x"++ pour démarrez le système en mode de secours.
+
+!!! note "Remarque"
+
+```
+Vous êtes alors en mode QWERTY.
+```
+
+Une fois que vous êtes en mode de secours et que vous avez entré le mot de passe root, vous pouvez alors réparer votre système.
+
+Pour cela, vous devrez peut-être configurer une adresse IP temporaire grâce à `ip ad add …` (voir chapitre réseau de notre guide d'administration).
+
+## Dernière chance : Anaconda Rescue Mode
+
+Si aucune des méthodes ci-dessus ne fonctionne, il est toujours possible de démarrer à partir de l'image ISO d'installation et de réparer le système.
+
+Cette méthode n'est pas couverte par cette documentation.
+
+## Maintenance du Système
+
+### Nettoyage des anciennes versions du kernel
+
+Vous pouvez supprimer les anciens packages de noyau installés, en ne conservant que la dernière version et la version du noyau en cours d'exécution :
+
+```bash
+dnf remove --oldinstallonly
+```
+
+### Limitation du nombre de versions de noyaux installées
+
+Nous pouvons limiter le nombre de versions du noyau en éditant le fichier `/etc/yum.conf` et en définissant la variable **installonly_limit** :
+
+```text
+installonly_limit=3
+```
+
+!!! note "Remarque"
+
+```
+Vous devez toujours conserver au moins la dernière version du noyau et une version de sauvegarde.
+```
diff --git a/docs/index.zh.md b/docs/index.zh.md
index 882c8c37b0..bdb84503bf 100644
--- a/docs/index.zh.md
+++ b/docs/index.zh.md
@@ -18,7 +18,7 @@ title: 主页
现在,您已进入了文档的主页。 如果您浏览顶部菜单(它总是可用的,包括在移动设备上),您可以看到文档站点在顶层部分展示的主要结构。 如果您点击每个顶部菜单项(例如 "Guides" ),那么在左侧你会看到每个主要部分的 *子部分* 列表。 ”Guides“ 有许多有趣的主题。
-当您打开一个文档时,在右侧您会看到一个“目录”,上面有该文档可被点击的导航链接(对于移动设备而言,请尝试横屏方向)。 对于长文档而言,如 [Release Notes](release_notes/8_8.md) ,目录可使您轻松地在文档中跳转。 如果您正在阅读一个长文档并想要返回顶部,请按 pg up,屏幕顶部会出现一个 `返回顶部` 的按钮。
+当您打开一个文档时,在右侧您会看到一个“目录”,上面有该文档可被点击的导航链接(对于移动设备而言,请尝试横屏方向)。 对于长文档而言,如 [Release Notes](release_notes/8_8.md) ,目录可使您轻松地在文档中跳转。 如果您正在阅读一个长文档并想要返回顶部,请按 ++page-up++,屏幕顶部会出现一个 `返回顶部` 的按钮。
文档站点的主要部分:
@@ -34,7 +34,7 @@ title: 主页
在 Rocky Linux 中,我们希望尽可能让每个人都可以访问文档站点——*翻译成不同的语言是其中的一个重要部分*。 如果单击顶部菜单上的语言选择器,您将看到网站可用的语言。 这有两个部分:
1. 网站界面本地化:如果您选择另一种语言,例如法语( Français),您会注意到界面例如 “Next” 和 “Previous” 导航器将被本地化。
-1. 内容:翻译内容是一项持续的(重要的)任务。 并非所有的内容都需要被翻译成所有的其他语言。 任何已经翻译(翻译成所选语言)的页面都将以所选语言显示,那些没有翻译的页面将退回到默认英语语言。 如果您想通过翻译为社区做贡献,文档团队将很乐意听到您的消息——详情见下文。
+1. 内容:翻译内容是一项 [持续且重要](https://crowdin.com/project/rockydocs/activity-stream) 的 [任务](https://crowdin.com/project/rockydocs)。 并非所有的内容都需要被翻译成所有的其他语言。 任何已经翻译(翻译成所选语言)的页面都将以所选语言显示,那些没有翻译的页面将退回到默认英语语言。 如果您想通过翻译为社区做贡献,文档团队将很乐意听到您的消息——详情见下文。
!!! note "说明"
diff --git a/docs/release_notes/8_10.zh.md b/docs/release_notes/8_10.zh.md
new file mode 100644
index 0000000000..8c4d15738a
--- /dev/null
+++ b/docs/release_notes/8_10.zh.md
@@ -0,0 +1,112 @@
+---
+title: 当前发布 8.10 版本
+tags:
+ - "8.10"
+ - 8.10 release
+ - Rocky 8.10
+---
+
+# Rocky Linux 8.10 发布说明
+
+您可以在 [此处的上游发布说明](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.10_release_notes/index) 中找到大多数变更的完整清单
+
+## 系统升级
+
+您可以通过执行 `sudo dnf -y upgrade` 来完成从 Rocky Linux 8.x 到 Rocky Linux 8.10 的升级。
+
+## 镜像
+
+提供除正常安装镜像外的其他一些镜像,包含云和容器平台。
+
+您可以在 [SIG/Cloud 维基页面](https://sig-cloud.rocky.page/) 上找到有关 Cloud Special Interest Group 制作镜像以及如何参与其中的更多信息。
+
+## 安装
+
+要安装 Rocky Linux 8.10,请转到 [下载页面](https://rockylinux.org/download/) 并下载您架构所需的版本。
+
+## 重大变化
+
+有关重大变化的完整清单,请参阅 [此处的上游清单](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.10_release_notes/overview#overview-major-changes)。
+
+下面将详细介绍此版本的亮点和新功能。
+
+### 镜像构建器
+
+- 可以使用不同的分区模式,如 `auto-lvm`、`lvm` 和 `raw`
+- 自定义配置文件的定制选项,并通过使用 selected 和 unselected 选项来添加和删除规则,将其添加到您的蓝图定制中
+
+### 安全性
+
+以下是最新发布的 Rocky Linux 8.10 中与安全相关的亮点。 有关安全相关更改的完整清单,请参阅 [此处的上游链接](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.10_release_notes/new-features#new-features-security)。
+
+- **SCAP Security Guide 0.1.72** 包含更新后的 CIS 配置文件、与 PCI DSS version 4.0 一致的策略配置文件和最新 DISA STIG 策略的配置文件
+- **libkcapi** 1.4.0 引入了新的工具和选项。 值得注意的是,使用新的 `-T` 选项,您可以在哈希和(hash-sum)计算中指定目标文件名
+- **stunnel 5.7.1** TLS/SSL 隧道服务在 OpenSSL 1.1 和更高版本中更改了在 FIPS 模式下的行为。 除此变更外,此版本还提供了许多新功能,例如支持现代的 PostgreSQL 客户端
+- **OpenSSL TLS Toolkit** 现在包含 API 级别的保护,可抵御针对 RSA PKCS#1 v1.5 解密过程中类似 Bleichenbacher 的攻击
+
+### 动态编程语言、web和数据库服务器
+
+有关此类别更改的详细清单,请参阅 [此处的上游链接](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.10_release_notes/new-features#new-features-dynamic-programming-languages-web-and-database-servers)。
+
+以下应用程序流的最新版本现已可用:
+
+- **Python 3.12**
+- **Ruby 3.3**
+- **PHP 8.2**
+- **nginx 1.24**
+- **MariaDB 10.11**
+- **PostgreSQL 16**
+
+以下的应用程序已升级:
+
+- **Git** 升级到 2.43.0 版本
+- **Git LFS** 升级到 3.4.1 版本
+
+### 容器
+
+有关此类别更改的详细清单,请参阅 [此处的上游链接](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.10_release_notes/new-features#new-features-containers)。
+
+值得注意的变化包括:
+
+- 用于创建多架构镜像的 `podman build farm` 命令可作为技术预览使用
+- Podman 现在支持 `tainers.conf` 模块来加载一组预先确定的配置
+- 相关的容器工具软件包已升级
+- Podman v4.9 RESTful API 现在在拉取或将镜像推送到注册中心时显示进度数据。
+- Podman 现在完全支持 SQLite 作为默认的数据库后端
+- `Containerfile` 现在支持多行 HereDoc 指令
+- 作为网络名称的 `pasta` 现在已被弃用
+- BoltDB 数据库后端现已弃用
+- `container-tools:4.0` 模块现在已经被弃用
+- Container Network Interface (CNI) 网络堆栈已弃用,并将在以后的发行版本中删除。
+
+## 已知问题
+
+8.10 中存在许多已知问题,包括与以下内容相关的问题:
+
+- 安装程序和镜像创建
+- 安全性
+- 软件管理
+- Shell 和命令行工具
+- 基础设施服务
+- 网络
+- 内核
+- 文件系统和存储
+- 动态编程语言、web和数据库服务器
+- 身份管理
+- 桌面
+- 图形基础设施
+- 虚拟化
+- 可支持性
+- 容器
+
+查阅 [上游清单](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.10_release_notes/known-issues),了解有关这些问题的完整细节。
+
+!!! info "信息"
+
+```
+Rocky Linux 8.10 存储库中的一些应用程序流将不会收到任何进一步的更新。请关注任何已终止或已弃用的应用程序流,并根据需要更新为较新的流。
+```
+
+## 报告 bug
+
+请将您遇到的任何错误报告给 [Rocky Linux Bug Tracker](https://bugs.rockylinux.org/)。 我们也欢迎您以任何方式加入我们的社区,不管是在我们的 [Forums](https://forums.rockylinux.org)、 [Mattermost](https://chat.rockylinux.org)、[IRC on Libera.Chat](irc://irc.liberachat/rockylinux)、 [Reddit](https://reddit.com/r/rockylinux)、[Mailing Lists](https://lists.resf.org),还是其他任何您希望参与的方式!
diff --git a/docs/release_notes/8_5.zh.md b/docs/release_notes/8_5.zh.md
index e7b0077ad0..5027c0dd17 100644
--- a/docs/release_notes/8_5.zh.md
+++ b/docs/release_notes/8_5.zh.md
@@ -4,14 +4,13 @@ title: 发布 8.5 版本
# Rocky Linux 8.5 发布说明
-### 谢谢你
+## 谢谢你
感谢您对 Rocky Linux 的支持。 这些是 Rocky Linux 8.5 的发布说明,可用于 x86_64 和 aarch64(ARM)架构。
> 在这个版本中有大量的工作与合作。 Rocky Release Engineering 团队做出了远超职责范围的努力,如此迅速地实现了8.5。 请在我们第一时间向他们表示感谢,并送上快乐的思念以及许多啤酒!
— 格雷戈里·库尔泽(Gregory Kurtzer)
-
### 重大变化
有关上游发生的所有变更的完整清单,请参考 [Red Hat Enterprise Linux 8.5 发布说明](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.5_release_notes/overview#overview-major-changes)。
@@ -24,14 +23,12 @@ title: 发布 8.5 版本
如同任何与安全相关的操作一样,最重要的是——验证 Secure Boot shim 是否符合您所期望的那样,以及确认它是否被正确激活。 在安装 Rocky Linux 8.5 后,请登录并运行以下命令以验证我们的 Secure Boot shim :
-```
-
-$ sudo dnf install -y keyutils
-
-$ sudo keyctl show %:.platform
+```bash
+sudo dnf install -y keyutils
-$ sudo mokutil --sb
+sudo keyctl show %:.platform
+sudo mokutil --sb
```
这些命令应该会产生类似以下内容的输出信息:
@@ -58,28 +55,28 @@ SecureBoot enabled
#### 新模块
- * Ruby 3.0
- * nginx 1.20
- * Node.js 16
+* Ruby 3.0
+* nginx 1.20
+* Node.js 16
#### 更新组件
- * PHP 更新到 7.4.19 版本
- * Squid 更新到 4.15 版本
- * Mutt 更新到 2.0.7 版本
+* PHP 更新到 7.4.19 版本
+* Squid 更新到 4.15 版本
+* Mutt 更新到 2.0.7 版本
#### 编译器和开发工具
- * GCC Toolset 11
- * LLVM Toolset 12.0.1
- * Rust Toolset 1.54.0
- * Go Toolset 1.16.7
+* GCC Toolset 11
+* LLVM Toolset 12.0.1
+* Rust Toolset 1.54.0
+* Go Toolset 1.16.7
#### OpenJDK 更新
- * Open Java Development Kit 17 (OpenJDK 17) 现在已可用。 有关此版本中引入的特性以及对现有功能更改的更多信息,请参阅 OpenJDK 特性。
- * OpenJDK 11 已经更新为 11.0.13 版本。 有关此版本中引入的特性和对现有功能更改的更多信息,请参阅 OpenJDK 11.0.13 的发布说明。
- * OpenJDK 8 已经更新为 8.0.312 版本。 有关此版本中引入的特性和对现有功能更改的更多信息,请参阅 OpenJDK 8.0.312 的发布说明。
+* Open Java Development Kit 17 (OpenJDK 17) 现在已可用。 有关此版本中引入的特性以及对现有功能更改的更多信息,请参阅 OpenJDK 特性。
+* OpenJDK 11 已经更新为 11.0.13 版本。 有关此版本中引入的特性和对现有功能更改的更多信息,请参阅 OpenJDK 11.0.13 的发布说明。
+* OpenJDK 8 已经更新为 8.0.312 版本。 有关此版本中引入的特性和对现有功能更改的更多信息,请参阅 OpenJDK 8.0.312 的发布说明。
#### 最快的镜像服务器
@@ -91,9 +88,9 @@ SecureBoot enabled
#### 已经添加的软件包
- * 在 plus 存储库中,添加了支持 PGP 的 thunderbird
- * 在 plus 存储库中,添加了 openldap-servers
- * 在 rockypi 存储库中,添加了 rasperrypi2 内核,以支持特有的树莓派 aarch64
+* 在 plus 存储库中,添加了支持 PGP 的 thunderbird
+* 在 plus 存储库中,添加了 openldap-servers
+* 在 rockypi 存储库中,添加了 rasperrypi2 内核,以支持特有的树莓派 aarch64
有关 Rocky Linux 与 Red Hat Enterprise Linux 之间软件包及其版本的完整比较, 请查看我们的 [RepoCompare](https://repocompare.rockylinux.org) 网站。
@@ -111,8 +108,8 @@ SecureBoot enabled
要将您安装的 Rocky Linux 8.4 Stable 更新到8.5,请输入:
-```
-$ sudo dnf -y upgrade
+```bash
+sudo dnf -y upgrade
```
### 已知问题
@@ -122,4 +119,3 @@ $ sudo dnf -y upgrade
#### 报告bug
请向 Rocky Linux Bug Tracker 报告您遇到的任何 bug 。 我们也欢迎您以任何方式加入我们的社区,不管是在我们的 [Forums](https://forums.rockylinux.org)、[Mattermost](https://chat.rockylinux.org)、[IRC on Libera.Chat](irc://irc.liberachat/rockylinux)、[Reddit](https://reddit.com/r/rockylinux)、[Mailing Lists](https://lists.resf.org),还是其他任何您希望参与的方式。
-
diff --git a/docs/release_notes/9_3.zh.md b/docs/release_notes/9_3.zh.md
index ed2fd8ece1..c85d5195a8 100644
--- a/docs/release_notes/9_3.zh.md
+++ b/docs/release_notes/9_3.zh.md
@@ -1,5 +1,5 @@
---
-title: 当前发布 9.3 版本
+title: 发布 9.3 版本
tags:
- 9.3
- 9.3 release
diff --git a/docs/release_notes/index.zh.md b/docs/release_notes/index.zh.md
index a6f3e96990..f8275bbd3e 100644
--- a/docs/release_notes/index.zh.md
+++ b/docs/release_notes/index.zh.md
@@ -24,6 +24,8 @@ Rocky 9(代号 "Blue Onyx" )的一般支持直到2027年5月31日为止,
| 9.0 | 2022-07-14 | 5.14.0-70.13.1 |
| 9.1 | 2022-11-26 | 5.14.0-162.6.1 |
| 9.2 | 2023-05-16 | 5.14.0-284.11.1 |
+| 9.3 | 2023-11-20 | 5.14.0-362.8.1 |
+| 9.4 | 2024-05-09 | 5.14.0-427.13.1 |
## Rocky 8
@@ -40,5 +42,7 @@ Rocky 8(代号 "Green Obsidian" )的一般支持直到2024年5月1日为止
| 8.6 | 2022-05-16 | 4.18.0-372.9.1 |
| 8.7 | 2022-11-14 | 4.18.0-425.3.1 |
| 8.8 | 2023-05-19 | 4.18.0-477.10.1 |
+| 8.9 | 2023-11-22 | 4.18.0-513.5.1 |
+| 8.10 | 2024-05-31 | 4.18.0-553 |
如果您有任何问题或意见,请加入 [这里的](https://chat.rockylinux.org/rocky-linux/channels/documentation) 讨论。