30 sposobów walidacji plików konfiguracyjnych lub skryptów w Linux

30 sposobów walidacji plików konfiguracyjnych lub skryptów w Linux

Konfiguracja sprawdzanie składni i/lub testowanie jest kluczowym krokiem do wykonania po wprowadzeniu zmian w pliku konfiguracyjnym aplikacji lub usługi lub nawet po uruchomieniu aktualizacji. Pomaga to zmniejszyć szanse na awarię usługi z powodu błędów konfiguracji.

Kilka aplikacji/programów lub demonów usług wysyła się z poleceniami, aby sprawdzić pliki konfiguracyjne pod kątem poprawności składniowej. Zebraliśmy listę typowych aplikacji i usług w systemach Linux oraz sposób testowania lub sprawdzania ich plików konfiguracyjnych.

Notatka: Użyj, jeśli nie jesteś zalogowany na serwerze jako użytkownik root, pamiętaj o użyciu polecenia sudo w razie potrzeby podczas wywoływania polecenia, ponieważ niektóre usługi uruchomione z uprawnieniami root i sprawdzanie ich plików konfiguracyjnych wymaga uprawnień użytkownika root.

1. Polecenie sudo

Możesz sprawdzić składnię pliku konfiguracyjnego Sudo za pomocą Visudo polecenie, które obsługuje --sprawdzać Lub -C Opcja wiersza poleceń, aby sprawdzić tylko plik bez edycji. -F Opcja wyświetla komunikat o błędzie i otwiera plik do edycji:

# visudo -c /etc /sudoers lub # visudo -c /etc /sudoers.d/my_config lub # visudo -f/etc/sudoers.D/my_config 
Sprawdź konfigurację Sudersa

2. Skrypt bash

Możesz sprawdzić skrypty bash pod kątem błędów składniowych w następujący sposób:

# bash -n/ścieżka/do/scriptName.cii 
Sprawdź błędy składniowe skryptu Bash

3. Skrypty Perla

Aby sprawdzić skrypty Perl pod kątem błędów składniowych, użyj następującego polecenia:

# perl -c/ścieżka/do/scriptName 

4. Pliki jednostek systemowych

„„Systemd-analize Verify”Polecenie pozwala przetestować plik jednostki SystemD pod kątem błędów składniowych. Ładuje pliki jednostkowe i drukuje ostrzeżenia, jeśli wykryto jakieś błędy.

Domyślnie ładuje pliki określone w wierszu poleceń jako argument, a wszelkie inne jednostki, do których się odwołuje:

# Systemd-analyze Verify/Etc/Systemd/System/Test.praca 
Sprawdź konfigurację plików jednostek systemowych

5. Serwer OpenSsh

Aby sprawdzić ważność pliku konfiguracyjnego SSHD i zdrowie psychiczne klawiszy, wydaj następujące polecenie. Aby sprawdzić określony plik konfiguracyjny, podaj go za pomocą -F flaga:

# sshd -t 

6. Serwer WWW Nginx

Aby sprawdzić Nginx plik konfiguracyjny, uruchom nginx polecenie z -T flaga. Aby określić inny plik konfiguracyjny, użyj -C flaga:

# nginx -t lub # nginx -t -c/etc/nginx/conf.d/przykład.com.conf 
Sprawdź konfigurację Nginx

7. PHP-FPM

Aby sprawdzić PHP-FPM plik konfiguracyjny, uruchom następujące polecenie. Zauważ, że dzwonienie -T flaga dwa razy (-tt) powoduje zrzucenie konfiguracji przed wyjściem:

# php -fpm -t lub # php -fpm -tt 

8. Apache Serwer WWW

Następnie możesz sprawdzić Apache Plik konfiguracyjny serwera WWW za pomocą następującego polecenia:

# APACHECTL CONFIGTEST 

Alternatywnie możesz użyć następujących poleceń w dystrybucjach opartych na Redhat:

# httpd -t 

W dystrybucjach opartych na debian, uruchom:

 # apache2ctl -t 

9. Haproxy TCP/HTTP Ralancer

Konfiguracja Haproxy można przetestować za pomocą następującego polecenia, w którym -F opcja określa plik i -C Włącza tryb testowy:

# haproxy -f/etc/haproxy/haproxy.CFG -C 
Sprawdź konfigurację haproxy

10. Lighttpd HTTP Server

Uruchom następujące polecenie, aby przetestować składnię pliku konfiguracyjnego LightTPD. -T Opcja wiersza poleceń umożliwia LightTPD przetestowanie domyślnego pliku konfiguracyjnego dla błędów składniowych i wyjścia. Użyj -F Flaga, aby określić niestandardowy plik konfiguracyjny:

# lighttpd -t lub # lighttpd -t -f/ścieżka/do/config/plik 

11. Apache Tomcat

Tomcat Web Server pozwala na podstawową kontrolę składni konfiguracji. Najpierw przejdź do katalogu instalacji Tomcat i wydaj następujące polecenie:

# ./bin/catalina.SH ConfigTest lub # $ tomcat_home/bin/catalina.SH ConfigTest 

12. Odwrotny proxy

Możesz przeanalizować Funt Plik konfiguracyjny serwera przed uruchomieniem serwera. Uruchom funt polecenie z -C flaga bez żadnego innego argumentu, aby sprawdzić domyślny plik konfiguracyjny. Możesz określić inny plik konfiguracyjny za pomocą -F Opcja wiersza poleceń:

# funt -c lub # funt -f/ścieżka/do/config/file -c 

13. Akcelerator http lakier

Aby sprawdzić lakier Vcl (Język konfiguracji lakieru) Składnia pliku dla wszelkich błędów, użyj następującego polecenia. Jeśli wszystko jest w porządku, lakier zrzuci wygenerowaną konfigurację, w przeciwnym razie wyświetli określony numer wiersza w pliku, który ma błąd:

