Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:benutzer_mit_ansible_verwalten

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:benutzer_mit_ansible_verwalten [2020/03/20 06:06] – [~/ansible/roles/00_user_add/tasks/main.yml] klaustachtler: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://www.ansible.com/|Ansible]], soll nachfolgende **role** (Rolle) **''00_user_add''** für +Aufbauend auf die Installation und Einrichtung von [[https://www.ansible.com/|Ansible]], soll nachfolgende **role** (Rolle) für 
   - die Erstellung von Benutzern, auf dem [[https://www.ansible.com/|Ansible]]-Host und den **Clients** durchgeführt werden   - die Erstellung von Benutzern, auf dem [[https://www.ansible.com/|Ansible]]-Host und den **Clients** durchgeführt werden
 +  - die Modifizierung von Benutzern, auf dem [[https://www.ansible.com/|Ansible]]-Host und den **Clients** durchgeführt werden
   - auf dem [[https://www.ansible.com/|Ansible]]-Host und **__nur__** auf dem [[https://www.ansible.com/|Ansible]]-Host sollen ''ssh-''Schlüsselpaare für die einzelnen Benutzer erstellt werden.   - auf dem [[https://www.ansible.com/|Ansible]]-Host und **__nur__** auf dem [[https://www.ansible.com/|Ansible]]-Host sollen ''ssh-''Schlüsselpaare für die einzelnen Benutzer erstellt werden.
   - die auf dem [[https://www.ansible.com/|Ansible]]-Host erstellten ''ssh-''Schlüsselpaare für die einzelnen Benutzer, sollen auf die **Clients** verteilt werden.   - die auf dem [[https://www.ansible.com/|Ansible]]-Host erstellten ''ssh-''Schlüsselpaare für die einzelnen Benutzer, sollen auf die **Clients** verteilt werden.
   - Mitglieder der Gruppe ''wheel'' haben die Möglichkeit ''root''-Rechte, durch Eingabe des jeweiligen Passworts des Benutzers, zu erlangen.   - Mitglieder der Gruppe ''wheel'' haben die Möglichkeit ''root''-Rechte, durch Eingabe des jeweiligen Passworts des Benutzers, zu erlangen.
- +  - die Löschung von Benutzern, auf dem [[https://www.ansible.com/|Ansible]]-Host und den **Clients** durchgeführt werden.
-Aufbauend auf die Installation und Einrichtung von [[https://www.ansible.com/|Ansible]], soll nachfolgende **role** (Rolle) **''00_user_mod''** für  +
-  - die Veränderung von Benutzern auf **__allen__ Servern**, auf dem [[https://www.ansible.com/|Ansible]]-Host und den **Clients** durchgeführt werden +
- +
-Aufbauend auf die Installation und Einrichtung von [[https://www.ansible.com/|Ansible]], soll nachfolgende **role** (Rolle) **''00_user_del''** für  +
-  - die Löschung von Benutzern auf **__allen__ Servern**, auf dem [[https://www.ansible.com/|Ansible]]-Host und den **Clients** durchgeführt werden+
  
 ===== Konfiguration ===== ===== Konfiguration =====
Zeile 144: Zeile 140:
  
 :!: **HINWEIS** - **Eine Beschreibung zur "vault"-Erstellung ist unter nachfolgendem internen Link verfügbar:** :!: **HINWEIS** - **Eine Beschreibung zur "vault"-Erstellung ist unter nachfolgendem internen Link verfügbar:**
-  * [[tachtler:benutzer_mit_ansible_einrichten#vault_-erstellung|Benutzer mit Ansible einrichten - "vault"-Erstellung]]+  * [[tachtler:benutzer_mit_ansible_verwalten#vault_-erstellung|Benutzer mit Ansible verwalten - "vault"-Erstellung]]
  
 Die Konfigurationsdatei ''~/ansible/inventories/production/host_vars/00_user.yml'' kann mit nachfolgendem Befehl **neu** erstellt werden, falls diese nicht bereits vorhanden sein sollte: Die Konfigurationsdatei ''~/ansible/inventories/production/host_vars/00_user.yml'' kann mit nachfolgendem Befehl **neu** erstellt werden, falls diese nicht bereits vorhanden sein sollte:
Zeile 274: Zeile 270:
 - hosts: all - hosts: all
   vars_files:   vars_files:
-    - /home/ansible/ansible/inventories/production/host_vars/00_user.yml+    - inventories/production/host_vars/00_user.yml
   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>    - /home/ansible/ansible/inventories/production/host_vars/00_user.yml</code>+  * <code yaml>    - inventories/production/host_vars/00_user.yml</code>
  
 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: "item.value.active | bool == True"
   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: "item.value.active | bool == True"
   with_dict:   with_dict:
     - "{{ users }}"     - "{{ users }}"
   delegate_to: 127.0.0.1   delegate_to: 127.0.0.1
   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: "item.value.active | bool == True"
   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: "item.value.active | bool == True"
   with_dict:   with_dict:
     - "{{ users }}"     - "{{ users }}"
   no_log: True   no_log: True
-- name: Add users to group 'wheel' if set.+- name: Add users to group 'wheel' if set to True.
   user:   user:
     append: yes     append: yes
     groups: wheel     groups: wheel
     name: "{{ item.value.name }}"     name: "{{ item.value.name }}"
-  when: "item.value.wheel | bool"+  when:  
 +    - "item.value.active | bool == True" 
 +    - "item.value.wheel | bool == True"
   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:  
 +    - "item.value.active | bool == True" 
 +    - "item.value.wheel | bool != True" 
 +  with_dict: 
 +    - "{{ users }}" 
 +  no_log: True     
 </code> </code>
  
Zeile 458: Zeile 471:
   * ''validate: visudo -cf %s'' - Es erfolgt eine syntaktische Überprüfung, ob die Konfigurationsdatei Fehler aufweist.   * ''validate: visudo -cf %s'' - Es erfolgt eine syntaktische Überprüfung, ob die Konfigurationsdatei Fehler aufweist.
  
-  * <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:
   * ''name: '' - aus dem **dictionary (Wörterbuch)** - ''users''   * ''name: '' - aus dem **dictionary (Wörterbuch)** - ''users''
   * mit dem Status ''state: absent'' bedeutet, dass der Benutzer gelöscht wird.   * mit dem Status ''state: absent'' bedeutet, dass der Benutzer gelöscht wird.
-  * ''when: "item.value.protected | bool == False"'' - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem booleschem Wert (Wahr/Unwahr).+  * ''when: "item.value.active | bool !True"'' - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem booleschem Wert (wahr/unwahr- **(ungleich wahr)** ist.
   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.
 **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</code>+  no_log: True  </code>
  
 Es wird sicher gestellt, das eine **Gruppe** des **Benutzers** aus dem **dictionary (Wörterbuch)** - ''users'' - mit dem Es wird sicher gestellt, das eine **Gruppe** des **Benutzers** aus dem **dictionary (Wörterbuch)** - ''users'' - mit dem
   * ''name:'' - aus dem **dictionary (Wörterbuch)** - ''users''   * ''name:'' - aus dem **dictionary (Wörterbuch)** - ''users''
   * mit dem Status ''state: absent'' bedeutet, dass die Gruppe gelöscht wird   * mit dem Status ''state: absent'' bedeutet, dass die Gruppe gelöscht wird
-  * ''when: "item.value.protected | bool == False"'' - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem booleschem Wert (Wahr/Unwahr).+  * ''when: "item.value.active | bool !True"'' - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem booleschem Wert (wahr/unwahr- **(ungleich wahr)** ist.
   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.
 **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: "item.value.active | bool == True"
   with_dict:   with_dict:
     - "{{ users }}"     - "{{ users }}"
Zeile 511: Zeile 525:
   * ''name:'' - aus dem **dictionary (Wörterbuch)** - ''users''   * ''name:'' - aus dem **dictionary (Wörterbuch)** - ''users''
   * mit dem Status ''state: present'' bedeutet, dass der Benutzer angelegt wird, wenn dieser nicht bereits existiert   * mit dem Status ''state: present'' bedeutet, dass der Benutzer angelegt wird, wenn dieser nicht bereits existiert
 +  * ''when: "item.value.active | bool == True"'' - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem booleschem Wert (wahr/unwahr) - **(wahr)** ist.
   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.
 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: "item.value.active | bool == True"
   with_dict:   with_dict:
     - "{{ users }}"     - "{{ users }}"
Zeile 550: Zeile 566:
   * mit dem Status ''state: present'' bedeutet, dass der Benutzer angelegt wird, wenn dieser nicht bereits existiert   * mit dem Status ''state: present'' bedeutet, dass der Benutzer angelegt wird, wenn dieser nicht bereits existiert
   * ''uid:'' - aus dem **dictionary (Wörterbuch)** - ''users''   * ''uid:'' - aus dem **dictionary (Wörterbuch)** - ''users''
 +  * ''when: "item.value.active | bool == True"'' - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem booleschem Wert (wahr/unwahr) - **(wahr)** ist.
   * ''delegate_to: 127.0.0.1'' - bewirkt, dass dies **__NUR__** auf dem [[https://www.ansible.com/|Ansible]]-**Host** ausgeführt wird und nicht auf allen anderen **Clients** auch!   * ''delegate_to: 127.0.0.1'' - bewirkt, dass dies **__NUR__** auf dem [[https://www.ansible.com/|Ansible]]-**Host** ausgeführt wird und nicht auf allen anderen **Clients** auch!
   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.
 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: "item.value.active | bool == True"
   with_dict:   with_dict:
     - "{{ users }}"     - "{{ users }}"
Zeile 579: Zeile 597:
   * mit dem Status ''state: present'' bedeutet, dass die Gruppe angelegt wird, wenn diese nicht bereits existiert   * mit dem Status ''state: present'' bedeutet, dass die Gruppe angelegt wird, wenn diese nicht bereits existiert
   * ''uid:'' - aus dem **dictionary (Wörterbuch)** - ''users''   * ''uid:'' - aus dem **dictionary (Wörterbuch)** - ''users''
 +  * ''when: "item.value.active | bool == True"'' - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem booleschem Wert (wahr/unwahr) - **(wahr)** ist.
   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.
 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: "item.value.active | bool == True"
   with_dict:   with_dict:
     - "{{ users }}"     - "{{ users }}"
Zeile 599: Zeile 619:
   * mit dem Status ''state: present'' bedeutet, dass der Schlüssel hinzugefügt wird, wenn diese nicht bereits existiert   * mit dem Status ''state: present'' bedeutet, dass der Schlüssel hinzugefügt wird, wenn diese nicht bereits existiert
   * ''exclusive: True'' - bedeutet, das keine anderer öffentlicher Schlüssel in der Datei ''authorized_keys'' vorgehalten wird   * ''exclusive: True'' - bedeutet, das keine anderer öffentlicher Schlüssel in der Datei ''authorized_keys'' vorgehalten wird
 +  * ''when: "item.value.active | bool == True"'' - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem booleschem Wert (wahr/unwahr) - **(wahr)** ist.
   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.
 durchgeführt wird. durchgeführt wird.
Zeile 607: Zeile 628:
     groups: wheel     groups: wheel
     name: "{{ item.value.name }}"     name: "{{ item.value.name }}"
-  when: "item.value.wheel | bool"+  when:  
 +    - "item.value.active | bool == True" 
 +    - "item.value.wheel | bool == True"
   with_dict:   with_dict:
     - "{{ users }}"     - "{{ users }}"
Zeile 616: Zeile 639:
 der Gruppe ''wheel'' hinzugefügt wird, wenn die Varibale **''wheel: True''** gesetzt ist: der Gruppe ''wheel'' hinzugefügt wird, wenn die Varibale **''wheel: True''** gesetzt ist:
   * ''name: '' - aus dem **dictionary (Wörterbuch)** - ''users''   * ''name: '' - aus dem **dictionary (Wörterbuch)** - ''users''
-  * ''when: "item.value.wheel | bool"'' - - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem boolischem Wert (Wahr/Unwahr).+  * ''    - "item.value.active | bool == True"'' - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem booleschem Wert (wahr/unwahr) - **(wahr)** ist. 
 +  * ''    - "item.value.wheel | bool == True""'' - - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem boolischem Wert (wahr/unwahr) - **(wahr)** ist. 
 +  * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden. 
 +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 }}" 
 +  when:  
 +    - "item.value.active | bool == True" 
 +    - "item.value.wheel | bool != True" 
 +  with_dict: 
 +    - "{{ users }}" 
 +  no_log: True</code> 
 + 
 +Es wird sicher gestellt, das ein **Benutzer** des **Benutzers** aus dem **dictionary (Wörterbuch)** - ''users''  
 +  * auf **__allen__ Clients** 
 +von allen Gruppen, auch ''wheel'', außder dessen primärere Gruppe, entfernt wird, wenn die Varibale **''wheel: False''** gesetzt ist: 
 +  * ''name: '' - aus dem **dictionary (Wörterbuch)** - ''users'' 
 +  * ''    - "item.value.active | bool == True"'' - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem booleschem Wert (wahr/unwahr) - **(wahr)** ist. 
 +  * ''    - "item.value.wheel | bool != True""'' - - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem boolischem Wert (wahr/unwahr- **(unwahr)** ist.
   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.   * ''no_log: True'' - bewirkt, dass keine detaillierten Ausgaben erfolgen, da sonst z.B. Passwörter im Klartext bei der Log-Ausgabe auftauchen würden.
 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 'wheel' does exists.] **************************
 +ok: [192.168.1.20]
 +ok: [192.168.1.30]
 +
 +TASK [00_user : Allow 'wheel' group to have password accessed sudo.] ***********
 +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 'wheel' if set to True.] ********************
 +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               : ok=9    changed=5    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0   
 +192.168.1.30               : ok=9    changed=6    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0
 </code> </code>
  
tachtler/benutzer_mit_ansible_verwalten.1584680800.txt.gz · Zuletzt geändert: 2020/03/20 06:06 von klaus