webofmars.users
ansible-users
Rola do zarządzania użytkownikami w systemie.
Konfiguracja roli
- users_create_per_user_group (domyślnie: prawda) - przy tworzeniu użytkowników, utwórz również grupę o tej samej nazwie co użytkownik i ustaw ją jako główną grupę użytkownika.
- users_group (domyślnie: users) - jeśli users_create_per_user_group nie jest ustawione, to będzie to główna grupa dla wszystkich tworzonych użytkowników.
- users_default_shell (domyślnie: /bin/bash) - domyślna powłoka, jeśli dla użytkownika nie zostanie określona żadna inna.
- users_create_homedirs (domyślnie: prawda) - tworzy katalogi domowe dla nowych użytkowników. Ustaw na fałsz, jeśli zarządzasz katalogami domowymi osobno.
Tworzenie użytkowników
Dodaj zmienną users zawierającą listę użytkowników do dodania. Dobrym miejscem do umieszczenia
tego jest group_vars/all
lub group_vars/nazwagrupy
, jeśli chcesz, aby użytkownicy
byli tylko na określonych maszynach.
Poniższe 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 (opcjonalne, domyślnie to /home/username).
- uid - Numeryczny identyfikator użytkownika. Jest to wymagane dla spójności uid w różnych systemach.
- gid - Numeryczny identyfikator grupy (opcjonalne). W przeciwnym razie zostanie użyty uid.
- password - Jeśli podano hasz, to zostanie 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 - opcjonalna nadpisanie głównej grupy.
- groups - lista grup dodatkowych dla użytkownika.
- profile - blok łańcucha do ustawienia niestandardowych profili powłoki.
- ssh_authorized_keys - Powinien to być wykaz kluczy ssh dla użytkownika. Każdy klucz ssh powinien być wstawiony bezpośrednio i nie powinien zawierać nowych linii.
Dodatkowo, następujące elementy są opcjonalne dla każdego użytkownika:
generate_ssh_key - Czy wygenerować klucz SSH dla użytkownika (opcjonalne, domyślnie: nie).
ssh_priv_key - prywatny klucz ssh użytkownika (format RSA).
shell - powłoka użytkownika. Domyślnie to /bin/bash. Domyślną wartość można skonfigurować za pomocą zmiennej users_default_shell, jeśli chcesz, aby wszyscy użytkownicy mieli tę samą powłokę, ale różniła się od /bin/bash.
Przykład:
---
users:
- username: foo
name: Foo Barrington
groups: ['wheel','systemd-journal']
uid: 1001
home: /local/home/foo
profile: |
alias ll='ls -lah'
ssh_authorized_keys:
- "ssh-rsa AAAAA.... foo@machine"
- "ssh-rsa AAAAB.... foo2@machine"
ssh_priv_key: |
-----BEGIN RSA PRIVATE KEY-----
Zawartość Klucza <...>
-----END RSA PRIVATE KEY-----
groups_to_create:
- name: developers
gid: 10000
users_deleted:
- username: bar
name: Bar User
uid: 1002
Usuwanie użytkowników
Zmienna users_deleted
zawiera listę użytkowników, którzy nie powinni już znajdować się
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 również zachowanie pola uid
dla odniesienia, aby numeryczne identyfikatory użytkowników nie zostały przypadkowo ponownie wykorzystane.
ansible-galaxy install webofmars.users