在 visudo 根线后添加线

Add line in visudo after root line

我正在测试一些 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

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

  • 模板:
    来源:templates/sudoers
    目的地:/etc/sudoers
    验证:'/usr/sbin/visudo -cf %s'

嗯,看起来有点笨拙,但是...

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

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

然后 运行 你的 visudo 是这样的:

sudo EDITOR='sed -i -f add_ansible.sed' visudo