adfinis-sygroup.users
użytkownicy
Ta rola ustawia konta użytkowników dla klientów i Adfinis.
Wymagania
Ta rola zakłada, że na systemie jest już dostępny jeden nie-root użytkownik z uprawnieniami sudo ({{users_default_user}}
, patrz Zmienne roli poniżej).
Ten użytkownik jest używany do początkowego ustawienia konta użytkowników, a następnie jest usuwany. Usunięcie następuje w ostatnim zadaniu tej roli (więc pierwszy raz wszystko będzie działać, ale jeśli będzie powtórzone, logowanie nie powiedzie się).
W przypadku playbooka (lub serii playbooków) zaleca się stosowanie tej roli w dwóch wariantach:
Po raz pierwszy - użyj z
remote_user: {{users_default_user}}
.Następnie zastosuj z docelowym użytkownikiem (albo kontem osobistym, albo
root
, jeśli to dozwolone).
Zaleca się utrzymywanie jednego playbooka/zabawy do początkowego ustawienia oraz 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 używana do haszowania hasła root.
Uwaga: Wymagane tylko wtedy, gdyusers_root_password
jest ustawione iusers_root_password_is_hashed
jest fałszywe.users_customer_group
(string):
Nazwa grupy systemowej, do której dołączane są wszystkie konta użytkowników klientów.
Uwaga: Wymagane tylko wtedy, gdyusers_customer
nie jest puste.
Opcjonalne
users_root_password
(string, domyślnie: nieustawione):
Jeśli to jest nieustawione, hasło root nie jest zmieniane.
Jeśli to jest ustawione, ausers_root_password_is_hashed
jest fałszywe, to hasło jest w postaci jawnej, ausers_root_password_salt
musi być również ustawione.
Jeśli to jest ustawione, ausers_root_password_is_hashed
jest prawdziwe, to zakłada się, że jest to hasło w postaci haszowanej (jak produkowane przez [ansible.builtin.password_hash
][ansible:filter:password_hash]).users_root_password_is_hashed
(boolean, domyślnie:fałsz
):
Jeśli ustawione naprawda
, tousers_root_password
zakłada się, że zostało już haszowane (w tym przypadkuusers_root_password_salt
nie jest wymagane).users_root_authorized_keys
(lista, domyślnie:[]
):
Publiczne klucze SSH, które będą miały uprawnienie do logowania jakoroot
.
Każdy element listy to obiekt z następującymi właściwościami:key
(string, obowiązkowy):
Dane klucza.comment
(string, opcjonalny, domyślnie: nieustawione):
Komentarz, dołączany do linii klucza (zwykleużytkownik@host
).description
(string, opcjonalny, domyślnie: nieustawione):
Opis w języku ludzkim, umieszczany jako komentarz w plikuauthorized_keys
nad linią klucza.options
(string, opcjonalny, domyślnie: nieustawione):
Opcje klucza, które mają być poprzedzone na linii klucza.
users_adfinis
(lista, domyślnie:[]
):
Konta użytkowników Adfinis do utworzenia. Każdy użytkownik zostanie dodany do grupy systemowej{{users_adfinis_group}}
. Z drugiej strony, każdy istniejący nie-systemowy użytkownik w tej grupie, który nie jest wymieniony w tej zmiennej, będzie usunięty.
Każdy element listy to obiekt z następującymi właściwościami:username
(string, obowiązkowy):
Nazwa konta użytkownika.authorized_keys
(lista, domyślnie:[]
):
Publiczne klucze SSH, które będą miały uprawnienie do logowania jakoroot
.
Każdy element listy to obiekt z właściwościami opisanymi wusers_root_authorized_keys
.
users_adfinis_group
(string, domyślnie:adfinis
):
Nazwa grupy systemowej, do której dołączane są wszystkie konta użytkowników Adfinis.users_adfinis_ssh_pubkey_options
(string, domyślnie: nieustawione):
Opcje klucza, które mają być poprzedzone na wszystkich liniach kluczy.users_adfinis_homedir_mode
(tryb uprawnień plików, domyślnie:0700
):
Tryb uprawnień plików dla katalogu domowego każdego użytkownika Adfinis.
Uwaga: Z powodu problemu historycznego z Jinja2, ósemkowa reprezentacja trybu musi być przekazana jako string (aby zapewnić, że nie zostanie niepoprawnie przekształcona) lub [ta opcja Ansible][ansible:vars:default_jinja2_native] musi być ustawiona na prawdę.users_adfinis_unrestricted_sudo
(boolean, domyślnie:prawda
):
Czy użytkownicy Adfinis mają przyznane nieograniczone uprawnieniasudo
.users_adfinis_user_remove_home
(boolean, domyślnie:fałsz
):
Czy należy również usunąć katalog domowy przy usuwaniu 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 to obiekt z właściwościami opisanymi wusers_adfinis
.users_customer_homedir_mode
(tryb uprawnień plików, domyślnie:0755
):
Tryb uprawnień plików dla katalogu domowego każdego użytkownika klienta.
Domyślnie pozostawia go do odczytu dla wszystkich, co pozwala klientom używaćsudo -u
do uruchamiania poleceń jako innych użytkowników i nadal przesyłać pliki w ich katalogu domowym.
Uwaga: Z powodu problemu historycznego z Jinja2, ósemkowa reprezentacja trybu musi być przekazana jako string (aby zapewnić, że nie zostanie niepoprawnie przekształcona) lub [ta opcja Ansible][ansible:vars:default_jinja2_native] musi być ustawiona na prawdę.users_customer_unrestricted_sudo
(boolean, domyślnie:fałsz
):
Czy użytkownikom klientów przyznane są nieograniczone uprawnieniasudo
.users_default_user
(string, domyślnie:adfinis
):
Nazwa początkowo istniejącego konta użytkownika non-root w systemie, które ma zostać usunięte.users_default_user_remove_home
(boolean, domyślnie:fałsz
):
Czy należy również usunąć katalog domowy początkowo istniejącego konta użytkownika non-root.
Tagi roli
init
: To samo corole::users:root
irole::users:adfinis
razem wzięte.role::users
: Wszystkie zadania w tej roli.role::users:root
: Wszystkie zadania, które ustalają konto użytkownika root.role::users:adfinis
: Wszystkie zadania, które ustalają konta użytkowników Adfinis.role::users:adfinis:create
: Wszystkie zadania, które ustalają 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 ustalają konta użytkowników klientów.role::users:default
: Wszystkie zadania, które usuwają konto użytkownika domyślnego.
Polityka wsparcia
Tylko najnowsza wersja jest utrzymywana i wspierana (patrz strona Tagów).
Po wydaniu nowej wersji, poprzednia gałąź wersji nie otrzymuje już żadnych poprawek błędów.
Create and remove posix users and groups, add or remove ssh keys
ansible-galaxy install adfinis-sygroup.users