30 façons de valider les fichiers de configuration ou les scripts dans Linux

30 façons de valider les fichiers de configuration ou les scripts dans Linux

La vérification et / ou les tests de syntaxe de configuration sont une étape clé à effectuer après avoir apporté des modifications au fichier de configuration d'une application ou d'un service ou même après avoir exécuté des mises à jour. Cela permet de réduire les chances que le service ne redémarre pas en raison d'erreurs de configuration.

Plusieurs applications / programmes ou des démons de service sont expédiés avec des commandes pour vérifier les fichiers de configuration pour l'exactitude de la syntaxe. Nous avons dressé une liste d'applications et de services courants sur les systèmes Linux et comment tester ou valider leurs fichiers de configuration.

Note: Utilisez si vous n'êtes pas connecté à un serveur comme utilisateur racine, n'oubliez pas d'utiliser la commande sudo si nécessaire tout en invoquant une commande car certains services s'exécutent avec des privilèges racine, et la vérification de ses fichiers de configuration nécessite des autorisations de l'utilisateur racine.

1. Commande sudo

Vous pouvez vérifier la syntaxe du fichier de configuration sudo à l'aide du visudo commande, qui prend en charge un --vérifier ou -c Option de ligne de commande pour valider uniquement un fichier sans modifier. Le -F L'option affiche le message d'erreur et ouvre le fichier pour l'édition:

# visudo -c / etc / sudoers ou # visudo -c / etc / sudoers.d / my_config ou # visudo -f / etc / sudoers.d / my_config 
Vérifiez la configuration des Suders

2. Script bash

Vous pouvez vérifier les scripts bash pour les erreurs de syntaxe comme suit:

# bash -n / path / to / scriptname.shot 
Vérifiez les erreurs de syntaxe de script bash

3. Scripts perl

Pour vérifier les scripts Perl pour les erreurs de syntaxe, utilisez la commande suivante:

# perl -c / path / to / scriptname 

4. Fichiers d'unité SystemD

Le "systemd-analyze vérifier»La commande permet de tester le fichier unitaire Systemd pour les erreurs de syntaxe. Il charge les fichiers unitaires et imprime les avertissements si des erreurs sont détectées.

Par défaut, il charge les fichiers spécifiés sur la ligne de commande comme argument, et toutes les autres unités référencées par eux:

# Systemd-Analyze Verify / etc / Systemd / System / Test.service 
Vérifiez la configuration des fichiers d'unité Systemd

5. Serveur OpenSSH

Pour vérifier la validité du fichier de configuration SSHD et la santé mentale des clés, émettez la commande suivante. Pour vérifier un fichier de configuration particulier, spécifiez-le à l'aide du -F drapeau:

# sshd -t 

6. Serveur Web Nginx

Pour vérifier le Nginx Fichier de configuration, exécutez le nginx commande avec le -t drapeau. Pour spécifier un fichier de configuration différent, utilisez le -c drapeau:

# nginx -t ou # nginx -t -c / etc / nginx / confr.d / exemple.com.confli 
Vérifier la configuration de Nginx

7. Php-fpm

Pour vérifier le php-fpm Fichier de configuration, exécutez la commande suivante. Notez que appeler le -t Frapper deux fois (-tt) entraîne le vidage de la configuration avant de quitter:

# php-fpm -t ou # php-fpm -tt 

8. Serveur Web Apache

Vous pouvez ensuite vérifier le Apache Fichier de configuration du serveur Web à l'aide de la commande suivante:

# apachectl configTest 

Alternativement, vous pouvez utiliser les commandes suivantes sur les distributions basées sur Redhat:

# httpd -t 

Sur les distributions basées sur Debian, exécutez:

 # apache2ctl -t 

9. Haproxy TCP / HTTP Balancer de chargement

La configuration de Haproxy peut être testée à l'aide de la commande suivante où le -F L'option spécifie le fichier et -c Active le mode test:

# haproxy -f / etc / haproxy / haproxy.CFG -C 
Vérifier la configuration de Haproxy

dix. Serveur http lighttpd

Exécutez la commande suivante pour tester la syntaxe du fichier de configuration de LightTPD. Le -t L'option de ligne de commande permet à LightTPD de tester le fichier de configuration par défaut pour les erreurs de syntaxe et de quitter. Utilisez le -F Indicateur pour spécifier un fichier de configuration personnalisé:

# LightTPD -T ou # LightTpd -T -F / Path / To / Config / Fichier 

11. Apache Tomcat

Le serveur Web Tomcat permet la vérification de la syntaxe de configuration de base. Tout d'abord, déplacez-vous dans votre répertoire d'installation Tomcat et émettez la commande suivante:

# ./ bin / catalina.sh configTest ou # $ tomcat_home / bin / Catalina.SH ConfigTest 

12. Pound Inverse Proxy

Vous pouvez analyser le Broyer Fichier de configuration du serveur avant de démarrer le serveur. Courir le broyer commande avec le -c Indicateur sans aucun autre argument pour vérifier le fichier de configuration par défaut. Vous pouvez spécifier un fichier de configuration différent à l'aide du -F Option de ligne de commande:

# Pound -C ou # Pound -f / Path / To / Config / File -C 

13. Accélérateur HTTP Varnishd

Pour vérifier le vernis Vcl (Langue de configuration de vernis) Syntaxe de fichier pour toute erreur, utilisez la commande suivante. Si tout va bien, le vernis videra la configuration générée, sinon, il affichera un numéro de ligne spécifique dans le fichier qui a une erreur:

