我的托管服务提供商的一位 UNIX 工程师告诉我,在服务器上安装 Ansible 是有问题的,因为有人可以root
从中获取权限。
编辑的旁注:Ansible 实际上安装在服务器上,用于配置同一台服务器并将应用程序部署到上localhost
。这是一个非常特殊的情况,因为也没有能够安装 Ansible 的跳转主机。
我不明白这是怎么可能的。据我所知,Ansible 能够使用它所运行用户的权限。如果该用户有root
权限,Ansible 也可以使用这些权限(例如使用become
)。但如果没有,则无法提升权限。
Docker 则不同(不确定现在是否如此)。能够运行 Docker 容器就等于拥有特权访问。
这个说法是Ansible == root
真的吗?有谁知道有哪条消息来源支持这个说法或相反的说法吗?
答案1
您说得完全正确,Ansible 只是在 ssh 上运行,它无法提升普通 ssh 用户的权限。工程师说的话毫无意义。他显然不了解这个工具,也许他做出了一些错误的假设(认为它像 puppet/cfengine/salt 一样工作)。
事实上,他谈论的是“安装 ansible”.. 嗯,你没有在你管理的服务器上安装 ansible,因为它没有任何代理。
你只需要在你想要运行编排作业的主机上安装 ansible(也可以是你的笔记本电脑)。这也意味着你甚至不需要告诉他你将使用 ansible :)