Howto Checkconf
Avant de redémarrer un daemon, il vaut mieux s’assurer que sa configuration est correcte. Cette page se veut être une cheat sheet des différentes commandes existantes.
Le classement est fait par rapport au port réservé pour le logiciel puis par ordre alphabétique.
sudo
# visudo -cf /etc/sudoers
FTP
proftpd
# proftpd -t
Checking syntax of configuration file
Syntax check complete.
SSH
OpenSSH
Pour valider la configuration du serveur SSH :
# sshd -t -f /etc/ssh/sshd_config
Même chose, en affichant la configuration sur la sortie standard :
# sshd -T -f /etc/ssh/sshd_config
On peut aussi préciser des paramètres de connexion avec l’option
-C
:
# sshd -T -C addr=<mon-ip>,user=<mon-utilisateur>
Pour valider une clé publique :
# ssh-keygen -l -f .ssh/id_rsa.pub
OpenSMTPD
# smtpd -n
Postfix
# postconf >/dev/null
Spamassasin
spamassassin --lint
DNS
Bind
# named-checkzone domain /path/to/zone
# named-checkconf /etc/bind/named.conf
NSD
# nsd-checkconf /var/nsd/etc/nsd.conf
Unbound
# unbound-checkconf /var/unbound/etc/unbound.conf
MySQL
# /usr/sbin/mysqld --help
MaxScale
$ maxscale --config-check --config /path/to/config.cnf
Il peut être nécessaire de spécifier l’utilisateur qui doit jouer la
commande, avec l’option --user=<USER>
.
DHCP
dhcpd
# dhcpd -n
isc-dhcp-server
# dhcpd -t
HTTP
Apache
# apachectl -t
# apachectl configtest
Haproxy
# haproxy -c -f /etc/haproxy/haproxy.cfg
httpd
# httpd -dnv
Fail2ban
# fail2ban-regex /chemin/fichier.log /etc/fail2ban/filter.d/config-exclusion.conf
DRBD
# drbdadm dump
Logrotate
# logrotate /etc/logrotate.d/
# logrotate -vdf /etc/logrotate.d/config-file
Nginx
# nginx -t
Php
# php5-fpm -t
Varnish
# sudo -u varnish varnishd -Cf /etc/varnish/default.vcl
Dans certain cas, il est possible d’obtenir l’erreur
cannot open shared object file: Permission denied
, essayez
de relancer la commande après avoir mis votre umask à
0007
.
Ça peut aussi être car le dossier temporaire utilisé est monté en
noexec
. Dans ce cas on peut créer le dossier
/var/tmp-vcache
:
# mkdir /var/tmp-vcache
# chown vcache:varnish /var/tmp-vcache
# chmod 750 /var/tmp-vcache
… et l’utiliser dans la commande de test avec l’utilisateur qui fait tourner varnish
# sudo -u vcache TMPDIR=/var/tmp-vcache varnishd -Cf /etc/varnish/default.vcl > /dev/null
Samba
# testparm
Squid3
# squid -k parse
Imap / pop
Dovecot
# doveconf -n > /dev/null
BGP
OpenBGPD
# bgpd -nf /etc/bgpd.conf
OSPF
OpenOSPFD
# ospfd -nf /etc/ospfd.conf
# ospf6d -nf /etc/ospf6d.conf
IRC
Charybdis
$ charybdis-ircd -conftest
Networking
# ifup --no-act eth0
CUPS
# cupsd -t -c test.conf
PHP-FPM
Changer la version en fonction.
# php-fpm7.3 -t
/etc/fstab
mount --fake --all --verbose
rsyslog
rsyslogd -N1
rsyslogd -N1 -f /etc/rsyslogd/foo.conf
pf
pfctl -nf /etc/pf.conf