パスワード認証のユーザを作成する Ansible Playbook
Ansible でパスワード認証のユーザを作成し、sudoers に追加する方法をメモしておきます。
パスワードを用意する
Ansible の user モジュールではパスワードを平文で指定することが出来ません。そこで事前に openssl でパスワードをハッシュ化しておきます。
| 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'"
|