tachtler:benutzer_mit_ansible_verwalten
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
tachtler:benutzer_mit_ansible_verwalten [2020/03/20 06:06] – [~/ansible/roles/00_user_add/tasks/main.yml] klaus | tachtler:benutzer_mit_ansible_verwalten [2020/03/20 13:01] (aktuell) – [/home/ansible/ansible/00_user.yml] klaus | ||
---|---|---|---|
Zeile 25: | Zeile 25: | ||
===== Aufgaben ===== | ===== Aufgaben ===== | ||
- | Aufbauend auf die Installation und Einrichtung von [[https:// | + | Aufbauend auf die Installation und Einrichtung von [[https:// |
- die Erstellung von Benutzern, auf dem [[https:// | - die Erstellung von Benutzern, auf dem [[https:// | ||
+ | - die Modifizierung von Benutzern, auf dem [[https:// | ||
- auf dem [[https:// | - auf dem [[https:// | ||
- die auf dem [[https:// | - die auf dem [[https:// | ||
- Mitglieder der Gruppe '' | - Mitglieder der Gruppe '' | ||
- | + | | |
- | Aufbauend auf die Installation und Einrichtung von [[https:// | + | |
- | | + | |
- | + | ||
- | Aufbauend auf die Installation und Einrichtung von [[https:// | + | |
- | - die Löschung von Benutzern auf **__allen__ Servern**, auf dem [[https:// | + | |
===== Konfiguration ===== | ===== Konfiguration ===== | ||
Zeile 144: | Zeile 140: | ||
:!: **HINWEIS** - **Eine Beschreibung zur " | :!: **HINWEIS** - **Eine Beschreibung zur " | ||
- | * [[tachtler:benutzer_mit_ansible_einrichten# | + | * [[tachtler:benutzer_mit_ansible_verwalten# |
Die Konfigurationsdatei '' | Die Konfigurationsdatei '' | ||
Zeile 274: | Zeile 270: | ||
- hosts: all | - hosts: all | ||
vars_files: | vars_files: | ||
- | - / | + | - inventories/ |
roles: | roles: | ||
- { role: 00_user } | - { role: 00_user } | ||
Zeile 299: | Zeile 295: | ||
Die Definition, das das **Playbook** nachfolgende Variablen Datei verwenden soll. | Die Definition, das das **Playbook** nachfolgende Variablen Datei verwenden soll. | ||
- | * <code yaml> | + | * <code yaml> |
Die Definition, der Variablen Datei welche das **Playbook** verwenden soll. | Die Definition, der Variablen Datei welche das **Playbook** verwenden soll. | ||
Zeile 341: | Zeile 337: | ||
owner: root | owner: root | ||
validate: visudo -cf %s | validate: visudo -cf %s | ||
- | - name: Ensure user does NOT exists, if NOT active. | + | - name: Ensure user NOT exists, if NOT active. |
user: | user: | ||
name: "{{ item.value.name }}" | name: "{{ item.value.name }}" | ||
Zeile 350: | Zeile 346: | ||
- "{{ users }}" | - "{{ users }}" | ||
no_log: True | no_log: True | ||
- | - name: Ensure group does NOT exists, if NOT active. | + | - name: Ensure group NOT exists, if NOT active. |
group: | group: | ||
name: "{{ item.value.group }}" | name: "{{ item.value.group }}" | ||
Zeile 358: | Zeile 354: | ||
- "{{ users }}" | - "{{ users }}" | ||
no_log: True | no_log: True | ||
- | - name: Ensure group exists. | + | - name: Ensure group exists, ONLY if active. |
group: | group: | ||
gid: "{{ item.value.gid }}" | gid: "{{ item.value.gid }}" | ||
name: "{{ item.value.group }}" | name: "{{ item.value.group }}" | ||
state: present | state: present | ||
+ | when: " | ||
with_dict: | with_dict: | ||
- "{{ users }}" | - "{{ users }}" | ||
no_log: True | no_log: True | ||
- | - name: Ansible-Host - Ensure user exists. | + | - name: Ansible-Host - Ensure user exists, ONLY if active. |
user: | user: | ||
append: yes | append: yes | ||
Zeile 382: | Zeile 379: | ||
state: present | state: present | ||
uid: "{{ item.value.uid }}" | uid: "{{ item.value.uid }}" | ||
+ | when: " | ||
with_dict: | with_dict: | ||
- "{{ users }}" | - "{{ users }}" | ||
delegate_to: | delegate_to: | ||
no_log: True | no_log: True | ||
- | - name: Clients - Ensure user exists. | + | - name: Clients - Ensure user exists, ONLY if active. |
user: | user: | ||
append: yes | append: yes | ||
Zeile 397: | Zeile 395: | ||
state: present | state: present | ||
uid: "{{ item.value.uid }}" | uid: "{{ item.value.uid }}" | ||
+ | when: " | ||
with_dict: | with_dict: | ||
- "{{ users }}" | - "{{ users }}" | ||
no_log: True | no_log: True | ||
- | - name: Set exclusive authorized key for users taken from file. | + | - name: Set exclusive authorized key for users taken from file, ONLY if active. |
authorized_key: | authorized_key: | ||
user: "{{ item.value.name }}" | user: "{{ item.value.name }}" | ||
Zeile 406: | Zeile 405: | ||
state: present | state: present | ||
exclusive: True | exclusive: True | ||
+ | when: " | ||
with_dict: | with_dict: | ||
- "{{ users }}" | - "{{ users }}" | ||
no_log: True | no_log: True | ||
- | - name: Add users to group ' | + | - name: Add users to group ' |
user: | user: | ||
append: yes | append: yes | ||
groups: wheel | groups: wheel | ||
name: "{{ item.value.name }}" | name: "{{ item.value.name }}" | ||
- | when: " | + | when: |
+ | - " | ||
+ | - " | ||
with_dict: | with_dict: | ||
- "{{ users }}" | - "{{ users }}" | ||
- | no_log: True | + | no_log: True |
+ | - name: Remove users from all groups except the primary group, if set to False. | ||
+ | user: | ||
+ | append: no | ||
+ | groups: '' | ||
+ | name: "{{ item.value.name }}" | ||
+ | when: | ||
+ | - " | ||
+ | - " | ||
+ | with_dict: | ||
+ | - "{{ users }}" | ||
+ | no_log: True | ||
</ | </ | ||
Zeile 458: | Zeile 471: | ||
* '' | * '' | ||
- | * <code yaml>- name: Ensure user does NOT exists, if NOT active. | + | * <code yaml>- name: Ensure user NOT exists, if NOT active. |
user: | user: | ||
name: "{{ item.value.name }}" | name: "{{ item.value.name }}" | ||
Zeile 472: | Zeile 485: | ||
* '' | * '' | ||
* mit dem Status '' | * mit dem Status '' | ||
- | * '' | + | * '' |
* '' | * '' | ||
**gelöscht** wird, **__falls dieser NICHT als aktiv gekennzeichnet ist!__** | **gelöscht** wird, **__falls dieser NICHT als aktiv gekennzeichnet ist!__** | ||
Zeile 480: | Zeile 493: | ||
:!: **ACHTUNG** - **Alle Dateien im und das $HOME-Verzeichnis des Benutzers werden ebenfalls gelöscht !!!** | :!: **ACHTUNG** - **Alle Dateien im und das $HOME-Verzeichnis des Benutzers werden ebenfalls gelöscht !!!** | ||
- | * <code yaml>- name: Ensure group does NOT exists, if NOT active. | + | * <code yaml>- name: Ensure group NOT exists, if NOT active. |
group: | group: | ||
name: "{{ item.value.group }}" | name: "{{ item.value.group }}" | ||
Zeile 487: | Zeile 500: | ||
with_dict: | with_dict: | ||
- "{{ users }}" | - "{{ users }}" | ||
- | no_log: True</ | + | no_log: True </ |
Es wird sicher gestellt, das eine **Gruppe** des **Benutzers** aus dem **dictionary (Wörterbuch)** - '' | Es wird sicher gestellt, das eine **Gruppe** des **Benutzers** aus dem **dictionary (Wörterbuch)** - '' | ||
* '' | * '' | ||
* mit dem Status '' | * mit dem Status '' | ||
- | * '' | + | * '' |
* '' | * '' | ||
**gelöscht** wird, **__falls dieser NICHT als aktiv gekennzeichnet ist!__** | **gelöscht** wird, **__falls dieser NICHT als aktiv gekennzeichnet ist!__** | ||
Zeile 498: | Zeile 511: | ||
:!: **HINWEIS** - **Dies bewirkt, das die Gruppe __komplett gelöscht__ wird!** | :!: **HINWEIS** - **Dies bewirkt, das die Gruppe __komplett gelöscht__ wird!** | ||
- | * <code yaml>- name: Ensure group exists. | + | * <code yaml>- name: Ensure group exists, ONLY if active. |
group: | group: | ||
gid: "{{ item.value.gid }}" | gid: "{{ item.value.gid }}" | ||
name: "{{ item.value.group }}" | name: "{{ item.value.group }}" | ||
state: present | state: present | ||
+ | when: " | ||
with_dict: | with_dict: | ||
- "{{ users }}" | - "{{ users }}" | ||
Zeile 511: | Zeile 525: | ||
* '' | * '' | ||
* mit dem Status '' | * mit dem Status '' | ||
+ | * '' | ||
* '' | * '' | ||
durchgeführt wird. | durchgeführt wird. | ||
- | * <code yaml>- name: Ansible-Host - Ensure user exists. | + | * <code yaml>- name: Ansible-Host - Ensure user exists, ONLY if active. |
user: | user: | ||
append: yes | append: yes | ||
Zeile 530: | Zeile 545: | ||
state: present | state: present | ||
uid: "{{ item.value.uid }}" | uid: "{{ item.value.uid }}" | ||
+ | when: " | ||
with_dict: | with_dict: | ||
- "{{ users }}" | - "{{ users }}" | ||
Zeile 550: | Zeile 566: | ||
* mit dem Status '' | * mit dem Status '' | ||
* '' | * '' | ||
+ | * '' | ||
* '' | * '' | ||
* '' | * '' | ||
durchgeführt wird. | durchgeführt wird. | ||
- | * <code yaml>- name: Clients - Ensure user exists. | + | * <code yaml>- name: Clients - Ensure user exists, ONLY if active. |
user: | user: | ||
append: yes | append: yes | ||
Zeile 565: | Zeile 582: | ||
state: present | state: present | ||
uid: "{{ item.value.uid }}" | uid: "{{ item.value.uid }}" | ||
+ | when: " | ||
with_dict: | with_dict: | ||
- "{{ users }}" | - "{{ users }}" | ||
Zeile 579: | Zeile 597: | ||
* mit dem Status '' | * mit dem Status '' | ||
* '' | * '' | ||
+ | * '' | ||
* '' | * '' | ||
durchgeführt wird. | durchgeführt wird. | ||
- | * <code yaml>- name: Set exclusive authorized key for users taken from file. | + | * <code yaml>- name: Set exclusive authorized key for users taken from file, ONLY if active. |
authorized_key: | authorized_key: | ||
user: "{{ item.value.name }}" | user: "{{ item.value.name }}" | ||
Zeile 588: | Zeile 607: | ||
state: present | state: present | ||
exclusive: True | exclusive: True | ||
+ | when: " | ||
with_dict: | with_dict: | ||
- "{{ users }}" | - "{{ users }}" | ||
Zeile 599: | Zeile 619: | ||
* mit dem Status '' | * mit dem Status '' | ||
* '' | * '' | ||
+ | * '' | ||
* '' | * '' | ||
durchgeführt wird. | durchgeführt wird. | ||
Zeile 607: | Zeile 628: | ||
groups: wheel | groups: wheel | ||
name: "{{ item.value.name }}" | name: "{{ item.value.name }}" | ||
- | when: " | + | when: |
+ | - " | ||
+ | - " | ||
with_dict: | with_dict: | ||
- "{{ users }}" | - "{{ users }}" | ||
Zeile 616: | Zeile 639: | ||
der Gruppe '' | der Gruppe '' | ||
* '' | * '' | ||
- | * '' | + | * '' |
+ | * '' | ||
+ | * '' | ||
+ | durchgeführt wird. | ||
+ | |||
+ | * <code yaml>- name: Remove users from all groups except the primary group, if set to False. | ||
+ | user: | ||
+ | append: no | ||
+ | groups: '' | ||
+ | name: "{{ item.value.name }}" | ||
+ | | ||
+ | - " | ||
+ | - " | ||
+ | with_dict: | ||
+ | - "{{ users }}" | ||
+ | no_log: True</ | ||
+ | |||
+ | Es wird sicher gestellt, das ein **Benutzer** des **Benutzers** aus dem **dictionary (Wörterbuch)** - '' | ||
+ | * auf **__allen__ Clients** | ||
+ | von allen Gruppen, auch '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
* '' | * '' | ||
durchgeführt wird. | durchgeführt wird. | ||
Zeile 666: | Zeile 711: | ||
SSH password: | SSH password: | ||
Vault password: | Vault password: | ||
+ | |||
+ | PLAY [all] ********************************************************************* | ||
+ | |||
+ | TASK [Gathering Facts] ********************************************************* | ||
+ | ok: [192.168.1.20] | ||
+ | ok: [192.168.1.30] | ||
+ | |||
+ | TASK [00_user : Make sure group ' | ||
+ | ok: [192.168.1.20] | ||
+ | ok: [192.168.1.30] | ||
+ | |||
+ | TASK [00_user : Allow ' | ||
+ | changed: [192.168.1.20] | ||
+ | changed: [192.168.1.30] | ||
+ | |||
+ | TASK [00_user : Ensure user NOT exists, if NOT active.] ************************ | ||
+ | skipping: [192.168.1.20] => (item=None) | ||
+ | skipping: [192.168.1.20] => (item=None) | ||
+ | skipping: [192.168.1.20] | ||
+ | skipping: [192.168.1.30] => (item=None) | ||
+ | skipping: [192.168.1.30] => (item=None) | ||
+ | skipping: [192.168.1.30] | ||
+ | |||
+ | TASK [00_user : Ensure group NOT exists, if NOT active.] *********************** | ||
+ | skipping: [192.168.1.20] => (item=None) | ||
+ | skipping: [192.168.1.20] => (item=None) | ||
+ | skipping: [192.168.1.20] | ||
+ | skipping: [192.168.1.30] => (item=None) | ||
+ | skipping: [192.168.1.30] => (item=None) | ||
+ | skipping: [192.168.1.30] | ||
+ | |||
+ | TASK [00_user : Ensure group exists, ONLY if active.] ************************** | ||
+ | ok: [192.168.1.20] => (item=None) | ||
+ | changed: [192.168.1.30] => (item=None) | ||
+ | changed: [192.168.1.20] => (item=None) | ||
+ | changed: [192.168.1.20] | ||
+ | changed: [192.168.1.30] => (item=None) | ||
+ | changed: [192.168.1.30] | ||
+ | |||
+ | TASK [00_user : Ansible-Host - Ensure user exists, ONLY if active.] ************ | ||
+ | changed: [192.168.1.20 -> 127.0.0.1] => (item=None) | ||
+ | changed: [192.168.1.30 -> 127.0.0.1] => (item=None) | ||
+ | changed: [192.168.1.20 -> 127.0.0.1] => (item=None) | ||
+ | changed: [192.168.1.20] | ||
+ | changed: [192.168.1.30 -> 127.0.0.1] => (item=None) | ||
+ | changed: [192.168.1.30] | ||
+ | |||
+ | TASK [00_user : Clients - Ensure user exists, ONLY if active.] ***************** | ||
+ | changed: [192.168.1.20] => (item=None) | ||
+ | changed: [192.168.1.30] => (item=None) | ||
+ | changed: [192.168.1.20] => (item=None) | ||
+ | changed: [192.168.1.20] | ||
+ | changed: [192.168.1.30] => (item=None) | ||
+ | changed: [192.168.1.30] | ||
+ | |||
+ | TASK [00_user : Set exclusive authorized key for users taken from file, ONLY if active.] *** | ||
+ | ok: [192.168.1.20] => (item=None) | ||
+ | changed: [192.168.1.30] => (item=None) | ||
+ | changed: [192.168.1.20] => (item=None) | ||
+ | changed: [192.168.1.20] | ||
+ | changed: [192.168.1.30] => (item=None) | ||
+ | changed: [192.168.1.30] | ||
+ | |||
+ | TASK [00_user : Add users to group ' | ||
+ | ok: [192.168.1.20] => (item=None) | ||
+ | skipping: [192.168.1.20] => (item=None) | ||
+ | ok: [192.168.1.20] | ||
+ | changed: [192.168.1.30] => (item=None) | ||
+ | skipping: [192.168.1.30] => (item=None) | ||
+ | changed: [192.168.1.30] | ||
+ | |||
+ | TASK [00_user : Remove users from all groups except the primary group, if set to False.] *** | ||
+ | skipping: [192.168.1.20] => (item=None) | ||
+ | skipping: [192.168.1.30] => (item=None) | ||
+ | ok: [192.168.1.20] => (item=None) | ||
+ | ok: [192.168.1.20] | ||
+ | ok: [192.168.1.30] => (item=None) | ||
+ | ok: [192.168.1.30] | ||
+ | |||
+ | PLAY RECAP ********************************************************************* | ||
+ | 192.168.1.20 | ||
+ | 192.168.1.30 | ||
</ | </ | ||
tachtler/benutzer_mit_ansible_verwalten.1584680800.txt.gz · Zuletzt geändert: 2020/03/20 06:06 von klaus