【问题标题】:how to use passwordless user in Ansible如何在 Ansible 中使用无密码用户
【发布时间】:2020-06-30 10:15:44
【问题描述】:

我们有一台使用无密码用户来运行一些东西的机器。 我们的应用用户被配置为在该机器上支持 sudo,因此我可以运行“sudo su -”并成为该用户,而无需指定密码。 (这个在sudores文件中配置)

问题是如何使用我们的应用用户配置运行 playbook 的 ansible,它需要成为无密码用户。

我试图这样配置它- 变成:是 成为方法:须藤 成为用户: 但我得到-“sudo:需要密码”

如果我将方法切换到“su”,我会得到-“”超时(12s)等待提权提示:“

有什么想法吗?我知道 become_flags 可能会有所帮助,但没有看到太多关于它的文档

【问题讨论】:

  • 请在此处粘贴 Ansible 代码和您的 sudoers 文件(相关部分就足够了)

标签: ansible password-less


【解决方案1】:

become guide 中所述,您必须设置ansible_become_password,最好是using vault,或者如您所述为您的用户设置无密码sudo。

您可以通过编辑 sudoers 文件并设置适当的指令来做到这一点。您通常使用命令 visudo 编辑文件。例如,如果您的用户是 sudo 组的成员:

%sudo  ALL=(ALL:ALL) NOPASSWD: ALL

根据您的设置,这可能需要一些变化。

【讨论】:

  • 如果用户没有密码,我应该为 ansible_become_password 使用什么值? sudoers 文件已更新,正如我所写的那样-我可以从该用户的命令行执行“sudo su - ”并且它可以工作
  • 抱歉,我读得太快了你的问题......你的ansible用户是什么?可以给相关的sudoers配置吗?
  • 我们有一个用户用于我们用于所有系统的应用程序,但在某些系统上我们需要使用不同的用户。 “ansible_become_password”如何帮助我们?是不是应该是应用程序用户连接主机并尝试切换到其他用户的密码?
  • 好的,现在我们有多个问题要回答^^。首先,ansible 用来连接远程系统的用户是什么?它使用配置变量ansible_user 设置。我们需要首先回答这个问题,因为正是这个用户需要成为您应用程序的用户。
  • 是的,我们有这个用于连接远程机器的用户(让我们调用 usera)并配置为 ansible_user,我们有没有密码的用户(让我们调用 userb),但需要运行几个命令。实际上-我注意到,当我为 ansible_become_password 分配 usera 密码的值时,我通过了原始失败,现在我收到错误,我没有权限以 userb 身份运行“echo”
猜你喜欢
  • 2016-08-28
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
  • 2016-11-11
  • 2016-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多