webofmars.users
ansible-users
システム上のユーザーを管理するための役割です。
役割の設定
- users_create_per_user_group(デフォルト:true) - ユーザーを作成する際に、同じユーザー名のグループも作成し、そのグループをユーザーの主グループにします。
- users_group(デフォルト:users) - users_create_per_user_groupが設定されていない場合、すべての作成されたユーザーの主グループとなります。
- users_default_shell(デフォルト:/bin/bash) - ユーザーのために指定されていない場合のデフォルトシェルです。
- users_create_homedirs(デフォルト:true) - 新しいユーザーのためにホームディレクトリを作成します。ホームディレクトリを別に管理する場合は、これをfalseに設定します。
ユーザーの作成
追加するユーザーのリストを含むusers変数を追加します。これをgroup_vars/all
または特定のマシンにのみユーザーを配置したい場合はgroup_vars/groupname
に置くのが良いでしょう。
各ユーザーに必要な属性は以下の通りです:
- username - ユーザーのユーザー名。
- name - ユーザーのフルネーム(gecosフィールド)
- home - 作成するユーザーのホームディレクトリ(オプション、デフォルトは/home/username)
- uid - ユーザーの数値ユーザーID。これはシステム間でのuidの一貫性のために必要です。
- gid - グループの数値グループID(オプション)。そうでない場合は、uidが使用されます。
- password - ハッシュが提供されると、それが使用されますが、そうでない場合はアカウントがロックされます。
- update_password - 'always'または'on_create'のいずれかになります。
- 'always'は異なる場合にパスワードを更新します(デフォルト)。
- 'on_create'は新しく作成されたユーザーのためにのみパスワードを設定します。
- group - オプションの主グループのオーバーライド
- groups - ユーザーのための補助グループのリスト。
- profile - カスタムシェルプロファイルを設定するための文字列ブロック
- ssh_authorized_keys - ユーザーのためのsshキーのリストです。各sshキーは直接含め、改行は含めないでください。
さらに、各ユーザーに対して以下の項目はオプションです:
- generate_ssh_key - ユーザーのためにSSHキーを生成するかどうか(オプション、デフォルトはいいえ)。
- ssh_priv_key - ユーザーのsshプライベートキー(RSA形式)
- shell - ユーザーのシェル。デフォルトは/bin/bashです。すべてのユーザーに同じシェルを提供したい場合は、users_default_shell変数を使用して設定できますが、/bin/bashとは異なる場合もあります。
例:
---
users:
- username: foo
name: Foo Barrington
groups: ['wheel','systemd-journal']
uid: 1001
home: /local/home/foo
profile: |
alias ll='ls -lah'
ssh_authorized_keys:
- "ssh-rsa AAAAA.... foo@machine"
- "ssh-rsa AAAAB.... foo2@machine"
ssh_priv_key: |
-----BEGIN RSA PRIVATE KEY-----
Key Content <...>
-----END RSA PRIVATE KEY-----
groups_to_create:
- name: developers
gid: 10000
users_deleted:
- username: bar
name: Bar User
uid: 1002
ユーザーの削除
users_deleted
変数には、システムに存在しなくなるべきユーザーのリストが含まれており、これらは次回のansible実行時に削除されます。フォーマットはユーザー追加のためのものと同じですが、唯一の必須フィールドはusername
です。しかし、数値ユーザーIDが誤って再利用されないように、uid
フィールドも保持することをお勧めします。