taktus.users

Rola Ansible: użytkownicy

Status budowy

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_group nie 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 uid mię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ć always lub 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

O projekcie

User management role

Zainstaluj
ansible-galaxy install taktus.users
Licencja
mit
Pobrania
76
Właściciel