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フィールドも保持することをお勧めします。

プロジェクトについて

provision users and groups on linux servers

インストール
ansible-galaxy install webofmars.users
ライセンス
mit
ダウンロード
298
所有者
webofmars is a devops & IT company based in Marseille, France