monolithprojects.user_management

Zarządzanie Użytkownikami

Ostatnia wersja Jakość Galaxy Pobrania Galaxy GitHub Actions

Ten skrypt Ansible służy do zarządzania użytkownikami systemu Linux (tworzenie, edytowanie, usuwanie). Zarządzanie obejmuje także dystrybucję kluczy SSH.

Jak to działa

Ten skrypt wykorzystuje lokalne fakty na każdym hoście do przechowywania nazw użytkowników wymienionych w user_management. Tylko ci użytkownicy są zarządzani przez ten skrypt. Po usunięciu użytkownika z listy user_management, użytkownik oraz jego katalog domowy zostaną usunięte z hosta. Użytkownicy, którzy nie są wymienieni na liście user_management (użytkownicy, którzy nie zostali utworzeni przez ten skrypt Ansible) pozostaną nietknięci.

Ten skrypt potrafi:

  • tworzyć użytkowników
  • usuwać użytkowników
  • edytować użytkowników
  • zarządzać kluczami SSH

Wymagania

  • Obsługiwane dystrybucje Linuxa:

    • CentOS/RHEL 7,8
    • Debian 9,10
    • Fedora 29,30,31,32
    • Ubuntu 16,18,20

    Uwaga: To są testowane co tydzień dystrybucje Linuxa. Skrypt prawdopodobnie zadziała też na innych dystrybucjach Linuxa.

Zmienne skryptu

To jest kopia z defaults/main.yml

local_facts_file: linux_users.fact
local_facts_path: /etc/ansible/facts.d
user_management:
#   - name: userx                       <<< Nazwa użytkownika (Wymagana).
#     comment: Użytkownik X              <<< (Opcjonalne) Opis użytkownika.
#     groups:                           <<< (Opcjonalne) Lista grup, do których użytkownik zostanie dodany.
#       - gry
#       - wideo
#     ssh_keys:                         <<< (Opcjonalne) Lista autoryzowanych kluczy publicznych.
#       - 'ssh-ed25519 xxxx coś tam'
#     shell: /bin/bash                  <<< (Opcjonalne) Powłoka użytkownika (domyślna wartość "/bin/bash").
#     expires: -1                       <<< (Opcjonalne) Data wygaśnięcia użytkownika w formacie Epoch (domyślna wartość "-1").
#     create_home: yes                  <<< (Opcjonalne) Utwórz katalog domowy (domyślna wartość "tak").
#     system: no                        <<< (Opcjonalne) Utwórz konto systemowe (domyślna wartość "nie").

Przykład skryptu:

W tym przykładzie Ansible utworzy (lub edytuje - jeśli to nie jest pierwsze uruchomienie) 3 użytkowników. user1 z komentarzem, zsh jako domyślną powłoką, wygasnąć w 1640991600 czasie Epoch, użytkownik zostanie dodany do grup sudo i docker, a na koniec dodane dwa klucze publiczne SSH. user2 zostanie utworzony z domyślnymi ustawieniami. appuser zostanie utworzony jako użytkownik systemowy.

---
- name: Zarządzanie Użytkownikami
  hosts: all
  user: ubuntu
  gather_facts: yes
  become: yes
  vars:
  
    user_management:
      - name: user1
        comment: Mój Użytkownik Testowy
        shell: /bin/zsh
        expires: 1640991600
        groups:
          - sudo
          - docker
        ssh_keys:
          - 'ssh-ed25519 xxxxxx klucz_użytkownika'
          - 'ssh-rsa xxxxxx klucz_użytkownika'

      - name: user2

      - name: appuser
        system: yes
        create_home: no

  roles:
      - ansible-user_management

Licencja

MIT

Informacje o autorze

Utworzone w 2020 roku przez Michala Muranskiego

O projekcie

Linux users and ssh keys management

Zainstaluj
ansible-galaxy install monolithprojects.user_management
Licencja
Unknown
Pobrania
61k
Właściciel
Full-time Cloud Engineer, part-time adventurer