226 lines
7.5 KiB
TeX
226 lines
7.5 KiB
TeX
\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 "gen\_patch" ;
|
|
\item reconfiguration.
|
|
\end{itemize}
|
|
\item Désactiver un patch : supprimer le fichier dans /usr/share/eole/creole/patch.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Pratique}
|
|
\begin{itemize}
|
|
\item Modifié dans le fichier de configuration de proftpd.conf : UseReverseDNS de "off" à "on" ;
|
|
\item créé le patch.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\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{Dictionnaire Creole : 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{Dictionnaire Creole : les services}
|
|
\begin{itemize}
|
|
\item Services fonctionnent sur le maitre ou dans un conteneur ;
|
|
\item différentes méthodes : service, upstart ou apache.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Pratique}
|
|
\begin{itemize}
|
|
\item Installer le paquet ircd-irc2 ;
|
|
\item ajouter un dictionnaire pour gérer :
|
|
\begin{itemize}
|
|
\item l'installation du paquet,
|
|
\item le service.
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Dictionnaire Creole : 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{Pratique}
|
|
\begin{itemize}
|
|
\item Ajouter des règles de firewall et tcpwrapper pour autoriser les accès.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Dictionnaire Creole : les familles}
|
|
\begin{itemize}
|
|
\item Les variables sont classés dans des familles.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Dictionnaire Creole : 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 nebios, domain, domain\_strict, hostname, hostname\_strict,
|
|
\item oui/non, on/off, yes/no.
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Pratique}
|
|
\begin{itemize}
|
|
\item Dans la famille "services" ajouter la variable "activer\_ircd" ayant pour valeur possible "oui" et "non" ;
|
|
\item tester gen\_config.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Dictionnaire Creole : 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{Pratique}
|
|
\begin{itemize}
|
|
\item Ajouter le template /etc/ircd/ircd.conf.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Dictionnaire Creole : les contraintes}
|
|
\begin{itemize}
|
|
\item pour tester/remplir/grouper/conditionner des variables ;
|
|
\begin{itemize}
|
|
\item calcul automatique avec fonction personnalisé (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{Pratique}
|
|
\begin{itemize}
|
|
\item Ajouter une famille "ircd" ;
|
|
\item configuration de la M line : M:<ircd\_domaine>::<ircd\_libelle>:<ircd\_port>:000A :
|
|
\begin{itemize}
|
|
\item le nom de domaine est une copie de web\_url,
|
|
\item le libellé est la concaténation de "Serveur IRC pour" et libelle\_etab et n'est pas modifiable par l'utilisateur,
|
|
\item le port ircd est par défaut le port 6667 modifiable en mode expert,
|
|
\item modifier la balise service\_access ;
|
|
\end{itemize}
|
|
\item pouvoir ajouter des K line : K:<ircd\_banned\_hostname:ircd\_banned\_comment:*:0:
|
|
\begin{itemize}
|
|
\item variable groupé avec possibilité de ne pas mettre de valeur,
|
|
\item nom d'hôte ou domaine banni,
|
|
\item proposer un commentaire par défaut.
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Pratique}
|
|
\begin{itemize}
|
|
\item Faire une condition pour désactiver la famille et le service ;
|
|
\item tester gen\_config ;
|
|
\item mettre la valeur de ircd\_domaine à localhost.localdomaine.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Dictionnaire Creole : l'aide}
|
|
\begin{itemize}
|
|
\item Afficher de l'aide dans l'interface : <help></help>.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Pratique}
|
|
\begin{itemize}
|
|
\item Ajouter de l'aide sur la variable activer\_ircd.
|
|
\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 existance : \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}
|
|
|
|
\begin{frame}
|
|
\frametitle{Pratique 1}
|
|
\begin{itemize}
|
|
\item Configuration de la "M line : M:<ircd\_domaine>::<ircd\_libelle>:<ircd\_port>:000A" ;
|
|
\item configurer les "K line : K:<ircd\_banned\_hostname:ircd\_banned\_comment:*:0:".
|
|
\end{itemize}
|
|
\end{frame}
|