adfinis.users
ユーザー
この役割は、顧客およびAdfinisのユーザーアカウントを設定します。
要件
この役割では、システム上にsudo権限を持つ初期の非ルートユーザーが存在することを前提としています({{users_default_user}}
、下記の役割変数を参照)。
そのユーザーは初期のユーザーアカウント設定に使用され、その後削除されます。この削除は、この役割の最後のタスクで行われます(つまり、初回の実行は問題ありませんが、繰り返すとログインに失敗します)。
したがって、プレイブック(または一連のプレイブック)では、この役割を2つのバリアントで適用することをお勧めします。
最初は、
remote_user: {{users_default_user}}
を使用して適用します。その後、目的のユーザー(個人アカウントまたは許可されている場合は
root
)で適用します。
初期設定用のプレイブック/プレイと、継続的管理用のプレイブック/プレイを保持することを推奨します。
役割の依存関係
(なし)
役割の変数
必須
users_root_password_salt
(文字列, デフォルト: 未設定):
ルートパスワードをハッシュ化するために使用されるソルト。
注:users_root_password
が設定され、users_root_password_is_hashed
がfalseの場合のみ必要です。users_customer_group
(文字列):
すべての顧客ユーザーアカウントが追加されるシステムグループの名前。
注:users_customer
が空でない場合のみ必要です。
任意
users_root_password
(文字列, デフォルト: 未設定):
これが未設定の場合、ルートパスワードは変更されません。
設定されていてusers_root_password_is_hashed
がfalseの場合、これは平文のパスワードであり、users_root_password_salt
も設定する必要があります。
設定されていてusers_root_password_is_hashed
がtrueの場合、これはハッシュ化されたパスワード(ansible.builtin.password_hash
によって生成されたもの)と見なされます。users_root_password_is_hashed
(ブール値, デフォルト:false
):
trueに設定すると、users_root_password
はすでにハッシュ化されていると見なされます(この場合、users_root_password_salt
は必要ありません)。users_root_authorized_keys
(リスト, デフォルト:[]
):
root
としてログインするためのSSH公開鍵が与えられます。
各リスト要素は以下のプロパティを持つオブジェクトです:key
(文字列, 必須):
鍵データ自体。comment
(文字列, 任意, デフォルト: 未設定):
鍵行に付加されるコメント(通常はuser@host
)。description
(文字列, 任意, デフォルト: 未設定):
鍵行の上にコメントとして記載される人間が読める説明。options
(文字列, 任意, デフォルト: 未設定):
鍵行の前に付加される鍵オプションの文字列。
users_adfinis
(リスト, デフォルト:[]
):
設定されるAdfinisユーザーアカウント。各ユーザーは{{users_adfinis_group}}
のシステムグループに追加されます。逆に、この変数にリストされていない既存の非システムユーザーは削除されます。
各リスト要素は以下のプロパティを持つオブジェクトです:username
(文字列, 必須):
ユーザーアカウント名。authorized_keys
(リスト, デフォルト:[]
):
root
としてログインするためのSSH公開鍵が与えられます。
各リスト要素はusers_root_authorized_keys
で説明されたプロパティを持つオブジェクトです。
users_adfinis_group
(文字列, デフォルト:adfinis
):
すべてのAdfinisユーザーアカウントが追加されるシステムグループの名前。users_adfinis_ssh_pubkey_options
(文字列, デフォルト: 未設定):
すべての鍵行の前に付加される鍵オプションの文字列。users_adfinis_homedir_mode
(ファイルパーミッションモード, デフォルト:0700
):
各Adfinisユーザーのホームディレクトリのファイルパーミッションモード。
注: Jinja2に関連する歴史的な問題のため、モードの8進表現は文字列として渡すか(不適切な変換を避けるため)、またはこのAnsibleオプションこちらをtrueに設定する必要があります。users_adfinis_unrestricted_sudo
(ブール値, デフォルト:true
):
Adfinisユーザーに制限のないsudo
権限が付与されるかどうか。users_adfinis_user_remove_home
(ブール値, デフォルト:false
):
リストに載っていないAdfinisアカウントを削除する際に、そのホームディレクトリも削除するかどうか。users_customer
(リスト, デフォルト:[]
):
設定される顧客ユーザーアカウント。各ユーザーは{{users_customer_group}}
のシステムグループに追加されます。
各リスト要素はusers_adfinis
で説明されたプロパティを持つオブジェクトです。users_customer_homedir_mode
(ファイルパーミッションモード, デフォルト:0755
):
各顧客ユーザーのホームディレクトリのファイルパーミッションモード。
デフォルトは全世界に読み取り可能にするため、顧客がsudo -u
を使用して他のユーザーとしてコマンドを実行し、なおかつホームディレクトリにファイルを渡せるようにしています。
注: Jinja2に関連する歴史的な問題のため、モードの8進表現は文字列として渡すか、このAnsibleオプションこちらをtrueに設定する必要があります。users_customer_unrestricted_sudo
(ブール値, デフォルト:false
):
顧客ユーザーに制限のないsudo
権限が付与されるかどうか。users_default_user
(文字列, デフォルト:adfinis
):
システム上に最初に存在する非ルートユーザーアカウントの名前で、削除される予定です。users_default_user_remove_home
(ブール値, デフォルト:false
):
最初に存在する非ルートユーザーアカウントのホームディレクトリも削除するかどうか。
役割のタグ
init
:role::users:root
とrole::users:adfinis
を組み合わせたもの。role::users
: この役割のすべてのタスク。role::users:root
: ルートユーザーアカウントを設定するすべてのタスク。role::users:adfinis
: Adfinisユーザーアカウントを設定するすべてのタスク。role::users:adfinis:create
: Adfinisユーザーアカウントを設定するすべてのタスク(削除なし)。role::users:adfinis:delete
: 不要なAdfinisユーザーアカウントを削除するすべてのタスク。role::users:customer
: 顧客ユーザーアカウントを設定するすべてのタスク。role::users:default
: 初期ユーザーアカウントをクリーンアップするすべてのタスク。
サポートポリシー
最新のリリースのみが保守およびサポートされます(タグページを参照)。
新しいリリースが作成されると、以前のリリースブランチはバグフィックスを受け取らなくなります。