出身背景
我的问题看起来很简单,但很快就会变得更复杂.
基本上,我已经厌倦了手动维护我的服务器,我决定是时候找到一种方法,让服务器管理员更适合生活了.就在那时我找到了Ansible.很好啊?当然比为我想自动化的所有东西制作bash脚本(louder scream)要好得多.
有什么问题吗?
我很难弄清楚我的Ansible playbook将以什么用户的身份运行某些东西.我还需要能够指定某些任务将作为什么用户运行.以下是一些特定的用例:
将回购协议克隆为另一个用户:
我的目的是让它运行我的 node .js webapp,我们将其称为bill(它只能使用sudo运行我创建的启动 node 服务器的脚本,而不是root或我的用户可以使用sudo执行所有命令).为此,我需要能够让Ansible的git模块将我的git repo克隆为bill.我该怎么做?
知道Ansible将如何扎根:
据我所知,您可以通过定义"用户"和playbook文件的开头来设置Ansible将连接到您维护的服务器的用户.以下是我不明白的:如果我告诉它通过我的用户名joe连接,并要求它通过apt模块更新包,它将如何获得根?Sudo通常会提示我输入密码,为了安全起见,我更愿意这样保存.
最后请求
我搜索了Ansible文档,在谷歌上做了一些(我认为是彻底的)搜索,通常只是试图自己弄清楚,但这些信息仍然让我无法理解.
我对Ansible非常陌生,虽然它基本上是直截了当的,但如果我能确切地了解Ansible是如何运行的,它在哪些用户上运行,以及如何/在哪里指定在不同时间使用哪个用户,我将受益匪浅.
提前谢谢