我刚开始使用Ansible。 在使用Ansiblepipe理多个用户帐户时是否有最佳做法? (例如:创build,禁用和删除用户帐户)。 我认为,从csv文件pipe理帐户会更早。 我一直没有find任何参考或例子。
我在下面创build了以下testing。 但是为了可用性,似乎对csv文件运行这个会更容易,而且不必每次都编辑yml文件。
- hosts: servers remote_user: root tasks: - name: adding several users user: name={{ item.name }} state=present comment={{ item.comment }} password=$1$*)^%$CeUUJM&v#0pQhHjqjpqX1 update_password=on_create createhome=yes groups={{ item.groups }} with_items: - { name: 'testuser3', comment: 'testuser3', groups: 'wheel' } - { name: 'testuser4', comment: 'testuser4', groups: 'users' }
感谢您的帮助。
文档中有一个很好的章节: variables文件分离 。
定义users.yml :
users: - name: testuser3 comment: testuser3 groups: wheel - name: testuser4 comment: testuser4 groups: users
而在你的手册中:
- hosts: servers remote_user: root vars_files: - /vars/users.yml tasks: - name: adding several users user: name: "{{ item.name }}" state: present comment: "{{ item.comment }}" password: "$1$*)^%$CeUUJM&v#0pQhHjqjpqX1" update_password: on_create createhome: yes groups: "{{ item.groups }}" with_items: "{{ users }}"
PS我也改变了参数语法到YAML而不是key=value – 相信我,它在复杂的剧本中更加强大。
如果要在不同的主机上pipe理不同的用户集,则可能需要使用清单组/主机variables而不是播放级variables文件。