singleplatform-eng.users

Status budowy

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
O projekcie

User creation role

Zainstaluj
ansible-galaxy install singleplatform-eng.users
Licencja
mit
Pobrania
8.5M
Właściciel
Open source code from the SinglePlatform Engineering team.