route1337.linux_users

Ansibleロール - Linuxユーザー

このリポジトリには、Linuxユーザー(linux_users)のAnsibleロールが含まれています。

このロールの機能

このAnsibleロールは、インベントリを使用してLinuxユーザーを作成、更新、および削除し、そのSSHキーも管理します。

実行される変更:

  1. ユーザー用の管理グループを作成
    1. パスワードなしでsudoができるユーザー用のsysadminsグループを作成
    2. sudo権限のないユーザー用のsysusersグループを作成
    3. サービスアカウント用のパスワードなしでsudoができるsvcaccountsグループを作成
  2. rootユーザーの管理
    1. rootのパスワードとSSHキーを管理
  3. 非rootユーザーの管理
    1. ユーザーアカウントの作成、更新、削除
    2. ユーザーのホームディレクトリの作成、更新、削除
    3. ユーザーのSSHキーを管理
    4. ユーザーのグループメンバーシップを管理(上記のグループのいずれかを使用することが期待されています)

注意点

このロールにはいくつかの注意点があります:

  1. rootのパスワードは事前に暗号化されている必要があります
  2. 複数のSSHキーを使用する方法は、exclusive: yesの使用により次の2つの方法があります:
    1. キーの間に改行文字がある単一の文字列
    2. GitHubのキーのURLを指す
  3. すべての非rootユーザーにはパスワードが設定されず、sudoはパスワードなしで実行されるため、ローカルログイン特権は期待されていません
  4. /home/にホームディレクトリがあり、linux_users.usersに定義されていないユーザーは削除されます
    1. これは未承認のユーザーを管理する最良の方法ではなく、将来的に改善されることが期待されています

変数

以下の変数が必要です:

  1. linux_users.root_password - rootの事前に暗号化されたパスワード

以下の変数はオプションです:

  1. linux_users.root_key - rootが使用するSSHキー。未定義の場合、rootのauthorized_keysファイルは削除されます
  2. linux_users.users - 以下の変数を持つユーザーオブジェクト。未定義の場合、ユーザーは管理されません
    users:
      - username: pgibbons
        key: "ssh-rsa BLAH BLAH BLAH"
        comment: Peter Gibbons
        group: sysadmins
      - username: mbolton
        key: https://github.com/notthatmichaelbolton.keys
        comment: Michael Bolton
        group: sysusers
      - username: svc-ghactions
        key: ssh-rsa BLAH BLAH BLAH\nssh-rsa BLEH BLEH BLEH"
        comment: ServiceAccount-GitHub Actions
        group: svcaccounts
    

以下の変数はテスト用にのみ使用すべきです:

  1. is_kitchen - この変数が定義されている場合、tests/rolesのロールは未承認のユーザー削除のためのサンプルユーザーを作成します。また、user_cleanup.ymlのプレイはvagrantユーザーを削除対象から除外します

テスト

このロールは、このリポジトリに含まれるサンプルインベントリデータを使用してTest Kitchenで完全にテストされています。
TESTING.mdにはテストの詳細と手順が記載されています。

このAnsibleロールをサポートするための寄付

Route 1337 LLCのオープンソースコードは寄付に大きく依存しています。このAnsibleロールが役に立つと感じた場合は、GitHub Sponsorsボタンを使って、引き続きサポートを示していただけると幸いです。

ご支援ありがとうございます!

プロジェクトについて

Extremely basic user account management for Ubuntu and CentOS servers

インストール
ansible-galaxy install route1337.linux_users
ライセンス
mit
ダウンロード
183
所有者
Modern InfoSec, Zero Trust, and DevOps consulting for Web2 and Web3 clients.