Révision de la formation tronc commun 2

This commit is contained in:
2020-08-06 17:16:10 +02:00
parent 13a1493753
commit 4bba6387ca
8 changed files with 473 additions and 9 deletions

View File

@ -3,6 +3,7 @@
\begin{itemize}
\item Les journaux sont remontés sur le maître en mode conteneur ;
\item les journaux locaux sont maintenant dans /var/log/rsyslog/local/ ;
\item possibilité dagréger des logs de serveurs distants dans /var/log/rsyslog/remote/ ;
\item principaux journaux :
\begin{itemize}
\item kernel/ : tous les messages du noyau ;

View File

@ -0,0 +1,9 @@
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Modifié dans le template de configure sshd\_config : "LoginGraceTime" de "30" à "60"
\item créé le patch.
\end{itemize}
\end{frame}
}

View File

@ -0,0 +1,15 @@
\begin{frame}
\frametitle{Création de patch}
\begin{itemize}
\item Génération normal : /usr/share/eole/creole/distrib => /etc
\item Génération avec patch : /usr/share/eole/creole/distrib + /usr/share/eole/creole/patch => /var/lib/creole => /etc
\item Créer un patch :
\begin{itemize}
\item copie du fichier original /usr/share/eole/creole/distrib => /usr/share/eole/creole/modif ;
\item modification du fichier dans /usr/share/eole/creole/modif ;
\item exécution \commande{gen\_patch} ;
\item reconfiguration.
\end{itemize}
\item Désactiver un patch : supprimer le fichier dans /usr/share/eole/creole/patch.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,97 @@
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
\begin{frame}
\frametitle{Pratique}
\framesubtitle{Gérer le service vnstat}
\begin{enumerate}
\item Créer un dictionnaire dans le répertoire /usr/share/eole/creole/dicos/local,
\item ajouter lentête \emph{<?xml version="1.0" encoding="utf-8"?>},
\item ajouter une balise \emph{creole},
\item ajouter une balise \emph{files} dans la balise \emph{creole},
\item ajouter une balise \emph{service} dans la balise \emph{files},
\item valider avec \commande{CreoleLint},
\item tester le comportement au \commande{reconfigure}.
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\framesubtitle{Gérer les accès réseau du service vnstat}
\begin{enumerate}
\item Ajouter au dictionnaire une balise \emph{service\_access} dans la balise \emph{files},
\item appliquer la modification avec \commande{reconfigure},
\item tester la gestion du port avec \commande{iptables-save}.
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\framesubtitle{Gérer les accès réseau du service vnstat}
\begin{enumerate}
\item Ajouter au dictionnaire une balise \emph{service\_restriction} dans la balise \emph{files},
\item appliquer la modification avec \commande{reconfigure},
\item tester la gestion du port avec \commande{iptables-save}.
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\framesubtitle{Ajouter une variable pour activer vnstat}
\begin{enumerate}
\item Ajouter une balise \emph{variables} dans la balise \emph{creole},
\item ajouter une balise \emph{family} dans la balise \emph{variables},
\item ajouter une balise \emph{variable} dans la balise \emph{family},
\item valider avec \commande{CreoleLint},
\item constater les changements dans \commande{gen\_config}.
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\framesubtitle{Rendre variable un paramètre de configuration}
\begin{enumerate}
\item Ajouter une balise \emph{file} dans la balise \emph{files},
\item copier le fichier /etc/vnstat.conf dans /usr/share/eole/creole/distrib,
\item utiliser la variable dans le template /usr/share/eole/creole/distrib/vnstat.conf,
\item générer le fichier avec \commande{CreoleCat -dt vnstat.conf}.
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\framesubtitle{Contraindre la valeur dune variable}
\begin{enumerate}
\item Ajouter une balise \emph{constraints} dans la balise \emph{creole},
\item ajouter une balise \emph{check} dans la balise \emph{constraints},
\item modifier le template pour construire une valeur à partir de la variable,
\item générer le fichier avec \commande{CreoleCat -dt vnstat.conf}.
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\framesubtitle{Calculer la valeur dune variable}
\begin{enumerate}
\item Ajouter deux balises \emph{variable} dans la balise \emph{family vnstat},
\item ajouter une balise \emph{fill} dans la balise \emph{constraints}.
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\framesubtitle{Conditionner laccès aux variables}
\begin{enumerate}
\item Ajouter une balise \emph{condition} dans la balise \emph{constraints},
\item ajouter les balises \emph{target} pour la famille, le fichier et le service,
\item passer la variable \emph{activer\_vnstat} à \emph{non} et valider les désactivations avec \commande{reconfigure}.
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\framesubtitle{Documenter les variables et familles}
\begin{itemize}
\item Ajouter une balise \emph{help} dans la balise {creole},
\item ajouter les balises \emph{variable} dans la balise \emph{help}.
\end{itemize}
\end{frame}
}

