diff --git a/docs/gemstones/https_rsa_keygen.zh.md b/docs/gemstones/https_rsa_keygen.zh.md
index 99c0b2a733..110724b4a0 100644
--- a/docs/gemstones/https_rsa_keygen.zh.md
+++ b/docs/gemstones/https_rsa_keygen.zh.md
@@ -42,3 +42,4 @@ fi
* 接下来,脚本创建CSR(Certificate Signing Request,证书签名请求),然后可以使用它从提供商那里购买SSL证书。
* 最后,清理步骤删除了先前创建的带有密码的密钥。
* 输入不带参数的脚本名将生成错误:“需要密钥名称参数”。
+* 此处使用位置参数变量,即 $n。 其中,$0表示命令本身,$1到$9表示第一到第九个参数。 当数字大于10时,需要使用大括号,如${10}
\ No newline at end of file
diff --git a/docs/guides/automation/anacron.zh.md b/docs/guides/automation/anacron.zh.md
index ead26b3772..7b5a798e7a 100644
--- a/docs/guides/automation/anacron.zh.md
+++ b/docs/guides/automation/anacron.zh.md
@@ -1,32 +1,32 @@
---
title: anacron - 自动化命令
-author: tianci li
-contributors: Steven Spencer
+author: 李天赐
+contributors: 史蒂文 斯本
update: 2021-10-20
---
-# anacron- 定期运行命令
+# anacron - 定期执行命令工具
-## 前提条件
+## 先决条件
-* 一台运行 Rocky Linux 的机器。
-* 知道如何在命令行环境下使用您喜欢的编辑器修改配置文件(例如 *vim*)。
-* 了解基本的RPM包管理
+* 运行Rocky Linux的机器。
+* 知道如何使用您最喜欢的编辑器来修改命令行环境中的配置文件(例如 *vim*)。
+* 了解基本RPM软件包管理
-## 假设
+## 前提条件
-* 您已了解 bash、python 或其他脚本/编程工具的基本知识,并希望自动运行脚本。
-* 您已以 root 用户身份登录,或者用`su - root`切换到root
+* 您已经了解了bash、 python 或其他脚本/编程工具的基础知识,并且想要自动运行脚本。
+* 您已经以 root 用户的身份登录,或者使用 `su 切换到 root`
-## anacron简介
+## Anacron 介绍
-**anacron用于定期运行命令,运行频率以天为单位进行定义,它适用于在笔记本电脑和台式机等不会全天候7*24运行的计算机上。假设您有一个计划的任务(比如备份脚本)要在每天凌晨使用crontab运行,当您睡着的时候,此时您的台式机/笔记本电脑已经关闭。您的备份脚本将不会执行。但是,如果您使用anacron,您可以放心,下次再次打开台式机/笔记本电脑时,将执行备份脚本。**
+**anacron 用于定期运行命令,操作频率以天为单位确定。 它适合于不运行24/7的计算机,如笔记本和台式计算机。 假定您有一个预定的任务(例如备份脚本)将在每天早上使用 crontab运行。 当您睡觉时,您的桌面/笔记本电脑将被关闭。 您的备份脚本将不会被执行。 但是,如果您使用anacron,您可以放心,下次打开桌面/膝上型电脑时,备份脚本将会被执行。**
-anacron的出现并不是取代crontab,而是与crontab相互补充。它们的关系如下图:
+Anacron 并不是取代crontab,而是对crontab的一种补充。 它们的关系如下:
-
+
-## anacron配置文件
+## 配置文件
```bash
shell > rpm -ql cronie-anacron
@@ -44,41 +44,40 @@ shell > rpm -ql cronie-anacron
/var/spool/anacron/cron.weekly
```
-首先查看默认的配置文件:
+首先检查默认配置文件:
```bash
shell > cat /etc/anacontab
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
+PATH=/sbin:/usr/sbin:/bin
MAILTO=root
-# 默认45分钟,指定anacron中每个作业的延迟将随机增加0到45分钟。
+# 每个指定作业的默认45分钟延迟随机增加0-45分钟。
RANDOM_DELAY=45
-# 指定工作的时间范围,这里表示3:00~22:00
+# 指定工作时间范围 在这里代表 3:00~22:00
START_HOURS_RANGE=3-22
-# period in days delay in minutes job-identifier command
-# 每天开机5分钟后就检查 /etc/cron.daily 目录内的文件是否被执行,如果今天没有被执行,那就执行下一个
-1 5 cron.daily nice run-parts /etc/cron.daily
-# 每隔7天开机后25分钟检查 /etc/cron.weekly 目录内的文件是否被执行,如果一周内没有被执行,就会执行下一个
-7 25 cron.weekly nice run-parts /etc/cron.weekly
-# 每隔一个月开机后 45 分钟检查 /etc/cron.monthly 目录内的文件是否被执行
-@monthly 45 cron.monthly nice run-parts /etc/cron.monthly
+# 几天内延迟作业标识符命令
+# 每天启动来检查目录/etc/cron中的文件。 每日执行在5分钟内, 如果今天没有执行, 则执行到下一个
+1 5 cron.daily run-part /etc/cron。 每日
+# 25分钟内每7天检查/etc/cron。 eekly 目录是在启动后执行的,如果不是在一个星期内执行,它将在下一个
+7 25 cron.weekly run-part /etc/cron执行。 eekly
+# 目录/etc/cron中的文件。 每次开始后每个月进行45分钟的一次检查
+@monthly 45 cron.monthly nice run-part /etc/cron.monthly
```
-**/etc/cron.hourly/** - 通过`journalctl -u crond.service`可以知道,放入到里面的文件其实是被crond.server调用,表示每小时的第一分钟后开始执行命令。如下所示:
+**/etc/cron.hourly/** -通过 `journalctl -u crond. ervice`, 你可以知道放在内面的文件实际上被crond调用。 因为这意味着命令将在每小时第一分钟后执行。 例如:
```bash
shell > cat /etc/cron.d/0hourly
-# Run the hourly jobs
+# 运行每小时作业
SHELL=/bin/bash
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
+PATH=/sbin:/usr/sbin:/usr/bin
MAILTO=root
-01 * * * * root run-parts /etc/cron.hourly
+01* * * root run-parts /etc/cron.hourly
```
```
shell > journalctl -u crond.service
-- Logs begin at Wed 2021-10-20 19:27:39 CST, end at Wed 2021-10-20 23:32:42 CST. -
-October 20 19:27:42 li systemd[1]: Started Command Scheduler.
+- Logs begin at Wed 2021-10-20 19:27:39 CST, end at Wed 2021-10-2023:32:42 CST. October 20 19:27:42 li systemd[1]: Started Command Scheduler.
October 20 19:27:42 li crond[733]: (CRON) STARTUP (1.5.2)
October 20 19:27:42 li crond[733]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 76% if used.)
October 20 19:27:42 li crond[733]: (CRON) INFO (running with inotify support)
@@ -89,28 +88,28 @@ October 20 23:01:01 li CROND[2037]: (root) CMD (run-parts /etc/cron.hourly)
```
-更多配置文件信息,请[浏览手册页](https://man7.org/linux/man-pages/man5/anacrontab.5.html)
+欲了解更多配置文件信息,请 [浏览手册页面](https://man7.org/linux/man-pages/man5/anacrontab.5.html)
## 用户使用
-为了使某些文件在这些自动定义的时间内运行,您所需要做的就是将脚本文件复制到相关目录中,并确保其拥有**x执行权限(chmod +x)**。因此,您只要让系统在这些预定时间之一自动运行脚本就可以了,这使自动化任务变得非常容易。
+为了使某些文件在这些自动定义的时间内运行。 您需要做的只是复制脚本文件到相关的目录,并确保它拥有** x执行权限 (chmod +x) ** 。 因此,您只需要让系统在这些预定时间其中之一的时间自动运行脚本,这使自动化任务非常容易。
-我们用 cron.daily 工作来说明一下 /etc/anacrontab 的执行过程:
+让我们每天使用 cron.day来说明/etc/anacrontab的执行过程:
-1. anacron读取 **/var/spool/anacron/cron.daily** 文件,文件内容显示为上一次执行的时间。
-2. 和当前的时间比较,如果两个时间的差值超过 1 天,就执行 cron.daily 工作。
-3. 只能在 03:00-22:00 执行这个工作。
-4. 开机5分钟检查有文件是否被执行,当执行第一个后,再随机延迟 0~45 分钟执行下一个。
-5. 使用 nice 参数指定默认优先级,使用 run-parts 参数执行 /etc/cron.daily/ 目录中所有的可执行文件。
+1. Anacron 读取** /var/sool/anacron/cron.day** 文件,文件的内容显示最后一次执行的时间。
+2. 与当前时间相比,如果两次之间的差额超过1天,则每日工作将被执行。
+3. 此工作只能在 03:00-22:00进行。
+4. 检查一个文件是否在系统启动后5分钟内执行。 当第一个执行时,将会随机延迟0~45分钟来执行下一个。
+5. 使用好参数来指定默认的优先级,并使用运行器参数来执行/etc/cron.daily/目录中的所有可执行文件。
-## 相关命令
+## 命令相关的
-使用到的命令 `anacron`,常用选项有:
+使用命令 `anacron`, 通常使用的选项有:
-|选项|说明|
-|---|---|
-|-f |执行所有的作业,忽略时间戳|
-|-u|不执行任何作用的情况下更新时间戳为当前时间|
-|-T|测试配置文件/etc/anacrontab的有效性|
+| 选项 | 说明 |
+| -- | -------------------------- |
+| -f | 执行所有作业,忽略时间戳 |
+| -u | 将时间戳更新到当前时间,而不执行任何操作 |
+| -T | 测试配置文件/etc/anacrontab 的有效性 |
-更多帮助信息,请[浏览手册页](https://man7.org/linux/man-pages/man8/anacron.8.html)
+欲了解更多帮助信息,请 [浏览手册页面](https://man7.org/linux/man-pages/man8/anacron.8.html)
diff --git a/docs/guides/automation/cron_jobs_howto.zh.md b/docs/guides/automation/cron_jobs_howto.zh.md
index 4041798bd0..bc71892656 100644
--- a/docs/guides/automation/cron_jobs_howto.zh.md
+++ b/docs/guides/automation/cron_jobs_howto.zh.md
@@ -1,39 +1,39 @@
---
title: cron - 自动化命令
-author: unknown
-contributors: Steven Spencer,tianci li
-update:2021-12-08
+author: 史蒂文 斯本
+contributors: 埃泽基尔·布鲁尼
+update: 2021-10-22
---
-# 在 Rocky Linux 中使用 cron 和 crontab 自动化进程
+# 使用 `cron` 和 `crontab 自动处理`
-## 准备工作
+## 先决条件
-* 一台运行 Rocky Linux 的机器。
-* 知道如何在命令行环境下使用您喜欢的编辑器修改配置文件(本文将使用 _vi_)。
+* 运行Rocky Linux的机器。
+* 能够使用编辑器(这里使用`vi`) 在命令行中的修改配置文件
-## 假定
+## 前提条件
-* 您已了解 bash、python 或其他脚本/编程工具的基本知识,并期望自动运行脚本。
-* 您已以 root 用户身份运行,或使用 `sudo -s` 切换到 root 用户。
-**(您可以以自己的用户身份在自己的目录中运行某些脚本。在这种情况下,无需切换到 root。)**
-* 我们认为,你是非常酷的人。
+* 有关于基础、python或其他脚本/编程工具的基本知识,以及希望自动运行脚本。
+* 您要么以根用户身份运行,要么已用 `sudo-s`
+ **切换到 root (您可以作为自己的用户在自己的目录中运行某些脚本。 在这种情况下,不需要切换到 root。)**
+* 我们假定你非常酷。
-## 简介
+## 介绍
-Linux提供了 _cron_ 系统,一个基于时间的作业调度程序,用于自动化进程。它很简单,也很强大。想让脚本或程序每天下午 5 点运行吗?设置 cron 即可。
+Linux为流程自动化提供了 _cron_ 系统,一个基于时间的作业计划器。 它是很简单,但却相当强大。 想要一个脚本或程序每天在 5 PM运行吗? 这是您设置的地方。
-_crontab_ 本质上是一个列表,用户可以在其中添加自己的自动化任务和作业,并且有许多可以进一步简化操作的选项。本文将探讨其中的一些选项。本文对有一定经验的用户而言是一个很好的温习,对新用户而言将系统学习 cron。
+_crontab_ 基本上是一个用户添加自己的自动任务和工作的列表。 而且它有一些可以进一步简化事情的备选办法。 本文将探讨其中的一些问题。 对于那些具有一些经验的人来说,这是一个很好的温习,新用户可以将 `cron` 系统添加到他们的知识中。
-这里参考`cron`的"点"目录简要讨论`anacron`。`anacron`由`cron`运行,对于工作站和笔记本电脑等不是一直处于运行状态的机器来说非常有利,这里因为,当`cron`按照计划运行作业时,如果在调度作业时机器处于关闭状态,作业就不会运行。使用`anacron`,当机器重新开机时,作业会被重新拾起且运行,即使计划的运行时间已经过去。不过,`anacron`使用了一种更随机的方法来运行时间不准确的任务,这对于工作站与笔记本电脑来说是有意义的,但对服务器来说就没有那么有意义。例如,对于需要在特定时间运行的服务器备份等情况,这可能是个问题,所以!`cron`解决了服务器管理员的痛点。话虽如此,服务器管理员或工作站用户给或笔记本电脑用户,可以根据需要轻松混合搭配这两种方法,有关`anacron` 的更多消息,请参阅[anacron - 自动化命令](anacron.zh.md)
+`anacron` 在这里以 `cron` "dot" 目录的形式简短讨论。 `anacron` 由 `cron`运行, 而且对并非一直都在使用的机器,如工作站和笔记本计算机具有优势。 原因是 `cron` 按计划运行任务, 如果计划任务时机器已关闭,任务将不运行。 使用 `anacron` 当机器再次运行时,任务会被拿起并运行。 即使计划运行是过去。 `anacron` 不过,在时间不准确的情况下,使用更多的随机方式来运行任务。 这对工作站和膝上型计算机来说是可以的,但对服务器来说却是不合适的。 这可能是像服务器备份这样的问题,而这种备份需要在特定时间运行。 那就是 `cron` 继续为服务器管理员提供最好的解决方案。 尽管如此,服务器管理员和工作站或笔记本电脑用户可以从这两种方法中获得一些好处。 您可以根据您的需要轻松地混合和匹配。 关于 `anacron` 的更多信息,见 [anacron - 自动命令](anacron.md)。
-## 轻松入门 —— cron 点目录
+### 启动简单- `cron.d` 目录
-包括 Rock Linux 在内的许多 Linux 发行版都内置了 `cron` "点"文件,这些文件有助于快速配置自动化进程,它们显示为 `cron` 系统根据其命名约定调用的目录。然而,它们的调用是不同的,这取决于分配给它们的进程是`cron`还是`anacron`,默认是使用`anacron`。但这可以由服务器、工作站或笔记本电脑的管理员更改。
+现在构建到许多版本的 Linux 系统中, `cron` "dot" 目录有助于快速自动处理。 这些将被 `cron` 根据他们的命名约定进行调用。 然而,他们被不同的调用,基于谁来调用他们, `anacron` 或 `cron` 默认行为是使用 `anacron`, 但这可以由服务器、 工作站或笔记本管理员来更改。
-#### 对于服务器
+#### 服务器
-如简介中说的那样,`cron`现在通常运行`anacron`来执行这些"点"目录中的脚本。不过,您"可能"也想在服务器上使用这些"点"目录,如果是这样的话,您可以采取两个步骤来确保这些"点"目录按照严格的时间表运行。为此,我们需要安装一个软件包并删除另一个软件包:
+如导言所述, `cron` 通常运行 `anacron` 这些天来执行这些"dot"目录中的脚本。 你 *可能*, 但也想要在服务器上使用这些"点"目录, 如果情况是这样。 然后您可以采取两个步骤来确保这些"点"目录是按严格的时间表运行的。 为此,我们需要安装一个软件包并删除另一个软件包:
`dnf install cronie-noanacron`
@@ -41,145 +41,149 @@ _crontab_ 本质上是一个列表,用户可以在其中添加自己的自动
`dnf remove cronie-anacron`
-正如您所料,这将从服务器中删除`anacron`,并恢复到严格按照时间表在"点"目录中运行任务。这是由以下文件定义的:`/etc/cron.d/dailyjobs`,该文件具有以下内容:
+正如你可能期望的那样,这将从服务器上移除 `anacron` 并恢复到严格的计划中的“dot”目录内的任务。 这个定义在了: `/etc/cron.d/dailyjob`, 其中包含以下内容:
```
-# Run the daily, weekly, and monthly jobs if cronie-anacron is not installed
+# 每日运行,每周运行, 如果未安装 cronie-anacron
SHELL=/bin/bash
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
+PATH=/sbin:/usr/sbin:/bin
MAILTO=root
# run-parts
-02 4 * * * root [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.daily
-22 4 * * 0 root [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.weekly
+02 * * * * root [ ! -f /etc/cron.hourly/0anacron ] && run-part /etc/cron.day
+22 4 * 0 root [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.weekly
42 4 1 * * root [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.monthly
```
-这意味着:
+这就意味着:
-* 每天的04:02:00,在"cron.daily"中运行脚本。
-* 每周星期日的04:22:00,在"cron.weekly"中运行脚本。
-* 每月第一天的04:42:00,在"cron.monthly"中运行脚本。
+* 运行脚本 `cron.daily` 于每日04:02:00。
+* 运行脚本`cron.weekly` 于每周的周日 04:22:00。
+* 运行脚本 `cron.monthly` 于每月第一天04:42:00。
-#### 对于工作站
+#### 工作站
-如果您想在工作站或笔记本电脑上的`cron`"点"目录中运行脚本,那么您无需执行任何特殊操作。只需将脚本文件复制到相关的目录中,并确保它是可执行的。以下是目录:
+如果您想要在一个工作站或笔记本电脑在 `cron` "."目录中运行脚本 那么你不需要做任何特殊事。 只需将您的脚本文件复制到相关目录,并确保它是可执行的。 以下是这些目录:
-* `/etc/cron.hourly` -此处放置的脚本将每小时运行一次。(无论是否安装了`anacron`,都由`cron`运行)
-* `/etc/cron.daily` - 此处放置的脚本将每天运行。`anacron`可以调整这些的时间。(见提示)
-* `/etc/cron.weekly` - 此处放置的脚本将每7天运行一次,以最后一次运行时间的日历日为基准。(见提示)
-* `/etc/cron.monthly` - 此处放置的脚本将根据上次运行时间的日历日每月运行一次。(见提示)
-
-!!! tip "提示"
- 它们可能在每天、每周和每月的类似(但不完全相同的)时间运行。有关更精确的运行时间,请参阅下面的 @options。
+* `/etc/cron.hourly` - 放置在这里的脚本将每小时运行一次。 (这是由 `cron` 运行的,无论 `anacron` 是否安装)
+* `/etc/cron.daily` - 放在这里的脚本将每天运行。 `anacron` 调整了这些任务的时间。 (参考提示)
+* `/etc/cron.week` - 放置在这里的脚本每7天运行一次。 (参考提示)
+* `/etc/cron.monthly` - 放在这里的脚本将每月运行。 (参考提示)
-因此,只要你不介意让系统自动运行你的脚本,并允许它们在指定的时间段内运行,那么自动化任务就非常容易了。
+!!! 提示
-!!! note "笔记"
- 没有规则规定服务器管理员不能使用`anacron`,它的随机运行时间也是可以用来运行"点"目录中的脚本,这方面的使用例子是对时间不敏感的脚本。
+ 这些活动很可能每天、每周和每月都会在类似(但并非完全相同)的情况下进行。 更确切的运行时间,请参阅下面的@options
-## 创建自定义 cron
+所以让系统自动运行您的脚本,让您也能正常运行, 并且允许他们在指定的时间段内运行,然后它会使任务自动化变得非常容易。
-当然,无论出于何种原因,自动化时间都不能很好地为您工作,那么您可以创建自定义时间。本示例中,假设您以 root 用户身份执行此操作。为此,[请参见假定](##-assumptions),键入以下内容:
+!!! 说明
+
+ 没有规定说服务器管理员不能随意运行 'anacron' 的"."目录中的脚本。 对此使用的大小写将是一个不具有时间敏感性的脚本。
+
+### 创建您自己的 `cron`
+
+当然,如果自动、随机化的时间在 [对超过](#for-workstations)的工作站来说不那么合适, 和 [中的预定时间。对于前面提到](#for-servers)的服务器,你可以创建自己的计划任务。 在这个例子中,我们认为您是root用户。 [见前提条件](#assumptions) 要做到这一点,请输入以下内容:
`crontab -e`
-这将调出 root 用户的 crontab,就像它此时存在于您选择的编辑器中一样,可能如下所示。请继续阅读以下注释,因为它包含接下来将使用的每个字段的描述:
+这将会拉取根用户的 `crontab` 内容,将会显示在您选定的编辑器中,可能看起来就像这样。 继续阅读里面的注释内容,因为它包含了我们下一步操作的说明:
```
-# 编辑此文件以引入要由 cron 运行的任务。
+# Edit this file to introduce tasks to be run by cron.
#
-# 一行定义一个要运行的任务
-# 在一行中用不同的字段指示何时运行该任务
-# 以及为该任务运行的命令
+# Each task to run has to be defined through a single line
+# indicating with different fields when the task will be run
+# and what command to run for the task
#
-# 要定义时间,可以为
-# 分钟(m)、小时(h)、月日(dom)、月(mon)和星期(dow)
-# 提供具体值,或者在这些字段中使用"*"(表示"任何")。
+# To define the time you can provide concrete values for
+# minute (m), hour (h), day of month (dom), month (mon),
+# and day of week (dow) or use '*' in these fields (for 'any').
#
-# 注意,将根据 cron 的系统守护程序的时间和
-# 时区概念启动任务。
+# Notice that tasks will be started based on the cron's system
+# daemon's notion of time and timezones.
#
-# 作业的输出(包括错误)通过电子邮件发送给
-# crontab 文件所属的用户(除非重定向)。
+# Output of the crontab jobs (including errors) is sent through
+# email to the user the crontab file belongs to (unless redirected).
# cron
-# 例如,每周一上午 5 点运行所有用户
-# 帐户的备份:
+# For example, you can run a backup of all your user accounts
+# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
-# 有关更多信息,请参见 crontab(5)和 cron(8)的手册页
+# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
```
-注意,这个特定的 `crontab` 文件内置了一些自己的文档,但并非总是如此。在容器或极简操作系统上修改 `crontab` 时,`crontab` 将是一个空文件,除非已经在其中放置了条目。
+请注意这个特殊的 `crontab` 文件有自己的文档内置. 情况并非总是如此。 在容器或最低操作系统上修改 `crontab` 时, `crontab` 将是一个空文件,除非已经有条目已经放入它。
-假设有一个备份脚本,希望在晚上 10 点运行。`crontab` 使用 24 小时制,因此应该是 22:00。假设备份脚本名为“backup”,并且当前位于 _/usr/local/sbin_ 目录中。
+让我们假设我们有一个备份脚本,我们想要在晚上运行10个PM。 `crontab` 使用了一个24小时钟,所以这将是22:00。 让我们假定备份脚本叫做“backup”,它目前位于 _/usr/local/sbin_ 目录中。
-!!! note "笔记"
- 请记住,此脚本还需要是可执行的(`chmod+x`),`cron`才能运行它。
+!!! 说明
-要添加作业,我们将执行以下操作:
+ 请记住,这个脚本也需要可执行(`chmod +x`),才能运行 `cron` 。
+
+要添加作业,我们将:
`crontab -e`
- `crontab`代表"cron table",文件的格式实际上是松散的表布局。现在在 `crontab` 中,转到文件的底部并添加新条目。如果您使用 `vi` 作为默认的系统编辑器,那么可以通过以下键来完成:
+`crontab` 表示"cron table",文件的格式实际上是一个松散的表布局。 现在我们在 `crontab`中,转到文件的底部,然后添加您的新条目。 如果您使用 `vi` 作为您的系统默认编辑器,那么使用以下按键完成:
`Shift : $`
-现在,您位于文件的底部,插入一行并键入简短的注释以描述条目的内容。注释是通过在行首添加“#”来完成的:
+现在你处于文件底部, 插入一行并输入简短的注释来描述您的条目正在发生什么事情。 这是通过在行首添加一个“#”来完成的:
-`# 每晚 10 点备份系统`
+`# 每晚在 10PM 上备份系统`
-现在按回车键。您应该仍然处于插入模式,因此下一步是添加条目。如空注释的`crontab`(上面) 所示,**m** 表示分钟,**h** 表示小时,**dom** 表示日,**mon** 表示月,**dow** 表示星期。
+现在按回车键。 您仍然应该在插入模式,下一步是添加您的条目。 如 `crontab` 上面的注释 所示,这将是 **m** 分钟, **h** 小时数, **dom** (day of month) 一个月的某天, **mon** 月份 , **dow**(day of week) 一周的某天。
-要在每晚 10:00 运行备份脚本,条目如下所示:
+如果每天10:00时运行我们的备份脚本,该条目看起来就像这样:
-`00 22 * * * /usr/local/sbin/backup`
+`00 22 * * /usr/local/sbin/backup`
-这表示在每月、每周和每日的晚上 10 点运行脚本。显然,这是一个非常简单的示例,当您需要详细说明时,情况可能会变得非常复杂。
+这表明脚本是每月10 PM,每个月每天、每个月和每周的每一天都是如此。 显然,这是一个非常简单的例子,当你需要具体的时候,事情可能会变得相当复杂。
-### crontab 的 @选项
+### `crontab的@选项`
-另一种在严格计划的时间(即日、周、月、年等)运行作业的方法,就是使用 @选项,它提供使用更自然的时间的能力。@选项包括:
+另一种在严格规定的时间(即白天、周、月份、年份等)进行工作的方式 使用 @options 提供了使用更加自然的时间的能力。 @options 由以下内容组成:
-* `@hourly` 在每天每小时的 0 分钟后运行脚本。(这也正是将你的脚本放在`/etc/cron.hourly`中的结果)
-* `@daily` 在每天午夜运行脚本。
-* `@weekly` 在每周的周日午夜运行脚本。
-* `@monthly` 在每个月的第一天午夜运行脚本。
-* `@yearly` 在每年 1 月 1 日午夜运行脚本。
+* `@hourly` 每小时 0 分钟运行脚本。 (这正是将您的脚本放入 `/etc/cron.hourly` 的结果)
+* `@daily` 每天午夜运行脚本。
+* `@weekly` 每周在星期日午夜运行脚本。
+* `@monthly` 每月在该月第一天午夜运行脚本。
+* `@year` 每年在1月第一天午夜运行脚本。
* `@reboot` 仅在系统启动时运行脚本。
-!!! note "笔记"
- 使用这些`crontab`条目将绕过`anacron`系统,无论是否安装了`anacron`,都会恢复为`crond.service`。
+!!! 说明
+
+ 使用这些`crontab`条目绕过了`anacron`系统,并恢复到`crond.service`,不管是否安装了`anacron`。
-对于备份脚本示例,如果使用 @daily 选项在午夜运行备份脚本,则该条目将如下所示:
+对于我们的备份脚本示例,如果我们使用 @daily 选项在午夜运行备份脚本,那么该条目看起来就像这样:
-`@daily /usr/local/sbin/backup`
+`@day/usr/local/sbin/backup`
-### 更复杂的选项
+### 更多复杂选项
-到目前为止,所讨论的内容都是非常简单的选项,但是更复杂的定时任务又该如何完成呢?假设要在一天中每 10 分钟运行一次备份脚本(可能不切实际,但是,仅是一个示例!)。为此,将编写以下内容:
+到目前为止,我们所谈到的一切都有相当简单的选择,但是更复杂的任务时间是怎样呢? 比如说,你想要每隔10分钟运行一次你的备份脚本(可能不是一个非常实际的事情需要做的。 但,嘿,这是一个例子!)。 要做到这一点,您将写:
`*/10 * * * * /usr/local/sbin/backup`
-如果您只想在星期一、星期三和星期五的每 10 分钟运行一次备份呢?:
+如果你想每隔10分钟、但仅在星期一、星期三和星期五运行备份怎么办?
`*/10 * * * 1,3,5 /usr/local/sbin/backup`
-除了星期六和星期日,每天每 10 分钟备份一次又如何?
+除星期六和星期天外,每隔10分钟?
-`*/10 * * * 1-5 /usr/local/sbin/backup`
+`*/10 * * * 1-5 /usr/local/sbin/backup`
-在表中,逗号用于指定字段中的单个条目,而破折号用于指定字段中的值范围。它可以在任何字段中使用,也可以同时在多个字段中使用。如您所见,情况会变得相当复杂。
+在表中,逗号让您在一个字段中指定单独的条目。 当破折号允许您在字段中指定一个值范围。 这可以同时在任何一个字段和多个字段发生。 如您所见,事情可能变得相当复杂。
-在确定何时运行脚本时,您需要花费时间并进行规划,尤其是在条件复杂的情况下。
+当决定何时运行脚本时,您需要花费时间并规划它,尤其是如果标准很复杂。
-## 总结
+## 结语
-对于 Rocky Linux 桌面用户或系统管理员而言,cron/crontab 系统是一个非常强大的工具。它可以让您自动执行任务和脚本,这样您就不必记住手动运行它们。这里提供了更多的示例:
+_cron/crontab_ 系统是Rocky Linux系统管理员或桌面用户非常强大的工具。 它可以允许您自动执行任务和脚本,这样您就不必记住手动运行它们了。 这里提供了更多的例子:
-* 对于不是一天 24 小时运行的机器,探索 [anacron - 自动化命令](anacron.zh.md)。
-* 有关`cron`进程的简明描述,请查看[cronie - 定时任务](cronie.zh.md)
+* 对于那些 **不**是24小时运行的机器,浏览 [anacron - 自动化命令](anacron.md).
+* 关于 `cron` 的简明描述,请参阅 [cronie - 计划任务](cronie.md)
-虽然基础知识很简单,但实际任务可能很复杂。有关 crontab 的更多信息,请访问 [crontab 手册页](https://man7.org/linux/man-pages/man5/crontab.5.html)。您还可以简单地在网上搜索"crontab",它将为您提供大量搜索结果,帮助您微调 `crontab` 表达式。
+虽然基础知识非常容易,但你可以得到更多的复杂程度。 关于 `crontab` 的更多信息,直到 [crontab 手册页面](https://man7.org/linux/man-pages/man5/crontab.5.html)。 在大多数系统中,您也可以输入 `man crontab` 获取额外的命令细节。 您也可以简单地进行网页搜索“crontab”,为您提供丰富的结果,帮助您提高 `crontab` 技能。
diff --git a/docs/guides/automation/cronie.zh.md b/docs/guides/automation/cronie.zh.md
index ba71018097..e264013cd4 100644
--- a/docs/guides/automation/cronie.zh.md
+++ b/docs/guides/automation/cronie.zh.md
@@ -1,118 +1,110 @@
---
title: cronie - 定时任务
-author: tianci li
-contributors: Steven Spencer
+author: 李天赐
+contributors: 史蒂文 斯本
update: 2021-10-26
---
# 前提条件
-* 一台运行 Rocky Linux 的机器。
-* 知道如何在命令行环境下使用您喜欢的编辑器修改配置文件(本文将使用 `vi`)。
-* 您已了解 bash、python 或其他脚本/编程工具的基本知识,并期望自动运行脚本。
-* 您已经通过ssh的方式连接您的机器(可以是root用户,也可以是UID大于1000的普通用户)
-* 我们认为,您是非常酷的人。
+* 运行Rocky Linux的机器。
+* 知道如何使用您最喜欢的编辑器来修改命令行环境中的配置文件(这篇文章将使用 `vi`)。
+* 您已经了解了bash、 python 或其他脚本/编程工具的基础知识,并且想要自动运行脚本。
+* 您已经通过 ssh 连接到您的机器(它可以是 root 用户或普通用户,UID 大于 1000)
+* 我们认为你是一个很酷的人。
-## cron简介
+## cron 介绍
-GNU/Linux提供了*cron* 系统,这是一个基于时间的cron jobs程序,用于自动化进程。它很简单,但功能相当强大。想要一个脚本或程序在每天下午5点运行吗?cron就能做到。cron有不同的分支(或者叫变体),它们具有相同的功能,在本文档中,使用的是 **cronie**,版本为1.5.2,您可以在[这里](https://github.com/cronie-crond/cronie)找到最新的版本与更新日志。
+GNU/Linux提供 *cron* 系统,这是一个基于时间的 `cron` 自动化流程的作业程序。 它是很简单,但却相当强大。 想要一个脚本或程序每天在 5 pm 运行? `cron` 可以做到。 `cron`的不同分支(或变量),具有相同的功能。 在这个文档中,使用 **cronie** ,版本为 1.5.2。 您可以点击 \[here\](https://github .com/cronie-cronie-cronie/cronie) 查找最新版本并更新日志。
-## cronie的说明
+## cronie的描述
-* **cronie** - 软件包名称,默认情况下,Rocky Linux就包含了cronie这个软件包;
-* **crontab** - 命令,用于维护每个用户的crontab(任务时间表);
-* **crond.service** - cronie的守护进程,您可以通过`systemctl start | restart | stop |status `的方式管理守护进程;
-* **/etc/crontab** - 给不同的用户分配cron jobs,通常我们更加习惯使用`crontab -e`的方式。例如当前登录为root用户,键入`crontab -e`,保存后会在/var/spool/cron/root 这个文件中会看到具体的 cron jobs 。
-* **/var/log/cron\*** - cronie的日志,默认情况下,做了日志轮替,以日期后缀结尾。\* 这里表示通配符
-* **anacron** - 属于 cronie 的一部分, 关于`anacron`的更多信息,见 [anacron - 自动化命令](anacron.zh.md)。
+* **cronie** -包名, Rocky Linux 默认包含cronie;
+* **crontab** -命令为每个用户保留 `crontab` (任务计划);
+* **crond.service** -cronie 的守护程序,您可以通过 `systemctl 启动来管理守护进程 | 重启 | 停止 | 状态`;
+* **/etc/crontab** -将cron 任务分配给不同的用户,通常我们更习惯于使用 `crontab-e`。 例如,如果您目前是以 root 用户身份登录, 输入 `crontab -e` 并在保存后您将在文件 /var/spool/cron/root 中看到特定的 cron 作业。
+* **/var/log/cron \* ** -Cronie 的日志,默认情况下是日志旋转并以日期后缀结尾。 \* 此表示通配符
+* **anacron** -cronie的一部分 关于 `anacron` 的更多信息,见 [anacron - 自动命令](anacron.md)。
-### `crontab` 命令
+## `ceontab` 命令
-`crontab`是由cronie包安装后得到的命令,相比anacron,它更加适合7\*24小时工作的服务器。`crontab`的常用选项有:
+`crontab` 是安装cronie 软件包后获得的命令。 与 `anacron`, 它更适合于每天工作7*24小时的服务器。 `crontab` 的常见选项是:
```bash
--e # 编辑crontab定时任务
--l # 查看crontab任务
--r # 删除当前用户所有的crontab任务
+-e # 编辑定时任务
+-l # 查看定时任务
+-r # 删除所有当前用户的 crontab任务
```
-### cronie 的使用
+## Cronie的使用
-要让不同的用户在不同的时间执行不同的命令(或脚本),可写入这个文件中。但是,通常我们更加习惯使用`crontab -e`的方式。
+为了允许不同的用户在不同时间执行不同的命令(或脚本),他们可以写入这个文件。 然而,我们通常更习惯使用 `crontab -e`。
```bash
shell > cat /etc/crontab
SHELL=/bin/bash
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
+PATH=/sbin:/usr/bin
MAILTO=root
-
-# For details see man 4 crontabs
-
-# Example of job definition:
-# .---------------- minute (0 - 59)
-# | .------------- hour (0 - 23)
-# | | .---------- day of month (1 - 31)
-# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
-# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
-# | | | | |
-# * * * * * user-name command to be executed
+# 详细信息见man 4 crontab
+# 作业定义示例:
+# 。 --------------- 分钟(0-59)
+# | .------------ 小时 (0-23)
+# | . ------------ 月份(1-31)
+# | | .-------- 月 (1-12个月) 或 jan,feb,mar,apr ...
+# | | | | . --- 每周一天(0-6) (unday=0 或 7) 或日,蒙,tue,wed,thu,fri,, 在
+# | | | | | | |
+# * * * * * 需要执行的用户名称命令
```
-|参数|含义|值范围|
-|---|---|---|
-|第1个 \*|一小时的第几分钟|0-59|
-|第2个 \*|一天当中的第几个小时|0-23|
-|第3个 \*|一个月当中的第几天|1-31|
-|第4个 \*|一年当中的第几个月|1-12|
-|第5个 \*|一周当中的星期几|0-7(0与7都表示星期日)|
+| 参数 | 含义 | 取值范围 |
+| ----------- | -------- | ------------- |
+| 1st\* | 一小时的第一分钟 | 0-59 |
+| 2nd\* | 一天中的每小时 | 0-23 |
+| 3rd\* | 月中的某一天 | 1-31 |
+| The 4th\* | 年度月 | 1-12 |
+| The 5th\* | 一周中的一天 | 0-7(0和7均表示周日) |
-本示例中,假设您以 root 用户身份执行此操作,键入以下内容:`crontab -e`,这将调出 root 用户的定时任务,如果您使用 `vi` 作为默认的系统编辑器,按i键进入到插入模式,输入以下内容,# 表示这是一行注释。按Esc退出插入模式,输入 :wq (显示在最底部) 保存退出`vi`,这表示在每天晚上 22 点运行一次脚本。显然,这是一个非常简单的示例,当您需要详细说明时,情况可能会变得非常复杂。
+在这个示例中,假定您作为根用户执行此操作。 输入以下内容: `crontab -e`, 这将提升根用户的定时任务 如果您使用 `vi` 作为默认系统编辑器, 按 i 键进入插入模式, 输入以下内容,# 表示这是一条注释行。 按 Esc 退出插入模式,请输入:wq (显示在底部) 保存并退出 `vi`这意味着每晚22:00时运行脚本。 显然,这是一个非常简单的例子,当你需要详细阐述时,情况可能变得非常复杂。
```bash
-# 每晚 10 点备份系统
-00 22 * * * /usr/local/sbin/backup
+# 晚间10:00 备份系统
+00 * * /usr/local/sbin/备份
```
!!! tip "注意"
- 脚本需要有执行权限(`chmod +x`),cronie 才能运行它。
+
+ 脚本需要先执行权限 (chmod +x`) 才能运行它。
#### 复杂选项
-到目前为止,所讨论的内容都是非常简单的选项,但是更复杂的定时任务又该如何完成呢?
+迄今为止,讨论的内容是非常简单的选择,但是如何完成更复杂的定时任务?
```bash
-# 假设要在一天中每 10 分钟运行一次备份脚本(可能不切实际,但是,仅是一个示例!)。为此,将编写以下内容:
-*/10 * * * * /usr/local/sbin/backup
-
-# 如果您只想在星期一、星期三和星期五的每 10 分钟运行一次备份呢?:
-*/10 * * * 1,3,5 /usr/local/sbin/backup
-
-# 除了星期六和星期日,每天每 10 分钟备份一次又如何?
-*/10 * * * 1-5 /usr/local/sbin/backup
+# 假设你想要运行每10分钟备份脚本(可能不切实际,但它只是一个例子!) 整天都是如此。 为此目的, 以下将写入:
+* /10 * * * * /usr/local/sbin/backup
+#如果你只想在星期一每10分钟运行一个备份怎么办。 星期三和星期五? :
+* /10 * * 1,3,5 /usr/local/sbin/backup
+# 除了星期六和星期天之外, 每天10分钟一次,如何备份?
+* /10 * * * 1-5 /usr/local/sbin/backup
```
-|特殊符号|含义|
-|---|---|
-|* |代表任何时间。比如第一个 * 表示任意分钟,第二个 * 表示任意小时 |
-|, |代表不连续时间,例如 " 0 8,12,16 * * * ",表示每天的8:00、12:00、16:00都执行一次命令 |
-|- |代表连续的时间范围,比如 " 0 5 * * 1-6 ",代表周一到周六的每天凌晨五点执行一次命令 |
-|*/n |代表间隔多久执行一次,比如 " */10 * * * * " 表示每间隔10分钟执行一次 |
+| 特殊符号 | 含义 |
+| ---- | ------------------------------------------------------- |
+| * | 代表任何时间。 例如,第一个*是指任何分钟,第二个*是指任何一小时 |
+| , | 代表连续时间,例如"08,12,16***", 这意味着命令将在每天8:00、12:00和16:00执行一次 |
+| - | 代表一个连续的时间范围,例如“05* * 1-6”, 这意味着一个命令将在星期一至星期六每天早上5点被执行 |
+| */n | 表示执行间隔的频率,例如"*/10 * * * * *" 表示每隔10分钟执行 |
!!! tip "注意"
- cronie所能识别的最小时间单位为1分钟;当使用比如 `30 4 1,15 * 5 command `,将导致命令在每个月的 1 号和 15 号以及每个星期五的凌晨 4:30 运行一次;一些脚本或者命令的输出信息会阻止定时任务的执行,需要使用输出重定向,例如这样的—— ` */10 * * * * /usr/local/sbin/backup &> /dev/null `
-## Q & A
+ Cronie能够识别的最小时间单位为1分钟。 使用例如`30 4 1,15 * 5 command` 时, 它将使指挥部每个月第1和第15次运行,每星期五上午4时30分运行; 某些脚本或命令的输出信息将防止执行定时任务。 和输出重定向是必需的,例如`*/10 * * * /usr/local/sbin/backup &> /dev/null`
+
+## 常见问答
-1. /etc/crontab 与`crontab -e`,这两种方式有什么区别吗?
- `crontab -e`不需要指定用户(默认使用当前登录的用户),而/etc/crontab 需要指定用户。
-2. 指定的命令或脚本未正确的执行,应该怎么办?
- 查看/var/log/cron* 文件,使用`journalctl -u crond.service`查看守护进程方面的信息,脚本是否有x权限等,进行排查。
-3. 除了cronie外,还有哪些cron变体?
- [dcron](http://www.jimpryor.net/linux/dcron.html),最新版本为4.5(2011-50-01)。
- [fcron](http://fcron.free.fr/) ,最新版本为3.3.0(dev,2016-08-14)。
- [bcron](http://untroubled.org/bcron/),最新版本为0.11(2015-08-12)。
- [cronsun](https://github.com/shunfei/cronsun),最新版本0.3.5(2018-11-20)。
+1. /etc/crontab 和 `crontab -e` , 两种方法之间是否有任何差异? `crontab-e` 不需要指定用户 (默认情况下使用当前登录的用户), /etc/crontab需要指定用户。
+2. 如果指定的命令或脚本没有正确执行,我应该怎么办? 检查/var/log/cron* 文件,使用 `journalctl -u crond.service` 来检查有关守护进程的信息,脚本是否有 x 权限等用于排除故障。
+3. 除了croni,还有什么样的cron变体? [ dcron ](http://www.jimpryor.net/linux/dcron.html), 最新版本是 4.5 (2011-50-01)。 [ fcron ](http://fcron.free.fr/), 最新版本是 3.3.0 (dev, 2016-08-14)。 [ bcron ](http://untroubled.org/bcron/), 最新版本是 0.11 (2015-08-12). [ cronsun ](https://github.com/shunfei/cronsun), 最新版本 0.3.5 (2018-11-20).
## 总结
-对于 Rocky Linux 桌面用户或系统管理员而言,cronie一个非常强大的工具。它可以让您自动执行任务和脚本,这样您就不必记住手动运行它们。虽然基础知识很简单,但实际任务可能很复杂。有关 `crontab` 的更多信息,请访问 [crontab 手册页](https://man7.org/linux/man-pages/man5/crontab.5.html)。您还可以简单地在网上搜索“crontab”,它将为您提供大量搜索结果,帮助您微调 crontab 表达式。
+对Rocky Linux桌面用户或系统管理员来说,cronie 是一个非常强大的工具。 它可以允许您自动执行任务和脚本,这样您就不必记住手动运行它们了。 虽然基本知识很简单,但实际任务可能很复杂。 关于 `crontab` 的更多信息,直到 [crontab 手册页面](https://man7.org/linux/man-pages/man5/crontab.5.html)。 您也可以简单地在互联网上搜索"crontab"。 这将为您提供大量的搜索结果,并帮助您提高`crontab` 表达式。
diff --git a/docs/guides/backup/mirroring_lsyncd.zh.md b/docs/guides/backup/mirroring_lsyncd.zh.md
index 814626788f..cf2f8c73e8 100644
--- a/docs/guides/backup/mirroring_lsyncd.zh.md
+++ b/docs/guides/backup/mirroring_lsyncd.zh.md
@@ -1,86 +1,84 @@
---
title: 镜像解决方案 - lsyncd
-author: Steven Spencer
-contributors: Ezequiel Bruni, tianci li
-updated: 2021-10-29
+author: 史蒂文 斯本
+contributors: 布鲁尼 李天赐
+updated: 2021-10-28
---
-# 镜像解决方案 - `lsyncd`
+# 镜像解决方案 - `lsyncd`
-## 必备条件
+## 先决条件
-以下是您需要了解并准备本指南的所有内容:
+这是你需要理解和跟随本指南的一切:
-* 运行 Rocky Linux 的计算机。
-* 熟练从命令行修改配置文件。
-* 了解如何使用命令行编辑器(本文使用 vi,但您也可以使用其他编辑器)。
-* 您需要 root 用户访问权限,并且最好以 root 用户身份登录终端。
-* SSH 公钥私钥对。
-* Fedora 的 EPEL 软件仓库(也叫存储库)
-* 熟悉事件监视程序接口 *inotify*
-* 可选:熟悉 *tail*
+* 运行Rocky Linux的机器。
+* 可以从容淡定的在命令行修改配置文件
+* 了解如何使用命令行编辑器 (我们在这里使用 vi ,但您可以使用您最喜欢的编辑器)
+* 您将需要root权限,最好以根用户身份登录到您的终端
+* 公有和私有的 SSH 密钥对
+* 来自 Fedora 的 EPEL仓库
+* 您需要熟悉 *inotify*,一个事件监视界面
+* 可选:熟悉 * tail*
-## 简介
+## 介绍
-如果您正在寻找一种在计算机之间自动同步文件和文件夹的方法,`lsyncd` 是一个相当不错的选择。对初学者来说唯一的缺点是什么?那就是您必须通过命令行和文本文件配置所有内容。
+如果您正在寻找在计算机之间自动同步文件和文件夹的方法, `lsyncd` 是一个非常好的选项。 对初学者唯一的不便? 您必须通过命令行和文本文件配置一切。
-即便如此,它还是值得任何系统管理员认真学习。
+即便这样,它是值得所有系统管理员学习的程序
-*lsyncd* 的最佳描述来自其 man 手册页。稍微解释一下,`lsyncd` 是一个相对易于安装的轻量级实时镜像解决方案,它不需要新的文件系统或块设备,也不会影响本地文件系统的性能。简而言之,它的作用就是对文件进行镜像。
+`lsyncd`的最佳描述来自于它自己的手册页面。 稍微缓解, `lsyncd` 是一个轻量级的实时镜像解决方案,比较容易安装。 它不需要新的文件系统或区块设备,也不会妨碍本地文件系统的性能。 简而言之,它是文件的镜像。
-`lsyncd` 监视本地目录树事件监视器接口(inotify)。它在几秒钟内聚合和组合事件,然后产生一个(或多个)进程来同步更改,默认进程为`rsync`。
+`lsyncd` 监视一个本地目录树事件(inotify)。 它聚合和合并几秒钟的事件,然后生成一个(或更多)进程来同步更改。 默认情况下是 `rsync`。
-在本文中,带有原始文件的系统称为“master(主)”,而与之同步的系统将称为“target(目标)”。实际上,使用`lsyncd`可以完全镜像一个服务器,只要非常仔细地指定要同步的目录和文件,这是非常棒的!
+为了本指南的目的,我们将把原始文件的系统调为“主”, 和我们正在同步的东西将是“目标”。 通过非常仔细地指定您想要同步的目录和文件,实际上可以完全镜像服务器使用 `lsyncd`。 非常棒!
-对于远程同步,您还需要设置 [Rocky Linux SSH 公钥私钥对](../security/ssh_public_private_keys.md)。此处的示例使用 SSH(默认端口 22)。
-
-对于这个工具程序,您可以在[官方项目地址](https://github.com/axkibe/lsyncd)找到最新的版本信息。
+为了远程同步,您还想要设置 [Rocky Linux SSH 公钥对](../security/ssh_public_private_keys.md)。 此处的示例使用SSH(端口22)。
## 安装 `lsyncd`
-实际上有两种方式可以安装 `lsyncd`,此处两种方式都介绍,我们想给您两个选择,让您选择。RPM安装方式的版本通常都会比源代码版本落后,但是它易于安装。在撰写本文时,RPM方式安装的包版本号是2.2.2-9,而源代码版本号现在是2.2.3。
+实际上有两种方法安装 `lsyncd`。 我们将两者都引入介绍 RPM倾向于略微落后于源包,但只是略微落后。 在编写本报告时,RPM方法安装的版本是2.2.2-9,而源代码版本现在是2.2.3。 话虽如此,我们想给你两个选项,来让你选择。
-## 安装 `lsyncd` —— RPM 方式
+## 安装 `lsyncd` - RPM 方法
-安装RPM版本是比较容易的,您需要首先安装的是来自Fedora的EPEL软件库。这可以用一个命令来完成。
+安装RPM版本相对容易。 您需要首先安装的唯一东西是Fedora的EPEL软件库。 这可以通过一个简单的命令来完成:
`dnf install -y epel-release`
-然后,只需安装 `lsyncd`,任何缺少的依赖项都将与它一起安装:
+然后,我们只需要安装 `lsyncd` 并且任何缺失的依赖将与它一起安装:
`dnf install lsyncd`
-将服务设置为开机自启动,但现在不启动:
+设置启动时的服务,但还不要启动:
`systemctl enable lsyncd`
-RPM安装方式就是这么简单!
+这样就完成了!
-## 安装 `lsyncd` —— 源代码方式
+## 安装 `lsyncd` - 源方法
-从源码安装并不复杂,只需按照本指南操作,您很快就可以启动并运行!
+源代码安装并不会像听起来那样糟糕。 只需跟随本指南,您将在任何时候上线并运行!
-### 安装依赖项
+### 安装依赖
-我们需要安装下面的一些依赖项:一些是`lsyncd`本身需要的,还有一些是从源代码构建软件包所需要的。在 Rocky Linux 机器上使用此命令,以确保您具有所需的依赖项。如果要从源码进行构建,则最好安装所有的开发工具:
+我们将需要一些依赖:一些是 `lsyncd` 本身所需要的;一些是源代码构建所需要的。 在你的 Rocky Linux 机器上使用此命令,确保你有需要的依赖关系。 如果您要从源代码中构建,最好是安装所有开发工具:
`dnf groupinstall 'Development Tools'`
-以下是 `lsyncd` 本身及其构建过程所需的依赖项:
+这里是`lsyncd` 依赖和构建过程:
`dnf install lua lua-libs lua-devel cmake unzip wget rsync`
-### 下载 `lsyncd` 并构建
+### 下载 `lsyncd` 代码以及构建
-接下来,下载源码:
+接下来我们需要源代码:
`wget https://github.com/axkibe/lsyncd/archive/master.zip`
-现在解压 master.zip 文件:
+解压 master.zip 文件:
`unzip master.zip`
-这将创建一个名为“lsyncd-master”的目录。切换到该目录并创建一个名为 build 的目录:
+这将会创建一个名为 "lsyncd-master"的目录。 我们需要更改为此目录并创建一个名为build的目录:
`cd lsyncd-master`
@@ -88,35 +86,35 @@ RPM安装方式就是这么简单!
`mkdir build`
-现在再次更改目录以进入构建目录:
+现在再次更改目录,以便您处于build目录:
`cd build`
-现在执行以下命令:
+现在执行这些命令:
-```bash
+```
cmake ..
make
make install
```
-完成后,您应该已经安装了 `lsyncd` 二进制文件并可以在 */usr/local/bin* 中使用。
+完成后,您应该安装 `lsyncd` 二进制文件,并通过 */usr/local/bin* 使用
-## `lsyncd` Systemd 服务
+## `lsyncd` 系统服务
-使用RPM安装方法时,已经为您安装了systemd服务,但如果您选择从源代码安装,则需要创建systemd服务。虽然您可以在没有systemd服务的情况下启动二进制文件,但我们希望确保它在开机自启动时“确实”启动了。否则,机器重新启动时将停止同步工作,如果您忘记了再次启动lsycnd,这很可能会让任何系统管理员感到非常尴尬!
+通过RPM安装方法,系统服务将为您安装。 但如果您选择从源安装,您将需要创建系统服务。 虽然你可以在没有系统服务的情况下启动二进制文件,但我们想确保它 *在启动时开始*。 如果没有,服务器重启将停止您的同步服务,如果您忘记重新启动它, 这很可能对任何系统管理员来说都是非常难堪的!
-创建 systemd 服务并不复杂,从长远来看,它将为您节省大量时间。
+创建系统服务并不是非常困难的,从长远来看将节省很多时间。
## 创建 `lsyncd` 服务文件
-该文件可以在任何地方创建,甚至可以在服务器的根目录中创建。创建完成后,您可以轻松地将其移至正确的位置。
+此文件可以在任何地方创建,即使是在您服务器的根目录中。 一旦创建,我们可以轻松地移动它。
`vi /root/lsyncd.service`
-该文件的内容应为:
+此文件的内容应该是:
-```bash
+```
[Unit]
Description=Live Syncing (Mirror) Daemon
After=network.target
@@ -132,28 +130,27 @@ PIDFile=/run/lsyncd.pid
[Install]
WantedBy=multi-user.target
```
-
-现在,将刚才创建的文件安装到正确的位置:
+现在让我们把你刚才制作的文件安装到正确的位置:
`install -Dm0644 /root/lsyncd.service /usr/lib/systemd/system/lsyncd.service`
-最后,重新加载 systemctl 守护进程,以便 systemd “看到”新的服务文件:
+最后,重新加载 `systemctl` 守护程序,以便系统能够“看到”新的服务文件:
`systemctl daemon-reload`
## `lsyncd` 配置
-无论您选择何种方式安装 `lsyncd`,都需要对配置文件进行配置:*/etc/lsyncd.conf*。下一部分将讲解如何构建一个简单的配置文件,并测试它。
+无论您选择了什么方法安装 `lsyncd`,您都需要一个配置文件: */etc/lsyncd.conf*。 下一节将告诉您如何构建一个简单的配置文件并测试它。
-## 用于测试的简单配置
+## 测试的示例配置
-下面是一个简单配置文件的示例,它将 */home* 同步到另一台机器。目标机器是一个私有的 IP 地址:*192.168.1.40*
+这里是一个简单的配置文件的示例,它将 */home* 与另一台机器同步。 我们的目标机器将是本地IP地址: *192.168.1.40*
-```bash
+```
settings {
logfile = "/var/log/lsyncd.log",
statusFile = "/var/log/lsyncd-status.log",
- statusInterval = 20
+ statusInterval = 20,
maxProcesses = 1
}
@@ -174,47 +171,47 @@ sync {
}
```
-对该文件进行分解解释:
+对于这个文件的解析如下:
-* 服务启动时将自动创建 "logfile" 和 "statusFile"两个参数里的文件。
-* "statusInterval" 是写入 statusFile 之前的等待的秒数。
-* "maxProcesses" 是允许 `lsyncd` 产生的进程数。事实上,除非您在超级繁忙的计算机上运行此进程,否则一个进程就足够了。
-* 在 sync 部分,"default.rsyncssh" 表示通过 ssh 使用 rsync。
-* "source=" 是要从中同步的目录路径。
-* "host=" 是要同步到的目标计算机。
-* **"excludeFrom="告诉 lsyncd 排除的文件位置。它必须存在,而且非常重要。**
-* "targetdir=" 要将文件发送到目标计算机的目录位置。在大多数情况下,它等于 source 值,但并非总是如此。
-* 然后,"rsync ="部分是运行 rsync 的选项。
-* 最后,"ssh ="部分指定了正在监听目标计算机上的 SSH 端口。
+* 当服务启动时,将自动创建“logfile”和“statusFile”。
+* "statusInterval"是写入状态文件之前要等待的秒数。
+* “maxProcesses”是允许生成的进程数量 `lsyncd`。 老实说,除非你在一个超繁忙的机器上运行这个程序,否则一个进程就足够了。
+* 在同步部分中,"default.rsyncsh"表示通过 ssh使用 rsync。
+* "source=" 是我们同步的源目录路径。
+* "host="是我们同步的目标机。
+* "exclustideFrom="告诉 `lsyncd` 哪些文件排除在外。 它必须存在,但可以为空。
+* "targetdir="是我们发送文件到的目标目录。 在大多数情况下,这与来源相同,但并非总是如此。
+* 然后我们有"rsync ="部分,这些是我们正在与之同步的选项。
+* 最后,我们有"ssh ="部分,这个部分指定了正在监听目标机器的 SSH 端口。
-**如果要添加多个目录进行同步,则需要为每个目录重复整个"sync"部分,包括所有开始括号和结束括号。**
+如果您添加多个目录进行同步, 然后您需要重复整个“sync”部分,包括每个目录的所有打开和关闭括号。
-## lsyncd.exclude 文件
+## lsyncd.exclude文件
-如前所述,"excludeFrom"文件必须存在,所以现在创建它:
+正如早些时候指出的那样,"excludeFrom"文件必须存在,所以让我们现在创建:
`touch /etc/lsyncd.exclude`
-如果要在计算机上同步 /etc 文件夹,但是需要忽略一些文件或者目录,那么您只需将需要忽略的文件和目录简单地列在文件中,每行一个,如下所示:
+如果我们正在同步我们机器上的 /etc 文件夹,我们将会忽略一些文件和/或目录。 每个排除的文件或目录只是列在文件中,每行一个,就像这样:
-```bash
+```
/etc/hostname
/etc/hosts
/etc/networks
/etc/fstab
```
-## 测试和启动
+## 测试并开动
-现在已经完成了其他所有设置,可以对其进行全部测试。首先,请确保 systemd lsyncd.service 可以启动:
+既然其他一切都已建立,我们就能够对所有这些进行测试。 作为开始,请确保我们的 systemd lsyncd.service 启动:
`systemctl start lsyncd`
-如果执行此命令后没有错误出现,再检查服务状态,以确保一切无误:
+如果执行此命令后没有出现错误,请检查服务状态,只需:
`systemctl status lsyncd`
-如果显示服务正在运行,请使用 tail 查看两个日志文件的结尾,并确保一切都正常显示:
+如果它显示正在运行的服务,请使用tail查看两个日志文件的结尾,并确保所有内容都能显示出来:
`tail /var/log/lsyncd.log`
@@ -222,23 +219,24 @@ sync {
`tail /var/log/lsyncd-status.log`
-假设一切正确,进入到 `/home/[user]` 目录,其中 `[user]` 是Rocky Linux上的普通用户(UID大于等于1000),并使用 *touch* 在其中创建新文件。
+假设这一切都是正确的,导航到 `/home/[user]` 目录, 在这里 `[user]` 是机器上的用户,并用 *touch* 来创建新的文件。
`touch /home/[user]/testfile`
-现在转到目标计算机,查看文件是否显示。如果显示,那么一切都会按预期进行。将 lsyncd.service 设置为开机自启动使用以下命令:
+现在转到目标机器,查看文件是否显示。 如果是的话,一切都在发挥应有的作用。 设置 lsyncd.service 在启动时启动:
`systemctl enable lsyncd`
+这样您就可以高枕无忧了。
-## 注意
+## 记住要小心!
-每当您将一组文件或目录同步到另一台计算机时,请仔细考虑它对目标计算机的影响。如果您回到上面示例中的 **The lsyncd.exclude File**,您能想象如果将 */etc/fstab* 同步会发生什么情况?
+随时您正在将一组文件或目录同步到另一台机器,仔细考虑它对目标机器的影响。 如果你回到 **这个同步。 xexclude文件** 在我们的示例中,您能想象如果 */etc/fstab* 同步会发生什么情况吗?
-对于新手,*fstab* 是用于在任何 Linux 机器上配置存储驱动器的文件。磁盘和标签几乎可以肯定是不同的。下次重新启动目标计算机时,它很可能无法正常启动。
+对于新手, *fstab* 是用于在任意Linux机器上配置存储驱动器的文件。 磁盘和标签几乎肯定有所不同。 下次重启目标机器后,很可能无法完全开机。
-`lsyncd`是单向同步的工具。
+# 结论和参考
-## 总结
+`lsyncd` 是机器之间目录同步的一个强大工具。 正如你所看到的那样,安装不是很难,很容易使用。 不能要求比这更多了。
-`lsycnd` 是用于在计算机之间进行目录同步的强大工具。如您所见,安装起来并不难,并且很容易维护。不能要求更多了。
+您可以通过去 [官方网站](https://github.com/axkibe/lsyncd) 找到更多关于 `lsyncd`
diff --git a/docs/guides/migrate2rocky.zh.md b/docs/guides/migrate2rocky.zh.md
index 5bc1af4495..f383ab962c 100644
--- a/docs/guides/migrate2rocky.zh.md
+++ b/docs/guides/migrate2rocky.zh.md
@@ -1,7 +1,7 @@
---
title: 迁移到Rocky Linux
author: Ezequiel Bruni
-contributors: 11-23-2021
+contributors: tianci li, Steven Spencer
update: 11-23-2021
---
diff --git a/docs/guides/network/basic_network_configuration.zh.md b/docs/guides/network/basic_network_configuration.zh.md
index 5c232d3a3a..5213675a6d 100644
--- a/docs/guides/network/basic_network_configuration.zh.md
+++ b/docs/guides/network/basic_network_configuration.zh.md
@@ -1,77 +1,80 @@
-# Rocky Linux —— 网络配置
+---
+title: 网络配置
+---
-## 准备工作
+# 网络配置
-* 熟悉命令行操作
-* 提升或管理系统权限(例如root、sudo等)
+## 先决条件
+
+* 对在命令行上的操作有一定的了解
+* 拥有或者可以提高到系统管理员权限(例如root账户,使用sudo等)
* 可选:熟悉网络概念
-# 简介
+# 介绍
-如今,一台没有网络连接的计算机几乎毫无用处。无论您是需要更新服务器上的软件包,还是只需从笔记本电脑浏览外部网站,您都需要网络访问!
+现在,一台没有网络连接的计算机本身几乎毫无用处。 无论您需要在服务器上更新软件包,还是只需要从您的笔记本浏览外部网站 - 您将需要网络访问!
-本文旨在为 RockyLinux 用户提供如何在 Rocky Linux 系统上设置网络连接的基本知识。
+本指南旨在向Rocky Linux用户提供如何在Rocky Linux系统上设置网络连接的基本知识。
## 使用 NetworkManager 服务
-在用户级别,网络堆栈由 *NetworkManager* 管理。该工具作为服务运行,您可以使用以下命令检查其状态:
+在用户级,网络堆栈由 *NetworkManager* 管理。 此工具作为服务运行,您可以通过以下命令检查其状态:
- systemctl status NetworkManager
+ systemctl status NetworkManager
### 配置文件
-NetworkManager 只应用从 `/etc/sysconfig/network-scripts/ifcfg-` 文件中读取的配置。
-每个网络接口都有其配置文件。服务器的默认配置文件如下所示:
+NetworkManager 生效的配置在文件 /etc/sysconfig/network-scripts/ifcfg-Iface_NAME中。 每个网络接口都有配置文件。 服务器默认配置如下示例:
- TYPE=Ethernet
- PROXY_METHOD=none
- BROWSER_ONLY=no
- BOOTPROTO=none
- DEFROUTE=yes
- IPV4_FAILURE_FATAL=no
- IPV6INIT=no
- NAME=ens18
- UUID=74c5ccee-c1f4-4f45-883f-fc4f765a8477
- DEVICE=ens18
- ONBOOT=yes
- IPADDR=192.168.0.1
- PREFIX=24
- GATEWAY=192.168.0.254
- DNS1=192.168.0.254
- DNS2=1.1.1.1
- IPV6_DISABLED=yes
+ TYPE=Ethernet
+ PROXY_METHOD=none
+ BROWSER_ONLY=no
+ BOOTPROTO=none
+ DEFROUTE=yes
+ IPV4_FAILURE_FATAL=no
+ IPV6INIT=no
+ NAME=ens18
+ UUID=74c5ccee-c1f4-4f45-883f-fc4f765a8477
+ DEVICE=ens18
+ ONBOOT=yes
+ IPADDR=192.168.0.1
+ PREFIX=24
+ GATEWAY=192.168.0.254
+ DNS1=192.168.0.254
+ DNS2=1.1.1.1
+ IPV6_DISABLED=yes
-接口的名称是 **ens18**,因此该文件的名称将是 `/etc/sysconfig/network-scripts/ifcfg-ens18`。
+接口的名称是 **ens18** ,因此该文件的名称将是 `/etc/sysconfig/network-scripts/ifcfg-ens18`。
-**提示:**
-有多种方法或机制可以为系统分配其 IP 配置信息。最常用的两种方法是**静态 IP 配置**方案和**动态 IP 配置**方案。
+**提示:**
+有几种方法或机制,可以通过这些方法或机制分配系统他们的 IP 配置信息。 两种最常见的方法是 - **静态IP配置** 方案和 **动态IP配置** 方案。
-静态 IP 配置方案在服务器类系统或网络上非常常用。
+静态IP配置方案在服务器类系统或网络中非常常见。
-动态 IP 方法在家庭和办公网络或工作站和台式机类系统上很常用。动态方案通常需要本地可用的额外协议,以便为请求的工作站和台式机提供适当的 IP 配置信息。这种协议就是所谓的动态主机配置协议(DHCP)。
+动态的 IP 办法在家庭和办公室网络――或工作站和桌面类系统上很常见。 动态方案通常需要 _个额外的_ 适当的 IP 配置信息。 这个额外的事情就是动态主机配置协议(DHCP)。
-通常,家庭/办公室用户不必担心或不了解 DHCP。这是因为有人或其他程序会在后台自动进行处理。最终用户唯一需要做的就是通过物理或无线连接到正确的网络(确保系统已通电)!
+家庭/办公室用户往往不必担心或了解DHCP。 这是因为某人或其他人在后台自动处理这个问题。 最终用户需要做的唯一事情是有线或无线上网连接到正确的网络(当然了,要确保他们的系统开机运行)!
#### IP 地址
-在前面的 `/etc/sysconfig/network-scripts/ifcfg-ens18` 文件中,`BOOTPROTO` 参数或键的值设置为 `none`。 这意味着将系统设置为静态 IP 地址方案。
+在上面的 `/etc/sysconfig/network-scripts/ifcfg-ens18` 列出, 我们看到 `BOOTPROTO` 参数值设置为 ` none`。 这意味着正在配置的系统已设置为静态IP地址方案。
-相反,如果要将系统配置为使用动态 IP 地址方案,则必须将 `BOOTPROTO` 参数的值从 `none` 更改为 `dhcp`,并删除 `IPADDR`、 `PREFIX` 和 `GATEWAY` 行。这是必需的,因为所有这些信息都将从任何可用的 DHCP 服务器中自动获得。
+如果你想要配置系统使用动态IP地址方案。 您必须将 `BOOTPROTO` 参数的值从 `no` 更改为 `dhcp` 并删除 `IPADRD` `PREFIX` 和 `GATEWAY` 行. 这是必要的,因为所有这些信息都将自动从任何可用的DHCP服务器获取。
-要配置静态 IP 地址属性,请设置以下内容:
+要配置静态IP地址属性,请设置以下内容:
-* IPADDR:分配给接口的 IP 地址
-* PREFIX:[CIDR 表示法](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)中的子网掩码
-* GATEWAY:默认网关
+* IPADR:分配接口的 IP 地址
+* PREFIX:子网掩码在 [CIDR 符号](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
+* GATEWAY: 默认网关
-`ONBOOT` 参数设置为 `yes`,表示此连接将在系统引导时被激活。
+`ONBOOT` 参数设置为 `yes` 表示此连接将在启动时激活。
#### DNS 解析
-为了获得正确的名称解析,必须设置以下参数:
+要获得正确的名称解析,必须设置以下参数:
-* DNS1:主名称服务器的 IP 地址
-* DNS2:辅助名称服务器 IP 地址
+* DNS1:主域名服务器的 IP 地址
+* DNS2:辅助域名服务器IP地址
### 应用配置
@@ -80,149 +83,148 @@ NetworkManager 只应用从 `/etc/sysconfig/network-scripts/ifcfg-`
nmcli connection up ens18
-要获取连接状态,只需使用:
+要获取连接状态,请使用:
nmcli connection show
-您还可以使用 `ifup` 和 `ifdown` 命令对该接口进行开启和关闭操作(它们对 `nmcli` 进行简单包装):
+您也可以使用 `ifup` and `ifdown` 命令将接口上下线(他们是围绕 `nmcli` 的简单封装):
- ifup ens18
- ifdown ens18
+ ifup ens18
+ ifdown ens18
-### 检查配置
+### 检查配置...
-您可以使用以下 `nmcli` 命令检查配置是否已正确应用:
+您可以通过使用以下 `nmcli` 命令来检查网络配置是否正确:
- nmcli device show ens18
+ nmcli device show ens18
-其输出如下所示:
+您将看到如下的输出:
- GENERAL.DEVICE: ens18
- GENERAL.TYPE: ethernet
- GENERAL.HWADDR: 6E:86:C0:4E:15:DB
- GENERAL.MTU: 1500
- GENERAL.STATE: 100 (connecté)
- GENERAL.CONNECTION: ens18
- GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
- WIRED-PROPERTIES.CARRIER: marche
- IP4.ADDRESS[1]: 192.168.0.1/24
- IP4.GATEWAY: 192.168.0.254
- IP4.ROUTE[1]: dst = 192.168.0.0/24, nh = 0.0.0.0, mt = 100
- IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.0.254, mt = 100
- IP4.DNS[1]: 192.168.0.254
- IP4.DNS[2]: 1.1.1.1
- IP6.GATEWAY: --
+ GENERAL.DEVICE: ens18
+ GENERAL.TYPE: ethernet
+ GENERAL.HWADDR: 6E:86:C0:4E:15:DB
+ GENERAL.MTU: 1500
+ GENERAL.STATE: 100 (connecté)
+ GENERAL.CONNECTION: ens18
+ GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
+ WIRED-PROPERTIES.CARRIER: marche
+ IP4.ADDRESS[1]: 192.168.0.1/24
+ IP4.GATEWAY: 192.168.0.254
+ IP4.ROUTE[1]: dst = 192.168.0.0/24, nh = 0.0.0.0, mt = 100
+ IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.0.254, mt = 100
+ IP4.DNS[1]: 192.168.0.254
+ IP4.DNS[2]: 1.1.1.1
+ IP6.GATEWAY: --
-## 使用 ip 命令
+## 使用 IP 工具
-`ip` 命令(由 *iproute2* 软件包提供)是一个功能强大的工具,可用于获取网络信息并配置现代 Linux 系统(如 Rocky Linux)的网络。
+`ip` 命令 (由 *iproute2* 软件包提供) 是一个强大的工具来获取信息并配置一个现代的Linux 系统网络,如Rocky Linux。
-在下面示例中,假定以下参数:
+在这个示例中,我们将假设以下参数:
* 接口名称:ens19
-* IP 地址:192.168.20.10
+* IP地址:192.168.20.10
* 子网掩码:24
-* 网关:192.168.20.254
+* 网关: 192.168.20.254
-### 获取常用信息
+### 获取常规信息
-要查看所有接口的详细状态,请使用以下命令:
+要查看所有接口的详细状态,请使用
- ip a
+ ip a
-**实用提示**
-* 使用 `-c` 标志可获得更具可读性的彩色输出:`ip -c a`。
-* `ip`接受缩写,因此 `ip a`、`ip addr` 和 `ip address` 是等效的。
+**专家提示:**
+* 使用 `-c` 标志获取一个更易读的颜色输出: `ip -c a`。
+* `ip` 接受缩写,因此 `ip一个`, `ip addr` 和 `ip address` 一样
-### 开启或关闭接口
+### 网络接口启动关闭。
-要开启 *ens19* 接口,只需使用 `ip link set ens19 up`,而要关闭接口,使用 `ip link set ens19 down`。
+将 *聚合19* 接口启动, 只需使用 `ip link set ens19 up` ;将其关闭,使用 `ip link set ens19 down`。
-### 为接口分配静态地址
+### 指定接口为静态地址
-使用的命令的格式为:
+要使用的命令是形式的:
- ip addr add dev
+ ip addr add dev
-要分配上述示例参数,使用以下命令:
+为了示范上述示例参数,我们将使用:
- ip a add 192.168.20.10/24 dev ens19
+ ip a add 192.168.20.10/24 dev ens19
-然后,检查结果:
+然后检查结果:
- ip a show dev ens19
+ ip a show dev ens19
-将输出以下内容:
+将输出:
- 3: ens19: mtu 1500 qdisc fq_codel state UP group default qlen 1000
- link/ether 4a:f2:f5:b6:aa:9f brd ff:ff:ff:ff:ff:ff
- inet 192.168.20.10/24 scope global ens19
- valid_lft forever preferred_lft forever
+ 3: ens19: mtu 1500 qdisc fq_codel state UP group default qlen 1000
+ link/ether 4a:f2:f5:b6:aa:9f brd ff:ff:ff:ff:ff:ff
+ inet 192.168.20.10/24 scope global ens19
+ valid_lft forever preferred_lft forever
-接口已启动并配置完毕,但仍然缺少一些配置!
+我们的接口已经启动和配置,但仍然缺少一些东西!
-### 使用 ifcfg 命令
+### 使用 ifcfg 工具
-要给 *ens19* 接口添加新示例 IP 地址,请使用以下命令:
+若要添加 *ens19* 接口的新示例IP地址,请使用以下命令:
- ifcfg ens19 add 192.168.20.10/24
+ ifcfg ens19 add 192.168.20.10/24
-删除 ip 地址,请使用以下命令:
+移除地址:
- ifcfg ens19 del 192.168.20.10/24
+ ifcfg ens19 del 192.168.20.10/24
-要完全禁用此接口上的 IP 地址,请使用以下命令:
+要完全禁用此接口上的 IP 地址:
- ifcfg ens19 stop
+ ifcfg ens19 stop
-*注意,它不会导致接口关闭,它只是从接口取消分配的所有 IP 地址。*
+*请注意,这并不会使接口关闭,它只是从接口中取消所有IP地址的分配。*
### 网关配置
-现在接口已有一个地址,接下来必须设置它的默认路由,这可以通过以下方式完成:
-
- ip route add default via 192.168.20.254 dev ens19
-
-使用以下命令显示内核路由表:
+现在接口有地址了,我们必须设置它的默认路由。下面示例这可以做到这点:
- ip route
+ ip route add default via 192.168.20.254 dev ens19
-以上可简写为 `ip r`。
+路由表可以用以下命令显示:
-## 检查网络连接
+ ip route
-此时,您应该已启动并正确配置了网络接口。有几种方法可以验证您的连接。
+或使用简写`ip r`。
-通过 *pinging* 同一网络中的另一个 IP 地址(此处使用 `192.168.20.42` 作为示例):
+## 检查网络连通性
- ping -c3 192.168.20.42
+至此,您的网络接口应当启动并正确配置。 有几种方法来验证您的连接。
-此命令将发出 3 个 *ping*(称为 ICMP 请求)并等待回复。如果一切正常,您应该会得到以下输出:
+通过 *ping* 另一个IP地址在同一个网络 (我们将使用 `192.168.20.42` 作为示例):
- PING 192.168.20.42 (192.168.20.42) 56(84) bytes of data.
- 64 bytes from 192.168.20.42: icmp_seq=1 ttl=64 time=1.07 ms
- 64 bytes from 192.168.20.42: icmp_seq=2 ttl=64 time=0.915 ms
- 64 bytes from 192.168.20.42: icmp_seq=3 ttl=64 time=0.850 ms
+ ping -c3 192.168.20.42
- --- 192.168.20.42 ping statistics ---
- 3 packets transmitted, 3 received, 0% packet loss, time 5ms
- rtt min/avg/max/mdev = 0.850/0.946/1.074/0.097 ms
+此命令将发出3 次*ping* (称为ICMP请求),并等待回复。 如果一切顺利,您应该得到以下输出:
-然后,为确保您的路由配置正确,请尝试 *ping* 外部主机,例如众所周知的公共 DNS 解析器:
+ PING 192.168.20.42 (192.168.20.42) 56(84) bytes of data.
+ 64 bytes from 192.168.20.42: icmp_seq=1 ttl=64 time=1.07 ms
+ 64 bytes from 192.168.20.42: icmp_seq=2 ttl=64 time=0.915 ms
+ 64 bytes from 192.168.20.42: icmp_seq=3 ttl=64 time=0.850 ms
+
+ --- 192.168.20.42 ping statistics ---
+ 3 packets transmitted, 3 received, 0% packet loss, time 5ms
+ rtt min/avg/max/mdev = 0.850/0.946/1.074/0.097 ms
- ping -c3 8.8.8.8
+然后,为了确保您的路由配置正常,试着 *ping* 个外部主机,如这个众所周知的公开的DNS解析器:
-如果您计算机有多个网络接口,且您希望通过特定接口发出 ICMP 请求,则可以使用 `-I` 标志:
+ ping -c3 8.8.8.8
- ping -I ens19 -c3 192.168.20.42
+如果您的机器有几个网络接口,您想通过一个指定接口发出ICMP请求, 您可以使用 `-I` 标志:
-接下来确保 DNS 解析正常工作。提醒一下,DNS 解析是一种用于将人性化的计算机名称转换为 IP 地址的机制,反之称为反向 DNS。
+ ping -I ens19 -c3 192.168.20.42
-如果 `/etc/resolv.conf` 文件指示可访问的 DNS 服务器,则执行以下操作:
+接下来确认DNS解析是否正常。 作为提醒, DNS解析是一种用来将人类友好机器名称转换为的IP地址的机制,反之(反向DNS)。
- host rockylinux.org
+如果 `/etc/resolv.conf` 文件表明了一个可访问的DNS 服务器,那么以下应该工作:
-结果应为:
+ host rockylinux.org
- rockylinux.org has address 76.76.21.21
+输出应该是:
+ rockylinux.org has address 76.76.21.21
diff --git a/docs/guides/security/firewalld-beginners.it.md b/docs/guides/security/firewalld-beginners.it.md
new file mode 100644
index 0000000000..43d27c0678
--- /dev/null
+++ b/docs/guides/security/firewalld-beginners.it.md
@@ -0,0 +1,429 @@
+---
+title: firewalld per Principianti
+author: Ezequiel Bruni
+contributors: Steven Spencer, Franco Colussi
+update: 20-feb-2022
+---
+
+# `firewalld` per Principianti
+
+## Introduzione
+
+Molto tempo fa, ero un piccolo utente di computer alle prime armi che aveva sentito dire che avere un firewall *doveva* essere super buono. Mi permetterebbe di decidere cosa entra e cosa esce dal mio computer, giusto? Ma sembrava soprattutto impedire ai miei videogiochi di accedere a internet; e *non* ero felice e contento.
+
+Naturalmente, se siete qui, probabilmente avete un'idea migliore di me su cosa sia un firewall e cosa faccia. Ma se la vostra esperienza con il firewall equivale a dire a Windows Defender che sì, per l'amore di tutto ciò che è santo, la vostra nuova applicazione ha il permesso di usare internet, non preoccupatevi. C'è scritto "per Principianti" in alto; ti ho preso.
+
+In altre parole, i miei colleghi nerd devono essere consapevoli che ci saranno molte spiegazioni in arrivo.
+
+Quindi parliamo di ciò per cui siamo qui. `firewalld` è l'applicazione firewall predefinita fornita con Rocky Linux, ed è progettata per essere abbastanza semplice da usare. Dovete solo sapere un po' come funzionano i firewall e non aver paura di usare la riga di comando.
+
+Qui imparerete:
+
+* Le basi di come funziona `firewalld`
+* Come usare `firewalld` per limitare o permettere le connessioni in entrata e in uscita
+* Come permettere solo alle persone di certi indirizzi IP o luoghi di accedere alla tua macchina da remoto
+* Come gestire alcune caratteristiche `specifiche di firewalld` come le Zone.
+
+Questa *non* vuole essere una guida completa o esaustiva.
+
+### Una nota sull'uso della riga di comando per la gestione del firewall
+
+Beh... ci *sono* opzioni di configurazione grafica del firewall. Sul desktop, c'è `firewall-config` che può essere installato dai repo, e sui server puoi [installare Cockpit](https://linoxide.com/install-cockpit-on-almalinux-or-rocky-linux/) per aiutarti a gestire i firewall e un sacco di altre cose. **Tuttavia, in questo tutorial vi insegnerò il modo a riga di comando per fare le cose per un paio di ragioni:**
+
+1. Se state gestendo un server, userete comunque la riga di comando per la maggior parte di queste cose. Molti tutorial e guide per il server Rocky daranno istruzioni a riga di comando per la gestione del firewall, ed è meglio che tu capisca queste istruzioni, piuttosto che copiare e incollare qualsiasi cosa tu veda.
+2. Capire come funzionano i comandi `firewalld` potrebbe aiutarvi a capire meglio come funziona il software del firewall. Potete prendere gli stessi principi che imparate qui, e avere un'idea migliore di quello che state facendo se decidete di usare un'interfaccia grafica in futuro.
+
+## Prerequisiti e presupposti
+Avrai bisogno di:
+
+* Una macchina Rocky Linux di qualsiasi tipo, locale o remota, fisica o virtuale
+* Accesso al terminale e volontà di usarlo
+* Avete bisogno dell'accesso root, o almeno della capacità di usare `sudo` sul vostro account utente. Per semplicità, sto assumendo che tutti i comandi vengano eseguiti come root.
+* Una comprensione di base di SSH non sarebbe male per la gestione di macchine remote.
+
+## Uso di Base
+
+### Comandi di Servizio del Sistema
+
+`firewalld` viene eseguito come servizio sulla vostra macchina. Si avvia quando lo fa la macchina, o dovrebbe. Se per qualche motivo `firewalld` non è già abilitato sulla vostra macchina, potete farlo con un semplice comando:
+
+```bash
+systemctl enable --now firewalld
+```
+
+La flag `--now` avvia il servizio non appena viene abilitato, e ti permette di saltare il passo `systemctl start firewalld`.
+
+Come per tutti i servizi su Rocky Linux, potete controllare se il firewall è in funzione con:
+
+```bash
+systemctl status firewalld
+```
+
+Per fermarlo del tutto:
+
+```bash
+systemctl stop firewalld
+```
+
+E per dare al servizio un riavvio forte:
+
+```bash
+systemctl restart firewalld
+```
+
+### Comandi di base per la configurazione e la gestione di `firewalld`
+
+`firewalld` è configurato con il comando `firewall-cmd`. Potete, per esempio, controllare lo stato di `firewalld` con:
+
+```bash
+firewall-cmd --state
+```
+
+Dopo ogni modifica *permanente* al tuo firewall, dovrai ricaricarlo per vedere i cambiamenti. Potete dare alle configurazioni del firewall un "riavvio morbido" con:
+
+```bash
+firewall-cmd --reload
+```
+
+!!! Note "Nota"
+
+ Se ricarichi le tue configurazioni che non sono state rese permanenti, ti scompariranno.
+
+Potete vedere tutte le vostre configurazioni e impostazioni in una volta sola con:
+
+```bash
+firewall-cmd --list-all
+```
+
+Questo comando produrrà qualcosa che assomiglia a questo:
+
+```bash
+public (active)
+ target: default
+ icmp-block-inversion: no
+ interfaces: enp9s0
+ sources:
+ services: ssh
+ ports:
+ protocols:
+ forward: no
+ masquerade: no
+ forward-ports:
+ source-ports:
+ icmp-blocks:
+ rich rules:
+```
+
+### Salvare le modifiche
+
+!!! Warning "Attenzione: Seriamente, leggete il prossimo pezzo"
+
+ Per impostazione predefinita, tutte le modifiche alla configurazione di `firewalld` sono temporanee. Se riavviate l'intero servizio `firewalld`, o riavviate la vostra macchina, nessuna delle vostre modifiche al firewall sarà salvata a meno che non facciate una delle due cose molto specifiche.
+
+È una buona pratica testare tutte le modifiche una per una, ricaricando la configurazione del firewall mentre si procede. In questo modo, se si blocca accidentalmente qualcosa, si può riavviare il servizio (o la macchina), tutte quelle modifiche spariscono come detto sopra.
+
+Ma una volta che avete una configurazione funzionante, potete salvare le vostre modifiche in modo permanente con:
+
+```bash
+firewall-cmd --runtime-to-permanent
+```
+
+Tuttavia, se sei assolutamente sicuro di quello che stai facendo, e vuoi solo aggiungere la regola e andare avanti con la tua vita, puoi aggiungere il flag `--permanent` a qualsiasi comando di configurazione:
+
+```bash
+firewall-cmd --permanent [resto del tuo comando]
+```
+
+## Gestire le Zone
+
+Prima di ogni altra cosa, devo spiegare le zone. Le zone sono una caratteristica che fondamentalmente permette di definire diversi set di regole per diverse situazioni. Le zone sono una parte enorme di `firewalld`, quindi è utile capire come funzionano.
+
+Se la tua macchina ha più modi per connettersi a reti diverse (ad esempio, Ethernet e WiFi), puoi decidere che una connessione è più affidabile dell'altra. Potresti impostare la tua connessione Ethernet nella zona "trusted" se è collegata solo a una rete locale che hai costruito, e mettere il WiFi (che potrebbe essere collegato a Internet) nella zona "public" con restrizioni più severe.
+
+!!! Note "Nota"
+
+ Una zona può *solo* essere in uno stato attivo se ha una di queste due condizioni:
+
+ 1. La zona è assegnata a un'interfaccia di rete
+ 2. Alla zona vengono assegnati IP sorgente o intervalli di rete. (Per saperne di più sotto)
+
+Le zone predefinite includono le seguenti (ho preso questa spiegazione dalla [guida di DigitalOcean `firewalld`](https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-firewalld-on-centos-8), che dovreste anche leggere):
+
+> **drop:** Il livello più basso di fiducia. Tutte le connessioni in entrata sono abbandonate senza risposta e solo le connessioni in uscita sono possibili.
+
+> **block:** Simile al precedente, ma invece di abbandonare semplicemente le connessioni, le richieste in entrata sono rifiutate con un messaggio icmp-host-prohibited o icmp6-adm-prohibited.
+
+> **public:** Rappresenta le reti pubbliche, non fidate. Non ti fidi degli altri computer, ma puoi permettere connessioni in entrata selezionate caso per caso. external: Reti esterne nel caso in cui si utilizzi il firewall come gateway. È configurato per il NAT masquerading in modo che la vostra rete interna rimanga privata ma raggiungibile.
+
+> **internal:** L'altro lato della zona esterna, usata per la parte interna di un gateway. I computer sono abbastanza affidabili e sono disponibili alcuni servizi aggiuntivi.
+
+> **dmz:** utilizzato per i computer situati in una DMZ (computer isolati che non avranno accesso al resto della vostra rete). Solo certe connessioni in entrata sono permesse.
+
+> **work:** Usato per le macchine da lavoro. Fidatevi della maggior parte dei computer della rete. Qualche altro servizio potrebbe essere permesso.
+
+> **home:** Un ambiente domestico. Generalmente implica che vi fidate della maggior parte degli altri computer e che qualche servizio in più sarà accettato.
+
+> **trusted:** Fidati di tutte le macchine della rete. La più aperta delle opzioni disponibili e dovrebbe essere usata con parsimonia.
+
+Ok, alcune di queste spiegazioni sono complicate, ma Onestamente? Il principiante medio può cavarsela con la comprensione di "trusted", "home" e "public", e quando usarli.
+
+### Comandi di gestione della zona
+
+Per vedere la vostra zona predefinita, eseguite:
+
+```bash
+firewall-cmd --get-default-zone
+```
+
+Per vedere quali zone sono attive e fanno cosa, esegui:
+
+```bash
+firewall-cmd --get-active-zones
+```
+
+!!! Note "Nota: alcune di queste cose potrebbero essere state fatte per voi"
+
+ Se stai eseguendo Rocky Linux su un VPS, è probabile che una configurazione di base sia stata impostata per te. In particolare, dovreste essere in grado di accedere al server via SSH, e l'interfaccia di rete sarà già stata aggiunta alla zona "public".
+
+Per cambiare la zona predefinita:
+
+```bash
+firewall-cmd --set-default-zone [tua-zona]
+```
+
+Per aggiungere un'interfaccia di rete a una zona:
+
+```bash
+firewall-cmd --zone=[tua-zona] --add-interface=[tua-intefaccia-di-rete]
+```
+
+Per cambiare la zona di un'interfaccia di rete:
+
+```bash
+firewall-cmd --zone=[tua-zona] --change-interface=[tua-interfaccia-di-rete]
+```
+
+Per rimuovere completamente un'interfaccia da una zona:
+
+```bash
+firewall-cmd --zone=[tua-zona] --remove-interface=[tua-intefaccia-di-rete]
+```
+
+Per creare una zona nuova di zecca con un set di regole completamente personalizzato, e per controllare che sia stata aggiunta correttamente:
+
+```bash
+firewall-cmd --new-zone=[tua-nuova-zona]
+firewall-cmd --get-zones
+```
+
+## Gestione delle Porte
+
+Per chi non lo sapesse, le porte (in questo contesto) sono solo degli endpoint virtuali dove i computer si connettono tra loro per poter inviare informazioni avanti e indietro. Pensate a loro come a delle porte fisiche Ethernet o USB sul vostro computer, ma invisibili, e potete averne fino a 65.535 tutte insieme.
+
+Io non lo farei, ma tu puoi.
+
+Ogni porta è definita da un numero, e alcune porte sono riservate a servizi specifici e a tipi di informazioni. Se hai mai lavorato con i server web per costruire un sito web, per esempio, potresti avere familiarità con la porta 80 e la porta 443. Queste porte permettono la trasmissione dei dati delle pagine web.
+
+In particolare, la porta 80 permette di trasferire dati tramite il protocollo HTTP (Hypertext Transfer Protocol), e la porta 443 è riservata ai dati HTTPS (Hypertext Transfer Protocol Secure). *
+
+La porta 22 è riservata al protocollo Secure Shell (SSH) che ti permette di accedere e gestire altre macchine attraverso la riga di comando (vedi la [nostra breve guida](ssh_public_private_keys.md) su questo argomento). Un server remoto nuovo di zecca potrebbe permettere solo connessioni sulla porta 22 per SSH, e nient'altro.
+
+Altri esempi sono FTP (porte 20 e 21), SSH (porta 22), e molti altri. È anche possibile impostare porte personalizzate per essere utilizzate da nuove applicazioni che potreste installare, che non hanno già un numero standard.
+
+!!! Note "Nota: non dovreste usare le porte per tutto"
+
+ Per cose come SSH, HTTP/S, FTP, e altro, si raccomanda di aggiungerli alla vostra zona firewall come *servizi*, e non come numeri di porta. Vi mostrerò come funziona qui sotto. Detto questo, devi comunque sapere come aprire le porte manualmente.
+
+\* Per i principianti assoluti, HTTPS è fondamentalmente (più o meno) lo stesso di HTTP, ma criptato.
+
+### Comandi di gestione della porta
+
+Per questa sezione, userò `--zone=public`... e la porta 9001 come esempio casuale, perché è più di 9.000.
+
+Per vedere tutte le porte aperte:
+
+```bash
+firewall-cmd --list-ports
+```
+
+Per aggiungere una porta alla vostra zona firewall (aprendola così all'uso), basta eseguire questo comando:
+
+```bash
+firewall-cmd --zone=public --add-port=9001/tcp
+```
+
+!!! Note "Nota"
+
+ Riguardo alla parte `/tcp`:
+
+ Quel bit `/tcp` alla fine dice al firewall che le connessioni arriveranno attraverso il Transfer Control Protocol, che è quello che userai per la maggior parte delle cose relative al server-e-ospite.
+
+ Alternative come UDP sono per il debug, o altri tipi di cose molto specifiche che francamente non rientrano nello scopo di questa guida. Fate riferimento alla documentazione di qualsiasi applicazione o servizio per cui volete specificamente aprire una porta.
+
+Per rimuovere una porta, basta invertire il comando con un cambio di una sola parola:
+
+```bash
+firewall-cmd --zone=public --remove-port=9001/tcp
+```
+
+## Gestione dei servizi
+
+I servizi, come potete immaginare, sono programmi abbastanza standardizzati che girano sul vostro computer. `firewalld` è impostato in modo che possa semplicemente aprire la strada per la maggior parte dei servizi comuni ogni volta che è necessario farlo.
+
+Questo è il modo preferito per aprire le porte per questi servizi comuni, e molto di più:
+
+* HTTP e HTTPS: per i server web
+* FTP: per spostare i file avanti e indietro (alla vecchia maniera)
+* SSH: per controllare macchine remote e spostare file avanti e indietro nel nuovo modo
+* Samba: Per la condivisione di file con macchine Windows
+
+!!! Warning "Attenzione"
+
+ **Non rimuovere mai il servizio SSH dal firewall di un server remoto!**
+
+ Ricordate, SSH è quello che usate per accedere al vostro server. A meno che non abbiate un altro modo per accedere al server fisico, o alla sua shell (cioè tramite. un pannello di controllo fornito dall'host), la rimozione del servizio SSH vi bloccherà permanentemente.
+
+ Dovrete contattare il supporto per riavere il vostro accesso, o reinstallare completamente il sistema operativo.
+
+## Comandi di gestione del servizio
+
+Per vedere un elenco di tutti i servizi disponibili che potreste potenzialmente aggiungere al vostro firewall, eseguite:
+
+```bash
+firewall-cmd --get-services
+```
+
+Per vedere quali servizi hai attualmente attivi sul tuo firewall, usa:
+
+```bash
+firewall-cmd --list-services
+```
+
+Per aprire un servizio nel tuo firewall (ad esempio HTTP nella zona pubblica), usa:
+
+```bash
+firewall-cmd --zone=public --add-service=http
+```
+
+Per rimuovere/chiudere un servizio sul vostro firewall, basta cambiare ancora una parola:
+
+```bash
+firewall-cmd --zone=public --remove-service=http
+```
+
+!!! Note "Nota: puoi aggiungere i tuoi servizi"
+
+ E personalizzarli anche. Tuttavia, questo è un argomento che diventa piuttosto complesso. Familiarizzate prima con `firewalld`, e partite da lì.
+
+## Limitare l'accesso
+
+Diciamo che avete un server e non volete renderlo pubblico. se volete definire solo chi è autorizzato ad accedere via SSH, o visualizzare alcune pagine web/app private, potete farlo.
+
+Ci sono un paio di metodi per farlo. Per prima cosa, per un server più chiuso, puoi scegliere una delle zone più restrittive, assegnare il tuo dispositivo di rete ad essa, aggiungere il servizio SSH come mostrato sopra, e poi mettere in whitelist il tuo indirizzo IP pubblico in questo modo:
+
+```bash
+firewall-cmd --permanent --zone=trusted --add-source=192.168.1.0 [< insert your IP here]
+```
+
+Potete renderlo un intervallo di indirizzi IP aggiungendo un numero più alto alla fine, in questo modo:
+
+```bash
+firewall-cmd --permanent --zone=trusted --add-source=192.168.1.0/24 [< insert your IP here]
+```
+
+Di nuovo, basta cambiare `--add-source` in `--remove-source` per invertire il processo.
+
+Tuttavia, se state gestendo un server remoto con un sito web su di esso che ha bisogno di essere pubblico, e volete ancora aprire SSH solo per un indirizzo IP o una piccola gamma di essi, avete un paio di opzioni. In entrambi questi esempi, l'unica interfaccia di rete è assegnata alla zona pubblica.
+
+In primo luogo, potete usare una "regola ricca" per la vostra zona pubblica, e sarebbe qualcosa di simile a questo:
+
+```bash
+# firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept'
+```
+
+Una volta che la regola ricca è in vigore, *non* rendere le regole ancora permanenti. Per prima cosa, rimuovete il servizio SSH dalla configurazione della zona pubblica, e testate la vostra connessione per assicurarvi di poter ancora accedere al server via SSH.
+
+La vostra configurazione dovrebbe ora assomigliare a questa:
+
+```bash
+your@server ~# firewall-cmd --list-all
+public (active)
+ target: default
+ icmp-block-inversion: no
+ interfaces: wlp3s0
+ sources:
+ services: cockpit dhcpv6-client
+ ports: 80/tcp 443/tcp
+ protocols:
+ forward: no
+ masquerade: no
+ forward-ports:
+ source-ports:
+ icmp-blocks:
+ rich rules:
+ rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept
+```
+
+
+In secondo luogo, è possibile utilizzare due zone diverse alla volta. Se avete la vostra interfaccia legata alla zona pubblica, potete attivare una seconda zona (la zona "trusted" per esempio) aggiungendovi un IP sorgente o un intervallo IP come mostrato sopra. Poi, aggiungete il servizio SSH alla zona fidata e rimuovetelo dalla zona pubblica.
+
+Quando hai finito, l'output dovrebbe assomigliare un po' a questo:
+
+```bash
+your@server ~# firewall-cmd --list-all
+public (active)
+ target: default
+ icmp-block-inversion: no
+ interfaces: wlp3s0
+ sources:
+ services: cockpit dhcpv6-client
+ ports: 80/tcp 443/tcp
+ protocols:
+ forward: no
+ masquerade: no
+ forward-ports:
+ source-ports:
+ icmp-blocks:
+ rich rules:
+your@server ~# firewall-cmd --list-all --zone=trusted
+trusted (active)
+ target: default
+ icmp-block-inversion: no
+ interfaces:
+ sources: 192.168.0.0/24
+ services: ssh
+ ports:
+ protocols:
+ forward: no
+ masquerade: no
+ forward-ports:
+ source-ports:
+ icmp-blocks:
+ rich rules:
+```
+
+Se rimani bloccato, riavvia il server (la maggior parte dei pannelli di controllo VPS hanno un'opzione per questo) e riprova.
+
+!!! Warning "Attenzione"
+
+ Queste tecniche funzionano solo se avete un indirizzo IP statico.
+
+ Se siete bloccati con un provider di servizi internet che cambia il vostro indirizzo IP ogni volta che il modem si riavvia, non usate queste regole (almeno non per SSH) fino a quando non avrete una soluzione per questo. Ti chiuderai fuori dal tuo server
+
+ O aggiornate il vostro piano/provider internet
+
+ Nel frattempo, [installare e configurare fail2ban](https://wiki.crowncloud.net/?How_to_Install_Fail2Ban_on_RockyLinux_8), che può aiutare a ridurre gli attacchi brute force.
+
+ Ovviamente, su una rete locale che controllate (e dove potete impostare manualmente l'indirizzo IP di ogni macchina), potete usare tutte queste regole quanto volete.
+
+## Note Finali
+
+Questa è lungi dall'essere una guida esaustiva, e si può imparare molto di più con la [documentazione ufficiale](https://firewalld.org/documentation/) di [ `firewalld`](https://firewalld.org/documentation/). Ci sono anche comode guide specifiche per le app su internet che vi mostreranno come impostare il vostro firewall per quelle specifiche app.
+
+Per voi fan di `iptables` (se siete arrivati fin qui...), [abbiamo una guida](firewalld.md) che dettaglia alcune delle differenze nel funzionamento di `firewalld` e `iptables`. Quella guida potrebbe aiutarti a capire se vuoi rimanere con `firewalld` o tornare a The Old Ways(TM). C'è qualcosa da dire per The Old Ways(TM), in questo caso.
+
+## Conclusione
+
+E questo è `firewalld` nel minor numero di parole che ho potuto gestire, pur spiegando tutte le basi. Prendila con calma, sperimenta con attenzione e non rendere permanente nessuna regola finché non sei sicuro che funzioni.
+
+E, insomma, divertitevi. Una volta che avete le basi, impostare effettivamente un firewall decente e funzionante può richiedere 5-10 minuti.
diff --git a/docs/guides/web/apache-sites-enabled.it.md b/docs/guides/web/apache-sites-enabled.it.md
index c1e0e94645..c63e03680f 100644
--- a/docs/guides/web/apache-sites-enabled.it.md
+++ b/docs/guides/web/apache-sites-enabled.it.md
@@ -132,7 +132,7 @@ cp /root/com.wiki.www.csr /var/www/sub-domains/com.ourownwiki.www/ssl/ssl.csr/
cp /root/com.wiki.www.crt /var/www/sub-domains/com.ourownwiki.www/ssl/ssl.crt/
```
-### La Configurazione del Sito - https
+### Ottenere il Certificato di Let's Encrypt
Una volta che hai generato le tue chiavi e acquistato il certificato SSL, puoi ora andare avanti con la configurazione del sito web utilizzando le tue nuove chiavi.
diff --git a/docs/guides/web/apache_hardened_webserver/ossec-hids.it.md b/docs/guides/web/apache_hardened_webserver/ossec-hids.it.md
index f14ccc9fd7..6dbf5ed06d 100644
--- a/docs/guides/web/apache_hardened_webserver/ossec-hids.it.md
+++ b/docs/guides/web/apache_hardened_webserver/ossec-hids.it.md
@@ -13,13 +13,14 @@ title: Sistema Intrusion Detection System Host-based (HIDS) author: Steven Spenc
## Introduzione
-Se volete usare questo insieme ad altri strumenti per il rafforzamento, fate riferimento al documento [Apache Web Server Rinforzato](index.md). Il presente documento utilizza anche tutte le ipotesi e le convenzioni delineate in tale documento originale, quindi è una buona idea rivederlo prima di continuare.
+_ossec-hids_ è un sistema di rilevamento delle intrusioni nell'host che offre passi automatici di azione-risposta per aiutare a mitigare gli attacchi di intrusione nell'host. È solo un possibile componente di una configurazione rinforzata del server web Apache e può essere utilizzato con o senza altri strumenti.
-Per installare _ossec-hids_, abbiamo bisogno di un repository di terze parti da Atomicorp. Atomicorp offre anche una versione supportata a prezzi ragionevoli per coloro che desiderano un supporto professionale se si trovano in difficoltà.
+
+Se volete usare questo insieme ad altri strumenti per il rinforzamento, fate riferimento al documento [Apache Web Server Rinforzato](index.md). Il presente documento utilizza anche tutte le ipotesi e le convenzioni delineate in tale documento originale, quindi è una buona idea rivederlo prima di continuare.
## Installare il Repository di Atomicorp
-Se preferisci il supporto, e hai il budget per farlo, dai un'occhiata alla versione a pagamento di [Atomicorp _ossec-hids_](https://atomicorp.com/atomic-enterprise-ossec/). Atomicorp offre anche una versione supportata a prezzi ragionevoli per coloro che desiderano un supporto professionale se si trovano in difficoltà.
+Per installare _ossec-hids_, abbiamo bisogno di un repository di terze parti da Atomicorp. Atomicorp offre anche una versione supportata a prezzi ragionevoli per coloro che desiderano un supporto professionale se si trovano in difficoltà.
Se preferisci il supporto, e hai il budget per farlo, dai un'occhiata alla versione a pagamento di [Atomicorp _ossec-hids_](https://atomicorp.com/atomic-enterprise-ossec/). Poiché avremo bisogno solo di alcuni pacchetti dal repository gratuito di Atomicorp, modificheremo il repository dopo averlo scaricato.
@@ -86,7 +87,7 @@ La sezione `` attualmente mostra localhost, tuttavia puoi specifica
È necessario impostare l'indirizzo "from" in modo da poter trattare con i filtri SPAM sul tuo server di posta elettronica che potrebbe vedere questa email come SPAM. Per evitare di essere inondato di e-mail, imposta la segnalazione delle e-mail a 1 all'ora. Puoi espandere questo o rimarcare questo comando se vuoi mentre stai iniziando con _ossec-hids_ e hai bisogno di vedere le cose velocemente.
-Le sezioni `` si occupano dell'IP localohost del server e dell'indirizzo "pubblico" (ricordate, stiamo usando un indirizzo privato per la dimostrazione) del firewall, da cui appariranno tutte le connessioni sulla rete fidata. Puoi aggiungere più voci `` secondo necessità.
+Le sezioni `` si occupano dell'IP localhost del server e dell'indirizzo "pubblico" (ricordate, stiamo usando un indirizzo privato per la dimostrazione) del firewall, da cui appariranno tutte le connessioni sulla rete fidata. Puoi aggiungere più voci `` secondo necessità.
```