singleplatform-eng.users
ansible-users
Rola do zarządzania użytkownikami w systemie.
Konfiguracja roli
- users_create_per_user_group (domyślnie: true) - podczas tworzenia użytkowników, twórz także grupę o tej samej nazwie co nazwa użytkownika i ustaw ją jako grupę główną.
- users_group (domyślnie: users) - jeśli users_create_per_user_group nie jest ustawione, to będzie to grupa główna dla wszystkich tworzonych użytkowników.
- users_default_shell (domyślnie: /bin/bash) - domyślna powłoka, jeśli nie została określona 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.
- authorized_keys_file (domyślnie: .ssh/authorized_keys) - Ustaw to, jeśli serwer ssh jest skonfigurowany do korzystania z pliku autoryzowanych kluczy, który nie jest standardowy.
Tworzenie użytkowników
Dodaj zmienną users z listą użytkowników do dodania. Dobrym miejscem na to jest group_vars/all
lub group_vars/nazwagrupy
, jeśli chcesz, aby użytkownicy pojawiali się tylko na określonych maszynach.
Poniższe atrybuty są obowiązkowe 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 /home/username).
- uid - Numeryczny identyfikator użytkownika (opcjonalny). Wymagany dla spójności uid w systemach.
- gid - Numeryczny identyfikator grupy (opcjonalny). W przeciwnym razie użyty zostanie uid.
- password - Jeśli podano hash, zostanie on 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 tylko hasło dla nowo utworzonych użytkowników.
- group - Opcjonalne nadpisanie grupy głównej.
- groups - Lista grup pomocniczych dla użytkownika.
- append - Jeśli tak, tylko dodaje grupy, a nie ustawia ich na samą listę w grupach (opcjonalne).
- profile - Blok tekstu do ustawiania niestandardowych profili powłoki.
- ssh_key - Powinna to być lista kluczy SSH dla użytkownika (opcjonalne). 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 (opcjonalne, domyślnie: nie).
Dodatkowo, następujące elementy są opcjonalne dla każdego użytkownika:
- shell - Powłoka użytkownika. Domyślnie jest to /bin/bash. Domyślna powłoka jest konfigurowalna za pomocą zmiennej users_default_shell, jeśli chcesz, aby wszyscy użytkownicy mieli taką samą powłokę, ale różni 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_key:
- "ssh-rsa AAAAA.... foo@machine"
- "ssh-rsa AAAAB.... foo2@machine"
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 być już w systemie, a ci zostaną usunięci podczas następnego uruchomienia ansible. Format jest taki sam jak dla użytkowników do dodania, ale jedynym wymaganym polem jest username
. Rekomenduje się jednak, aby również zachować pole uid
dla odniesienia, aby numeryczne identyfikatory użytkowników nie były przypadkowo ponownie używane.
Możesz opcjonalnie zdecydować się na usunięcie katalogu domowego użytkownika i skrzynki pocztowej za pomocą parametru remove
, oraz wymusić usunięcie plików za pomocą parametru force
.
users_deleted:
- username: bar
uid: 1002
remove: yes
force: yes
ansible-galaxy install singleplatform-eng.users