Mam sobie debiana 11 i aktualizuję do 12. Mam zmienioną konfigurację serwera sshd /etc/sshd/sshd_config. Instalator widzi, że plik był zmieniany i pyta czy go zostawić w takim stanie czy podmienić na ten z pakietu.
Na początku pliku konfiguracyjnego jest dyrektywa include /etc/ssh/sshd_config.d/*.conf
Moje pytanie.
Jak umieszczę w lokalizacji /etc/ssh/sshd_config.d/jakis.conf i w nim ustawię np. PermitRootLogin Yes a w pliku głównym będzie też ta sama opcja PermitRootLogin No. To jakie ustawienie będzie obowiązywało?
#linux #debian
Prawie na pewno to z głównego.
Sam napisałeś - na początku pliki głównego masz include.. czyli jak poleci parser to wrzuci wartość na początku konfiguracji, po czym zostanie ona nadpisana ta z pliku głównego.
Prawdopodobnie plik z sshd_config.d/jakis.conf będzie wczytany po głównym pliku i nadpisze jego ustawienia. Tak na przykład dzieje się w programie Motion, którego używam.
Jako, że jestem zawsze dość wątpiący w wszystkie twierdzenia zanim nie przebadam, tak postanowiłem zrobić.
Zrobiłem plik a.conf i w nim dałem PermitRootLogin no i przebadałem czy mogę się logować.
Ku mojemu zaskoczeniu konfiguracja obowiązująca jest ta z a.conf a nie z głównego bo już zacząłem się przyzwyczajać, że umiejscowienie include ma jakieś znaczenie.
Szczerze to nawet mi to pasuje i mam nadzieję, że tak jest w całym debianie a nie tylko w sshd. Testy raczej przeprowadziłem prawidłowo.
ps. Nazwa pliku nie ma znaczenia, tak samo zachowuje się przy a.conf jak i z.conf
@minimumtrzyznaki @Syster
@milew Bo include informuje parser o miejscach, gdzie znajdzie dodatkowe konfiguracje. To znaczy, jego ustawienie w głównym pliku konfiguracji ma znaczenie. Parser przetworzy zawartość głównego konfiga po plikach w /etc/ssh/sshd_config.d/, jeśli include będzie na początku. A jeśli będzie na końcu, to przed. Ale w przypadku precedencji jest haczyk - jeśli opcja jest ustawiona w pliku w /etc/ssh/sshd_config.d/, to ma pierwszeństwo przed tą ustawioną w głównym konfigu.
Zaloguj się aby komentować