Ansible

Ansible 從 CSV 創建使用者

  • May 6, 2022

我剛開始使用 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– 相信我,它在復雜的劇本中更健壯。

如果您想管理不同主機上的不同使用者集,您可能需要使用庫存組/主機變數而不是播放級變數文件。

引用自:https://serverfault.com/questions/850497