LoginSignup
1
1

More than 5 years have passed since last update.

Ansibleで複数ユーザを一括追加

Last updated at Posted at 2018-11-05

Ansibleで複数ユーザを一括追加

Sambaで使用する複数ユーザを一括で追加する。

ディレクトリ構成
.
├── group_vars
│   ├── user_groups.yml
│   └── users.yml
├── hosts
├── roles
│   └── useradd
│       └── tasks
│             └── main.yml
└── setup.yml
setup.yml
- hosts: local
  user: vagrant
  roles:
    - setup
  vars_files:
    - group_vars/user_groups.yml
    - group_vars/users.yml

追加するユーザ・グループをgroup_varsに記述

user_groups.yml
user_groups:
  - { name: 'engineer', comment: 'エンジニアグループ' }
users.yml
users:
  - {name: 'user1', group: 'engineer', comment: 'ユーザ1'}
  - {name: 'user2', group: 'engineer', comment: 'ユーザ2'}
  - {name: 'user3', group: 'engineer', comment: 'ユーザ3'}

複数ユーザを追加

roles/useradd/tasks/main.yml
- name: グループ作成
  become: True
  group:
    name: "{{ item.name }}"
  with_items:
    - "{{ user_groups }}"

- name: ユーザ作成
  become: True
  user:
    name: "{{ item.name }}"
    shell: /bin/false
  with_items: "{{ users }}"

- name: グループ追加
  become: True
  user:
    name: "{{ item.name }}"
    append: yes
    groups: "{{ item.group }}"
  with_items: "{{ users }}"

group_varsに記述したユーザをwith_itemsを利用してループさせることで、一括追加。
今回は、Samba用アカウントなので、shell: /bin/falseにしてshellを奪う。

user - Manage user accounts — Ansible Documentation

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1