我正在使用ansible来运行远程主机上的特定命令(rosdep)。此命令必须以普通用户身份运行,而不是root用户,但偶尔会提示用户输入sudo密码以获得安装软件的root权限。
有没有办法指示ansible在运行远程命令时响应这些密码提示?我不想用sudo运行整个命令,因此-K选项不能用于此目的。
答案 0 :(得分:1)
考虑修改 sudoers 文件,以便在没有密码提示的情况下允许这些特定命令通过sudo
运行。
最简单但也许不是最好的方法是使用:
tessa ALL=NOPASSWD: ALL
这意味着允许所有命令在没有密码提示的情况下通过sudo运行。
更好的方法是找出哪些特定命令需要sudo权限,然后将它们添加到sudoers文件中。
例如:
tessa ALL=NOPASSWD:/usr/bin/whoami
您可以将修改后的/etc/sudoers
文件/模板作为Ansible剧本的一部分发送。