Ceci est une ancienne révision du document !


Version - 2022.01

Dernière mise-à-jour : 2021/12/29 10:31

DOF506 - Ansible par la Pratique

Contenu du Module

  • DOF506 - Validations des Acquis
    • Contenu du Module
    • LAB #1 - Automatiser avec Ansible
      • 1.1 - Instructions
      • 1.2 - Corrigés
        • Erreur #1
        • Erreur #2
        • Erreur #3
        • Erreurs 4, 5 et 6

LAB #1 - Automatiser avec Ansible

Connectez-vous à la machine virtuelle CentOS_7 :

trainee@traineeXX:~$ ssh -l trainee centos7

1.1 - Instructions

Il vous est demandé d'automatiser avec Ansible :

  • l'installation du serveur vsftpd,
  • 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
/bin/ansible
[root@centos7 ~]# which ansible-playbook
/bin/ansible-playbook

Afin de vous aider, on vous fournit deux fichiers :

[root@centos7 ~]# cat vsftpd.yml
---
- name: ftp server install
  hosts: localhost
  gather_facts: no
  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'exécution de la commande ansible-playback, vous obtenez le résultat suivant :

[root@centos7 ~]# ansible-playbook vsftpd.yml
 [WARNING]: Could not match supplied host pattern, ignoring: all

 [WARNING]: provided hosts list is empty, only localhost is available

ERROR! Syntax Error while loading YAML.


The error appears to have been in '/root/vsftpd.yml': line 14, column 13, but may
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 'yaml.scanner.ScannerError'>
exception: mapping values are not allowed in this context
 in "<unicode string>", line 14, column 13

A vous de jouer !


Copyright © 2022 Hugh Norris.

Menu