chasinglogic.ansible_users
ansible-users
Rola do zarządzania użytkownikami w systemie.
To jest fork z singleplatform-eng.users, ponieważ wygląda na to, że nie jest już utrzymywany.
Konfiguracja roli
users_create_per_user_group
(domyślnie: true) - przy tworzeniu użytkowników, również twórz grupę o tej samej nazwie co użytkownik i ustaw ją jako główną grupę użytkownika.users_group
(domyślnie: users) - jeśliusers_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ślny powłoka, jeśli nie jest podana dla użytkownika.users_create_homedirs
(domyślnie: true) - twórz katalogi domowe dla nowych użytkowników. Ustaw to na false, jeśli zarządzasz katalogami domowymi oddzielnie.authorized_keys_file
(domyślnie: .ssh/authorized_keys) - Ustaw to, jeśli serwer ssh jest skonfigurowany do używania nie standardowego pliku z dozwolonymi kluczami.
Tworzenie użytkowników
Dodaj zmienną użytkowników zawierającą listę użytkowników do dodania. Dobrym miejscem na to jest group_vars/all
lub group_vars/groupname
, jeśli chcesz, aby użytkownicy byli tylko na określonych maszynach.
Następujące 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 /home/nazwa_użytkownika).uid
- Numeryczny identyfikator użytkownika (opcjonalne). Wymagane dla spójnościuid
w systemach.gid
- Numeryczny identyfikator grupy (opcjonalne). W przeciwnym razie użyty zostanieuid
.password
- Jeśli podano hash, będzie on użyty, w przeciwnym razie konto będzie zablokowane.update_password
- Może to 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 głównej grupy.groups
- Lista grup dodatkowych dla użytkownika.append
- Jeśli tak, doda tylko grupy, a nie ustawi ich tylko w liście grup (opcjonalne).profile
- Blok tekstu do ustawiania niestandardowych profili powłoki.ssh_key
- Powinno być listą 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 generować klucz SSH dla użytkownika (opcjonalne, domyślnie nie).
Dodatkowo następujące atrybuty są opcjonalne dla każdego użytkownika:
shell
- Powłoka użytkownika. Domyślnie jest to /bin/bash. Domyślną powłokę można skonfigurować, używając zmiennejusers_default_shell
, jeśli chcesz, aby wszyscy użytkownicy mieli tę samą powłokę, ale różni się ona 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 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 wymagana jest tylko zmienna username
. Zaleca się jednak, aby zachować również pole uid
dla odniesienia, aby numeryczne identyfikatory użytkowników przypadkowo nie były ponownie używane.
Możesz opcjonalnie wybrać usunięcie katalogu domowego użytkownika i kolejki pocztowej przy użyciu parametru remove
, oraz wymusić usunięcie plików przy użyciu parametru force
.
users_deleted:
- username: bar
uid: 1002
remove: yes
force: yes
ansible-galaxy install chasinglogic.ansible_users