我想管理两个用户帐户,这些帐户恰好位于同一主机(mylaptop)上.我为他们每个人都有一个单独的游戏.但是,Ansible继续以同一个用户身份执行这两个游戏,尽管我在我的库存中写道:
[personal_computers] mylaptop ansible_ssh_user=personal-user [work_computers] mylaptop ansible_ssh_user=work-user
这是我用于测试的剧本(test.yml):
- hosts: personal_computers tasks: - debug: var={{ ansible_env.HOME }} - hosts: work_computers tasks: - debug: var={{ ansible_env.HOME }}
当我使用ansible-playbook -i inventory test.yml -vvvv运行它时,我可以看到所有连接都是由用户工作用户完成的,并且两个调试任务都返回/ home / work-user.这是ansible的错误吗?我怎样才能完成我需要的东西,即作为两个不同的用户运行两个游戏?
我正在使用ansible 1.9.2.
解决方法
您也可以使用2个不同的库存主机名并指定ansible_ssh_host主变量:
[personal_computers] personal-laptop ansible_ssh_host=mylaptop ansible_ssh_user=personal-user [work_computers] work-laptop ansible_ssh_host=mylaptop ansible_ssh_user=work-user