Skip to content

Commit 0663119

Browse files
committed
Updated 'src/usage/mod_n_plugins/plugins/shell.md'.
1 parent 7470b66 commit 0663119

File tree

7 files changed

+31
-11
lines changed

7 files changed

+31
-11
lines changed

src/usage/mod_n_plugins/plugins/lookup.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
> - 默认情况下,出于安全原因,查找返回值会被标记为不安全。若咱们信任咱们查找访问的外部来源,就要传入 `allow_unsafe=True` 以允许 Jinja2 模板计算查找值。
1414
1515

16-
> **警告**:一些查找会将参数传递给 shell。在使用来自某个远端/不可信来源的变量时,要使用 `|quote` 过滤器,以确保安全使用。
16+
> <span style="background-color: #f0b37e; color: white; width: 100%"> **警告**:</span>
17+
>
18+
> - 一些查找会将参数传递给 shell。在使用来自某个远端/不可信来源的变量时,要使用 `|quote` 过滤器,以确保安全使用。
1719
1820
## 启用查找插件
1921

src/usage/mod_n_plugins/plugins/shell.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@
1010

1111
> <span style="background-color: #f0b37e; color: white; width: 100%"> **警告**:</span>
1212
>
13-
> - <span style="width: 100%; background-color: #ffedcc; color: black">除非默认的 `/bin/sh` 并非 POSIX 兼容的 shell,或其无法执行,否则咱们不应更改所使用的插件。</span>
13+
> - 除非默认的 `/bin/sh` 并非 POSIX 兼容的 shell,或其无法执行,否则咱们不应更改所使用的插件。
1414
1515
##

src/usage/playbook/executing/become.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,9 @@ Ansible 的模组在远端机器上被执行时,是首先将一些参数替换
146146
- 避免成为非特权用户。在咱们 `become` root,或不使用 `become` 时,临时文件会受 UNIX 的文件权限保护。在 Ansible 2.1 及以上版本中,如果咱们以 root 用户身份连接到托管机器,然后使用 `become` 访问某个非特权账户,UNIX 文件权限同样是安全的。
147147

148148

