socketwench.users-and-groups
Rola Ansible: Użytkownicy i Grupy
Tworzy użytkowników i grupy dla systemu Debian/Ubuntu Linux.
Wymagania
Brak.
Zmienne Roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (zobacz defaults/main.yml
).
Aby stworzyć użytkownika z wszystkimi domyślnymi ustawieniami, gdzie grupa podstawowa jest taka sama jak nazwa użytkownika:
server_users:
- name: "ash"
password: "imnotarobot"
Grupy
Nie ma osobnej zmiennej dla grup. Są one częścią zmiennej server_users
.
Aby określić nazwy grupy podstawowej i grup dodatkowych:
server_users:
- name: "ash"
password: "imnotarobot"
group: "nazwa_grupy_podstawowej"
groups:
- "inna_grupa"
- "więcej_grup"
Klucze SSH
Domyślnie dla wszystkich użytkowników tworzonych przez tę rolę generowany jest nowy klucz SSH:
server_users_ssh_key_generate: yes
server_users_ssh_key_bits: "4096"
Możesz to również nadpisać dla konkretnego użytkownika:
server_users:
- name: "ash"
password: "imnotarobot"
ssh_key_generate: yes
ssh_key_bits: "4096"
Autoryzowane klucze SSH
Czasami chcesz ustawić autoryzowane klucze, aby ludzie mogli logować się za pomocą kluczy publicznych zamiast haseł. Aby to ustawić dla wszystkich użytkowników:
server_users_auth_keys: "{{ contents_of_ssh_authorized_keys }}"
Gdzie zawartość zmiennej jest taka sama jak w plikach ~/.ssh/authorized_keys
.
Możesz również nadpisać to dla konkretnego użytkownika:
server_users:
- name: "ash"
password: "imnotarobot"
auth_keys: "{{ contents_of_ssh_authorized_keys }}"
Powłoka domyślna
Domyślną powłoką jest bash. Możesz to nadpisać dla wszystkich użytkowników:
server_users_shell: "/bin/bash"
Możesz również określić powłokę dla konkretnego użytkownika. To nadpisze domyślną wartość:
server_users:
- name: "ash"
password: "imnotarobot"
shell: "/bin/zsh"
Domyślnie rola nie loguje działań zadań z powodów bezpieczeństwa. Aby umożliwić logowanie:
server_users_no_log: true
Konfiguracje Ansible
Ta rola również dystrybuuje plik .ansible.cfg
do każdego katalogu domowego użytkownika. To pozwala na nadpisanie domyślnego role_path
i no_cows
:
server_users_ansible_role_path: "~/.ansible/roles"
server_users_ansible_nocows: 1
server_users_ansible_log: false
server_users_ansible_log_path: '~/ansible.log'
Ponownie, możesz to zrobić dla konkretnego użytkownika:
server_users:
- name: "ash"
password: "imnotarobot"
ansible_role_path: "/etc/ansible/roles"
ansible_nocows: 0
ansible_log: true
ansible_log_path: "/home/ash/logs/ansible.log"
Usuwanie i kasowanie użytkowników
Możesz również usunąć użytkowników, używając zmiennej state
:
server_users:
- name: "ash"
state: absent
Jeśli chcesz również usunąć ich katalog domowy, użyj remove
:
server_users:
- name: "ash"
state: absent
remove: yes
Zależności
Brak.
Przykładowy Playbook
server_users:
- name: "ash"
password: "imnotarobot"
group: "wy"
groups:
- "scidiv"
- name: "kane"
password: "ihateeggs"
shell: "/bin/ksh"
ssh_key_generate: no
Licencja
GPL 3.0.
Informacje o Autorze
Ta rola została stworzona w 2017 roku przez socketwench.
ansible-galaxy install socketwench.users-and-groups