最近开始使用ansible。 我们有服务器的应用程序在不同的用户下设置,如服务器xyz.com,Unix用户是xyz_user等。
所以在xyz.com的情况下,
ansible xyz.com -a 'command' -u xyz_user -K
我们怎样才能将sudo用户设置为合理的configuration,以便自动sudo到为服务器定义的特定用户?
你可以利用这些types的东西的有力的剧本。
例如
--- - hosts: host1:host2 user: user1 sudo: yes tasks: - name: update package list action: command /usr/bin/apt-get update - name: upgrade packages action: command /usr/bin/apt-get -u -y dist-upgrade - hosts: host3 user: ubuntu sudo: yes tasks: - name: update package list action: command /usr/bin/apt-get update - name: upgrade packages action: command /usr/bin/apt-get -u -y dist-upgrade
希望对你有帮助 :)
我build议使用基于库存或组variables的主机variables。 这使您可以为每台主机或每组主机设置ssh用户。 这种方法的优点是它对你的手册是透明的。 在剧本中,你只需要担心安装的东西,而不是访问。
有关如何通过主机和组来设置用户的示例:
[xyz] www.xyz.com ansible_ssh_user=xyz_user [abc] www.abc.com [abc:vars] ansible_ssh_user=abc_user
下面是说明它如何比我更好的文档: http : //docs.ansible.com/intro_inventory.html