Ansible
Ansible 從 CSV 創建使用者
我剛開始使用 Ansible。使用 Ansible 管理多個使用者帳戶時是否有最佳實踐;(例如;創建、禁用和刪除使用者帳戶)。我想,從 csv 文件管理帳戶會更早。我找不到任何參考或範例。
我在下面創建了以下測試。但是為了可用性,似乎對 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' }
感謝您的幫助。
文件中有一個很好的章節:變數文件分離。
定義
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
– 相信我,它在復雜的劇本中更健壯。如果您想管理不同主機上的不同使用者集,您可能需要使用庫存組/主機變數而不是播放級變數文件。