Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
linux:ansible:playbook_example_14 [01.12.2022 19:21. ] djangolinux:ansible:playbook_example_14 [01.12.2022 20:05. ] – [gehashtes Passwort] django
Zeile 57: Zeile 57:
  
 === gehashtes Passwort === === gehashtes Passwort ===
-Damit wir keine PLAIN-Text Passworte sondern nun gehashte Passwörter im Inventory stehen haben wollen, denn aus Sicherheitsgründen dürfen nur die Admins selbst deren Passwort kennen und sonst niemand bitten wir diese uns das gehashte Passwort mit **''openssl''** zu generieren.+Damit wir keine PLAIN-Text Passworte sondern nun gehashte Passwörter im Inventory stehen haben wollen, denn aus Sicherheitsgründen dürfen nur die Admins selbst deren Passwort kennen und sonst niemandbitten wir diese uns das gehashte Passwort mit **''openssl''** zu generieren.
     openssl passwd -6     openssl passwd -6
   Password:    Password: 
Zeile 133: Zeile 133:
 Folgende Schritte werden also mit Hilfe des Playbooks abgearbeitet: Folgende Schritte werden also mit Hilfe des Playbooks abgearbeitet:
   - Sicherstellen dass die Gruppe **''wheel''** existiert.   - Sicherstellen dass die Gruppe **''wheel''** existiert.
-  - Überprüfen, ob die Variablen aus dem Inventory entsprechend der **[[#anchor_var_def|Vorgaben]]** gesetzt und gültig sind+  - Überprüfen, ob die Variablen aus dem Inventory entsprechend der **[[#anchor_var_def|Vorgaben]]** gesetzt und gültig sind. Falls nicht wird ein expliziter Fehlerhinweis ausgegeben und die Ausführung des Playbooks beendet. \\ Beispiel: <code>TASK [admins : Prüfen ob die UID richtig gesetzt wurde.] ******************************************************************************************************************************************* 
 +fatal: [vml000137]: FAILED! => {"assertion": "item.ids is defined and item.ids < 5001", "changed": false, "evaluated_to": false, "msg": "Die Variable item.ids ist nicht vorhanden bzw. falsch gesetzt!"
 + 
 +PLAY RECAP ***************************************************************************************************************************************************************************************** 
 +vml000137                  : ok=13   changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0</code> Oder ein weiteres Beispiel: <code>TASK [admins : Prüfen ob die Variable state richtig gesetzt wurde.] ******************************************************************************************************************************** 
 +fatal: [vml000137]: FAILED! => {"assertion": "item.state is defined and (item.state == 'present' or item.state == 'absent')", "changed": false, "evaluated_to": false, "msg": "Die Variable item.state ist nicht vorhanden bzw. leer!"
 + 
 +PLAY RECAP ***************************************************************************************************************************************************************************************** 
 +vml000137                  : ok=15   changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0</code>
   - Sicherstellen dass die Gruppen für Admin-User existieren.   - Sicherstellen dass die Gruppen für Admin-User existieren.
   - Sicherstellen dass die Admin-User existieren.   - Sicherstellen dass die Admin-User existieren.
Zeile 142: Zeile 150:
   - Der Gruppe **''wheel''** sudo Rechte zuweisen.   - Der Gruppe **''wheel''** sudo Rechte zuweisen.
  
-/* +Entscheidend für das Anlegen bzw. Löschen eines Admins ist die Array-Variable **''state''**; ist ihr der Wert **''present''** zugewiesen wir der Admin neu angelegt und dessen Schlüssel angelegt. Ist der Wert der Variable aber **''absent''** wir dessen Gruppe und User auf den Zielsystemen entfernt. Nach einem erfolgreichen Playbooklauf können wir dann anschliessend den Admin wieder aus dem Inventory löschen oder eben solange dort stehen lassen, bis dieser wieder z.B. nach einem [[https://de.wikipedia.org/wiki/Sabbatical|Sabbatical]] seinen Dienst antritt.
-Entscheidend für das Anlegen bzw. Löschen eines Admins ist die Array-Variable **''state''**; ist ihr der Wert **''present''** zugewiesen wir der Admin neu angelegt und dessen Schlüssel angelegt. Ist der Wert der Vaiable aber **''absent''** wir dessen Gruppe und User auf den Zielsystemen entfernt. Nach einem erfolgreichen Playbooklauf können wir dann anschliessend den Admin wieder aus dem Inventory löschen oder eben solange dort stehen lassen, bis dieser wieder z.B. nach einem [[https://de.wikipedia.org/wiki/Sabbatical|Sabbatical]] seinen Dienst antritt.+
  
 Haben wir die Daten in unserem Vault entsprechend aktualisiert können wir, wie im Playbook vermerkt, das Playbook wie gewohnt aufrufen. Haben wir die Daten in unserem Vault entsprechend aktualisiert können wir, wie im Playbook vermerkt, das Playbook wie gewohnt aufrufen.
Zeile 155: Zeile 162:
  
   PLAY RECAP ********************************************************************************************************   PLAY RECAP ********************************************************************************************************
-  vml000137                  : ok=7    changed=0    unreachable=0    failed=0    skipped=   rescued=0    ignored=0 +  vml000137                  : ok=29   changed=0    unreachable=0    failed=0    skipped=   rescued=0    ignored=0 
-*/+ 
 +====== Links ====== 
 +  **[[detail|zurück zum Kapitel "Ansible - Erweiterte Konfigurationsbeispiele"]] <= ** 
 +  * **=> [[playbook_example_10|weiter zum Kapitel "Ansible Controll Node]]** 
 +  * **[[start|Zurück zur "Ansible"-Übersicht]]** 
 +  * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]** 
 +  * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
  • linux/ansible/playbook_example_14.txt
  • Zuletzt geändert: 09.06.2024 08:14.
  • von django