这是基于这里的这个恶作剧问题。所描述的问题是有一个 bash 脚本,其中包含以下内容:
rm -rf {pattern1}/{pattern2}
rm -rf /
...如果两种模式都包含一个或多个空元素,则假设原始命令已正确转录并且 OP 正在执行大括号扩展而不是参数扩展,则该模式将扩展为 的至少一个实例。
在 OP对骗局的解释中,他指出:
命令 [...] 是无害的,但似乎几乎没有人注意到。
Ansible 工具可以防止这些错误,[...] 但是 [...] 似乎没有人知道这一点,否则他们会知道我所描述的不可能发生。
rm -rf /
因此,假设您有一个通过大括号扩展或参数扩展发出命令的 shell 脚本,使用Ansible是否会阻止该命令被执行,如果是,它是如何做到的?
rm -rf /
只要您使用 Ansible 来执行,以 root 权限执行真的“无害”吗?