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:
- Utworzenie grup zarządzania użytkownikami
- Utworzenie grupy
sysadmins
dla użytkowników z dostępem sudo bez hasła - Utworzenie grupy
sysusers
dla użytkowników bez dostępu sudo - Utworzenie grupy
svcaccounts
dla kont serwisowych z dostępem sudo bez hasła
- Utworzenie grupy
- Zarządzanie użytkownikiem root
- Zarządzanie hasłem i kluczami SSH użytkownika root
- Zarządzanie użytkownikami nie-root
- Tworzenie, aktualizowanie, usuwanie kont użytkowników
- Tworzenie, aktualizowanie, usuwanie katalogów domowych użytkowników
- Zarządzanie kluczami SSH użytkowników
- 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ć:
- Hasło użytkownika root powinno być wstępnie zaszyfrowane
- Użycie wielu kluczy SSH można zrealizować na dwa sposoby z powodu użycia
exclusive: yes
:- jako pojedynczy ciąg z znakami nowej linii między kluczami
- wskazując na URL z kluczami GitHub
- 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
- Użytkownicy z katalogiem domowym w
/home/
, którzy nie są zdefiniowani wlinux_users.users
, zostaną usunięci- 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:
linux_users.root_password
- Wstępnie zaszyfrowane hasło dla użytkownika root
Poniższe zmienne są opcjonalne:
linux_users.root_key
- Klucz(e) SSH używane przez root. Jeśli nie zdefiniowane, plik authorized_keys użytkownika root zostanie usuniętylinux_users.users
- Obiekty użytkowników z następującymi zmiennymi. Jeśli nie zdefiniowane, użytkownicy nie będą zarządzaniusers: - 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:
is_kitchen
- Jeśli ta zmienna jest zdefiniowana, role wtests/roles
tworzą przykładowych użytkowników do testowania usuwania niezatwierdzonych użytkowników. Dodatkowo, grauser_cleanup.yml
wykluczy użytkownikavagrant
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!
Extremely basic user account management for Ubuntu and CentOS servers
ansible-galaxy install route1337.linux_users