# Varnishd -c ou # Varnishd -f / etc / Varnish / par défaut.VCL -C 

14. Serveur de mise en cache de Squid Proxy

Pour passer le fichier de configuration de squid pour le serveur de mise en cache de Squid Proxy, émettez la commande suivante. Le -k L'option avec les sous-commandes d'analyse ou de débogage, dites au démon de squid pour analyser respectivement le fichier de configuration ou activer le mode de débogage:

# Squid -K Parse # Squid -K Debug 

15. Serveur Web Caddy

Pour exposer les erreurs dans la configuration du serveur Web Caddy, émettez la commande suivante. Le premier vérifie la configuration par défaut, alternativement, utilisez le --configurer Option de ligne de commande pour spécifier un fichier de configuration:

# caddy valider ou # caddy valider --Config / path / to / config / fichier 

16. serveur VSFTPD FTP

Exécutez la commande suivante pour tester le fichier de configuration pour le vsftpd Serveur ftp:

# vsftpd ou # vsftpd -olisten = no / path / to / vsftpd.essai.confli 

17. Serveur DHCPD

Courir le dhcpd commande avec le -t Indicateur pour vérifier la syntaxe de configuration du serveur DHCPD:

# dhcpd -t ou # dhcpd -t -cf / path / to / dhcpd.confli 

18. Serveur de base de données MySQL

Utilisez la commande suivante pour tester le Mysql Syntaxe du fichier de configuration du serveur de base de données. Après avoir exécuté la commande, s'il n'y a pas d'erreurs, le serveur se termine avec un code de sortie de 0, Sinon, il affiche un message de diagnostic et se termine avec un code de sortie de 1:

# MySQLD - Validate-Config 

19. Serveur de base de données MARIADB

La même commande utilisée pour le Mariadb Le serveur de base de données fonctionne également pour vérifier la syntaxe du fichier de configuration du serveur de base de données MARIADB:

# MySQLD - Validate-Config 

20. Serveur postgresql

La capture d'écran suivante montre une erreur dans le Postgresql fichier de configuration.

Fichier de configuration postgresql

Pour détecter une telle erreur, passez au postgres compte utilisateur de la base de données et accéder au PSQL coquille. Ensuite, exécutez la commande pour identifier les erreurs dans votre fichier de configuration:

postgres = # select sourcefile, nom, Sourceline, erreur de pg_file_settings où l'erreur n'est pas nul; 
Vérifiez les erreurs postgresql

21. Outil de surveillance Nagios

Pour vérifier votre Nagios configuration, exécutez le nagios commande avec le -V drapeau.

# nagios -v / usr / local / nagios / etc / nagios.CFG 

22. Outil de surveillance de la monture

Courir le surmonter commande avec le -t Indicateur pour effectuer une vérification de syntaxe pour le fichier de contrôle de monit par défaut. Vous pouvez spécifier un fichier de contrôle particulier, utilisez le -c drapeau:

# monit -t ou # monit -t -c path / to / contrôle / fichier 

23. Serveur de messagerie postfix

La commande suivante vous aidera à vérifier les fichiers de configuration de Postfix pour les erreurs de syntaxe.

# chèque postfix 

Cette deuxième commande est plus verbeuse que la première:

# postfix -vvv 
Vérifiez la configuration postfix

24. Dovecot IMAP Server

Vérifier la Dovecot IMAP Syntaxe de configuration du serveur à l'aide du doveconf commande. Il sortira avec un code d'erreur zéro si tout va bien, sinon, il sort avec un code d'erreur non nul et affiche le message d'erreur:

# DoveConf 1> / dev / null # echo $? 

25. Serveur de fichiers samba

Vous pouvez vérifier le Samba Fichier de configuration du serveur de fichiers à l'aide de la commande suivante:

# testparm -v 

26. Syslogd / rsyslogd

Lorsque vous invoquez le rsyslod commande avec le -N1 Option, il permettra le mode de débogage et vérifie également le fichier de configuration par défaut pour les erreurs de syntaxe. Utilisez le -F Indicateur pour lire un fichier de configuration personnalisé:

# RSYSLOGD -N1 
Vérifier la configuration de Rsyslod

27. Serveur DNS (Bind)

Vous pouvez vérifier le DNS nommé Fichier de configuration comme suit:

# Named-CheckConf / etc / nommé.confli 

28. NTP - protocole de temps de réseau

Le NTPD La syntaxe de configuration peut être testée à l'aide de la commande suivante, où le -d L'indicateur permet le mode de débogage verbeux, -F Spécifie le nom de fichier de dérive de fréquence, et -n Implique pas de fourche:

# ntpd -d -f / etc / ntp.conf -N 

29. OpenStack-Ansible

Exécutez la commande suivante pour vérifier la syntaxe d'un fichier de configuration OpenStack-Ansible:

# OpenStack-Ansible Configuration-Frastructure.YML - Syntax-Check 

30. Logrotate

Déboguer un logroate (Fonction de rotation de journal) Fichier de configuration, exécutez le logrotate commande avec le -d Option et spécifiez le fichier de configuration:

# Logrotate -d / etc / Logrotate.d / nginx 

C'est tout ce que nous avions pour vous dans ce guide. Partagez vos réflexions avec nous ou posez des questions via le formulaire de rétroaction ci-dessous. Vous pouvez également partager plus d'exemples de la façon de vérifier la syntaxe de configuration de toutes les applications ou services non répertoriés ici. Nous allons joyeusement ajouter vos exemples au guide.