guidugli.user
Rola Ansible: Użytkownik
Rola Ansible, która ustawia definicje logowania, polityki użytkowników oraz wykonuje kontrole bezpieczeństwa związane z użytkownikami i grupami. Docelowe systemy: RHEL/CentOS, Fedora oraz Debian/Ubuntu.
Wymagania
Brak dodatkowych wymagań.
Zmienne Roli
Dostępne zmienne są wymienione poniżej, wraz z domyślnymi wartościami (patrz defaults/main.yml):
user_skip_config: false
Jeśli ustawione na true, pominie całą konfigurację użytkownika i wykona tylko dodawanie/usuwanie użytkowników i grup.
user_new_password: "{{ vault_admin_password }}"
Jeśli hasło użytkownika uruchamiającego ansible się zmienia, ta zmienna musi zawierać nowe hasło, aby można było zaktualizować ansible_become_pass i ansible_ssh_pass. Zaleca się przechowywanie hasła w innym pliku i jego szyfrowanie za pomocą vault.
user_configure_single_user: no
Wskazuje, czy tryb jednego użytkownika ma być skonfigurowany (musi mieć ustawione hasło roota).
user_max_days: 365
Liczba dni przed upływem ważności hasła.
user_min_days: 7
Liczba dni, po których użytkownik może zmienić hasło.
user_inactive_days: 30
Liczba dni, po których użytkownik jest uważany za nieaktywny.
user_warn_age: 7
Liczba dni przed upływem ważności hasła, która wygeneruje ostrzeżenie dla użytkownika.
user_umask: '027'
UMASK, który ma być używany przez wszystkich użytkowników.
user_shell_timeout: 900
Limit czasu powłoki w sekundach.
user_fix_existing_accounts: yes
Jeśli ustawione na true/yes, wykona kontrole bezpieczeństwa użytkowników i grup.
root_password: ''
Ustawia hasło roota.
user_account_add: []
#- name: example
# comment: To jest przykład
# uid: 1076
# groups: ['admin']
# shell: /bin/bash
# password: encpwd
Dodaje/zmienia określone konta. Domyślna wartość to pusta lista. Powyższe komentarze pokazują przykład, jak określić wpis. Wszystkie opcje z ansible.builtin.user są dostępne, oprócz nowej opcji "linger", która włącza/wyłącza trwanie użytkownika (sprawdź polecenie loginctl, aby uzyskać więcej informacji na ten temat). Jeśli linger nie jest określone, trwanie nie zostanie zmienione. Ustawienie na false wyłączy trwanie, a ustawienie na true je włączy. Uwaga: linger nie działa w kontenerach, ponieważ wymaga systemd i dbus.
user_account_remove: []
#- acc_to_be_removed
Lista nazw użytkowników do usunięcia z systemu.
user_group_add: []
# - name: admin
# gid: 760
Dodaje określone grupy do systemu. Domyślnie jest to pusta lista. Powyższe komentarze pokazują przykład, jak określić wpis. Jedynym obowiązkowym parametrem dla każdego wpisu grupy jest pole z nazwą (nazwa grupy).
user_group_remove: []
# - mygroup
Usuwa określone grupy z systemu.
user_alias: []
# - user: example
# alias: ll
# command: ls -l --color=auto
# state: present
Określa aliasy do stworzenia/usunięcia z pliku bashrc użytkownika. Polecenie nie jest wymagane, gdy stan jest absent. Domyślnie είναι to pusta lista. Powyższe komentarze pokazują przykład, jak określić wpis.
Zależności
Brak zależności.
Przykładowy Playbook
- hosts: servers
vars:
user_max_days: 365
user_min_days: 7
user_inactive_days: 30
user_warn_age: 7
user_umask: '027'
user_shell_timeout: 900
user_fix_existing_accounts: yes
root_password: mypass
user_account_add:
- name: example
comment: To jest przykład
uid: 1076
groups: ['admin']
shell: /bin/bash
password: encpwd
linger: false
user_account_remove:
- removeme
user_group_add:
- name: admin
gid: 760
user_group_remove:
- mygroup
user_alias:
- user: example
alias: myls
command: ls -l --color=auto
state: present
roles:
- { role: guidugli.user }
Licencja
MIT / BSD
Informacje o autorze
Ta rola została stworzona w 2020 roku przez Carlosa Guidugli.
Add/Remove users; define and check security settings
ansible-galaxy install guidugli.user