Skip to content

パスワード認証のユーザを作成する Ansible Playbook

Ansible でパスワード認証のユーザを作成し、sudoers に追加する方法をメモしておきます。

パスワードを用意する

Ansible の user モジュールではパスワードを平文で指定することが出来ません。そこで事前に openssl でパスワードをハッシュ化しておきます。

1
openssl passwd -salt SALT -1 PASSWORD

ユーザを作成する Playbook

Ansible の Playbook は以下のようになります。「UID/GID の指定」等は省略しているので、必要に応じて追加します。sudo する際にパスワードを省略するのであれば(PASSWD では無く)NOPASSWD を指定します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
---
- hosts: all
  remote_user: user
  become: yes
  become_method: sudo
  vars:
    USERNAME: USERNAME
    PASSWORD: $1$SALT$YQNBYRN9kIvLkQIp4SpsO0
  tasks:
    - name: add a new user
      user: name={{USERNAME}} password={{PASSWORD}} state=present
    - name: add a sudo user
      lineinfile: "dest=/etc/sudoers backup=yes state=present regexp='^{{USERNAME}}' line='{{USERNAME}} ALL=(ALL) PASSWD: ALL'"