149-
> **警告**:尽管 Solaris 的 ZFS 文件系统具备文件系统 ACL,但这些 ACL 并非 POSIX.1e 的文件系统 ACL(而是 NFSv4 的 ACL<sup>[2](#f-2)</sup>)。Ansible 无法使用这些 ACL,管理临时文件权限,因此如果远端机器使用了 ZFS,咱们就可能不得不使用 [`world_readable_temp` 选项](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/sh_shell.html#parameter-world_readable_temp)。
149+
> <span style="background-color: #f0b37e; color: white; width: 100%"> **警告**:</span>
150+
>
151+
> - 尽管 Solaris 的 ZFS 文件系统具备文件系统 ACL,但这些 ACL 并非 POSIX.1e 的文件系统 ACL(而是 NFSv4 的 ACL<sup>[2](#f-2)</sup>)。Ansible 无法使用这些 ACL,管理临时文件权限,因此如果远端机器使用了 ZFS,咱们就可能不得不使用 [`world_readable_temp` 选项](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/sh_shell.html#parameter-world_readable_temp)。
150152

151153

152154
*版本 2.1 中已变更*。
@@ -159,7 +161,9 @@ Ansible 令到难于在不知情的情况下,不安全地使用 `become`。从
159161
Ansible 2.10 引入了上述的 `ansible_common_remote_group` 回退。如上所述,其被启用后,当 `remote_user` 和 `become_user` 均为非特权用户时,就会用到他。有关该回退何时发生的详情,请参阅上文。
160162

161163

162-
> **警告**:如上所述,若同时启用了 `ansible_common_remote_group` 和 `world_readable_temp`,那么全局可读回退就不大可能发生,但 Ansible 可能仍然无法访问模组文件。这是因为在组所有权变更成功后,Ansible 就不会进一步回退了,也不会做任何检查来确保 `become_user` 确实是那个 “公共组” 的成员。做出这个决定的原因是,进行这样的检查需要再次往返连接远端机器,耗费大量时间。不过,在这种情况下,Ansible 会发出一条警告。
164+
> <span style="background-color: #f0b37e; color: white; width: 100%"> **警告**:</span>
165+
>
166+
> - 如上所述,若同时启用了 `ansible_common_remote_group` 和 `world_readable_temp`,那么全局可读回退就不大可能发生,但 Ansible 可能仍然无法访问模组文件。这是因为在组所有权变更成功后,Ansible 就不会进一步回退了,也不会做任何检查来确保 `become_user` 确实是那个 “公共组” 的成员。做出这个决定的原因是,进行这样的检查需要再次往返连接远端机器,耗费大量时间。不过,在这种情况下,Ansible 会发出一条警告。
163167

164168

165169
### 并非受所有连接插件支持
@@ -269,7 +273,9 @@ ansible_become_method: enable
269273

270274

271275

272-
> **警告**:需要提醒的是,密码绝不能以纯文本形式存储。有关使用 Ansible Vault 加密密码及其他机密的信息,请参阅 [Ansible Vault](../../vault.md)。
276+
> <span style="background-color: #f0b37e; color: white; width: 100%"> **警告**:</span>
277+
>
278+
> - 需要提醒的是,密码绝不能以纯文本形式存储。有关使用 Ansible Vault 加密密码及其他机密的信息,请参阅 [Ansible Vault](../../vault.md)。
273279

274280

275281
### `authorize` 与 `auth_pass`
@@ -441,7 +447,9 @@ win_servers:
441447

442448
### 不带密码的账户
443449

444-
> **警告**:作为一般的安全最佳实践,咱们应避免放行没有密码的账户。
450+
> <span style="background-color: #f0b37e; color: white; width: 100%"> **警告**:</span>
451+
>
452+
> - 作为一般的安全最佳实践,咱们应避免放行没有密码的账户。
445453

446454

447455
Ansible 可以用于成为某个无密码的 Windows 账户(如 `Guest` 账户)。要成为无密码的账户,只需像正常一样设置变量,但要设置 `ansible_become_password:''`。

src/usage/playbook/executing/tags.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -367,9 +367,13 @@ Ansible 为一些特别行为,保留了几个标签名,其中两个是 `alwa
367367
- tag2
368368
```
369369

370-
> **警告**:内部的事实收集任务,默认被标记为了 `'always'`。但若咱们将某个标签应用到 play,并直接跳过了他(`--skip-tags`),或间接使用 `--tags` 且省略了他,则可以跳过。
370+
> <span style="background-color: #f0b37e; color: white; width: 100%"> **警告**:</span>
371+
>
372+
> - 内部的事实收集任务,默认被标记为了 `'always'`。但若咱们将某个标签应用到 play,并直接跳过了他(`--skip-tags`),或间接使用 `--tags` 且省略了他,则可以跳过。
371373

372-
> **警告**:角色参数规格验证任务,默认被标记为了 `'always'`。若咱们使用了 `--skip-tags always`,该验证将被跳过。
374+
> <span style="background-color: #f0b37e; color: white; width: 100%"> **警告**:</span>
375+
>
376+
> - 角色参数规格验证任务,默认被标记为了 `'always'`。若咱们使用了 `--skip-tags always`,该验证将被跳过。
373377

374378

375379
*版本 2.5 中的新特性*。

src/usage/playbook/using/delegation.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,9 @@
113113
> - 任务委派到的主机,不会从发出任务的主机继承变量。
114114

115115

116-
> **警告**:虽然咱们可以委派给清单中不存在的主机(经由加上 IP 地址、DNS 名称,或任何连接插件其他需要),但这样做不会将主机添加到咱们的仓库,进而可能会造成问题。以这种方式委派的主机,将从 `all` 组继承变量(假设 [`VARIABLE_PRECEDENCE`](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#variable-precedence) 包括了 `all_inventory`)。如果咱们必须 `delegate_to` 给非仓库主机,那么请使用 [添加主机模组](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/add_host_module.html#add-host-module)。
116+
> <span style="background-color: #f0b37e; color: white; width: 100%"> **警告**:</span>
117+
>
118+
> - 虽然咱们可以委派给清单中不存在的主机(经由加上 IP 地址、DNS 名称,或任何连接插件其他需要),但这样做不会将主机添加到咱们的仓库,进而可能会造成问题。以这种方式委派的主机,将从 `all` 组继承变量(假设 [`VARIABLE_PRECEDENCE`](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#variable-precedence) 包括了 `all_inventory`)。如果咱们必须 `delegate_to` 给非仓库主机,那么请使用 [添加主机模组](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/add_host_module.html#add-host-module)。
117119

118120

119121
## 委派上下文中的模板化

src/usage/playbook/using/remote_env.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,9 @@ proxy_env:
129129

130130
> **注意**:上面的示例,将 `ansible_env` 用作了 `PATH` 的一部分。将变量建立在 `ansible_env` 上是有风险的。Ansible 通过收集事实,产生出 `ansible_env` 的值,因此这些变量的值,取决于 Ansible 在收集这些事实时,用到的 `remote_user` 或 `become_user`。如果修改了 `remote_user`/`become_user`,`ansible_env` 中的值就可能不是咱们期望的值了。
131131

132-
> **警告**:环境变量通常是以明文形式传递的(取决于 `shell` 插件),因此不推荐使用这种方式,向正在执行的模组传递秘密。
132+
> <span style="background-color: #f0b37e; color: white; width: 100%"> **警告**:</span>
133+
>
134+
> - 环境变量通常是以明文形式传递的(取决于 `shell` 插件),因此不推荐使用这种方式,向正在执行的模组传递秘密。
133135

134136

135137
咱们也可以在任务级别,指定该环境。

src/usage/vault/about.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
Ansible Vault 可加密变量和文件,进而咱们可保护诸如密码或密钥等敏感内容,而不是让他们以明文形式在 playbook 或角色中可见。要使用 Ansible Vault,咱们需要一或多个用于加密与解密内容的密码。若咱们将咱们的保险库密码,存储在秘密管理器等第三方工具中,咱们还需要一个脚本来访问他们。要将该密码与 [`ansible-vault`](../cli/ansible-vault.md) 这个命令行工具一起使用,来创建和查看加密变量、创建加密文件、加密现有文件,或编辑、重制密钥,re-key,或解密文件。然后,咱们就可以把加密内容置于源代码控制系统之下,而更安全地共享内容。
44

55

6-
> **警告**:Ansible Vault 下的加密,只能保护 “静态数据,data at rest”。一旦内容被解密(即 “使用中的数据,data in use”),play 及插件的作者,就有责任避免任何的秘密泄露,有关隐藏输出的详情,请参阅 [`no_log`](https://docs.ansible.com/ansible/latest/reference_appendices/faq.html#keep-secret-data),有关 Ansible Vault 下所使用编辑器的安全考虑,请参阅 [确保编辑器安全的步骤](encryping.md#保全编辑器的步骤)
6+
> <span style="background-color: #f0b37e; color: white; width: 100%"> **警告**:</span>
7+
>
8+
> - Ansible Vault 下的加密,只能保护 “静态数据,data at rest”。一旦内容被解密(即 “使用中的数据,data in use”),play 及插件的作者,就有责任避免任何的秘密泄露,有关隐藏输出的详情,请参阅 [`no_log`](https://docs.ansible.com/ansible/latest/reference_appendices/faq.html#keep-secret-data),有关 Ansible Vault 下所使用编辑器的安全考虑,请参阅 [确保编辑器安全的步骤](encryping.md#保全编辑器的步骤)
79
810

911
通过提供用于加密变量和文件的密码,咱们可在临时命令和 playbook 中,使用加密的变量和文件。咱们可修改 `ansible.cfg` 文件,指定出某个密码文件的位置,或者始终提示输入密码。

0 commit comments

Comments
 (0)