chasinglogic.ansible_users

Status budowy

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ś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ś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ści uid w systemach.
  • gid - Numeryczny identyfikator grupy (opcjonalne). W przeciwnym razie użyty zostanie uid.
  • 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 zmiennej users_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
O projekcie

User creation role

Zainstaluj
ansible-galaxy install chasinglogic.ansible_users
Licencja
mit
Pobrania
214
Właściciel
Linux and FOSS Enthusiast.