我试图让terraform为我创建除了指定管理员以外的用户,并将它们添加到sudoers以允许我的ansible脚本然后运行而无需sudo登录 . 可选地,如果我可以让我的管理员登录并且不需要sudo passowrd也可以工作,因为我可以通过ansible添加我需要的用户 .

我尝试了用我微弱的谷歌搜索技巧找到的唯一选择 . 选项是将配置器添加到我的azurerm_virtual_machine资源,该资源通过remote-exec运行以下命令:

provisioner "remote-exec" {
    inline = [
        "useradd myuser && echo myuser:password123 | /usr/sbin/chpasswd",
        "chmod +w /etc/sudoers && echo \"myuser ALL=(ALL)       NOPASSWD: ALL\" >> /etc/sudoers && chmod -w /etc/sudoers",
    ]
    connection {
        user = "myadmin"
        agent = false
    }
    on_failure = "continue"
}

它说它已成功运行但是当我ssh到我配置的其中一个盒子时,这些更改没有发生 . 我究竟做错了什么?