sansible.users_and_groups

ユーザーとロール

マスター: Build Status
開発: Build Status

このロールはOSのユーザーとグループを管理します。

インストールと依存関係

このロールには依存関係はありません。

インストールするには、ansible-galaxy install sansible.users_and_groupsを実行するか、以下をroles.ymlに追加します。

- name: sansible.users_and_groups
  version: v2.0

その後、ansible-galaxy install -p ./roles -r roles.ymlを実行します。

タグ

このロールは2つのタグを使用します: buildmaintain

  • build - 指定されたグループとユーザーが存在することを確認します。
  • maintain - すでに構築され、設定されたインスタンス上のユーザーを確認します。

2人のユーザーと2つのグループを作成する簡単な例。

- name: ユーザーアクセスの設定
  hosts: sandbox

  roles:
    - name: sansible.users_and_groups
      sansible_users_and_groups_groups:
        - name: lorem
          system: yes
        - name: ipsum
      sansible_users_and_groups_users:
        - name: lorem.ipsum
          groups:
            - ipsum
            - lorem
          ssh_key: ./lorem.ipsum.pub
        - name: dolor.ament
          groups:
            - ipsum

サンドボックスされたSFTPユーザーの作成(手順についてはこちらを参照):

- name: ユーザーアクセスの設定
  hosts: sandbox

  roles:
    - name: sansible.users_and_groups
      sansible_users_and_groups_authorized_keys_dir: /etc/ssh/authorized_keys
      sansible_users_and_groups_groups:
        - name: sftp_only
      sansible_users_and_groups_users:
        - name: sftp
          group: sftp_only
          home: /mnt/sftp_vol

ほとんどの場合、ユーザーのリストは外部の変数ファイルやグループ/ホストの変数ファイルに保持します。

- name: ユーザーアクセスの設定
  hosts: sandbox

  vars_files:
    - "vars/sandbox/users.yml"

  roles:
    - name: sansible.users_and_groups
      sansible_users_and_groups_groups: "{{ base_image.os_groups }}"
      sansible_users_and_groups_users: "{{ base_image.admins }}"

    - name: sansible.users_and_groups
      sansible_users_and_groups_users: "{{ developers }}"

選択したグループをsudoersに追加します。

- name: ユーザーアクセスの設定
  hosts: sandbox

  vars_files:
    - "vars/sandbox/users.yml"

  roles:
    - name: sansible.users_and_groups
      sansible_users_and_groups_groups: "{{ base_image.os_groups }}"
      sansible_users_and_groups_users: "{{ base_image.admins }}"

    - name: sansible.users_and_groups
      sansible_users_and_groups_users: "{{ developers }}"

    - name: sansible.users_and_groups
      sansible_users_and_groups_sudoers:
        - name: wheel
          user: "%wheel"
          runas: "ALL=(ALL)"
          commands: "NOPASSWD: ALL"

ホワイトリストグループオプションを使用して、ユーザーを文脈によって許可します。

ユーザーの変数ファイル:

---

# vars/users.yml

sansible_users_and_groups_groups:
  - name: admins
  - name: developer_group_alpha
  - name: developer_group_beta
sansible_users_and_groups_users:
  - name: admin.user
    group: admins
  - name: alpha.user
    group: alpha_develops
  - name: beta.user
    group: developer_group_beta

ベースイメージの中で:

---

# playbooks/base_image.yml

- name: ベースイメージ
  hosts: "{{ hosts }}"

  vars_files:
    - vars/users.yml

  roles:
    - role: sansible.users_and_groups
      sansible_users_and_groups_whitelist_groups:
        - admins

    - role: base_image

サービスロールの中で:

---

# playbooks/alpha_service.yml

- name: アルファサービス
  hosts: "{{ hosts }}"

  vars_files:
    - vars/users.yml

  roles:
    - role: sansible.users_and_groups
      sansible_users_and_groups_whitelist_groups:
        - admins
        - developer_group_alpha

    - role: alpha_service
プロジェクトについて

Users and Groups Management Made Simple

インストール
ansible-galaxy install sansible.users_and_groups
ライセンス
mit
ダウンロード
59.2k
所有者
See https://github.com/sansible/sansible for more information