Guide d'utilisation d'Augeas pour gérer vos configs
J’ai découvert Augeas un peu par hasard, en plongeant dans la documentation de libguestfs pour mon projet. Je rappelle que mon objectif est de créer un outil capable de valider la compatibilité d’une image de VM pour différents fournisseurs de cloud. Grâce à libguestfs, je peux accéder au contenu des disques virtuels de ces images sans les démarrer, ce qui est extrêmement pratique pour analyser et ajuster des configurations.
En creusant dans les fonctionnalités de libguestfs, je suis tombé sur Augeas, un outil intégré qui permet de lire et modifier facilement les fichiers de configuration des systèmes. Plutôt que de manipuler les configurations en texte brut, Augeas propose une structure d’arborescence, rendant chaque paramètre accessible et modifiable de manière beaucoup plus sûre et intuitive.
Et je ne vais pas le cacher, j’adore !
Fonctionnement d’Augeas
Augeas est un outil puissant qui simplifie la manipulation des configurations. Son fonctionnement est basé sur une architecture qui transforme les fichiers de configuration en arbres de données, facilitant leur exploration et modification.
Au cœur d’Augeas, on trouve les lenses, qui sont des règles permettant de traduire les fichiers de configuration en arbres structurés. Ce sont un peu comme des filtres qui décodent chaque fichier texte pour le rendre manipulable dans un format standard. Il existe déjà de nombreux lenses pour les configurations courantes, mais Augeas permet également de créer des lenses personnalisées pour des fichiers moins conventionnels.
La bibliothèque libaugeas est le moteur principal d’Augeas. Elle est responsable de lire et interpréter les fichiers de configuration en appliquant les lenses appropriées. Elle crée ensuite une arborescence de données que l’utilisateur peut manipuler. Libaugeas ne se limite pas à la lecture ; elle peut également modifier les valeurs de l’arbre et sauvegarder ces modifications directement dans les fichiers de configuration, sans perturber les commentaires ou le format du fichier.
L’arborescence de nœuds créée par libaugeas facilite énormément la navigation et la modification des valeurs. Chaque paramètre est identifiable par un chemin spécifique, un peu comme un chemin de fichier dans un système UNIX. Cela signifie que vous interagissez avec des arbres structurés, ce qui permet des modifications ciblées et précises.
Un exemple pratique
Pour bien comprendre le fonctionnement d’Augeas, prenons un exemple concret de
lecture d’un paramètre spécifique dans le fichier de configuration GRUB, en
l’occurrence GRUB_CMDLINE_LINUX_DEFAULT. Ce paramètre, souvent situé dans
/etc/default/grub
, contient les options passées par défaut au noyau Linux au
démarrage. C’est un point d’entrée utile pour vérifier ou ajuster certaines
configurations de démarrage, comme l’activation d’options spécifiques au noyau.
Lorsque le fichier /etc/default/grub
est chargé par Augeas, il est
converti en un arbre de données grâce à une lens dédiée. Plutôt que de lire
le fichier ligne par ligne comme dans un éditeur texte classique, Augeas
utilise cette lens pour identifier chaque paramètre et créer une structure en
arbre, où chaque option est un nœud distinct.
Ainsi, le paramètre GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
sera traduit en
un nœud facilement accessible, sous la forme d’un chemin unique dans l’arbre
Augeas, tel que :
/files/etc/default/grub/GRUB_CMDLINE_LINUX_DEFAULT
Grâce à cette arborescence, il devient possible de naviguer directement vers
le paramètre souhaité. Dans notre exemple, le nœud
GRUB_CMDLINE_LINUX_DEFAULT
contient la valeur actuelle définie dans le fichier
de configuration, en l’occurrence "quiet splash"
. Il est possible de lire
cette valeur simplement en accédant au nœud correspondant, sans avoir à
parcourir le fichier manuellement.
Cette méthode d’accès direct permet d’éviter les erreurs de lecture ou d’interprétation, car Augeas s’assure que la valeur associée est exactement celle spécifiée dans le fichier de configuration.
Il est possible de modifier la valeur directement en assignant un nouveau
contenu au nœud. Par exemple, si l’on souhaite ajouter une option au noyau,
comme nomodeset
, on pourrait simplement assigner la nouvelle valeur "quiet splash nomodeset"
à ce nœud. Augeas gère alors la modification du fichier
de configuration pour que la valeur soit mise à jour en toute sécurité.
Lors de cette modification, Augeas préserve le format original du fichier
/etc/default/grub
, y compris les commentaires et l’ordre des paramètres. Cela
permet de s’assurer que les modifications sont appliquées sans perturber les
autres lignes du fichier ni les commentaires ajoutés par les administrateurs ou
générés par le système.
En résumé, avec Augeas, la lecture et la manipulation du paramètre
GRUB_CMDLINE_LINUX_DEFAULT
dans /etc/default/grub
se font de manière sûre
et structurée. Grâce à l’arborescence de données et aux lenses, chaque
paramètre devient un nœud distinct et directement accessible, permettant des
ajustements précis tout en préservant l’intégrité du fichier de configuration.
Installation d’Augeas
Augeas est disponible dans les dépôts de la plupart des distributions Linux. Les commandes ci-dessous vous guideront pour l’installer selon votre environnement :
-
Sur Debian/Ubuntu Utilisez
apt
, le gestionnaire de paquets, pour installer Augeas :Terminal window sudo apt updatesudo apt install augeas-tools -
Sur CentOS/RHEL Utilisez
yum
oudnf
, selon votre version de CentOS ou Red Hat, pour installer les packages d’Augeas :Terminal window sudo yum install augeasou pour les versions récentes :
Terminal window sudo dnf install augeasCe package comprend les outils de base pour manipuler les configurations, ainsi que la bibliothèque
libaugeas
. -
Sur Fedora Fedora, ayant des paquets souvent plus récents, utilise
dnf
pour l’installation :Terminal window sudo dnf install augeas augeas-libsIci aussi,
augeas
installe les outils principaux tandis queaugeas-libs
installe les bibliothèques nécessaires. -
Sur Arch Linux
Pour les utilisateurs d’Arch Linux,
pacman
permet une installation rapide :Terminal window sudo pacman -S augeas
Vérification de l’installation
Après l’installation, vérifiez qu’Augeas est bien installé et fonctionnel. Vous pouvez utiliser la commande suivante pour obtenir la version installée d’Augeas :
augtool --version
La commande augtool
est l’outil de ligne de commande principal d’Augeas.
Si cette commande ne fonctionne pas, il se peut qu’il y ait eu un problème
durant l’installation ou que le chemin d’accès à Augeas ne soit pas
correctement configuré.
Gestion des Configurations avec Augeas
Augeas facilite la lecture et la modification des fichiers de configuration sous Linux grâce à une interface structurée. Voici comment utiliser les commandes de base pour gérer vos configurations efficacement.
Lancer Augeas
Pour commencer, ouvrez l’outil augtool en mode superutilisateur pour avoir les droits nécessaires :
sudo augtool
Une fois dans augtool
, vous pouvez accéder aux commandes de gestion de
configuration.
Lister les lens disponibles
Il suffit de taper la commande suivante :
ls /augeas/load
Virtlockd/ = (none)Libvirtd_qemu/ = (none)Libvirt_lockd/ = (none)Libvirtd/ = (none)Libvirt_sanlock/ = (none)Virtlogd/ = (none)Dput/ = (none)Rancid/ = (none)Anaconda/ = (none)Cyrus_Imapd/ = (none)Postfix_Virtual/ = (none)Pam/ = (none)....
Obtenir des explications sur les Lens
Pour obtenir des explications sur les lenses disponibles, utilisez la commande suivante :
ls /augeas/load/Sshd
lens = @Sshdincl[1] = /etc/ssh/sshd_config.d/*.confincl[2] = /etc/ssh/sshd_config
Quelques explications :
- lens = @Sshd Cette ligne indique que la lens utilisée pour interpréter
ces fichiers est
Sshd
. Chaque lens dans Augeas est conçue pour un type spécifique de fichier de configuration. Ici,@Sshd
signifie que cette lens est destinée à manipuler les fichiers de configuration de SSH (le démon SSH). - incl[1] = /etc/ssh/sshd_config.d/*.conf Cette ligne montre que la lens
Sshd
inclut également tous les fichiers avec l’extension.conf
présents dans le répertoire/etc/ssh/sshd_config.d/
. Ce répertoire est souvent utilisé pour des configurations SSH supplémentaires ou des configurations personnalisées. En incluant ces fichiers, Augeas permet de lire et de modifier les paramètres contenus dans chacun de ces fichiers, pas seulement dans le fichier principal. - incl[2] = /etc/ssh/sshd_config Ici, la lens inclut le fichier principal de
configuration SSH,
/etc/ssh/sshd_config
. Ce fichier contient les paramètres de configuration du serveur SSH (commePermitRootLogin
,AllowUsers
, etc.) et est généralement le fichier de configuration principal pour SSH.
Grâce à cette approche, Augeas peut gérer plusieurs fichiers de configuration SSH en même temps, offrant une vue unifiée et cohérente de la configuration SSH, même si elle est répartie dans plusieurs fichiers.
Obtenir la liste des Noeuds
La commande ls
permet de lister les nœuds d’un chemin dans l’arborescence de
configuration.
Exemple : Pour lister le contenu de /etc/default/grub
:
ls /files/etc/default/grub#comment[1] = If you change this file, run 'update-grub' afterwards to update#comment[2] = /boot/grub/grub.cfg.#comment[3] = For full documentation of the options in this file, see:#comment[4] = info -f grub -n 'Simple configuration'GRUB_DEFAULT = 0GRUB_TIMEOUT_STYLE = hiddenGRUB_TIMEOUT = 0GRUB_DISTRIBUTOR = `( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`GRUB_CMDLINE_LINUX_DEFAULT = ""GRUB_CMDLINE_LINUX = ""#comment[5] = If your computer has multiple operating systems installed, then you#comment[6] = probably want to run os-prober. However, if your computer is a host#comment[7] = for guest OSes installed via LVM or raw disk devices, running#comment[8] = os-prober can cause damage to those guest OSes as it mounts#comment[9] = filesystems to look for things.#comment[10] = GRUB_DISABLE_OS_PROBER=false#comment[11] = Uncomment to enable BadRAM filtering, modify to suit your needs#comment[12] = This works with Linux (no patch required) and with any kernel that obtains#comment[13] = the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)#comment[14] = GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"#comment[15] = Uncomment to disable graphical terminal#comment[16] = GRUB_TERMINAL=console#comment[17] = The resolution used on graphical terminal#comment[18] = note that you can use only modes which your graphic card supports via VBE#comment[19] = you can see them in real GRUB with the command `vbeinfo'#comment[20] = GRUB_GFXMODE=640x480#comment[21] = Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux#comment[22] = GRUB_DISABLE_LINUX_UUID=true#comment[23] = Uncomment to disable generation of recovery mode menu entries#comment[24] = GRUB_DISABLE_RECOVERY="true"#comment[25] = Uncomment to get a beep at grub start#comment[26] = GRUB_INIT_TUNE="480 440 1"
Lire un Noeud
Pour lire un paramètre spécifique, utilisez la commande get
suivie du chemin
du nœud.
Exemple : Lire la valeur de GRUB_CMDLINE_LINUX_DEFAULT
:
get /files/etc/default/grub/GRUB_CMDLINE_LINUX_DEFAULT/files/etc/default/grub/GRUB_CMDLINE_LINUX_DEFAULT = ""
Ici on voit que la valeur retrounée est vide.
Modifier un Noeud
Avec la commande set
, vous pouvez changer la valeur d’un paramètre.
Exemple : Modifier GRUB_CMDLINE_LINUX_DEFAULT
pour ajouter une option :
set /files/etc/default/grub/GRUB_CMDLINE_LINUX_DEFAULT "quiet splash"
Ajouter un Nouveau Noeud
Si un paramètre n’existe pas, vous pouvez le créer avec set
en précisant le
chemin et la valeur.
Exemple : Ajouter AllowUsers
dans sshd_config
:
set /files/etc/ssh/sshd_config/AllowUsers "user1 user2"
Supprimer un nœud
Vous pouvez supprimer un nœud avec la commande rm
.
Exemple : Supprimer la directive AllowUsers
dans sshd_config
:
rm /files/etc/ssh/sshd_config/AllowUsers
Renommer ou déplacer un nœud
Vous pouvez renommer ou déplacer un nœud avec la commande mv
.
Exemple : Déplacer sshd_config
vers /etc/ssh/sshd_config
:
mv /files/etc/ssh/sshd_config /etc/ssh/sshd_config
Rechercher des nœuds
Vous pouvez rechercher des nœuds avec la commande match
.
Exemple : Rechercher tous les nœuds qui contiennent sshd_config
:
match /files/etc/ssh/sshd_config/files/etc/ssh/sshd_config/AllowGroups/files/etc/ssh/sshd_config/AllowUsers/files/etc/ssh/sshd_config/AuthorizedKeysFile/files/etc/ssh/sshd_config/AuthorizedPrincipalsFile/files/etc/ssh/sshd_config/ChallengeResponseAuthentication/files/etc/ssh/sshd_config/ClientAliveCountMax/files/etc/ssh/sshd_config/ClientAliveInterval/files/etc/ssh/sshd_config/Compression/files/etc/ssh/sshd_config/GSSAPIAuthentication/files/etc/ssh/sshd_config/GSSAPICleanupCredentials/files/etc/ssh/sshd_config/GSSAPIDelegateCredentials/files/etc/ssh/sshd_config/HostbasedAuthentication/files/etc/ssh/sshd_config/HostbasedUsesNameFromPacketOnly/files/etc/ssh/sshd_config/IgnoreRhosts/files/etc/ssh/sshd_config/IgnoreUserKnownHosts/files/etc/ssh/sshd_config/KbdInteractiveAuthentication/files/etc/ssh/sshd_config/KerberosAuthentication/files/etc/ssh/sshd_config/KerberosGetAFSToken/files/etc/ssh/sshd_config/KerberosOrLocalPasswd/files/etc/ssh/sshd_config/KerberosTicketCleanup/files/etc/ssh/sshd_config/KerberosUseKuserok/files/etc/ssh/sshd_config/LoginGraceTime/files/etc/ssh/sshd_config/MaxAuthTries/files/etc/ssh/sshd_config/MaxSessions/files/etc/ssh/sshd_config/MaxStartups/files/etc/ssh/sshd_config/PasswordAuthentication/files/etc/ssh/sshd_config/PermitEmptyPasswords/files/etc/ssh/sshd_config/PermitRootLogin/files/etc/ssh/sshd_config/PermitTunnel/files/etc/ssh/sshd_config/Port/files/etc/ssh/sshd_config/PrintLastLog/files/etc/ssh/sshd_config/PrintMotd/files/etc/ssh/sshd_config/PrintMotdBanner/files/etc/ssh/sshd_config/Protocol/files/etc/ssh/sshd_config/PubkeyAuthentication/files/etc/ssh/sshd_config/RhostsRSAAuthentication/files/etc/ssh/sshd_config/RSAAuthentication/files/etc/ssh/sshd_config/RekeyLimit/files/etc/ssh/sshd_config/ServerKeyBits/files/etc/ssh/sshd_config/StreamLocalBindMask/files/etc/ssh/sshd_config/SyslogFacility/files/etc/ssh/sshd_config/SyslogMask/files/etc/ssh/sshd_config/TCPKeepAlive/files/etc/ssh/sshd_config/Tunnel/files/etc/ssh/sshd_config/TunnelDevice/files/etc/ssh/sshd_config/UseDNS/files/etc/ssh/sshd_config/UsePAM/files/etc/ssh/sshd_config/UsePrivilegeSeparation/files/etc/ssh/sshd_config/X11Forwarding
En utilisant des expressions régulières, vous pouvez rechercher des nœuds qui correspondent à un modèle particulier.
Exemple : Rechercher tous les nœuds commentés et contenant PermitRootLogin
:
match /files/etc/ssh/sshd_config/#comment[. =~ regexp('X11Forwarding.*')]/files/etc/ssh/sshd_config/#comment[22] = PermitRootLogin prohibit-password
Vider la valeur d’un nœud
Pour vider la valeur d’un nœud, utilisez la commande clear
.
Exemple : Vider la valeur du nœud /files/etc/ssh/sshd_config/Port
:
clear /files/etc/ssh/sshd_config/Port
Afficher une arborescence complète
Pour afficher une arborescence complète, utilisez la commande print
.
Exemples :
print /files/etc/ssh/sshd_config//files/etc/ssh/sshd_config/files/etc/ssh/sshd_config/#comment[1] = "This is the sshd server system-wide configuration file. See"/files/etc/ssh/sshd_config/#comment[2] = "sshd_config(5) for more information."/files/etc/ssh/sshd_config/#comment[3] = "This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"/files/etc/ssh/sshd_config/#comment[4] = "The strategy used for options in the default sshd_config shipped with"/files/etc/ssh/sshd_config/#comment[5] = "OpenSSH is to specify options with their default value where"/files/etc/ssh/sshd_config/#comment[6] = "possible, but leave them commented. Uncommented options override the"/files/etc/ssh/sshd_config/#comment[7] = "default value."/files/etc/ssh/sshd_config/Include = "/etc/ssh/sshd_config.d/*.conf"/files/etc/ssh/sshd_config/#comment[8] = "Port 22"/files/etc/ssh/sshd_config/#comment[9] = "AddressFamily any"/files/etc/ssh/sshd_config/#comment[10] = "ListenAddress 0.0.0.0"/files/etc/ssh/sshd_config/#comment[11] = "ListenAddress ::"/files/etc/ssh/sshd_config/#comment[12] = "HostKey /etc/ssh/ssh_host_rsa_key"/files/etc/ssh/sshd_config/#comment[13] = "HostKey /etc/ssh/ssh_host_ecdsa_key"/files/etc/ssh/sshd_config/#comment[14] = "HostKey /etc/ssh/ssh_host_ed25519_key"/files/etc/ssh/sshd_config/#comment[15] = "Ciphers and keying"/files/etc/ssh/sshd_config/#comment[16] = "RekeyLimit default none"/files/etc/ssh/sshd_config/#comment[17] = "Logging"/files/etc/ssh/sshd_config/#comment[18] = "SyslogFacility AUTH"/files/etc/ssh/sshd_config/#comment[19] = "LogLevel INFO"/files/etc/ssh/sshd_config/#comment[20] = "Authentication:"/files/etc/ssh/sshd_config/#comment[21] = "LoginGraceTime 2m"/files/etc/ssh/sshd_config/#comment[22] = "PermitRootLogin prohibit-password"/files/etc/ssh/sshd_config/#comment[23] = "StrictModes yes"/files/etc/ssh/sshd_config/#comment[24] = "MaxAuthTries 6"/files/etc/ssh/sshd_config/#comment[25] = "MaxSessions 10"/files/etc/ssh/sshd_config/#comment[26] = "PubkeyAuthentication yes"/files/etc/ssh/sshd_config/#comment[27] = "Expect .ssh/authorized_keys2 to be disregarded by default in future."/files/etc/ssh/sshd_config/#comment[28] = "AuthorizedKeysFile\t.ssh/authorized_keys .ssh/authorized_keys2"/files/etc/ssh/sshd_config/#comment[29] = "AuthorizedPrincipalsFile none"/files/etc/ssh/sshd_config/#comment[30] = "AuthorizedKeysCommand none"/files/etc/ssh/sshd_config/#comment[31] = "AuthorizedKeysCommandUser nobody"/files/etc/ssh/sshd_config/#comment[32] = "For this to work you will also need host keys in /etc/ssh/ssh_known_hosts"/files/etc/ssh/sshd_config/#comment[33] = "HostbasedAuthentication no"/files/etc/ssh/sshd_config/#comment[34] = "Change to yes if you don't trust ~/.ssh/known_hosts for"/files/etc/ssh/sshd_config/#comment[35] = "HostbasedAuthentication"/files/etc/ssh/sshd_config/#comment[36] = "IgnoreUserKnownHosts no"/files/etc/ssh/sshd_config/#comment[37] = "Don't read the user's ~/.rhosts and ~/.shosts files"/files/etc/ssh/sshd_config/#comment[38] = "IgnoreRhosts yes"/files/etc/ssh/sshd_config/#comment[39] = "To disable tunneled clear text passwords, change to no here!"/files/etc/ssh/sshd_config/PasswordAuthentication = "yes"/files/etc/ssh/sshd_config/#comment[40] = "PermitEmptyPasswords no"/files/etc/ssh/sshd_config/#comment[41] = "Change to yes to enable challenge-response passwords (beware issues with"/files/etc/ssh/sshd_config/#comment[42] = "some PAM modules and threads)"/files/etc/ssh/sshd_config/KbdInteractiveAuthentication = "no"/files/etc/ssh/sshd_config/#comment[43] = "Kerberos options"/files/etc/ssh/sshd_config/#comment[44] = "KerberosAuthentication no"/files/etc/ssh/sshd_config/#comment[45] = "KerberosOrLocalPasswd yes"/files/etc/ssh/sshd_config/#comment[46] = "KerberosTicketCleanup yes"/files/etc/ssh/sshd_config/#comment[47] = "KerberosGetAFSToken no"/files/etc/ssh/sshd_config/#comment[48] = "GSSAPI options"/files/etc/ssh/sshd_config/#comment[49] = "GSSAPIAuthentication no"/files/etc/ssh/sshd_config/#comment[50] = "GSSAPICleanupCredentials yes"/files/etc/ssh/sshd_config/#comment[51] = "GSSAPIStrictAcceptorCheck yes"/files/etc/ssh/sshd_config/#comment[52] = "GSSAPIKeyExchange no"/files/etc/ssh/sshd_config/#comment[53] = "Set this to 'yes' to enable PAM authentication, account processing,"/files/etc/ssh/sshd_config/#comment[54] = "and session processing. If this is enabled, PAM authentication will"/files/etc/ssh/sshd_config/#comment[55] = "be allowed through the KbdInteractiveAuthentication and"/files/etc/ssh/sshd_config/#comment[56] = "PasswordAuthentication. Depending on your PAM configuration,"/files/etc/ssh/sshd_config/#comment[57] = "PAM authentication via KbdInteractiveAuthentication may bypass"/files/etc/ssh/sshd_config/#comment[58] = "the setting of \"PermitRootLogin prohibit-password\"."/files/etc/ssh/sshd_config/#comment[59] = "If you just want the PAM account and session checks to run without"/files/etc/ssh/sshd_config/#comment[60] = "PAM authentication, then enable this but set PasswordAuthentication"/files/etc/ssh/sshd_config/#comment[61] = "and KbdInteractiveAuthentication to 'no'."/files/etc/ssh/sshd_config/UsePAM = "yes"/files/etc/ssh/sshd_config/#comment[62] = "AllowAgentForwarding yes"/files/etc/ssh/sshd_config/#comment[63] = "AllowTcpForwarding yes"/files/etc/ssh/sshd_config/#comment[64] = "GatewayPorts no"/files/etc/ssh/sshd_config/X11Forwarding = "yes"/files/etc/ssh/sshd_config/#comment[65] = "X11DisplayOffset 10"/files/etc/ssh/sshd_config/#comment[66] = "X11UseLocalhost yes"/files/etc/ssh/sshd_config/#comment[67] = "PermitTTY yes"/files/etc/ssh/sshd_config/PrintMotd = "no"/files/etc/ssh/sshd_config/#comment[68] = "PrintLastLog yes"/files/etc/ssh/sshd_config/#comment[69] = "TCPKeepAlive yes"/files/etc/ssh/sshd_config/#comment[70] = "PermitUserEnvironment no"/files/etc/ssh/sshd_config/#comment[71] = "Compression delayed"/files/etc/ssh/sshd_config/#comment[72] = "ClientAliveInterval 0"/files/etc/ssh/sshd_config/#comment[73] = "ClientAliveCountMax 3"/files/etc/ssh/sshd_config/#comment[74] = "UseDNS no"/files/etc/ssh/sshd_config/#comment[75] = "PidFile /run/sshd.pid"/files/etc/ssh/sshd_config/#comment[76] = "MaxStartups 10:30:100"/files/etc/ssh/sshd_config/#comment[77] = "PermitTunnel no"/files/etc/ssh/sshd_config/#comment[78] = "ChrootDirectory none"/files/etc/ssh/sshd_config/#comment[79] = "VersionAddendum none"/files/etc/ssh/sshd_config/#comment[80] = "no default banner path"/files/etc/ssh/sshd_config/#comment[81] = "Banner none"/files/etc/ssh/sshd_config/#comment[82] = "Allow client to pass locale environment variables"/files/etc/ssh/sshd_config/AcceptEnv/files/etc/ssh/sshd_config/AcceptEnv/1 = "LANG"/files/etc/ssh/sshd_config/AcceptEnv/2 = "LC_*"/files/etc/ssh/sshd_config/#comment[83] = "override default of no subsystems"/files/etc/ssh/sshd_config/Subsystem/files/etc/ssh/sshd_config/Subsystem/sftp = "/usr/lib/openssh/sftp-server"/files/etc/ssh/sshd_config/#comment[84] = "Example of overriding settings on a per-user basis"/files/etc/ssh/sshd_config/#comment[85] = "Match User anoncvs"/files/etc/ssh/sshd_config/#comment[86] = "X11Forwarding no"/files/etc/ssh/sshd_config/#comment[87] = "AllowTcpForwarding no"/files/etc/ssh/sshd_config/#comment[88] = "PermitTTY no"/files/etc/ssh/sshd_config/#comment[89] = "ForceCommand cvs server"/files/etc/ssh/sshd_config/Port
Sauvegarder les Modifications
Pour enregistrer les changements dans le fichier de configuration d’origine, utilisez simplement la commande :
save
Quitter Augeas
Pour sortir de augtool
, utilisez la commande :
quit
Où Trouver des Lenses ?
Avant de créer une lens, vérifiez si une lens similaire existe déjà. Voici où chercher :
- Répertoire par défaut : Consultez
/usr/share/augeas/lenses
pour voir les lenses fournies avec Augeas. Ces lenses couvrent de nombreux fichiers de configuration courants. - La Stock Lenses : Consultez la Stock Lenses ↗.
- Dépôt officiel Augeas sur GitHub : Le projet Augeas est open source, et son dépôt officiel contient de nombreuses lenses contribuant aux versions actuelles d’Augeas. GitHub Augeas ↗
- GitHub et GitLab : Recherchez des lenses personnalisées publiées par d’autres utilisateurs. Essayez des mots-clés comme “Augeas lens” suivis du nom de l’application ou du fichier de configuration que vous ciblez.
Conclusion
Vous l’aurez compris, Augeas est un super Outil, il existe même une Collection Ansible, malheureusement pas officielle.
Resssources
Pour approfondir vos connaissances et découvrir d’autres possibilités avec Augeas, voici quelques ressources utiles :
- Wiki officiel Augeas ↗ : Une mine d’informations sur les fonctionnalités d’Augeas, la création de lenses, les cas d’utilisation, et des astuces pour la manipulation de configurations systèmes.
- Dépôt GitHub Augeas ↗ : Retrouvez les dernières mises à jour et contribuez à l’outil open source.