AsavarTzeth.users

Status budowy

Rola Użytkowników Ansible - ansible-role-users

Rola Ansible służąca do zarządzania użytkownikami, grupami, kluczami SSH oraz uprawnieniami sudo.

Format konfiguracji tej roli jest mocno inspirowany formatem używanym w cloud-init/cloud config. Celem jest użycie tej samej lub podobnej struktury YAML wszędzie tam, gdzie to możliwe, z możliwością jej rozszerzenia tam, gdzie ma to sens.

Kilka drobnych, istotnych różnic:

  • Każdy znak myślnika musiał zostać zastąpiony znakiem podkreślenia, ze względu na to, jak Ansible interpretuje nazwy zmiennych.

Aby uzyskać więcej informacji o cloud-init, zapoznaj się z dokumentacją cloud-init pod adresem:
https://cloudinit.readthedocs.io/en/latest/index.html

Wymagania

Ta rola została opracowana i przetestowana w Ansible 2.2.0 i nowszych wersjach. Może działać w niższych wersjach, ale nie jest to obecnie wspierane.

Zmienne roli

Lista zmiennych i wartości domyślne:

# Domyślny powłok użytkownika, używana przy tworzeniu użytkownika.
users_default_shell: /bin/bash

# Określa, czy rola powinna tworzyć grupę główną, jeśli nie istnieje.
# Aby zapobiec awarii roli, domyślnie ustawiono na true.
# Wyłącz to, jeśli grupy są zarządzane gdzie indziej.
users_create_primary_group: true

# Włącza zarządzanie podwyższeniem uprawnień za pomocą sudo.
# Wyłącz to, jeśli sudo nie będzie używane lub jest zarządzane gdzie indziej.
users_enable_sudo: true

# Jedynym obowiązkowym parametrem jest nazwa.
users:
  - name: ''                           # Nazwa użytkownika.
    gecos: ''                          # Pole komentarza, znane i używane także jako prawdziwe imię użytkownika.
    homedir: ''                        # Katalog domowy użytkownika.
    primary_group: ''                  # Główna grupa użytkownika.
    groups: []                         # Lista dodatkowych grup dla użytkownika.
    no_create_home: false              # Jeśli true, nie twórz katalogu domowego. Domyślnie true jeśli `system: true`.
    shell: "{{ users_default_shell }}" # Domyślna powłoka użytkownika.
    passwd: ''                         # Hasło w formie zaszyfrowanej SHA512.
    ssh_authorized_keys: []            # Lista publicznych kluczy SSH do dodania do pliku authorized_keys.
    sudo: ''                           # Ciąg sudo, który będzie użyty do konfiguracji sudo.
    system: false                      # Jeśli true, użytkownik będzie użytkownikiem systemowym. To nie wpływa na istniejących użytkowników.

Zależności

Brak

Przykładowy Playbook

Dodaj lub zmodyfikuj użytkownika i skonfiguruj sudo oraz klucze 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

Dodaj lub zmodyfikuj użytkownika systemowego:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users:
        - name: foobar2
          gecos: FooBar Konto Usługowe
          homedir: /
          primary_group: foobar
          shell: /sbin/nologin
          system: true

Usuwanie użytkowników:

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

Modyfikacja hasła użytkownika:

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

Licencja

BSD-2-Clause

Informacje o autorze

Patrik Nilsson

Zainstaluj
ansible-galaxy install AsavarTzeth.users
Licencja
bsd-2-clause
Pobrania
501
Właściciel