sansible.users_and_groups

Benutzer und Rollen

Master: Build-Status
Entwicklung: Build-Status

Diese Rolle verwaltet Benutzer und Gruppen im Betriebssystem.

Installation und Abhängigkeiten

Diese Rolle hat keine Abhängigkeiten.

Um sie zu installieren, führe ansible-galaxy install sansible.users_and_groups aus oder füge Folgendes zu deiner roles.yml hinzu:

- name: sansible.users_and_groups
  version: v2.0

und führe ansible-galaxy install -p ./roles -r roles.yml aus.

Tags

Diese Rolle verwendet zwei Tags: build und maintain

  • build - Stellt sicher, dass die angegebenen Gruppen und Benutzer vorhanden sind.
  • maintain - Stellt sicher, dass Benutzer auf einer bereits konfigurierten Instanz vorhanden sind.

Beispiele

Ein einfaches Beispiel zur Erstellung von zwei Benutzern und zwei Gruppen.

- name: Benutzerzugang konfigurieren
  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

Erstellung eines gesperrten SFTP-Benutzers (siehe hier für eine Schritt-für-Schritt-Anleitung):

- name: Benutzerzugang konfigurieren
  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

In den meisten Fällen würdest du die Liste der Benutzer in einer externen Variablen-Datei oder in Gruppen|Host-Variablen-Dateien aufbewahren.

- name: Benutzerzugang konfigurieren
  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 }}"

Ausgewählte Gruppe zu den Sudoers hinzufügen:

- name: Benutzerzugang konfigurieren
  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"

Verwende die Whitelist-Gruppenoption, um Benutzern kontextbezogen den Zugang zu ermöglichen.

Variablen-Datei mit Benutzern:

---

# 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

In einem Basis-Image:

---

# playbooks/base_image.yml

- name: Basis-Image
  hosts: "{{ hosts }}"

  vars_files:
    - vars/users.yml

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

    - role: base_image

In einer Dienstrolle:

---

# playbooks/alpha_service.yml

- name: Alpha-Dienst
  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
Über das Projekt

Users and Groups Management Made Simple

Installieren
ansible-galaxy install sansible.users_and_groups
Lizenz
mit
Downloads
59.2k
Besitzer
See https://github.com/sansible/sansible for more information