AsavarTzeth.users
Ansibleユーザー役割 - ansible-role-users
ユーザー、グループ、SSH認証鍵、およびsudoを管理するためのAnsibleロール。
このロールの設定形式は、cloud-init/cloud configで使用される形式に強く影響されています。同じまたは似たようなyaml構造を可能な限り使用し、意味がある場合には拡張することを目指しています。
いくつかの小さな重要な違い:
- Ansibleが変数名を解釈する方法のため、すべてのダッシュ文字をアンダースコアに置き換える必要があります。
cloud-initについての詳細は、cloud-initドキュメントを参照してください:
https://cloudinit.readthedocs.io/en/latest/index.html
要件
このロールは、Ansible 2.2.0以上で開発およびテストされています。 それ以下のバージョンでも動作するかもしれませんが、現在はサポートされていません。
ロール変数
変数とデフォルト値のリスト:
# ユーザー作成時に使用されるデフォルトのユーザーシェル。
users_default_shell: /bin/bash
# プライマリグループが存在しない場合に作成するかどうかを定義します。
# ロールが失敗するのを防ぐために、デフォルトではtrueに設定されています。
# グループが他で管理されている場合は、これを無効にしてください。
users_create_primary_group: true
# sudoを使用して権限昇格の管理を有効にします。
# sudoが使用されない場合や、他で管理されている場合はこれを無効にしてください。
users_enable_sudo: true
# 必須のパラメータは名前だけです。
users:
- name: '' # ユーザー名
gecos: '' # コメントフィールド、ユーザーの本名として使われることもあります。
homedir: '' # ユーザーのホームディレクトリ。
primary_group: '' # プライマリユーザーグループ。
groups: [] # ユーザーの補足グループのリスト。
no_create_home: false # trueの場合、ホームディレクトリを作成しません。`system: true`の場合はtrueがデフォルト。
shell: "{{ users_default_shell }}" # デフォルトのユーザーシェル。
passwd: '' # SHA512でハッシュ化およびソルトされたパスワード。
ssh_authorized_keys: [] # authorized_keysファイルに追加するSSH公開鍵のリスト。
sudo: '' # sudoを設定するために使用されるsudo文字列。
system: false # trueの場合、ユーザーはシステムユーザーになります。既存のユーザーに影響しません。
依存関係
なし
サンプルプレイブック
ユーザーを追加または変更し、sudoとSSH認証鍵を設定します:
- hosts: all
roles:
- role: AsavarTzeth.users
users_default_shell: /bin/bash
users_create_primary_group: true
users_enable_sudo: true
users:
- name: foobar1
gecos: Foo B. Bar
primary_group: foobar1
groups: ['users','wheel']
shell: /bin/bash
ssh_authorized_keys:
- "ssh-rsa AAAAA.... foo@host"
- "ssh-rsa AAAAB.... bar@host"
sudo: ALL=(ALL) ALL
システムユーザーを追加または変更:
- hosts: all
roles:
- role: AsavarTzeth.users
users:
- name: foobar2
gecos: FooBarサービスアカウント
homedir: /
primary_group: foobar
shell: /sbin/nologin
system: true
ユーザーを削除する:
- hosts: all
roles:
- role: AsavarTzeth.users
users_deleted:
- name: foobar1
- name: foobar2
ユーザーパスワードを変更する:
- hosts: all
roles:
- role: AsavarTzeth.users
users:
- name: foobar1
passwd: $6$mI3A2y4O.YfqhlPt$szsWfnICXsYLbsIghLauJG.I3enLYGDPBYO1DYTHn9gB6y3Q2faM7iqievJlU5ZMTT9X3wHrUv0c7HWkToGBp/
ライセンス
BSD-2-Clause
著者情報
パトリック・ニルソン