AsavarTzeth.users

ビルドステータス

Ansibleユーザー役割 - ansible-role-users

ユーザー、グループ、SSH認証鍵、およびsudoを管理するためのAnsibleロール。

このロールの設定形式は、cloud-init/cloud configで使用される形式に強く影響されています。同じまたは似たようなyaml構造を可能な限り使用し、意味がある場合には拡張することを目指しています。

いくつかの小さな重要な違い:

  • Ansibleが変数名を解釈する方法のため、すべてのダッシュ文字をアンダースコアに置き換える必要があります。

cloud-initについての詳細は、cloud-initドキュメントを参照してください:
https://cloudinit.readthedocs.io/en/latest/index.html

要件

このロールは、Ansible 2.2.0以上で開発およびテストされています。 それ以下のバージョンでも動作するかもしれませんが、現在はサポートされていません。

ロール変数

変数とデフォルト値のリスト:

# ユーザー作成時に使用されるデフォルトのユーザーシェル。
users_default_shell: /bin/bash

# プライマリグループが存在しない場合に作成するかどうかを定義します。
# ロールが失敗するのを防ぐために、デフォルトではtrueに設定されています。
# グループが他で管理されている場合は、これを無効にしてください。
users_create_primary_group: true

# sudoを使用して権限昇格の管理を有効にします。
# sudoが使用されない場合や、他で管理されている場合はこれを無効にしてください。
users_enable_sudo: true

# 必須のパラメータは名前だけです。
users:
  - name: ''                           # ユーザー名
    gecos: ''                          # コメントフィールド、ユーザーの本名として使われることもあります。
    homedir: ''                        # ユーザーのホームディレクトリ。
    primary_group: ''                  # プライマリユーザーグループ。
    groups: []                         # ユーザーの補足グループのリスト。
    no_create_home: false              # trueの場合、ホームディレクトリを作成しません。`system: true`の場合はtrueがデフォルト。
    shell: "{{ users_default_shell }}" # デフォルトのユーザーシェル。
    passwd: ''                         # SHA512でハッシュ化およびソルトされたパスワード。
    ssh_authorized_keys: []            # authorized_keysファイルに追加するSSH公開鍵のリスト。
    sudo: ''                           # sudoを設定するために使用されるsudo文字列。
    system: false                      # trueの場合、ユーザーはシステムユーザーになります。既存のユーザーに影響しません。

依存関係

なし

サンプルプレイブック

ユーザーを追加または変更し、sudoとSSH認証鍵を設定します:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users_default_shell: /bin/bash
      users_create_primary_group: true
      users_enable_sudo: true
      users:
        - name: foobar1
          gecos: Foo B. Bar
          primary_group: foobar1
          groups: ['users','wheel']
          shell: /bin/bash
          ssh_authorized_keys:
            - "ssh-rsa AAAAA.... foo@host"
            - "ssh-rsa AAAAB.... bar@host"
          sudo: ALL=(ALL) ALL

システムユーザーを追加または変更:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users:
        - name: foobar2
          gecos: FooBarサービスアカウント
          homedir: /
          primary_group: foobar
          shell: /sbin/nologin
          system: true

ユーザーを削除する:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users_deleted:
        - name: foobar1
        - name: foobar2

ユーザーパスワードを変更する:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users:
        - name: foobar1
          passwd: $6$mI3A2y4O.YfqhlPt$szsWfnICXsYLbsIghLauJG.I3enLYGDPBYO1DYTHn9gB6y3Q2faM7iqievJlU5ZMTT9X3wHrUv0c7HWkToGBp/

ライセンス

BSD-2-Clause

著者情報

パトリック・ニルソン

プロジェクトについて

user management role

インストール
ansible-galaxy install AsavarTzeth.users
ライセンス
bsd-2-clause
ダウンロード
501
所有者