gpt4 book ai didi

Ansible 从命令行获取用户名

转载 作者:行者123 更新时间:2023-12-02 15:36:47 25 4
gpt4 key购买 nike

在我的剧本中,我经常引用用户名(仅指“ubuntu”)。

是否有内置的方式来表示“从命令行中传递的值获取它”?

我知道我能做到

ansible-playbook <task> -u <user> -K --extra-vars "user=<user>"

然后我可以在剧本中使用{{user}},但定义用户两次感觉很奇怪。

最佳答案

正如 Woodham 所说,代表连接用户的 ansible 变量是

{{ ansible_user }} (Ansible < 2.0 was {{ ansible_ssh_user }} )

但您不必在 list 文件本身中定义它。

您可以在以下位置定义它:

<强>1。你的玩法,如果你使用 ansible-playbook: See the manual on Playbooks

- name: Some play
hosts: all
remote_user: ubuntu

<强>2。在库存文件中: See the manual on inventory

[all]
other1.example.com ansible_user=ubuntu (Ansible < 2.0 was ansible_ssh_user)

<强>3。正如您所说,在命令行上:

ansible-playbook -i inventory -u ubuntu playbook.yml

<强>4。作为 remote_user 指令的 ansible 配置文件。 See the manual on a config file

ansible 配置文件可以放置在当前文件夹 ansible.cfg、您的 homedir .ansible.cfg/etc/ansible/ansbile.cfg .

[defaults]
remote_user=ubuntu

关于Ansible 从命令行获取用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24095807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com