Validando arquivos de configuração no Linux
No post de hoje vamos mostrar como validar arquivos de configuração no Linux. A verificação e/ou teste da sintaxe de configuração é uma etapa fundamental a ser executada após fazer alterações no arquivo de configuração de um aplicativo, ou serviço, ou mesmo após executar atualizações. Isso ajuda a reduzir as chances de o serviço não reiniciar devido a erros de configuração.
Vários aplicativos/programas ou daemons de serviço são fornecidos com comandos para verificar a exatidão da sintaxe nos arquivos de configuração. Reunimos uma lista de aplicativos e serviços comuns em sistemas Linux e como testar ou validar seus arquivos de configuração.
Observação: use se você não estiver conectado a um servidor como usuário root, lembre-se de usar o comando sudo quando necessário ao invocar um comando porque alguns serviços são executados com privilégios de root e verificar seus arquivos de configuração requer permissões de usuário root.
Sudo Command
Você pode verificar a sintaxe do arquivo de configuração sudo usando o comando visudo –check , que oferece suporte a uma opção de linha de comando ou -c para validar apenas um arquivo sem edição. A -f opção exibe a mensagem de erro e abre o arquivo para edição:
# visudo -c /etc/sudoers
ou
# visudo -c /etc/sudoers.d/my_config
ou
# visudo -f /etc/sudoers.d/my_config
Bash Script
Você pode verificar os scripts Bash quanto a erros de sintaxe da seguinte maneira:
# bash -n /path/to/scriptname.sh
Perl Scripts
Para verificar se há erros de sintaxe nos scripts Perl, use o seguinte comando:
# perl -c /path/to/scriptname
Systemd Unit Files
O comando “ systemd-analyze verify ” permite testar o arquivo de unidade systemd quanto a erros de sintaxe. Ele carrega arquivos de unidade e imprime avisos se algum erro for detectado.
Por padrão, ele carrega os arquivos especificados na linha de comando como um argumento e quaisquer outras unidades referenciadas por eles:
# systemd-analyze verify /etc/systemd/system/test.service
OpenSSH Server
Para verificar a validade do arquivo de configuração sshd e a sanidade das chaves, emita o seguinte comando. Para verificar um arquivo de configuração específico, especifique-o usando o -f sinalizador:
# sshd -t
NGINX Web Server
Para verificar o arquivo de configuração NGINX , execute o comando nginx -t com o sinalizador. Para especificar um arquivo de configuração diferente, use o -c sinalizador:
# nginx -t
ou
# nginx -t -c /etc/nginx/conf.d/example.com.conf
PHP-FPM
Para verificar o arquivo de configuração php-fpm , execute o seguinte comando. Observe que chamar o -t sinalizador duas vezes ( -tt ) faz com que a configuração seja descarregada antes de sair:
# php-fpm -t
ou
# php-fpm -tt
Apache Web Server
Você pode verificar o arquivo de configuração do servidor web Apache usando o seguinte comando:
# apachectl configtest
Como alternativa, você pode usar os seguintes comandos em distribuições baseadas em RedHat:
# httpd -t
Em distribuições baseadas em Debian, execute:
# apache2ctl -t
HAProxy TCP/HTTP Load Balancer
A configuração do HAProxy pode ser testada usando o seguinte comando onde a -f opção específica o arquivo e -c habilita o modo de teste:
# haproxy -f /etc/haproxy/haproxy.cfg -c
Lighttpd HTTP Server
Execute o seguinte comando para testar a sintaxe do arquivo de configuração do Lighttpd. A -t
opção de linha de comando permite que o Lighttpd teste o arquivo de configuração padrão quanto a erros de sintaxe e saia. Use o -f
sinalizador para especificar um arquivo de configuração personalizado:
# lighttpd -t
ou
# lighttpd -t -f /path/to/config/file
Apache Tomcat
O servidor web Tomcat permite a verificação de sintaxe de configuração básica. Primeiro, vá para o diretório de instalação do tomcat e emita o seguinte comando:
# ./bin/catalina.sh configtest
ou
# $TOMCAT_HOME/bin/catalina.sh configtest
Pound Reverse Proxy
Você pode analisar o arquivo de configuração do servidor Pound antes de iniciar o servidor. Execute o comando pound -c
com o sinalizador sem nenhum outro argumento para verificar o arquivo de configuração padrão. Você pode especificar um arquivo de configuração diferente usando a -f
opção de linha de comando:
# pound -c
ou
# pound -f /path/to/config/file -c
Varnishd HTTP Accelerator
Para verificar a sintaxe do arquivo varnishd VCL ( Varnish Configuration Language ) quanto a erros, use o seguinte comando. Se tudo estiver OK, o verniz irá despejar a configuração gerada, caso contrário, exibirá um número de linha específico no arquivo que contém um erro:
# varnishd -C
ou
# varnishd -f /etc/varnish/default.vcl -C
Squid Proxy Caching Server
Para passar o arquivo de configuração do squid para o servidor de cache proxy Squid, emita o seguinte comando. A -k
opção junto com os subcomandos parse ou debug, informa ao daemon squid para analisar o arquivo de configuração ou ativar o modo de depuração, respectivamente:
# squid -k parse
# squid -k debug
Caddy Web Server
Para expor quaisquer erros na configuração do servidor web Caddy , emita o seguinte comando. O primeiro verifica a configuração padrão, alternativamente, use a –config opção de linha de comando para especificar um arquivo de configuração:
# caddy validate
ou
# caddy validate --config /path/to/config/file
vsftpd FTP Server
Execute o seguinte comando para testar o arquivo de configuração do servidor FTP vsftpd:
# vsftpd
ou
# vsftpd -olisten=NO /path/to/vsftpd.testing.conf
DHCPD Server
Execute o comando dhcpd -t com o sinalizador para verificar a sintaxe de configuração do servidor dhcpd:
# dhcpd -t
ou
# dhcpd -t -cf /path/to/dhcpd.conf
MySQL Database Server e MariaDB Database Server
Use o seguinte comando para testar a sintaxe do arquivo de configuração do servidor de banco de dados MySQL . Após executar o comando, se não houver erros, o servidor finaliza com o código de saída 0 , caso contrário, exibe uma mensagem de diagnóstico e encerra com o código de saída 1 :
# mysqld --validate-config
Nagios Monitoring Tool
Para verificar a configuração do Nagios , execute o comando nagios -v com o sinalizador.
# nagios -v /usr/local/nagios/etc/nagios.cfg
Monit Monitoring Tool
Execute o comando monit com o sinalizador para executar uma verificação de sintaxe para o arquivo de controle Monit -t padrão . Você pode especificar um arquivo de controle específico, use o sinalizador: -c
# monit -t
ou
# monit -t -c path/to/control/file
Postfix Mail Server
O comando a seguir ajudará você a verificar os arquivos de configuração do Postfix quanto a erros de sintaxe.
# postfix check
Este segundo comando é mais detalhado que o primeiro:
# postfix -vvv
Dovecot IMAP Server
Verifique a sintaxe de configuração do servidor Dovecot IMAP usando o comando doveconf . Ele sairá com um código de erro zero se tudo estiver OK, caso contrário, sairá com um código de erro diferente de zero e exibirá a mensagem de erro:
# doveconf 1>/dev/null
# echo $?
Samba File Server
Você pode verificar o arquivo de configuração do servidor de arquivos Samba usando o seguinte comando:
# testparm -v
Syslogd/Rsyslogd
Quando você chama o comando rsyslod com a -N1 opção, ele ativa o modo de depuração e também verifica o arquivo de configuração padrão quanto a erros de sintaxe. Use o -f sinalizador para ler um arquivo de configuração personalizado:
# rsyslogd -N1
DNS (BIND) Server
Você pode verificar o arquivo de configuração DNS nomeado da seguinte forma:
# named-checkconf /etc/named.conf
NTP – Network Time Protocol
A sintaxe de configuração do ntpd pode ser testada usando o seguinte comando, onde o -d sinalizador habilita o modo de depuração detalhado, -f especifica o nome do arquivo de desvio de frequência e -n não implica em bifurcação:
# ntpd -d -f /etc/ntp.conf -n
OpenStack-Ansible
Execute o seguinte comando para verificar a sintaxe de um arquivo de configuração OpenStack-ansible:
# openstack-ansible setup-infrastructure.yml --syntax-check
Logrotate
Para depurar um arquivo de configuração logroate (facilidade de rotação de log), execute o comando logrotate -d com a opção e especifique o arquivo de configuração:
# logrotate -d /etc/logrotate.d/nginx
E lembrando que a SOLOWEB além de oferecer Hospedagem de Sites, Servidores Dedicados, Servidores VPS com o menor custo do Brasil, também desenvolve soluções de software e realiza gerenciamento e monitoramento de servidores para sua empresa, faça uma cotação sem custo, acesse: www.soloweb.com.br