cchurch.admin-users
管理者ユーザー
管理者ユーザー、認証キー、およびsudoアクセスを管理します。
Ansibleのバージョンが2.8未満のサポートは、バージョン0.9.0から削除されました。
要件
sudo
パッケージは、まだインストールされていない場合は、インストールされます。また、Amazon Linuxでは、この役割を実行する前にshadow-utils
パッケージをインストールする必要があります。
ロール変数
このロールをカスタマイズするために、以下の変数を定義できます:
admin_users
: 作成または更新する管理者ユーザーのリスト。デフォルトは[]
です。このリストの各項目は、以下のキーを持つハッシュである必要があります:username
: 管理者ユーザーのユーザー名(必須)。fullname
: 管理者ユーザーのフルネーム(オプション)。shell
: このユーザーのデフォルトシェル。admin_users_default_shell
がこのキーが省略された場合に使用されます。pubkey
: 指定されたユーザーに関連付ける公開鍵。この値は、ユーザーの公開鍵の内容を含む文字列、鍵のリストのURLを含む文字列(例:https://github.com/username.keys)、または公開鍵の内容やURLを含む複数の文字列のリストにできます。 鍵のリストのサポートは0.7.0で追加されました。pubkey_options
:authorized_key
モジュールに渡す追加オプション(オプション)。exclusive
: 他のすべての公開鍵を削除するかどうかを示すブール値(オプション)。
admin_user_groups
: 作成/削除するかどうかを示すブール値。デフォルトはtrue
。admin_users_sudo_nopasswd
: 管理者ユーザーに対してNOPASSWD
オプションでsudoを有効にするかどうかを示すブール値。デフォルトはtrue
。admin_users_default_shell
: 管理者ユーザーのデフォルトシェル。デフォルトは"/bin/bash"
。admin_users_to_remove
: リモートシステムから削除するユーザー名のリスト。デフォルトは[]
です。admin_user_groups
がtrue
の場合、これらのユーザー名を持つグループも削除されます。
依存関係
なし。
例プレイブック
以下のプレイブックは、異なるオプションでdevおよびprodサーバーの管理者ユーザーを更新します:
- hosts: dev-servers
vars:
dev_admin_users:
- username: joe
fullname: "Joe Dev"
pubkey:
- "ssh-rsa ..."
- "ssh-dsa ..."
- username: jim
fullname: "Jim Dev"
shell: "/bin/sh"
pubkey: "https://github.com/jim.keys"
exclusive: true
roles:
- role: cchurch.admin-users
admin_users: dev_admin_users
- hosts: prod-servers
vars:
prod_admin_users:
- username: jon
fullname: "Jon Admin"
pubkey: "ssh-rsa ..."
roles:
- role: cchurch.admin-users
admin_users: prod_admin_users
admin_users_sudo_nopasswd: false
ライセンス
BSD
著者情報
クリス・チャーチ(cchurch)