taktus.users
Rola 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ż tworzy grupę o tej samej nazwie co użytkownik i ustawia ją jako grupę główną użytkownika.users_group(domyślnie: users) - jeśliusers_create_per_user_groupnie jest ustawione, wtedy to jest grupa główna dla wszystkich tworzonych użytkowników.users_default_shell(domyślnie: /bin/bash) - domyślna powłoka, jeśli nie zostanie podana dla użytkownika.users_create_homedirs(domyślnie: true) - tworzy katalogi domowe dla nowych użytkowników. Ustaw na false, jeśli zarządzasz katalogami domowymi oddzielnie.
Tworzenie użytkowników
Dodaj zmienną users, zawierającą listę użytkowników do dodania. Dobre miejsce na to
to group_vars/all lub group_vars/groupname, jeśli chcesz, aby użytkownicy
znaleźli się tylko na określonych maszynach.
Poniższe atrybuty są wymagane dla każdego użytkownika:
username- Nazwa użytkownika.name- Pełne imię i nazwisko użytkownika.home- Katalog domowy do stworzenia (opcjonalnie, domyślnie /home/username).uid- Numer identyfikacyjny użytkownika (opcjonalnie). Wymagane dla spójnościuidmiędzy systemami.gid- Numer identyfikacyjny grupy (opcjonalnie). W przeciwnym wypadku, będzie użytyuid.password- Jeśli podano hash, będzie użyty, w przeciwnym razie konto będzie zablokowane.update_password- Może byćalwayslubon_create'always'zaktualizuje hasła, jeśli się różnią. (domyślnie)'on_create'ustawi hasło tylko dla nowo utworzonych użytkowników.
group- Opcjonalne nadpisanie grupy głównej.groups- Lista dodatkowych grup dla użytkownika.append- Jeśli tak, doda tylko grupy, nie ustawiając ich jako jedynych w listach (opcjonalnie).profile- Blok tekstu do ustawienia niestandardowych profili powłok.ssh_key- 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, poniższe elementy są opcjonalne dla każdego użytkownika:
shell- Powłoka użytkownika. Domyślnie /bin/bash. Domyślną powłokę można skonfigurować za pomocą zmiennejusers_default_shell, jeśli chcesz dać wszystkim użytkownikom tę samą powłokę, ale różniącą się od /bin/bash.is_system_user- Ustaw naTrue, aby utworzyć użytkownika systemowego.
Przykład:
---
users:
- username: foo
name: Foo Bar
groups: ['admin', 'systemd-journal']
uid: 1005
home: /local/home/foo
profile: |
alias ll='ls -ahl'
ssh_key:
- "ssh-rsa AAAAA.... foo@server"
- "ssh-rsa AAAAB.... foo2@server"
groups_to_create:
- name: developers
gid: 20000
Generowanie hasła hash:
# Na Debianie/Ubuntu (poprzez pakiet "whois")
mkpasswd --method=SHA-512 --rounds=4096
# OpenSSL (uwaga: to stworzy tylko md5crypt. Choć lepsze niż tekst
# jawny, nie powinno być uznawane za w pełni bezpieczne)
openssl passwd -1
# Python (zmień wartości hasła i soli)
python -c "import crypt, getpass, pwd; print crypt.crypt('hasło', '\$6\$SÓL\$')"
# Perl (zmień wartości hasła i soli)
perl -e 'print crypt("hasło","\$6\$SÓL\$") . "\n"'
Usuwanie użytkowników
Zmienna users_deleted zawiera listę użytkowników, którzy nie powinni
już być w systemie, a ci 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. Zaleca się jednak, aby również
zachować pole uid w celu odniesienia, aby unikać przypadkowego
ponownego używania identyfikatorów użytkowników.
Możesz opcjonalnie wybrać usunięcie katalogu domowego użytkownika oraz
spoola pocztowego za pomocą parametru remove, a wymusić usunięcie
plików za pomocą parametru force.
users_deleted:
- username: bar
uid: 1003
remove: yes
force: yes
Zależności
Brak.
Licencja
MIT
ansible-galaxy install taktus.users