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