-1

我正在测试一些 Ansible 部署,需要将 ansible 用户添加到 sudoers。我每次都复制这个脚本而不是编辑:

echo 'ansible ALL=(ALL)       NOPASSWD: ALL' | sudo EDITOR='tee -a' visudo

这是添加ansible ALL=(ALL) NOPASSWD: ALL到文件的末尾。

如何在根行之后添加它以通过脚本使其像这样?

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
ansible ALL=(ALL)       NOPASSWD: ALL
4

2 回答 2

1

好吧,这似乎有点笨拙,但是...

使用以下行创建一个名为 add_ansible.sed 的文件:

/^root/aansible ALL=(ALL) NOPASSWD: ALL

然后像这样运行你的 visudo:

sudo EDITOR='sed -i -f add_ansible.sed' visudo
于 2018-08-25T18:54:23.580 回答
-1

如果您真的必须这样做,请将其作为剧本的一部分。
配置管理不应发生在工具之外,以防止漂移。

  • 模板:
    src:模板/sudoers
    目标:/etc/sudoers
    验证:'/usr/sbin/visudo -cf %s'
于 2018-08-25T15:49:17.823 回答