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
Letzte ÜberarbeitungBeide Seiten der Revision
tachtler:benutzer_mit_ansible_verwalten [2020/03/20 06:24] – [~/ansible/roles/00_user/tasks/main.yml] klaustachtler:benutzer_mit_ansible_verwalten [2020/03/20 07:25] – [~/ansible/roles/00_user/tasks/main.yml] klaus
Zeile 270: 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 295: 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 409: Zeile 409:
     - "{{ 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
Zeile 419: Zeile 419:
   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 474: 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.active | bool != True"'' - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem booleschem Wert (Wahr/Unwahr) - **(ungleich wahr)** ist.+  * ''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 494: Zeile 505:
   * ''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.active | bool != True"'' - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem booleschem Wert (Wahr/Unwahr) - **(ungleich wahr)** ist.+  * ''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 514: 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.+  * ''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 555: 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.+  * ''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.
Zeile 586: 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.+  * ''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 608: 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.+  * ''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 628: 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''
-  * ''    - "item.value.active | bool == True"'' - aus dem **dictionary (Wörterbuch)** - ''users'' - konvertiert zu einem booleschem Wert (Wahr/Unwahr) - **(wahr)** ist. +  * ''    - "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.+  * ''    - "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.
tachtler/benutzer_mit_ansible_verwalten.txt · Zuletzt geändert: 2020/03/20 13:01 von klaus