Ansible ユーザ作成

 

https://docs.ansible.com/ansible/latest/collections/ansible/builtin/user_module.html

 

前提: 
Python 3.9.16
Rocky Linux 9.2
ansible [core 2.15.1]
コントロールノード -> ターゲットノードの公開鍵認証設定済み
ターゲットノードでvisudo設定済み


-- 1. 設定ファイル作成

vim ansible.cfg

[defaults]

forks = 10
log_path = $HOME/.ansible/ansible.log
host_key_checking = True
gathering = smart
transport = smart

 

-- 2. インベントリファイル作成

vim inventory.ini

localhost
mmm191


[server]
192.168.137.191
192.168.137.192
192.168.137.193

-- 3. ansible動作確認

ansible localhost -i inventory.ini -m ansible.builtin.ping
ansible server -i inventory.ini -m ansible.builtin.ping

tail $HOME/.ansible/ansible.log

 


-- 4. プレイブック作成

vim playbook.yml

---
- hosts: server

  become: true
  gather_facts: true

  tasks:

    - name: Add groups
      ansible.builtin.group:
        name: "{{ item.name }}"
        gid: "{{ item.gid }}"
        state: present
      loop:
        - { name: group01, gid: 3001 }
        - { name: group02, gid: 3002 }
        - { name: group03, gid: 3003 }
    
    - name: Add users
      ansible.builtin.user:
        name: "{{ item.name }}"
        group: "{{ item.group }}"
        uid: "{{ item.uid }}"
        state: present
      loop:
        - { name: user01, group: group01, uid: 4001 }
        - { name: user02, group: group02, uid: 4002 }
        - { name: user03, group: group03, uid: 4003 }

 


-- 5. プレイブック実行

ansible-playbook -i inventory.ini playbook.yml --syntax-check

ansible-playbook -i inventory.ini playbook.yml