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śli- users_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ści- uidmiędzy systemami.
- gid- Numer identyfikacyjny grupy (opcjonalnie). W przeciwnym wypadku, będzie użyty- uid.
- password- Jeśli podano hash, będzie użyty, w przeciwnym razie konto będzie zablokowane.
- update_password- Może być- alwayslub- on_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ą zmiennej- users_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 na- True, 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