# varnishd -c lub # varnishd -f/etc/lolish/default.VCl -C 

14. Serwer buforowania proxy squid

Aby przekazać plik konfiguracyjny Squid dla serwera buforowania proxy Squid, wydać następujące polecenie. -k Opcja wraz z podgodzinami Parse lub Debug, poinformuj demona Squid, aby odpowiednio przeanalizować plik konfiguracyjny lub włączyć tryb debugowania:

# Squid -k Parse # Squid -k Debug 

15. Serwer WWW Caddy

Aby ujawnić wszelkie błędy w konfiguracji Caddy Web Server, wydaj następujące polecenie. Pierwszy sprawdza domyślną konfigurację, alternatywnie, używa --konfigurator Opcja wiersza polecenia, aby określić plik konfiguracyjny:

# Caddy Validate lub # Caddy Validate - -Config/ścieżka/do/config/plik 

16. VSFTPD FTP Server

Uruchom następujące polecenie, aby przetestować plik konfiguracyjny dla VSFTPD Serwer FTP:

# vsftpd lub # vsftpd -olisten = no/ścieżka/do/vsftpd.Testowanie.conf 

17. Serwer DHCPD

Uruchom DHCPD polecenie z -T Flaga, aby sprawdzić składnię konfiguracji serwera DHCPD:

# dhcpd -t lub # dhcpd -t -cf/ścieżka/do/dhcpd.conf 

18. Serwer bazy danych mysql

Użyj następującego polecenia, aby przetestować Mysql Składnia plików konfiguracji serwera bazy danych. Po uruchomieniu polecenia, jeśli nie ma błędów, serwer kończy kod wyjściowy 0, W przeciwnym razie wyświetla komunikat diagnostyczny i kończy kod wyjściowy 1:

# mysqld --validate-config 

19. Serwer bazy danych Mariadb

To samo polecenie używane dla Mariadb Serwer bazy danych działa również do sprawdzania składni pliku konfiguracyjnego serwera bazy danych Mariadb:

# mysqld --validate-config 

20. Serwer PostgreSQL

Poniższy zrzut ekranu pokazuje błąd w PostgreSQL plik konfiguracyjny.

Plik konfiguracyjny PostgResql

Aby wykryć taki błąd, przejdź do Postgres Konto użytkownika bazy danych i dostęp do PSQL powłoka. Następnie uruchom polecenie, aby zidentyfikować błędy w pliku konfiguracyjnym:

postgres =# Wybierz źródło, nazwa, sourceline, błąd z pg_file_settings, gdzie błąd nie jest zerowy; 
Sprawdź błędy PostgreSQL

21. Narzędzie do monitorowania Nagios

Aby zweryfikować swoje Nagios konfiguracja, uruchom Nagios polecenie z -v flaga.

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

22. Narzędzie monitorowania monitorowania

Uruchom monit polecenie z -T Flaga, aby wykonać składnię sprawdź domyślny plik sterowania Monit. Możesz określić określony plik sterujący, użyj -C flaga:

# Monit -t lub # monit -t -c ścieżka/do/control/plik 

23. Serwer poczty postfix

Poniższe polecenie pomoże sprawdzić pliki konfiguracyjne Postfix pod kątem błędów składniowych.

# Kontrola postfix 

To drugie polecenie jest bardziej gadatnie niż pierwsze:

# postfix -vvv 
Sprawdź konfigurację postfix

24. Serwer Imap dovecot

Sprawdź Dovecot imap Składnia konfiguracji serwera za pomocą Doveconf Komenda. Wyjście z zerowym kodem błędu, jeśli wszystko jest w porządku, w przeciwnym razie wychodzi z niezerowym kodem błędu i wyświetla komunikat o błędzie:

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

25. Serwer plików Samba

Możesz sprawdzić Samba Plik konfiguracyjny serwera plików za pomocą następującego polecenia:

# testParm -v 

26. Syslogd/rsyslogd

Kiedy wywołasz Rsyslod polecenie z -N1 Opcja włączy tryb debugowania, a także sprawdzi domyślny plik konfiguracyjny dla błędów składniowych. Użyj -F Flaga do odczytania niestandardowego pliku konfiguracyjnego:

# rsyslogd -n1 
Sprawdź konfigurację RSYSLOD

27. Serwer DNS (BIND)

Możesz sprawdzić DNS o imieniu Plik konfiguracyjny w następujący sposób:

# nazwano-checkconf /etc /nazwany.conf 

28. NTP - Protokół czasu sieciowy

ntpd Składnia konfiguracji można przetestować za pomocą następującego polecenia, w którym -D Flaga włącza w tryb debugowania w pełnym okresie, -F określa nazwę pliku dryfu częstotliwości i -N Nie implikuje widelca:

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

29. OpenStack-Eansible

Uruchom następujące polecenie, aby sprawdzić składnię pliku konfiguracyjnego OpenStack-Eansible:

# OpenStack-Anssible Setup-Infrastructure.yml--Syntax-Check 

30. Logrotat

Do debugowania Logroate (obiekt rotacji dziennika) plik konfiguracyjny, uruchom logrotat polecenie z -D Opcja i określ plik konfiguracyjny:

# logrotat -d /etc /logrotan.D/nginx 

To wszystko, co mieliśmy dla ciebie w tym przewodniku. Podziel się z nami swoimi przemyśleniami lub zadaj pytania za pośrednictwem poniższego formularza opinii. Możesz także udostępnić więcej przykładów sprawdzenia składni konfiguracji dowolnych aplikacji lub usług nie wymienionych tutaj. Z przyjemnością dodamy twoje przykłady do przewodnika.