adfinis.users
użytkownicy
Ta rola tworzy konta użytkowników dla klientów oraz użytkowników Adfinis.
Wymagania
Ta rola zakłada, że na systemie jest już początkowe konto użytkownika nie-root z uprawnieniami sudo ({{users_default_user}}
, patrz Zmienna Roli poniżej).
To konto jest używane do początkowego skonfigurowania kont użytkowników, a następnie jest usuwane. Usunięcie następuje w ostatnim zadaniu tej roli (więc początkowe uruchomienie zadziała dobrze, ale jeśli zostanie powtórzone, logowanie nie powiedzie się).
W playbooku (lub serii playbooków) zaleca się stosowanie tej roli w dwóch wariantach:
Po raz pierwszy, zastosuj z
remote_user: {{users_default_user}}
.Następnie, zastosuj z zamierzonym użytkownikiem (albo kontem osobistym, albo
root
, jeśli jest to dozwolone).
Zaleca się zachowanie jednego playbooka do początkowej konfiguracji, a drugiego do ciągłego zarządzania.
Zależności Roli
(brak)
Zmienne Roli
Obowiązkowe
users_root_password_salt
(string, domyślnie: nieustawione):
Sól do użycia przy haszowaniu hasła roota.
Uwaga: Wymagana tylko wtedy, gdyusers_root_password
jest ustawione iusers_root_password_is_hashed
jest fałszywe.users_customer_group
(string):
Nazwa systemowej grupy, do której dodawane są wszystkie konta klientów.
Uwaga: Wymagana tylko wtedy, gdyusers_customer
nie jest pusty.
Opcjonalne
users_root_password
(string, domyślnie: nieustawione):
Jeśli to jest nieustawione, hasło roota nie zostanie zmienione.
Jeśli to jest ustawione iusers_root_password_is_hashed
jest fałszywe, to jest to hasło w czystym tekście, ausers_root_password_salt
również musi być ustawione.
Jeśli to jest ustawione iusers_root_password_is_hashed
jest prawdziwe, to jest uznawane za hasło haszowane (wyprodukowane przezansible.builtin.password_hash
).users_root_password_is_hashed
(boolean, domyślnie:false
):
Jeśli ustawione natrue
,users_root_password
uznaje się za już haszowane (w tym przypadkuusers_root_password_salt
nie jest wymagane).users_root_authorized_keys
(lista, domyślnie:[]
):
Klucze publiczne SSH, którym przyznano autoryzację do logowania się jakoroot
.
Każdy element listy jest obiektem z następującymi właściwościami:key
(string, obowiązkowe):
Dane klucza.comment
(string, opcjonalne, domyślnie: nieustawione):
Komentarz, dodawany do linii klucza (zwykleużytkownik@host
).description
(string, opcjonalne, domyślnie: nieustawione):
Opis w języku ludzkim, umieszczany jako komentarz w plikuauthorized_keys
powyżej linii klucza.options
(string, opcjonalne, domyślnie: nieustawione):
Ciąg opcji klucza, dodawany na początku linii klucza.
users_adfinis
(lista, domyślnie:[]
):
Konta użytkowników Adfinis do założenia. Każdy użytkownik zostanie dodany do grupy systemowej{{users_adfinis_group}}
. Natomiast każdy istniejący użytkownik niesystemowy w tej grupie, który nie jest wymieniony w tej zmiennej, zostanie usunięty.
Każdy element listy jest obiektem z następującymi właściwościami:username
(string, obowiązkowe):
Nazwa konta użytkownika.authorized_keys
(lista, domyślnie:[]
):
Klucze publiczne SSH, które otrzymają autoryzację do logowania się jakoroot
.
Każdy element listy jest obiektem z właściwościami opisanymi wusers_root_authorized_keys
.
users_adfinis_group
(string, domyślnie:adfinis
):
Nazwa grupy systemowej, do której dodawane są wszystkie konta użytkowników Adfinis.users_adfinis_ssh_pubkey_options
(string, domyślnie: nieustawione):
Ciąg opcji klucza, dodawany na początku wszystkich linii kluczy.users_adfinis_homedir_mode
(tryb uprawnień do plików, domyślnie:0700
):
Tryb uprawnień do plików dla katalogu domowego każdego użytkownika Adfinis.
Uwaga: Z powodu historycznego problemu z Jinja2, ósemkowe przedstawienie trybu musi być przekazane jako string (aby zapewnić, że nie zostanie niewłaściwie przekształcone), lub ta opcja Ansible musi być ustawiona na true.users_adfinis_unrestricted_sudo
(boolean, domyślnie:true
):
Czy użytkownicy Adfinis mają nielimitowane uprawnieniasudo
.users_adfinis_user_remove_home
(boolean, domyślnie:false
):
Czy również usunąć katalog domowy podczas usuwania nie wymienionego konta Adfinis.users_customer
(lista, domyślnie:[]
):
Konta użytkowników klientów do utworzenia. Każdy użytkownik zostanie dodany do grupy systemowej{{users_customer_group}}
.
Każdy element listy jest obiektem z właściwościami opisanymi wusers_adfinis
.users_customer_homedir_mode
(tryb uprawnień do plików, domyślnie:0755
):
Tryb uprawnień do plików dla katalogu domowego każdego użytkownika klienta.
Domyślnie pozwala na odczyt przez wszystkich, dzięki czemu klienci mogą używaćsudo -u
, aby wykonywać polecenia jako inni użytkownicy i przekazywać pliki w swoim katalogu domowym.
Uwaga: Z powodu historycznego problemu z Jinja2, ósemkowe przedstawienie trybu musi być przekazane jako string (aby zapewnić, że nie zostanie niewłaściwie przekształcone), lub ta opcja Ansible musi być ustawiona na true.users_customer_unrestricted_sudo
(boolean, domyślnie:false
):
Czy użytkownicy klientów mają nielimitowane uprawnieniasudo
.users_default_user
(string, domyślnie:adfinis
):
Nazwa początkowego istniejącego konta użytkownika nie-root w systemie, które ma być usunięte.users_default_user_remove_home
(boolean, domyślnie:false
):
Czy również usunąć katalog domowy początkowego istniejącego konta użytkownika nie-root.
Tagi Roli
init
: Tak samo jakrole::users:root
irole::users:adfinis
razem.role::users
: Wszystkie zadania w tej roli.role::users:root
: Wszystkie zadania, które tworzą konto użytkownika root.role::users:adfinis
: Wszystkie zadania, które tworzą konta użytkowników Adfinis.role::users:adfinis:create
: Wszystkie zadania, które tworzą konta użytkowników Adfinis (bez usuwania).role::users:adfinis:delete
: Wszystkie zadania, które usuwają zbędne konta użytkowników Adfinis.role::users:customer
: Wszystkie zadania, które tworzą konta użytkowników klientów.role::users:default
: Wszystkie zadania, które porządkują konto użytkownika domyślnego.
Polityka wsparcia
Tylko najnowsza wersja jest utrzymywana i wspierana (zobacz stronę Tagi).
Gdy pojawi się nowa wersja, wcześniejsza gałąź wersji nie będzie już otrzymywała żadnych poprawek błędów.
ansible-galaxy install adfinis.users