chasinglogic.ansible_users

ビルドステータス

ansible-users

システムのユーザーを管理するためのロールです。

これは、メンテナンスされていないようなので、singleplatform-eng.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に設定します。
  • authorized_keys_file (デフォルト: .ssh/authorized_keys) - sshサーバーが非標準の認証キーのファイルを使用する場合に設定します。

ユーザーの作成

追加するユーザーのリストを含む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 - ユーザーの補助グループのリスト。
  • append - yesの場合、グループを追加するだけで、グループリストに設定はしません(オプション)。
  • profile - カスタムシェルプロフィールを設定するための文字列ブロック。
  • ssh_key - ユーザーのSSHキーのリスト(オプション)。各SSHキーは直接含め、新しい行を含まないようにしてください。
  • generate_ssh_key - ユーザーのためにSSHキーを生成するかどうか(オプション、デフォルトはいいえ)。

さらに、各ユーザーに次の項目はオプションです:

  • 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_key:
      - "ssh-rsa AAAAA.... foo@machine"
      - "ssh-rsa AAAAB.... foo2@machine"
groups_to_create:
  - name: developers
    gid: 10000
users_deleted:
  - username: bar
    name: Bar User
    uid: 1002

ユーザーの削除

users_deleted変数には、システムから削除すべきユーザーのリストが含まれており、次回のansible実行時に削除されます。フォーマットは追加するユーザーと同じですが、必要なフィールドはusernameだけです。ただし、数値ユーザーIDが意図せず再利用されないようにするために、uidフィールドも保持することをお勧めします。

removeパラメータを使用してユーザーのホームディレクトリやメールスプールを削除し、forceパラメータを使用してファイルの強制削除を選択することもできます。

users_deleted:
  - username: bar
    uid: 1002
    remove: yes
    force: yes
プロジェクトについて

User creation role

インストール
ansible-galaxy install chasinglogic.ansible_users
ライセンス
mit
ダウンロード
214
所有者
Linux and FOSS Enthusiast.