route1337.linux_users

Rola Ansible - Użytkownicy Linux

Ten repozytorium zawiera rolę Ansible dla użytkowników Linux (linux_users).

Co robi ta rola

Ta rola Ansible tworzy, aktualizuje i usuwa użytkowników Linux wraz z ich kluczami SSH, korzystając z inwentory.

Wprowadzone zmiany:

  1. Utworzenie grup zarządzania użytkownikami
    1. Utworzenie grupy sysadmins dla użytkowników z dostępem sudo bez hasła
    2. Utworzenie grupy sysusers dla użytkowników bez dostępu sudo
    3. Utworzenie grupy svcaccounts dla kont serwisowych z dostępem sudo bez hasła
  2. Zarządzanie użytkownikiem root
    1. Zarządzanie hasłem i kluczami SSH użytkownika root
  3. Zarządzanie użytkownikami nie-root
    1. Tworzenie, aktualizowanie, usuwanie kont użytkowników
    2. Tworzenie, aktualizowanie, usuwanie katalogów domowych użytkowników
    3. Zarządzanie kluczami SSH użytkowników
    4. Zarządzanie przynależnością do grup użytkowników (oczekuje się użycia jednej z powyższych grup)

Uwaga

Jest kilka uwag do tej roli, o których należy pamiętać:

  1. Hasło użytkownika root powinno być wstępnie zaszyfrowane
  2. Użycie wielu kluczy SSH można zrealizować na dwa sposoby z powodu użycia exclusive: yes:
    1. jako pojedynczy ciąg z znakami nowej linii między kluczami
    2. wskazując na URL z kluczami GitHub
  3. Wszyscy użytkownicy nie-root nie będą mieli ustawionego hasła, ponieważ sudo będzie bez hasła i nie są oczekiwani jako użytkownicy lokalni
  4. Użytkownicy z katalogiem domowym w /home/, którzy nie są zdefiniowani w linux_users.users, zostaną usunięci
    1. To nie jest najlepszy sposób na zarządzanie niezatwierdzonymi użytkownikami i planuje się poprawę w przyszłości

Zmienne

Poniższe zmienne są wymagane:

  1. linux_users.root_password - Wstępnie zaszyfrowane hasło dla użytkownika root

Poniższe zmienne są opcjonalne:

  1. linux_users.root_key - Klucz(e) SSH używane przez root. Jeśli nie zdefiniowane, plik authorized_keys użytkownika root zostanie usunięty
  2. linux_users.users - Obiekty użytkowników z następującymi zmiennymi. Jeśli nie zdefiniowane, użytkownicy nie będą zarządzani
    users:
      - username: pgibbons
        key: "ssh-rsa BLAH BLAH BLAH"
        comment: Peter Gibbons
        group: sysadmins
      - username: mbolton
        key: https://github.com/notthatmichaelbolton.keys
        comment: Michael Bolton
        group: sysusers
      - username: svc-ghactions
        key: "ssh-rsa BLAH BLAH BLAH\nssh-rsa BLEH BLEH BLEH"
        comment: ServiceAccount-GitHub Actions
        group: svcaccounts
    

Poniższe zmienne powinny być używane tylko w testach:

  1. is_kitchen - Jeśli ta zmienna jest zdefiniowana, role w tests/roles tworzą przykładowych użytkowników do testowania usuwania niezatwierdzonych użytkowników. Dodatkowo, gra user_cleanup.yml wykluczy użytkownika vagrant z usuwania.

Testowanie

Ta rola jest w pełni testowana za pomocą Test Kitchen z wykorzystaniem przykładowych danych inwentaryzacyjnych zawartych w tym repozytorium.
TESTING.md zawiera szczegóły i instrukcje dotyczące testowania.

Wesprzyj tę rolę Ansible

Kod open source Route 1337 LLC w dużej mierze opiera się na darowiznach. Jeśli uważasz, że ta rola Ansible jest przydatna, rozważ użycie przycisku GitHub Sponsors, aby okazać swoje wsparcie.

Dziękujemy za wsparcie!

O projekcie

Extremely basic user account management for Ubuntu and CentOS servers

Zainstaluj
ansible-galaxy install route1337.linux_users
Licencja
mit
Pobrania
183
Właściciel
Modern InfoSec, Zero Trust, and DevOps consulting for Web2 and Web3 clients.