monolithprojects.user_management

ユーザー管理

最新バージョン Galaxy品質 Galaxyダウンロード数 GitHub Actions

このAnsibleロールは、Linuxユーザーの管理(作成、編集、削除)を行います。 管理には、SSHキーの配布も含まれます。

動作の仕組み

このロールは、各ホストのローカルファクトを使用して、user_managementにリストされたユーザー名を保存します。このロールによって管理されるのは、これらのユーザーのみです。user_managementリストからユーザーを削除すると、そのユーザーとホームディレクトリはホストから削除されます。user_managementリストに記載されていないユーザー(このAnsibleロールによって作成されていないユーザー)は変更されません。

このロールでできること

  • ユーザーの作成
  • ユーザーの削除
  • ユーザーの編集
  • SSHキーの管理

要件

  • 対応しているLinuxディストリビューション:

    • CentOS/RHEL 7,8
    • Debian 9,10
    • Fedora 29,30,31,32
    • Ubuntu 16,18,20

    注意: これらは定期的にテストされているLinuxディストリビューションです。このロールは、他のLinuxディストリビューションでも問題なく動作する可能性があります。

ロール変数

これはdefaults/main.ymlからのコピーです。

local_facts_file: linux_users.fact
local_facts_path: /etc/ansible/facts.d
user_management:
#   - name: userx                       <<< ユーザー名(必須)。
#     comment: ユーザー X               <<< (オプション)ユーザーの説明。
#     groups:                           <<< (オプション)ユーザーが追加されるグループのリスト。
#       - games
#       - video
#     ssh_keys:                         <<< (オプション)認証された公開鍵のリスト。
#       - 'ssh-ed25519 xxxx something'
#     shell: /bin/bash                  <<< (オプション)ユーザーシェル(デフォルトは"/bin/bash")。
#     expires: -1                       <<< (オプション)ユーザーの有効期限(エポック形式、デフォルトは"-1")。
#     create_home: yes                  <<< (オプション)ホームディレクトリを作成(デフォルトは"yes")。
#     system: no                        <<< (オプション)システムアカウントを作成(デフォルトは"no")。

プレイブックの例:

この例では、Ansibleが3人のユーザーを作成(または最初の実行でない場合は編集)します。user1はコメントを持ち、デフォルトシェルはzshで、Unixエポック時間1640991600でユーザーの有効期限が切れ、ユーザーグループsudodockerに追加され、最後に2つのSSH公開鍵が追加されます。user2はデフォルトで作成され、appuserはシステムユーザーとして作成されます。

---
- name: ユーザー管理
  hosts: all
  user: ubuntu
  gather_facts: yes
  become: yes
  vars:
  
    user_management:
      - name: user1
        comment: 私のテストユーザー
        shell: /bin/zsh
        expires: 1640991600
        groups:
          - sudo
          - docker
        ssh_keys:
          - 'ssh-ed25519 xxxxxx my_user_key'
          - 'ssh-rsa xxxxxx my_user_key'

      - name: user2

      - name: appuser
        system: yes
        create_home: no

  roles:
      - ansible-user_management

ライセンス

MIT

作成者情報

2020年にミハル・ムランスキーによって作成されました。

プロジェクトについて

Linux users and ssh keys management

インストール
ansible-galaxy install monolithprojects.user_management
ライセンス
Unknown
ダウンロード
61k
所有者
Full-time Cloud Engineer, part-time adventurer