Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| elearning:workbooks:centos:8:lcf900:l703 [2022/05/17 08:03] – created admin | elearning:workbooks:centos:8:lcf900:l703 [2024/11/30 10:56] (Version actuelle) – admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ~~PDF: | ~~PDF: | ||
| - | Version - **2022.01** | + | Version - **2024.01** |
| Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
| - | ====== | + | ====== |
| =====Contenu du Module===== | =====Contenu du Module===== | ||
| - | * **DOF503 | + | * **LDF903 |
| * Contenu du Module | * Contenu du Module | ||
| * LAB #1 - Dépendances de Rôles | * LAB #1 - Dépendances de Rôles | ||
| Ligne 25: | Ligne 25: | ||
| * 2.6.2 - Le Gabarit Enfant | * 2.6.2 - Le Gabarit Enfant | ||
| * LAB #3 - Gestion de la Hiérarchie des Variables | * LAB #3 - Gestion de la Hiérarchie des Variables | ||
| + | * LAB #4 - Utilisation des Facts d' | ||
| + | * LAB #5 - La Commande ansible-vault | ||
| + | * 5.1 - Crypter le Fichier | ||
| + | * 5.2 - Editer le Fichier | ||
| + | * 5.3 - Décrypter le Fichier | ||
| + | * 5.4 - Utilisation de Mots de Passe Aléatoires | ||
| + | * LAB #6 - Ansible par la Pratique | ||
| + | * 6.1 - Instructions | ||
| + | * 6.2 - Corrigés | ||
| =====LAB #1 - Dépendances de Rôles===== | =====LAB #1 - Dépendances de Rôles===== | ||
| Ligne 33: | Ligne 42: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11:~$ mkdir / |
| - | [trainee@centos8 | + | trainee@debian11:~$ cd / |
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| </ | </ | ||
| Ligne 46: | Ligne 55: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| - name: install jre | - name: install jre | ||
| Ligne 68: | Ligne 77: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| java_home: / | java_home: / | ||
| Ligne 82: | Ligne 91: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| </ | </ | ||
| Ligne 92: | Ligne 101: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| </ | </ | ||
| Ligne 104: | Ligne 113: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| - name: install tomcat | - name: install tomcat | ||
| Ligne 114: | Ligne 123: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| dependencies: | dependencies: | ||
| Ligne 128: | Ligne 137: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| - hosts: all | - hosts: all | ||
| Ligne 144: | Ligne 153: | ||
| < | < | ||
| - | trainee@ansible: | + | trainee@debian11: |
| - | trainee@ansible: | + | trainee@debian11: |
| </ | </ | ||
| Ligne 151: | Ligne 160: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| . | . | ||
| ├── exemple01.java | ├── exemple01.java | ||
| Ligne 181: | Ligne 190: | ||
| │ | │ | ||
| │ | │ | ||
| + | │ | ||
| │ | │ | ||
| │ | │ | ||
| Ligne 187: | Ligne 197: | ||
| │ | │ | ||
| │ | │ | ||
| + | │ | ||
| │ | │ | ||
| │ | │ | ||
| │ | │ | ||
| │ | │ | ||
| - | │ └── Ubuntu-20.yml | + | │ ├── Ubuntu-20.yml |
| + | │ | ||
| ├── inventory | ├── inventory | ||
| ├── playbook.yaml | ├── playbook.yaml | ||
| Ligne 200: | Ligne 212: | ||
| └── main.yaml | └── main.yaml | ||
| - | 15 directories, | + | 15 directories, |
| </ | </ | ||
| Ligne 206: | Ligne 218: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | PLAY [all] ******************************************************************************************************************************************************************************************************* | + | PLAY [all] *************************************************************************************************************************************************************************************************** |
| - | TASK [Gathering Facts] | + | TASK [Gathering Facts] *************************************************************************************************************************************************************************************** |
| ok: [web01] | ok: [web01] | ||
| - | TASK [exemple01.java : install jre] ****************************************************************************************************************************************************************************** | + | TASK [exemple01.java : install jre] ************************************************************************************************************************************************************************** |
| ok: [web01] | ok: [web01] | ||
| - | TASK [exemple01.java : configure java home] ********************************************************************************************************************************************************************** | + | TASK [exemple01.java : configure java home] ****************************************************************************************************************************************************************** |
| changed: [web01] | changed: [web01] | ||
| - | TASK [tomcat : install tomcat] | + | TASK [tomcat : install tomcat] ******************************************************************************************************************************************************************************* |
| changed: [web01] | changed: [web01] | ||
| - | PLAY RECAP ******************************************************************************************************************************************************************************************************* | + | PLAY RECAP *************************************************************************************************************************************************************************************************** |
| web01 : ok=4 changed=2 | web01 : ok=4 changed=2 | ||
| </ | </ | ||
| Ligne 233: | Ligne 245: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| Debian GNU/Linux 9 | Debian GNU/Linux 9 | ||
| Linux web01.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | Linux web01.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | ||
| Ligne 243: | Ligne 255: | ||
| Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | ||
| permitted by applicable law. | permitted by applicable law. | ||
| - | Last login: | + | Last login: |
| trainee@web01: | trainee@web01: | ||
| ● tomcat8.service - LSB: Start Tomcat. | ● tomcat8.service - LSB: Start Tomcat. | ||
| | | ||
| - | | + | |
| Docs: man: | Docs: man: | ||
| | | ||
| - | | + | |
| trainee@web01: | trainee@web01: | ||
| déconnexion | déconnexion | ||
| Connection to web01 closed. | Connection to web01 closed. | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| </ | </ | ||
| Ligne 260: | Ligne 272: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| dependencies: | dependencies: | ||
| Ligne 274: | Ligne 286: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | PLAY [all] ******************************************************************************************************************************************************************************************************* | + | PLAY [all] *************************************************************************************************************************************************************************************************** |
| - | TASK [Gathering Facts] | + | TASK [Gathering Facts] *************************************************************************************************************************************************************************************** |
| ok: [web02] | ok: [web02] | ||
| - | TASK [exemple01.java : install jre] ****************************************************************************************************************************************************************************** | + | TASK [exemple01.java : install jre] ************************************************************************************************************************************************************************** |
| changed: [web02] | changed: [web02] | ||
| - | TASK [exemple01.java : configure java home] ********************************************************************************************************************************************************************** | + | TASK [exemple01.java : configure java home] ****************************************************************************************************************************************************************** |
| changed: [web02] | changed: [web02] | ||
| - | TASK [tomcat : install tomcat] | + | TASK [tomcat : install tomcat] ******************************************************************************************************************************************************************************* |
| changed: [web02] | changed: [web02] | ||
| - | PLAY RECAP ******************************************************************************************************************************************************************************************************* | + | PLAY RECAP *************************************************************************************************************************************************************************************************** |
| - | web02 : ok=4 changed=3 | + | web02 : ok=4 changed=3 |
| </ | </ | ||
| Ligne 297: | Ligne 309: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| Debian GNU/Linux 9 | Debian GNU/Linux 9 | ||
| Linux web02.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | Linux web02.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | ||
| Ligne 307: | Ligne 319: | ||
| Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | ||
| permitted by applicable law. | permitted by applicable law. | ||
| - | Last login: | + | Last login: |
| trainee@web02: | trainee@web02: | ||
| / | / | ||
| Ligne 313: | Ligne 325: | ||
| déconnexion | déconnexion | ||
| Connection to web02 closed. | Connection to web02 closed. | ||
| - | [trainee@centos8 roles]$ ssh web03 | + | trainee@debian11:~/.ansible/roles$ |
| - | Debian GNU/Linux 9 | + | |
| - | Linux web03.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | + | |
| - | + | ||
| - | The programs included with the Debian GNU/Linux system are free software; | + | |
| - | the exact distribution terms for each program are described in the | + | |
| - | individual files in / | + | |
| - | + | ||
| - | Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | + | |
| - | permitted by applicable law. | + | |
| - | Last login: Wed Mar 9 12:12:51 2022 from 10.0.2.45 | + | |
| - | trainee@web03: | + | |
| - | trainee@web03: | + | |
| - | déconnexion | + | |
| - | Connection to web03 closed. | + | |
| - | [trainee@centos8 | + | |
| </ | </ | ||
| Ligne 335: | Ligne 332: | ||
| ====2.1 - Variables==== | ====2.1 - Variables==== | ||
| - | Les **Gabarits** ou // | + | Les **Gabarits** ou // |
| <WRAP center round important 60%> | <WRAP center round important 60%> | ||
| Ligne 346: | Ligne 343: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| </ | </ | ||
| Ligne 359: | Ligne 356: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| - name: install | - name: install | ||
| Ligne 385: | Ligne 382: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| - name: reload haproxy | - name: reload haproxy | ||
| Ligne 395: | Ligne 392: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| global | global | ||
| log / | log / | ||
| Ligne 459: | Ligne 456: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| haproxy_listen_address: | haproxy_listen_address: | ||
| Ligne 470: | Ligne 467: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| - hosts: all | - hosts: all | ||
| Ligne 483: | Ligne 480: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | PLAY [all] ******************************************************************************************************************************************************************************************************* | + | PLAY [all] *************************************************************************************************************************************************************************************************** |
| - | TASK [Gathering Facts] | + | TASK [Gathering Facts] *************************************************************************************************************************************************************************************** |
| ok: [web04] | ok: [web04] | ||
| - | TASK [haproxy : install] | + | TASK [haproxy : install] ************************************************************************************************************************************************************************************* |
| ok: [web04] | ok: [web04] | ||
| - | TASK [haproxy : configure] | + | TASK [haproxy : configure] *********************************************************************************************************************************************************************************** |
| changed: [web04] | changed: [web04] | ||
| - | TASK [haproxy : service] | + | TASK [haproxy : service] ************************************************************************************************************************************************************************************* |
| ok: [web04] | ok: [web04] | ||
| - | RUNNING HANDLER [haproxy : reload haproxy] | + | RUNNING HANDLER [haproxy : reload haproxy] ******************************************************************************************************************************************************************* |
| changed: [web04] | changed: [web04] | ||
| - | PLAY RECAP ******************************************************************************************************************************************************************************************************* | + | PLAY RECAP *************************************************************************************************************************************************************************************************** |
| - | web04 : ok=5 changed=2 | + | web04 : ok=5 changed=2 |
| </ | </ | ||
| Ligne 509: | Ligne 506: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| Debian GNU/Linux 9 | Debian GNU/Linux 9 | ||
| Linux web04.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | Linux web04.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | ||
| Ligne 519: | Ligne 516: | ||
| Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | ||
| permitted by applicable law. | permitted by applicable law. | ||
| - | Last login: | + | Last login: |
| trainee@web04: | trainee@web04: | ||
| ● haproxy.service - HAProxy Load Balancer | ● haproxy.service - HAProxy Load Balancer | ||
| | | ||
| - | | + | |
| Docs: man: | Docs: man: | ||
| | | ||
| - | Process: | + | Process: |
| - | Process: | + | Process: |
| - | Main PID: 5394 (haproxy-systemd) | + | Main PID: 2970 (haproxy-systemd) |
| Tasks: 3 (limit: 4915) | Tasks: 3 (limit: 4915) | ||
| | | ||
| - | | + | |
| - | | + | |
| - | | + | |
| trainee@web04: | trainee@web04: | ||
| Ligne 594: | Ligne 591: | ||
| déconnexion | déconnexion | ||
| Connection to web04 closed. | Connection to web04 closed. | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| </ | </ | ||
| Ligne 608: | Ligne 605: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| frontend haproxy | frontend haproxy | ||
| bind {{ haproxy_listen_address }}: | bind {{ haproxy_listen_address }}: | ||
| Ligne 636: | Ligne 633: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| haproxy_listen_address: | haproxy_listen_address: | ||
| Ligne 652: | Ligne 649: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | PLAY [all] ******************************************************************************************************************************************************************************************************* | + | PLAY [all] *************************************************************************************************************************************************************************************************** |
| - | TASK [Gathering Facts] | + | TASK [Gathering Facts] *************************************************************************************************************************************************************************************** |
| ok: [web04] | ok: [web04] | ||
| - | TASK [haproxy : install] | + | TASK [haproxy : install] ************************************************************************************************************************************************************************************* |
| ok: [web04] | ok: [web04] | ||
| - | TASK [haproxy : configure] | + | TASK [haproxy : configure] *********************************************************************************************************************************************************************************** |
| ok: [web04] | ok: [web04] | ||
| - | TASK [haproxy : service] | + | TASK [haproxy : service] ************************************************************************************************************************************************************************************* |
| ok: [web04] | ok: [web04] | ||
| - | PLAY RECAP ******************************************************************************************************************************************************************************************************* | + | PLAY RECAP *************************************************************************************************************************************************************************************************** |
| - | web04 : ok=4 changed=0 | + | web04 : ok=4 changed=0 |
| </ | </ | ||
| Ligne 675: | Ligne 672: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| Debian GNU/Linux 9 | Debian GNU/Linux 9 | ||
| Linux web04.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | Linux web04.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | ||
| Ligne 686: | Ligne 683: | ||
| permitted by applicable law. | permitted by applicable law. | ||
| Last login: Wed Mar 9 15:29:27 2022 from 10.0.2.45 | Last login: Wed Mar 9 15:29:27 2022 from 10.0.2.45 | ||
| + | |||
| trainee@web04: | trainee@web04: | ||
| errorfile 504 / | errorfile 504 / | ||
| Ligne 704: | Ligne 702: | ||
| server web02 10.0.2.55: | server web02 10.0.2.55: | ||
| server web03 10.0.2.56: | server web03 10.0.2.56: | ||
| + | |||
| trainee@web04: | trainee@web04: | ||
| déconnexion | déconnexion | ||
| Connection to web04 closed. | Connection to web04 closed. | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| </ | </ | ||
| Ligne 717: | Ligne 716: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| haproxy_listen_address: | haproxy_listen_address: | ||
| Ligne 734: | Ligne 733: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | PLAY [all] ******************************************************************************************************************************************************************************************************* | + | PLAY [all] *************************************************************************************************************************************************************************************************** |
| - | TASK [Gathering Facts] | + | TASK [Gathering Facts] *************************************************************************************************************************************************************************************** |
| ok: [web04] | ok: [web04] | ||
| - | TASK [haproxy : install] | + | TASK [haproxy : install] ************************************************************************************************************************************************************************************* |
| ok: [web04] | ok: [web04] | ||
| - | TASK [haproxy : configure] | + | TASK [haproxy : configure] *********************************************************************************************************************************************************************************** |
| changed: [web04] | changed: [web04] | ||
| - | TASK [haproxy : service] | + | TASK [haproxy : service] ************************************************************************************************************************************************************************************* |
| ok: [web04] | ok: [web04] | ||
| - | RUNNING HANDLER [haproxy : reload haproxy] | + | RUNNING HANDLER [haproxy : reload haproxy] ******************************************************************************************************************************************************************* |
| changed: [web04] | changed: [web04] | ||
| - | PLAY RECAP ******************************************************************************************************************************************************************************************************* | + | PLAY RECAP *************************************************************************************************************************************************************************************************** |
| - | web04 : ok=5 changed=2 | + | web04 : ok=5 changed=2 |
| </ | </ | ||
| Ligne 760: | Ligne 759: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| Debian GNU/Linux 9 | Debian GNU/Linux 9 | ||
| Linux web04.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | Linux web04.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | ||
| Ligne 770: | Ligne 769: | ||
| Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | ||
| permitted by applicable law. | permitted by applicable law. | ||
| - | Last login: | + | Last login: |
| trainee@web04: | trainee@web04: | ||
| errorfile 408 / | errorfile 408 / | ||
| Ligne 789: | Ligne 789: | ||
| server web02 10.0.2.55: | server web02 10.0.2.55: | ||
| server web03 10.0.2.56: | server web03 10.0.2.56: | ||
| + | |||
| trainee@web04: | trainee@web04: | ||
| déconnexion | déconnexion | ||
| Connection to web04 closed. | Connection to web04 closed. | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| </ | </ | ||
| Ligne 822: | Ligne 823: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| haproxy_listen_address: | haproxy_listen_address: | ||
| Ligne 841: | Ligne 842: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| stats auth admin:admin | stats auth admin:admin | ||
| {% endif %} | {% endif %} | ||
| Ligne 858: | Ligne 859: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| haproxy_listen_address: | haproxy_listen_address: | ||
| Ligne 875: | Ligne 876: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| stats auth admin:admin | stats auth admin:admin | ||
| {% endif %} | {% endif %} | ||
| Ligne 894: | Ligne 895: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| {% macro backend(name, | {% macro backend(name, | ||
| server {{ name }} {{ ip }}:{{ port }} check | server {{ name }} {{ ip }}:{{ port }} check | ||
| Ligne 904: | Ligne 905: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| {% endif %} | {% endif %} | ||
| balance roundrobin | balance roundrobin | ||
| Ligne 925: | Ligne 926: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| bind {{ haproxy_listen_address }}: | bind {{ haproxy_listen_address }}: | ||
| mode http | mode http | ||
| Ligne 949: | Ligne 950: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| haproxy_listen_address: | haproxy_listen_address: | ||
| Ligne 964: | Ligne 965: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| PLAY [all] ******************************************************************************************************************************************************************************************************* | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| Ligne 990: | Ligne 991: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| Debian GNU/Linux 9 | Debian GNU/Linux 9 | ||
| Linux web04.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | Linux web04.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | ||
| Ligne 1022: | Ligne 1023: | ||
| déconnexion | déconnexion | ||
| Connection to web04 closed. | Connection to web04 closed. | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| </ | </ | ||
| Ligne 1080: | Ligne 1081: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| global | global | ||
| log / | log / | ||
| Ligne 1116: | Ligne 1117: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| {% extends ' | {% extends ' | ||
| {% block globals %} | {% block globals %} | ||
| Ligne 1165: | Ligne 1166: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| - name: install | - name: install | ||
| Ligne 1187: | Ligne 1188: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| PLAY [all] ******************************************************************************************************************************************************************************************************* | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| Ligne 1213: | Ligne 1214: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| Debian GNU/Linux 9 | Debian GNU/Linux 9 | ||
| Linux web04.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | Linux web04.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | ||
| Ligne 1273: | Ligne 1274: | ||
| déconnexion | déconnexion | ||
| Connection to web04 closed. | Connection to web04 closed. | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| </ | </ | ||
| Ligne 1304: | Ligne 1305: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11:~$ mkdir / |
| - | [trainee@centos8 | + | trainee@debian11:~$ mkdir / |
| - | [trainee@centos8 | + | trainee@debian11:~$ mkdir / |
| - | [trainee@centos8 | + | trainee@debian11:~$ |
| </ | </ | ||
| Ligne 1314: | Ligne 1315: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11:~$ touch / |
| - | [trainee@centos8 | + | trainee@debian11:~$ touch / |
| - | [trainee@centos8 | + | trainee@debian11:~$ |
| </ | </ | ||
| Ligne 1322: | Ligne 1323: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11:~$ cd .ansible/ |
| - | [trainee@centos8 | + | trainee@debian11: |
| debug | debug | ||
| ├── defaults | ├── defaults | ||
| Ligne 1336: | Ligne 1337: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| </ | </ | ||
| Ligne 1344: | Ligne 1345: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| group_vars/ | group_vars/ | ||
| └── all.yaml | └── all.yaml | ||
| Ligne 1354: | Ligne 1355: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| - debug: | - debug: | ||
| Ligne 1364: | Ligne 1365: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| - hosts: all | - hosts: all | ||
| Ligne 1375: | Ligne 1376: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| PLAY [all] ******************************************************************************************************************************************************************************************************* | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| Ligne 1409: | Ligne 1410: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| endroit: ' | endroit: ' | ||
| Ligne 1418: | Ligne 1419: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| PLAY [all] ******************************************************************************************************************************************************************************************************* | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| Ligne 1456: | Ligne 1457: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| endroit: ' | endroit: ' | ||
| Ligne 1469: | Ligne 1470: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| PLAY [all] ******************************************************************************************************************************************************************************************************* | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| Ligne 1507: | Ligne 1508: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| - hosts: all | - hosts: all | ||
| Ligne 1518: | Ligne 1519: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| PLAY [all] ******************************************************************************************************************************************************************************************************* | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| Ligne 1556: | Ligne 1557: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| endroit: ' | endroit: ' | ||
| Ligne 1565: | Ligne 1566: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| # endroit: ' | # endroit: ' | ||
| Ligne 1575: | Ligne 1576: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| - hosts: all | - hosts: all | ||
| Ligne 1586: | Ligne 1587: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| localhost ansible_connection=local | localhost ansible_connection=local | ||
| Ligne 1612: | Ligne 1613: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| PLAY [all] ******************************************************************************************************************************************************************************************************* | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| Ligne 1655: | Ligne 1656: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| [group1] | [group1] | ||
| localhost ansible_connection=local | localhost ansible_connection=local | ||
| Ligne 1682: | Ligne 1683: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| PLAY [all] ******************************************************************************************************************************************************************************************************* | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| Ligne 1725: | Ligne 1726: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| - | [trainee@centos8 | + | trainee@debian11: |
| --- | --- | ||
| endroit: ' | endroit: ' | ||
| Ligne 1734: | Ligne 1735: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| PLAY [all] ******************************************************************************************************************************************************************************************************* | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| Ligne 1777: | Ligne 1778: | ||
| < | < | ||
| - | [trainee@centos8 | + | trainee@debian11: |
| PLAY [all] ******************************************************************************************************************************************************************************************************* | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| Ligne 1816: | Ligne 1817: | ||
| **Important** : La variable fixée dans sur la **ligne de commande** surcharge toutes les autres variables. | **Important** : La variable fixée dans sur la **ligne de commande** surcharge toutes les autres variables. | ||
| </ | </ | ||
| + | |||
| + | =====LAB #4 - Utilisation des Facts d' | ||
| + | |||
| + | Ansible Facts sont : | ||
| + | |||
| + | * des variables collectées automatiquement par le module **setup** d' | ||
| + | * spécifiques à l' | ||
| + | |||
| + | Il est cependant possible d' | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | web01 | SUCCESS => { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | ], | ||
| + | " | ||
| + | " | ||
| + | ], | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | --More-- | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | **Important** : Notez que le nom de chaque **Fact** commence par **ansible_**. Évitez donc de créer des variables commençant var cette valeur ! | ||
| + | </ | ||
| + | |||
| + | Parmi les Facts, les plus utiles sont : | ||
| + | |||
| + | * " | ||
| + | * " | ||
| + | * " | ||
| + | * " | ||
| + | * " | ||
| + | * " | ||
| + | * " | ||
| + | * " | ||
| + | * " | ||
| + | * " | ||
| + | |||
| + | Ainsi que dictionnaire **ansible_default_ipv4** : | ||
| + | |||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | </ | ||
| + | |||
| + | Modifiez le fichier **inventory** en mettant les deux machines TargetA et TargetB dans le groupe **linux** : | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | trainee@debian11: | ||
| + | [linux] | ||
| + | targeta | ||
| + | targetb | ||
| + | |||
| + | [group1] | ||
| + | localhost ansible_connection=local | ||
| + | |||
| + | [basededonnees] | ||
| + | web01 | ||
| + | |||
| + | [dotcms] | ||
| + | web02 | ||
| + | web03 | ||
| + | |||
| + | [equilibrage] | ||
| + | web04 | ||
| + | |||
| + | [debian: | ||
| + | basededonnees | ||
| + | dotcms | ||
| + | equilibrage | ||
| + | |||
| + | [debian: | ||
| + | ansible_user=trainee | ||
| + | </ | ||
| + | |||
| + | Modifiez le fichier **playbook.yaml** afin d' | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | trainee@debian11: | ||
| + | --- | ||
| + | - hosts: all | ||
| + | become: true | ||
| + | roles: | ||
| + | - exemple01.java | ||
| + | </ | ||
| + | |||
| + | Utilisez la commande scp pour copier le fichier authorized_keys de la machine virtuelle debian11 vers la machine virtuelle targetb : | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | trainee@debian11: | ||
| + | trainee@10.0.2.53' | ||
| + | authorized_keys | ||
| + | trainee@debian11: | ||
| + | / | ||
| + | trainee@debian11: | ||
| + | </ | ||
| + | |||
| + | Grâce au Fact **ansible_os_family** il est possible d' | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | trainee@debian11: | ||
| + | --- | ||
| + | - name: install jre (Debian) | ||
| + | package: name=openjdk-8-jre state=present | ||
| + | when: ansible_os_family == ' | ||
| + | |||
| + | - name: install jre (CentOS) | ||
| + | package: name=java-1.8.0-openjdk state=present | ||
| + | when: ansible_os_family == ' | ||
| + | </ | ||
| + | |||
| + | Modifiez le fichier **/ | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | Password: fenestros | ||
| + | |||
| + | root@debian11: | ||
| + | |||
| + | root@debian11: | ||
| + | 127.0.0.1 | ||
| + | 10.0.2.46 | ||
| + | 10.0.2.54 web01.i2tch.loc web01 | ||
| + | 10.0.2.55 web02.i2tch.loc web02 | ||
| + | 10.0.2.56 web03.i2tch.loc web03 | ||
| + | 10.0.2.57 web04.i2tch.loc web04 | ||
| + | 10.0.2.52 targeta.i2tch.loc targeta | ||
| + | 10.0.2.53 targetb.i2tch.loc targetb | ||
| + | |||
| + | # The following lines are desirable for IPv6 capable hosts | ||
| + | ::1 | ||
| + | ff02::1 ip6-allnodes | ||
| + | ff02::2 ip6-allrouters | ||
| + | |||
| + | root@debian11: | ||
| + | logout | ||
| + | |||
| + | trainee@debian11: | ||
| + | </ | ||
| + | |||
| + | Connectez-vous en ssh à targeta et testez la configuration de sudo : | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | Debian GNU/Linux 9 | ||
| + | Linux targeta.i2tch.loc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 | ||
| + | |||
| + | The programs included with the Debian GNU/Linux system are free software; | ||
| + | the exact distribution terms for each program are described in the | ||
| + | individual files in / | ||
| + | |||
| + | Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | ||
| + | permitted by applicable law. | ||
| + | Last login: Wed Sep 20 16:16:07 2023 from 10.0.2.46 | ||
| + | trainee@targeta: | ||
| + | </ | ||
| + | |||
| + | Modifiez le contenu du fichier **/ | ||
| + | |||
| + | < | ||
| + | trainee@targeta: | ||
| + | |||
| + | trainee@targeta: | ||
| + | # | ||
| + | |||
| + | # deb cdrom: | ||
| + | |||
| + | #deb cdrom: | ||
| + | |||
| + | deb http:// | ||
| + | deb-src http:// | ||
| + | |||
| + | deb http:// | ||
| + | deb-src http:// | ||
| + | |||
| + | trainee@targeta: | ||
| + | Ign:1 http:// | ||
| + | Réception de:2 http:// | ||
| + | Réception de:3 http:// | ||
| + | Réception de:4 http:// | ||
| + | Réception de:5 http:// | ||
| + | Réception de:6 http:// | ||
| + | Réception de:7 http:// | ||
| + | Réception de:8 http:// | ||
| + | Réception de:9 http:// | ||
| + | Réception de:10 http:// | ||
| + | Réception de:11 http:// | ||
| + | 22,8 Mo réceptionnés en 27s (843 ko/s) | ||
| + | Lecture des listes de paquets... Fait | ||
| + | Construction de l' | ||
| + | Lecture des informations d' | ||
| + | 353 packages can be upgraded. Run 'apt list --upgradable' | ||
| + | </ | ||
| + | |||
| + | Supprimez le paquet **openjdk-8-jre** : | ||
| + | |||
| + | < | ||
| + | trainee@targeta: | ||
| + | ... | ||
| + | trainee@targeta: | ||
| + | déconnexion | ||
| + | Connection to targeta closed. | ||
| + | </ | ||
| + | |||
| + | Connectez-vous en ssh à targetb et testez la configuration de sudo : | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | The authenticity of host ' | ||
| + | ECDSA key fingerprint is SHA256: | ||
| + | Are you sure you want to continue connecting (yes/ | ||
| + | Warning: Permanently added ' | ||
| + | trainee@targetb' | ||
| + | Last login: Sun Mar 21 08:53:18 2021 from 10.0.2.10 | ||
| + | |||
| + | [trainee@targetb ~]$ yum clean all | ||
| + | Loaded plugins: fastestmirror, | ||
| + | Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast | ||
| + | Cleaning repos: base extras updates | ||
| + | Other repos take up 119 M of disk space (use --verbose for details) | ||
| + | |||
| + | [trainee@targetb ~]$ sudo yum -y makecache | ||
| + | Loaded plugins: fastestmirror, | ||
| + | Loading mirror speeds from cached hostfile | ||
| + | * base: centos.mirror.ate.info | ||
| + | * extras: mirror.plusserver.com | ||
| + | * updates: mirror.plusserver.com | ||
| + | base | 3.6 kB 00: | ||
| + | extras | ||
| + | updates | ||
| + | (1/6): extras/ | ||
| + | (2/6): base/ | ||
| + | (3/6): base/ | ||
| + | (4/6): extras/ | ||
| + | (5/6): updates/ | ||
| + | (6/6): updates/ | ||
| + | Metadata Cache Created | ||
| + | </ | ||
| + | |||
| + | Supprimez le paquet **java-1.8.0-openjdk** : | ||
| + | |||
| + | < | ||
| + | [trainee@targetb ~]$ sudo yum -y remove java-1.8.0-openjdk | ||
| + | ... | ||
| + | [trainee@targetb ~]$ exit | ||
| + | logout | ||
| + | Connection to targetb closed. | ||
| + | trainee@debian11: | ||
| + | </ | ||
| + | |||
| + | Exécutez **ansible-playbook** et constatez le résultat : | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | |||
| + | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| + | |||
| + | TASK [Gathering Facts] ******************************************************************************************************************************************************************************************* | ||
| + | ok: [targeta] | ||
| + | ok: [targetb] | ||
| + | |||
| + | TASK [exemple01.java : install jre (Debian)] ********************************************************************************************************************************************************************* | ||
| + | skipping: [targetb] | ||
| + | changed: [targeta] | ||
| + | |||
| + | TASK [exemple01.java : install jre (CentOS)] ********************************************************************************************************************************************************************* | ||
| + | skipping: [targeta] | ||
| + | changed: [targetb] | ||
| + | |||
| + | PLAY RECAP ******************************************************************************************************************************************************************************************************* | ||
| + | targeta | ||
| + | targetb | ||
| + | </ | ||
| + | |||
| + | Les conditions peuvent être combinées grâce à **and** et **or**. En voici un exemple : | ||
| + | |||
| + | < | ||
| + | tasks: | ||
| + | - name: " | ||
| + | command: / | ||
| + | when: (ansible_distribution == " | ||
| + | (ansible_distribution == " | ||
| + | </ | ||
| + | |||
| + | =====LAB #5 - La Commande ansible-vault===== | ||
| + | |||
| + | La commande **ansible-vault** permet de créer et d' | ||
| + | |||
| + | Pour illustrer son utilisation, | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | </ | ||
| + | |||
| + | Éditez le fichier **/ | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | trainee@debian11: | ||
| + | --- | ||
| + | secret: gardezmoisecret | ||
| + | </ | ||
| + | |||
| + | Modifiez le fichier **/ | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | trainee@debian11: | ||
| + | --- | ||
| + | - hosts: all | ||
| + | tasks: | ||
| + | - debug: | ||
| + | msg: "Le secret est {{ secret }}" | ||
| + | </ | ||
| + | |||
| + | Exécutez la commande **ansible-playbook** : | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | |||
| + | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| + | |||
| + | TASK [Gathering Facts] ******************************************************************************************************************************************************************************************* | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [debug] ***************************************************************************************************************************************************************************************************** | ||
| + | ok: [localhost] => { | ||
| + | " | ||
| + | } | ||
| + | |||
| + | PLAY RECAP ******************************************************************************************************************************************************************************************************* | ||
| + | localhost | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | **Important** : L' | ||
| + | </ | ||
| + | |||
| + | ====5.1 - Crypter le Fichier==== | ||
| + | |||
| + | Cryptez maintenant le fichier **/ | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | New Vault password: fenestros | ||
| + | Confirm New Vault password: fenestros | ||
| + | Encryption successful | ||
| + | trainee@debian11: | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair. | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | **Important** : Notez que le mot de passe est pour la commande **ansible-vault** et non pas uniquement pour l' | ||
| + | </ | ||
| + | |||
| + | Constatez maintenant le contenu du fichier **/ | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | $ANSIBLE_VAULT; | ||
| + | 33343664333931323331346338346439613439633633396262393733663463363438663163383761 | ||
| + | 6566653230323032396434356132653262313962633265630a366436666261363933343663623131 | ||
| + | 63373230663530313864373236316465333464323131643933363664303332336261353732623064 | ||
| + | 3538303864633035320a376235333637656534376638613661303765373165383936653336646562 | ||
| + | 31376535333861616165346433306230366231333139323062366432333033386366 | ||
| + | </ | ||
| + | |||
| + | Exécutez de nouveau la commande **ansible-playbook** : | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | |||
| + | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| + | ERROR! Attempting to decrypt but no vault secrets found | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | **Important** : Notez l' | ||
| + | </ | ||
| + | |||
| + | Pour indiquer à la commande **ansible-playbook** que le fichier qui doit être lu soit crypté, utilisez l' | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | |||
| + | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| + | ERROR! Attempting to decrypt but no vault secrets found | ||
| + | trainee@debian11: | ||
| + | Vault password: fenestros | ||
| + | |||
| + | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| + | |||
| + | TASK [Gathering Facts] ******************************************************************************************************************************************************************************************* | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [debug] ***************************************************************************************************************************************************************************************************** | ||
| + | ok: [localhost] => { | ||
| + | " | ||
| + | } | ||
| + | |||
| + | PLAY RECAP ******************************************************************************************************************************************************************************************************* | ||
| + | localhost | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair. | ||
| + | </ | ||
| + | |||
| + | ====5.2 - Editer le Fichier==== | ||
| + | |||
| + | Pour éditer le fichier, utilisez la sous-commande **edit** de la commande **ansible-vault** : | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | Vault password: fenestros | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair. | ||
| + | </ | ||
| + | |||
| + | Le fichier est chargé en mémoire pour édition : | ||
| + | |||
| + | < | ||
| + | --- | ||
| + | secret: gardezlesecret | ||
| + | ~ | ||
| + | ~ | ||
| + | ~ | ||
| + | ~ | ||
| + | ~ | ||
| + | ~ | ||
| + | ~ | ||
| + | ~ | ||
| + | -- INSERT -- | ||
| + | </ | ||
| + | |||
| + | Modifiez le secret et sauvegardez le fichier : | ||
| + | |||
| + | < | ||
| + | --- | ||
| + | secret: gardezlesecret | ||
| + | ~ | ||
| + | ~ | ||
| + | ~ | ||
| + | ~ | ||
| + | ~ | ||
| + | ~ | ||
| + | ~ | ||
| + | ~ | ||
| + | :x | ||
| + | </ | ||
| + | |||
| + | Constatez que le contenu du fichier **/ | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | $ANSIBLE_VAULT; | ||
| + | 36633861376466313363373336643832646663666334633931663262666361306236386232316461 | ||
| + | 3331633863386666626230663038653136653830303465660a353337316634363465663962336365 | ||
| + | 61396430313965653666333738376663336139613566636437353935653232306264336235333538 | ||
| + | 6439366539653436310a666361313237623137666634663439343132393532623962353163303364 | ||
| + | 37626635363832333934363930383265313932663230356234343235643935353535 | ||
| + | </ | ||
| + | |||
| + | Exécutez de nouveau la commande **ansible-playbook** avec l' | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | Vault password: fenestros | ||
| + | |||
| + | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| + | |||
| + | TASK [Gathering Facts] ******************************************************************************************************************************************************************************************* | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [debug] ***************************************************************************************************************************************************************************************************** | ||
| + | ok: [localhost] => { | ||
| + | " | ||
| + | } | ||
| + | |||
| + | PLAY RECAP ******************************************************************************************************************************************************************************************************* | ||
| + | localhost | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair. | ||
| + | </ | ||
| + | |||
| + | ====5.3 - Décrypter le Fichier==== | ||
| + | |||
| + | Il est possible de décrypter le fichier en utilisant la sous-commande **decrypt** de la commande **ansible-vault** : | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | Vault password: fenestros | ||
| + | Decryption successful | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | **Important** : Notez que le mot de passe **fenestros** ne sera pas en clair. | ||
| + | </ | ||
| + | |||
| + | Constatez que le contenu du fichier **/ | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | --- | ||
| + | secret: gardezlesecret | ||
| + | </ | ||
| + | |||
| + | ====5.4 - Utilisation de Mots de Passe Aléatoires==== | ||
| + | |||
| + | Installez le paquet **pwgen** : | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | trainee@debian11: | ||
| + | Password: fenestros | ||
| + | root@debian11: | ||
| + | Reading package lists... Done | ||
| + | Building dependency tree... Done | ||
| + | Reading state information... Done | ||
| + | The following packages were automatically installed and are no longer required: | ||
| + | libopengl0 linux-headers-5.10.0-15-amd64 linux-headers-5.10.0-15-common | ||
| + | Use 'apt autoremove' | ||
| + | The following NEW packages will be installed: | ||
| + | pwgen | ||
| + | 0 upgraded, 1 newly installed, 0 to remove and 22 not upgraded. | ||
| + | Need to get 19.6 kB of archives. | ||
| + | After this operation, 52.2 kB of additional disk space will be used. | ||
| + | Get:1 http:// | ||
| + | Fetched 19.6 kB in 0s (749 kB/s) | ||
| + | Selecting previously unselected package pwgen. | ||
| + | (Reading database ... 206562 files and directories currently installed.) | ||
| + | Preparing to unpack .../ | ||
| + | Unpacking pwgen (2.08-2) ... | ||
| + | Setting up pwgen (2.08-2) ... | ||
| + | Processing triggers for man-db (2.9.4-2) ... | ||
| + | root@debian11: | ||
| + | logout | ||
| + | |||
| + | trainee@debian11: | ||
| + | </ | ||
| + | |||
| + | Utilisez maintenant la commande **pwgen** pour générer un mot de passe aléatoire : | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | di3Be1AiPayeehai | ||
| + | </ | ||
| + | |||
| + | Utilisez pwgen pour créer un mot de passe aléatoire contenu dans un fichier : | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | |||
| + | trainee@debian11: | ||
| + | backend.j2 | ||
| + | |||
| + | trainee@debian11: | ||
| + | oo3aeph5PaiVeiBu | ||
| + | </ | ||
| + | |||
| + | Utilisez maintenant le mot de passe aléatoire contenu dans le fichier **vault-password** pour crypter le fichier **/ | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | Encryption successful | ||
| + | </ | ||
| + | |||
| + | Constatez le contenu du fichier **/ | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | $ANSIBLE_VAULT; | ||
| + | 61326364653334653935643735623863353362333536396638356362376631633732306332316661 | ||
| + | 6662333436336237346433363637393666623165643438620a343436366136386637343238303063 | ||
| + | 38383866386631363834623461323334313030623136333334646335626165363263373966373663 | ||
| + | 3137333330653635620a396133346264656335633530353966383930613731626639393631623066 | ||
| + | 31323331383563373830306331653166326563333135326631363461313666313864 | ||
| + | </ | ||
| + | |||
| + | Exécutez de nouveau la commande **ansible-playbook** avec l' | ||
| + | |||
| + | < | ||
| + | trainee@debian11: | ||
| + | |||
| + | PLAY [all] ******************************************************************************************************************************************************************************************************* | ||
| + | |||
| + | TASK [Gathering Facts] ******************************************************************************************************************************************************************************************* | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [debug] ***************************************************************************************************************************************************************************************************** | ||
| + | ok: [localhost] => { | ||
| + | " | ||
| + | } | ||
| + | |||
| + | PLAY RECAP ******************************************************************************************************************************************************************************************************* | ||
| + | localhost | ||
| + | </ | ||
| + | |||
| + | =====LAB #6 - Ansible par la Pratique===== | ||
| + | |||
| + | Connectez-vous à la machine virtuelle **CentOS7_10.0.2.51_SSH**. | ||
| + | |||
| + | ====6.1 - Instructions ==== | ||
| + | |||
| + | Il vous est demandé d' | ||
| + | |||
| + | * l' | ||
| + | * la mise à jour éventuelle de firewalld, | ||
| + | * la création d'une règle dans firewalld pour le trafic vers le serveur vsfptd, | ||
| + | * la création sécurisée de deux comptes ftp : | ||
| + | * user : mike | ||
| + | * mot de passe : toto | ||
| + | * user : bob | ||
| + | * mot de passe : tata | ||
| + | |||
| + | Installez donc Ansible à partir des dépôts : | ||
| + | |||
| + | < | ||
| + | [trainee@centos7 ~]$ su - | ||
| + | Mot de passe : fenestros | ||
| + | Dernière connexion : jeudi 5 septembre 2019 à 18:28:51 CEST sur pts/0 | ||
| + | [root@centos7 ~]# yum install epel-release | ||
| + | [root@centos7 ~]# yum install ansible | ||
| + | </ | ||
| + | |||
| + | Vérifiez ensuite la présence des exécutables : | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# which ansible | ||
| + | / | ||
| + | [root@centos7 ~]# which ansible-playbook | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | Afin de vous aider, on vous fournit deux fichiers : | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# cat vsftpd.yml | ||
| + | --- | ||
| + | - name: ftp server install | ||
| + | hosts: localhost | ||
| + | gather_facts: | ||
| + | become: yes | ||
| + | vars_files: | ||
| + | - users.yml | ||
| + | tasks: | ||
| + | - name: latest vsftpd version | ||
| + | yum: | ||
| + | name: vsftpd | ||
| + | state: latest | ||
| + | - name: latest firewalld version | ||
| + | name: firewalld | ||
| + | state: latest | ||
| + | - name: vsftpd | ||
| + | service: | ||
| + | name vsftpd | ||
| + | enabled: true | ||
| + | state: started | ||
| + | - name: firewalld | ||
| + | service: | ||
| + | name: firewalld | ||
| + | enabled: true | ||
| + | state: started | ||
| + | - name: firewalld allows ftp | ||
| + | firewalld: | ||
| + | permanent: yes | ||
| + | immediate: yes | ||
| + | state: enabled | ||
| + | - name: Create_FTP_users | ||
| + | user: | ||
| + | password: "{{ item.password | password_hash(sha512) }}" | ||
| + | with_items: "{{ ftp_users }}" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# ansible-vault view secrets.yml | ||
| + | Vault password: fenestros | ||
| + | ftp_users: | ||
| + | - { username: mike, password: toto } | ||
| + | - { username: bob, password: tata } | ||
| + | </ | ||
| + | |||
| + | Lors de l' | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# ansible-playbook vsftpd.yml | ||
| + | | ||
| + | |||
| + | | ||
| + | |||
| + | ERROR! Syntax Error while loading YAML. | ||
| + | |||
| + | |||
| + | The error appears to have been in '/ | ||
| + | be elsewhere in the file depending on the exact syntax problem. | ||
| + | |||
| + | The offending line appears to be: | ||
| + | |||
| + | - name: latest firewalld version | ||
| + | name: firewalld | ||
| + | ^ here | ||
| + | |||
| + | exception type: <class ' | ||
| + | exception: mapping values are not allowed in this context | ||
| + | in "< | ||
| + | </ | ||
| + | |||
| + | A vous de jouer ! | ||
| + | |||
| + | [isauth account, | ||
| + | |||
| + | ====6.2 - Corrigés==== | ||
| + | |||
| + | ===Erreur #1=== | ||
| + | |||
| + | Éditez le fichier **vsftpd.yml** : | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# vi vsftpd.yml | ||
| + | [root@centos7 ~]# cat vsftpd.yml | ||
| + | --- | ||
| + | - name: ftp server install | ||
| + | hosts: localhost | ||
| + | gather_facts: | ||
| + | become: yes | ||
| + | vars_files: | ||
| + | - users.yml | ||
| + | tasks: | ||
| + | - name: latest vsftpd version | ||
| + | yum: | ||
| + | name: vsftpd | ||
| + | state: latest | ||
| + | - name: latest firewalld version | ||
| + | yum: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< | ||
| + | name: firewalld | ||
| + | state: latest | ||
| + | - name: vsftpd | ||
| + | service: | ||
| + | name vsftpd | ||
| + | enabled: true | ||
| + | state: started | ||
| + | - name: firewalld | ||
| + | service: | ||
| + | name: firewalld | ||
| + | enabled: true | ||
| + | state: started | ||
| + | - name: firewalld allows ftp | ||
| + | firewalld: | ||
| + | permanent: yes | ||
| + | immediate: yes | ||
| + | state: enabled | ||
| + | - name: Create_FTP_users | ||
| + | user: | ||
| + | password: "{{ item.password | password_hash(sha512) }}" | ||
| + | with_items: "{{ ftp_users }}" | ||
| + | </ | ||
| + | |||
| + | Relancez la commande **ansible-playbook** : | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# ansible-playbook vsftpd.yml | ||
| + | [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match ' | ||
| + | ERROR! Syntax Error while loading YAML. | ||
| + | mapping values are not allowed in this context | ||
| + | |||
| + | The error appears to be in '/ | ||
| + | be elsewhere in the file depending on the exact syntax problem. | ||
| + | |||
| + | The offending line appears to be: | ||
| + | |||
| + | name vsftpd | ||
| + | enabled: true | ||
| + | ^ here | ||
| + | </ | ||
| + | |||
| + | ===Erreur #2=== | ||
| + | |||
| + | Editez le fichier **vsftpd.yml** : | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# vi vsftpd.yml | ||
| + | [root@centos7 ~]# cat vsftpd.yml | ||
| + | --- | ||
| + | - name: ftp server install | ||
| + | hosts: localhost | ||
| + | gather_facts: | ||
| + | become: yes | ||
| + | vars_files: | ||
| + | - users.yml | ||
| + | tasks: | ||
| + | - name: latest vsftpd version | ||
| + | yum: | ||
| + | name: vsftpd | ||
| + | state: latest | ||
| + | - name: latest firewalld version | ||
| + | yum: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< | ||
| + | name: firewalld | ||
| + | state: latest | ||
| + | - name: vsftpd | ||
| + | service: | ||
| + | name: vsftpd <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< | ||
| + | enabled: true | ||
| + | state: started | ||
| + | - name: firewalld | ||
| + | service: | ||
| + | name: firewalld | ||
| + | enabled: true | ||
| + | state: started | ||
| + | - name: firewalld allows ftp | ||
| + | firewalld: | ||
| + | permanent: yes | ||
| + | immediate: yes | ||
| + | state: enabled | ||
| + | - name: Create_FTP_users | ||
| + | user: | ||
| + | password: "{{ item.password | password_hash(sha512) }}" | ||
| + | with_items: "{{ ftp_users }}" | ||
| + | </ | ||
| + | |||
| + | Relancez la commande **ansible-playbook** : | ||
| + | |||
| + | < | ||
| + | [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match ' | ||
| + | ERROR! vars file users.yml was not found | ||
| + | Could not find file on the Ansible Controller. | ||
| + | If you are using a module and expect the file to exist on the remote, see the remote_src option | ||
| + | </ | ||
| + | |||
| + | ===Erreur #3=== | ||
| + | |||
| + | Créez le fichier **users.yml** : | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# vi users.yml | ||
| + | [root@centos7 ~]# cat users.yml | ||
| + | ftp_users: | ||
| + | - { username: mike, password: toto } | ||
| + | - { username: bob, password: tata } | ||
| + | </ | ||
| + | |||
| + | Relancez la commande **ansible-playbook** : | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# ansible-playbook vsftpd.yml | ||
| + | [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match ' | ||
| + | |||
| + | PLAY [ftp server install] *********************************************************************************************************************************************** | ||
| + | |||
| + | TASK [latest vsftpd version] ******************************************************************************************************************************************** | ||
| + | changed: [localhost] | ||
| + | |||
| + | TASK [latest firewalld version] ***************************************************************************************************************************************** | ||
| + | changed: [localhost] | ||
| + | |||
| + | TASK [vsftpd] *********************************************************************************************************************************************************** | ||
| + | changed: [localhost] | ||
| + | |||
| + | TASK [firewalld] ******************************************************************************************************************************************************** | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [firewalld allows ftp] ********************************************************************************************************************************************* | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [Create_FTP_users] ************************************************************************************************************************************************* | ||
| + | fatal: [localhost]: | ||
| + | |||
| + | PLAY RECAP ************************************************************************************************************************************************************** | ||
| + | localhost | ||
| + | </ | ||
| + | |||
| + | ===Erreurs 4, 5 et 6=== | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# vi vsftpd.yml | ||
| + | [root@centos7 ~]# cat vsftpd.yml | ||
| + | --- | ||
| + | - name: ftp server install | ||
| + | hosts: localhost | ||
| + | gather_facts: | ||
| + | become: yes | ||
| + | vars_files: | ||
| + | - users.yml | ||
| + | tasks: | ||
| + | - name: latest vsftpd version | ||
| + | yum: | ||
| + | name: vsftpd | ||
| + | state: latest | ||
| + | - name: latest firewalld version | ||
| + | yum: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< | ||
| + | name: firewalld | ||
| + | state: latest | ||
| + | - name: vsftpd | ||
| + | service: | ||
| + | name: vsftpd <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< | ||
| + | enabled: true | ||
| + | state: started | ||
| + | - name: firewalld | ||
| + | service: | ||
| + | name: firewalld | ||
| + | enabled: true | ||
| + | state: started | ||
| + | - name: firewalld allows ftp | ||
| + | firewalld: | ||
| + | permanent: yes | ||
| + | immediate: yes | ||
| + | state: enabled | ||
| + | - name: Create_FTP_users | ||
| + | user: | ||
| + | name: "{{ item.username }}" | ||
| + | password: "{{ item.password | password_hash(' | ||
| + | with_items: "{{ ftp_users }}" <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< | ||
| + | </ | ||
| + | |||
| + | Relancez la commande **ansible-playbook** : | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# ansible-playbook vsftpd.yml | ||
| + | [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match ' | ||
| + | |||
| + | PLAY [ftp server install] *********************************************************************************************************************************************** | ||
| + | |||
| + | TASK [latest vsftpd version] ******************************************************************************************************************************************** | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [latest firewalld version] ***************************************************************************************************************************************** | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [vsftpd] *********************************************************************************************************************************************************** | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [firewalld] ******************************************************************************************************************************************************** | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [firewalld allows ftp] ********************************************************************************************************************************************* | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [Create_FTP_users] ************************************************************************************************************************************************* | ||
| + | changed: [localhost] => (item={u' | ||
| + | changed: [localhost] => (item={u' | ||
| + | |||
| + | PLAY RECAP ************************************************************************************************************************************************************** | ||
| + | localhost | ||
| + | </ | ||
| + | |||
| + | Crypter le fichier users.yml : | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# ansible-vault encrypt users.yml | ||
| + | New Vault password: fenestros | ||
| + | Confirm New Vault password: fenestros | ||
| + | Encryption successful | ||
| + | </ | ||
| + | |||
| + | Consultez le fichier users.yml : | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# ansible-vault view users.yml | ||
| + | Vault password: | ||
| + | ftp_users: | ||
| + | - { username: mike, password: toto } | ||
| + | - { username: bob, password: tata } | ||
| + | |||
| + | [root@centos7 ~]# cat users.yml | ||
| + | $ANSIBLE_VAULT; | ||
| + | 30323061313265353234666230373765333865663061626362646332376639356463623238343166 | ||
| + | 3635356261383732373633626230353837393735393933390a323561663963666262343835363166 | ||
| + | 61306137383463303138656131626236633935383031323864396164366139323265653732663834 | ||
| + | 6130656163356661360a663635333537373961616230353766666130633537323065663161393939 | ||
| + | 65353936613539303631373530643536616335356461323735646165616136303839636166663232 | ||
| + | 38616133393235636632646461346430373966306463636662333431373936633837616336326461 | ||
| + | 38633139616339343865626630333531366138313761663330346231333131346535663761396233 | ||
| + | 35353036373530323636636335336539616433373461653866316138306632323038626266623264 | ||
| + | 6634 | ||
| + | </ | ||
| + | |||
| + | Exécutez le playbook : | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# ansible-playbook vsftpd.yml --ask-vault-pass | ||
| + | Vault password: fenestros | ||
| + | [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match ' | ||
| + | |||
| + | PLAY [ftp server install] ************************************************************************************************************************************************* | ||
| + | |||
| + | TASK [latest vsftpd version] ********************************************************************************************************************************************** | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [latest firewalld version] ******************************************************************************************************************************************* | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [vsftpd] ************************************************************************************************************************************************************* | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [firewalld] ********************************************************************************************************************************************************** | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [firewalld allows ftp] *********************************************************************************************************************************************** | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [Create_FTP_users] *************************************************************************************************************************************************** | ||
| + | changed: [localhost] => (item={u' | ||
| + | changed: [localhost] => (item={u' | ||
| + | |||
| + | PLAY RECAP **************************************************************************************************************************************************************** | ||
| + | localhost | ||
| + | </ | ||
| + | |||
| + | Notez que malgré le fait que le fichier **users.yml** soit crypté, les mots de passe des utilisateurs apparaissent en clair lors de l' | ||
| + | |||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# vi vsftpd.yml | ||
| + | [root@centos7 ~]# cat vsftpd.yml | ||
| + | ... | ||
| + | - name: Create_FTP_users | ||
| + | user: | ||
| + | name: "{{ item.username }}" # pas d' | ||
| + | password: "{{ item.password | password_hash(' | ||
| + | with_items: "{{ ftp_users }}" # erreur d' | ||
| + | no_log: True | ||
| + | </ | ||
| + | |||
| + | De cette façon lors de l' | ||
| + | |||
| + | < | ||
| + | [root@centos7 ~]# ansible-playbook vsftpd.yml --ask-vault-pass | ||
| + | Vault password: fenestros | ||
| + | [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match ' | ||
| + | ... | ||
| + | TASK [Create_FTP_users] *************************************************************************************************************************************************** | ||
| + | changed: [localhost] => (item=None) | ||
| + | changed: [localhost] => (item=None) | ||
| + | |||
| + | PLAY RECAP **************************************************************************************************************************************************************** | ||
| + | localhost | ||
| + | </ | ||
| + | |||
| + | [/isauth] | ||
| ----- | ----- | ||
| - | Copyright © 2022 Hugh Norris. | + | Copyright © 2024 Hugh Norris. |