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
linux:ansible:playbook_example_14 [01.12.2022 19:55. ] djangolinux:ansible:playbook_example_14 [29.05.2023 16:34. ] (aktuell) – [gehashtes Passwort] django
Zeile 1: Zeile 1:
 +~~NOCACHE~~
 ====== Ansible - weitere Beispiele: Admin Benutzer verwalten (v2)====== ====== Ansible - weitere Beispiele: Admin Benutzer verwalten (v2)======
 {{:centos:ansible:ansible_logo.png?nolink&125|Bild: Ansible Logo}} \\ \\ {{:centos:ansible:ansible_logo.png?nolink&125|Bild: Ansible Logo}} \\ \\
Zeile 57: Zeile 58:
  
 === 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 63: Zeile 64:
   $6$n9UE0JVV7T.nzFJOdSY1dHDEsbfY3$0SPNKmewfaQ0z5thaRMrrrI9Uig.nzFJOdSY1erIZbw5yzDqeCg4S2oXa8zn2jEf9KDfjg31   $6$n9UE0JVV7T.nzFJOdSY1dHDEsbfY3$0SPNKmewfaQ0z5thaRMrrrI9Uig.nzFJOdSY1erIZbw5yzDqeCg4S2oXa8zn2jEf9KDfjg31
  
-Ferner benötigen wir noch den SSH-Publickey den wir uns ebenso wie das gerade erstellte gehashte Passwort von unseren Admins auf einem sicheren Kommunikationsweg zukommen. +Ferner benötigen wir noch den SSH-Publickeyden wir uns ebenso wie das gerade erstellte gehashte Passwort von unseren Admins auf einem sicheren Kommunikationsweg zukommen lasse
 +n
 === Inventory Daten für unsere Admins === === Inventory Daten für unsere Admins ===
 Diese Daten übernehmen wir dann in unser Inventory: Diese Daten übernehmen wir dann in unser Inventory:
Zeile 86: Zeile 87:
     pwd    : $6$n9UE0JVV7T.nzFJOdSY1dHDEsbfY3$0SPNKmewfaQ0z5thaRMrrrI9Uig.nzFJOdSY1erIZbw5yzDqeCg4S2oXa8zn2jEf9KDfjg31     pwd    : $6$n9UE0JVV7T.nzFJOdSY1dHDEsbfY3$0SPNKmewfaQ0z5thaRMrrrI9Uig.nzFJOdSY1erIZbw5yzDqeCg4S2oXa8zn2jEf9KDfjg31
     key    : ssh-ed25519 AAAAC3NzaqK6Pb38bv0oM9fw0C1lZDI1NTE5AAAAIDo46Pb38bv0oM9fmgM6byylc0815 rookie@nausch.org     key    : ssh-ed25519 AAAAC3NzaqK6Pb38bv0oM9fw0C1lZDI1NTE5AAAAIDo46Pb38bv0oM9fmgM6byylc0815 rookie@nausch.org
-  - user   : Oliver Gewinnbringer +  - user   : Wänä Marschel 
-    name   : oliver+    name   : waenae
     groups : wheel     groups : wheel
     ids    : 1002     ids    : 1002
     shell  : /bin/bash     shell  : /bin/bash
     state  : present     state  : present
-    pwd    : $6$nJVSYV9J17.SY1v0oM9fow8Do46dHDEsbfY3$0SPNKmewfaQ0z5tsafZi3haRMrrrI9Uig.OdSY1e6dHDEsbfY3$rI51ewfaQ0z5th +    pwd    : $6$nJVSYV9J17.SY1v0oM9fow8Do46d04m354u3$0SPNKmewfaQ0z5tsafZi3haRMrrrI9Uig.OdSY1e6dHDEsbfY3$rI51ewfaQ0z5th 
-    key    : ssh-ed25519 AAAAK6Pb38bv0oM9fw8DoOdSY1er4b38bNzaqK6Pb38bv0oM9fw01erIZbw5yzDqeCC5 oliver@nausch.org+    key    : ssh-ed25519 AAAAK6Pb38bv0oM9fw8DoOdSY1er4b38bNzaqK6Pb38bv0oM9fw01erIZbw5yzDqeCC5 waennae@nausch.org
 </file> </file>
 In diesem Beispiel haben wir also drei Admins mit den zugehörigen Daten. In diesem Beispiel haben wir also drei Admins mit den zugehörigen Daten.
Zeile 111: Zeile 112:
  
 Nun legen wir unseren Main-Task an. Nun legen wir unseren Main-Task an.
-   $ vim ~/ansible/roles/admins/tasks/main.yml }}+   $ vim ~/ansible/roles/admins/tasks/main.yml
 {{gh> https://gitlab.nausch.org/django/example_14/-/blob/main/playbooks/admin_updates.yml }} {{gh> https://gitlab.nausch.org/django/example_14/-/blob/main/playbooks/admin_updates.yml }}
  
Zeile 133: Zeile 134:
 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. Falls nicht wird ein expliziter Fehlerhinweis ausgegeben und die Ausführung des Playbooks beendet.+  - Ü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 156: Zeile 165:
   vml000137                  : ok=29   changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0   vml000137                  : ok=29   changed=0    unreachable=0    failed=0    skipped=2    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.1669924558.txt.gz
  • Zuletzt geändert: 01.12.2022 19:55.
  • von django