View File

@ -0,0 +1,136 @@
\begin{frame}
\frametitle{Dictionnaire Creole}
\begin{itemize}
\item Un dictionnaire est un fichier XML Creole ;
\item décrit les variables présente dans l'interface de configuration ;
\item informations utiles pour les services ;
\item les dictionnaires locaux sont dans /usr/share/eole/creole/dicos/local/.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{CreoleLint}
\begin{itemize}
\item Vérifie la syntaxe du dictionnaire : \commande{CreoleLint -d} ;
\item test la génération d'un template suivant contrainte : \commande{CreoleLint -t nom\_du\_template}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{CreoleCat}
\begin{itemize}
\item Templatise un fichier sans faire de reconfigure (objectif de test) ;
\item \commande{CreoleCat -t nom\_du\_template}
\item \commande{CreoleCat -t nom\_du\_template -o /tmp/template.tmpl}
\item \commande{CreoleCat -s /tmp/nom\_du\_template -o /tmp/template.tmpl}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Dictionnaires Creole}
\frametitle{Les paquets}
\begin{itemize}
\item Les paquets fonctionnent sur le maitre ou dans un conteneur ;
\item permet d'installer les paquets sans passer par les dépendances de paquet.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Dictionnaires Creole}
\frametitle{Les services}
\begin{itemize}
\item Services fonctionnent sur le maitre ou dans un conteneur ;
\item différentes méthodes : service, upstart (version EOLE inférieur à 2.6) ou apache.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Dictionnaires Creole}
\frametitle{Le firewall}
\begin{itemize}
\item On commence par ouvrir les accès (service\_access) ;
\item on ajoute ensuite les restrictions (service\_restiction).
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Dictionnaires Creole}
\frametitle{Les familles}
\begin{itemize}
\item Les variables sont classés dans des familles.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Dictionnaires Creole}
\frametitle{Les variables}
\begin{itemize}
\item Les variables sont typées :
\begin{itemize}
\item number, port,
\item string, mail, filename, unix\_user, web\_address,
\item ip, local\_ip, netmask, network, broadcast,
\item netbios, domain, domain\_strict, hostname, hostname\_strict,
\item oui/non, on/off, yes/no.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Dictionnaires Creole}
\frametitle{Les fichiers templates}
\begin{itemize}
\item Le nom des fichiers templates sont dans les dictionnaires (file) ;
\item le répertoire de destination doit existé par défaut ;
\item possibilité de définir les droits sur le fichier ;
\item nom de la source peut être différents de la destination.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Dictionnaires Creole}
\frametitle{Les contraintes}
\begin{itemize}
\item pour tester/remplir/grouper/conditionner des variables ;
\begin{itemize}
\item calcul automatique (fill),
\item calcul automatique non modifiable (auto),
\item choix de réponse (valid\_enum),
\item cacher des variables suivant des contraintes (condition),
\item groupe de variables (group) :
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Dictionnaires Creole}
\framesubtitle{Redéfinition de variables}
\begin{itemize}
\item Permet de redéfinir des attributs et caractéristiques :
\begin{itemize}
\item service
\item variable
\end{itemize}
\item remove\_check : supprimer les "check" déjà définit de la variable.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Langague de template Creole}
\begin{itemize}
\item Un template utilise le langage de template Creole.
\item variable Creole préfixé par \begin{semiverbatim}\%\%\end{semiverbatim}
\item Test : \begin{semiverbatim}\%if EXPRESSION code if \%else code else \%end if\end{semiverbatim}
\item Boucle : \begin{semiverbatim}\%for \%\%i in EXPRESSION hello \%\%i \%end for\end{semiverbatim}
\item Boucle pour variable multi évolué avec esclave : \begin{semiverbatim}\%for \%\%var in \%\%variablemaitre\end{semiverbatim}\begin{semiverbatim}\%\%var, \%\%var.esclave1, \%\%var.esclave2\end{semiverbatim}\begin{semiverbatim}\%end for\end{semiverbatim}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Langague de template Creole}
\begin{itemize}
\item Test existence : \begin{semiverbatim}\%if \%\%is\_defined('variable') code if \%end if\end{semiverbatim}
\item valeur vide : \begin{semiverbatim}\%if \%\%is\_empty(\%\%variable) code if \%end if\end{semiverbatim}
\item nom de variable dans une variable : \begin{semiverbatim}\%set \%\%var='adresse\_ip\_eth0' \%\%getVar(\%\%var)\end{semiverbatim}
\end{itemize}
\end{frame}