pcanham.users
ansible-użytkownicy
Rola do zarządzania użytkownikami w systemie.
Konfiguracja roli
- users_create_per_user_group (domyślnie: true) - przy tworzeniu użytkowników, również twórz grupę o tej samej nazwie co nazwa użytkownika i ustaw ją jako grupę podstawową użytkownika.
- users_group (domyślnie: users) - jeśli users_create_per_user_group nie jest ustawiona, to będzie to grupa podstawowa dla wszystkich tworzonych użytkowników.
- users_default_shell (domyślnie: /bin/bash) - domyślna powłoka, jeśli nie jest podana dla użytkownika.
- users_create_homedirs (domyślnie: true) - twórz katalogi domowe dla nowych użytkowników. Ustaw na false, jeśli zarządzasz katalogami domowymi osobno.
- users_ssh_key_exclusive (domyślnie: false) - Czy usunąć wszystkie inne nieokreślone klucze z pliku authorized_keys.
- authorized_keys_file (domyślnie: .ssh/authorized_keys) - Ustaw to, jeśli serwer ssh jest skonfigurowany do używania niestandardowego pliku z kluczami autoryzacyjnymi.
Tworzenie użytkowników
Dodaj zmienną użytkowników zawierającą listę użytkowników do dodania. Dobre miejsce
na to to group_vars/all
lub group_vars/nazwa_grupy
, jeśli chcesz,
aby użytkownicy byli tylko na określonych maszynach.
Następujące atrybuty są wymagane dla każdego użytkownika:
- username - Nazwa użytkownika.
- name - Pełna nazwa użytkownika (pole gecos).
- home - Katalog domowy użytkownika do utworzenia (opcjonalnie, domyślnie /home/nazwa_użytkownika).
- uid - Numeryczny identyfikator użytkownika (opcjonalnie). Wymagane do zapewnienia spójności uid w systemach.
- gid - Numeryczny identyfikator grupy (opcjonalnie). W przeciwnym razie, zas uid zostanie użyty.
- password - Jeśli podano skrót, to będzie on użyty, w przeciwnym razie konto zostanie zablokowane.
- update_password - Może być ustawione na 'zawsze' lub 'przy_tworzeniu'
- 'zawsze' zaktualizuje hasła, jeśli się różnią. (domyślnie)
- 'przy_tworzeniu' ustawi hasło tylko dla nowo utworzonych użytkowników.
- group - Opcjonalne nadpisanie grupy podstawowej.
- groups - Lista grup dodatkowych dla użytkownika.
- append - Jeśli tak, doda tylko grupy, nie ustawi ich na tylko listę w groups (opcjonalnie).
- profile - Blok tekstowy do ustawienia niestandardowych profili powłoki.
- ssh_key - Powinno być to lista kluczy SSH dla użytkownika (opcjonalnie). Każdy klucz SSH powinien być podany bezpośrednio i nie powinien zawierać nowych linii.
- generate_ssh_key - Czy wygenerować klucz SSH dla użytkownika (opcjonalnie, domyślnie nie).
Dodatkowo, następujące elementy są opcjonalne dla każdego użytkownika:
- shell - Powłoka użytkownika. Domyślnie to /bin/bash. Domyślna wartość jest konfigurowalna za pomocą zmiennej users_default_shell, jeśli chcesz, aby wszyscy użytkownicy mieli tę samą powłokę, ale różną od /bin/bash.
- ssh_key_exclusive - Czy usunąć wszystkie inne nieokreślone klucze z pliku authorized_keys (domyślnie użytkownik_ssh_key_exclusive).
Przykład:
---
użytkownicy:
- username: foo
name: Foo Barrington
groups: ['wheel','systemd-journal']
uid: 1001
home: /local/home/foo
profile: |
alias ll='ls -lah'
ssh_key:
- "ssh-rsa AAAAA.... foo@machine"
- "ssh-rsa AAAAB.... foo2@machine"
grupy_do_utworzenia:
- name: developers
gid: 10000
użytkownicy_usunięci:
- username: bar
name: Bar User
uid: 1002
Usuwanie użytkowników
Zmienna użytkownicy_usunięci
zawiera listę użytkowników, którzy nie powinni
już znajdować się w systemie, a oni zostaną usunięci przy następnym uruchomieniu ansible. Format
jest taki sam jak dla użytkowników do dodania, ale jedynym wymaganym polem jest username
.
Jednak zaleca się również zachowanie pola uid
w celach odniesienia, aby
numeryczne identyfikatory użytkowników nie zostały przypadkowo ponownie użyte.
Możesz opcjonalnie zdecydować się na usunięcie katalogu domowego użytkownika i kolejki pocztowej
za pomocą parametru remove
, oraz wymusić usunięcie plików za pomocą parametru force
.
użytkownicy_usunięci:
- username: bar
uid: 1002
remove: tak
force: tak
ansible-galaxy install pcanham.users