Przegląd NSSwitch.Conf

Przegląd NSSwitch.Conf
Wprowadzenie sieci informacyjnych sieciowych (NIS) i systemu nazwy domeny (DNS) sprawiło, że bardziej niejasne jest poszukiwanie szczegółów informacji o użytkowniku i systemie. Teraz nie jest takie proste, aby po prostu zajrzeć do pliku lokalnego.

Wcześniej, aby sprawdzić informacje o użytkowniku, musimy się odwołać /etc/passwd i musimy spojrzeć w /etc/hosts dla informacji o adresie systemowym. Teraz istnieją różne sposoby znalezienia tego rodzaju informacji. Możesz skonfigurować, które usługi mają być wykorzystywane do wyszukiwania takich rzeczy, jak nazwy hosta, pliki haseł i pliki grupy za pomocą /etc/nsswitch.conf plik.

Z /etc/nsswitch.conf (Nazwa konfiguracji przełącznika usługi) Plik możemy określić sposoby i ich kolejność, aby je używać podczas znalezienia określonego rodzaju informacji. Możemy wskazać działanie, na którym system przyjmuje na podstawie tego, czy metoda jest skuteczna, czy nie powiodła się.

O czym będziemy porozmawiać?

W tym artykule omówimy przegląd NSSwitch.plik Conf w systemie operacyjnym Linux. Zacznijmy teraz.

NSSwitch.Format pliku CONF

W NSSwitch.Plik CONF, każda linia określa, jak szukać informacji. Format linii w NSSwitch.COND wygląda tak:

Informacje: Metoda [[Action]] [Method [[Action]]…]

Gdzie „informacje” odnosi się do informacji opisanych przez wiersz, „metoda” odnosi się do techniki używanej do uzyskania tych informacji, a „działanie” odnosi się do odpowiedzi na status powrotu poprzedniej metody. Akcja jest otoczona kwadratowymi nawiasami.

Wewnątrz NSSwitch.Plik CONF

Spójrzmy teraz na ten plik. Plik wygląda tak:

# /etc /nsswitch.conf
#
# Nazwa Plik konfiguracji przełącznika usługi.
#
PASSWD: pliki DB
Shadow: pliki
Grupa: pliki DB
Hosty: pliki DNS
Sieci: Pliki
ETHERS: pliki DB
Protokoły: pliki DB
RPC: pliki DB
Usługi: pliki DB

Jak prawdopodobnie zgadujesz, patrząc na dostarczoną tabelę, baza danych jest wymieniona w pierwszej kolumnie. Reszta tej linii wskazuje, jak wykonywane jest wyszukiwanie. Zauważ też, że musisz pokazać sposób, w jaki funkcjonuje on dla każdej bazy danych indywidualnie. Nie można tego dokonać za pomocą konwencjonalnej metody wdrożenia monolitycznego. Definicja konfiguracji każdej bazy danych może mieć dwa odrębne pola: specyfikacja usługi, taka jak pliki, DB lub NIS oraz odpowiedź na wyszukiwanie wyników, takich jak [notfound = return].

Dostępne opcje z NSSwitch.Plik CONF

Opcje w tym pliku muszą znajdować się na różnych wierszach. Dostępne są następujące opcje:

  1. DNS: W tym przypadku usługa DNS służy do rozwiązania adresu. Jest to dobre do rozwiązywania adresów hosta, ale nie do rozwiązania adresów sieciowych.
  2. Pliki: Używa plików klasycznych /etc /hostów i /etc /. Szuka lokalnego pliku dla nazwy hosta lub sieci i odpowiedniego adresu.
  3. NIS lub NIS+: Aby rozwiązać adres hosta lub sieci, wykorzystuje system informacji o sieci (NIS).

Zamawianie źródeł baz danych kontroluje kolejność, w jakiej NSS próbuje sprawdzić te źródła w celu rozwiązania zapytań dla usługi docelowej.

Działania w konfiguracji NSS

Następny element specyfikacji pozwala użytkownikowi z znacznie większą kontrolą nad zachowaniem wyszukiwania. Elementy działania są umieszczane między specyfikacjami usług i są otoczone kwadratowymi nawiasami. Zasadniczo instrukcja działania ma następującą składnię:

[[!] Status = działanie…]

Rozbijmy tę składnię:

  1. Parametr akcji ma dwa możliwe działania:
    1. Powrót: Program, który próbuje rozdzielczości nazwiska, odzyskuje kontrolę. W przypadku, gdy próba wyszukiwania zostanie nie powiodła się, Resolver zwraca zero; W przeciwnym razie powraca ze szczegółami.
    2. Kontynuuj: Resolver przechodzi do kolejnej usługi na liście, aby spróbować rozwiązać rozdzielczość za pomocą tej usługi.
    3. Scal: oznacza to kontynuowanie procesu wyszukiwania, zachowując najnowsze wyniki. Ta akcja jest użyteczna tylko wtedy, gdy status jest „sukcesem”.
  2. (!) Charakter jest opcjonalny i zasadniczo nie oznacza. (!) Charakter to operacja inwersji, która jest używana w wielu językach programowania.
  3. Parametr stanu: Wartość stanu jest porównywana z wyjściem funkcji wyszukiwania, które wywołuje poprzednia specyfikacja usługi. Wartość statusu może być:
    1. powodzenie: Żądany wpis jest uzyskiwany bez trudności. Domyślną działaniem jest „powrót”.
    2. nie znaleziono: Wyszukiwanie zakończy się sukcesem. Jednak nie można znaleźć docelowego hosta lub sieci. Domyślną działaniem jest „Kontynuuj”.
    3. Unvail: Nie można znaleźć wymaganej usługi. Może to oznaczać, że plik hostów lub sieci nie jest czytelny dla usługi plików. Może to również oznaczać, że serwer nazw lub serwer NIS nie odpowiedział dla usług DNS lub NIS. Domyślna akcja tutaj to „Kontynuuj”.
    4. Spróbuj ponownie: Ten status wskazuje, że usługa jest obecnie niedostępna. Może to oznaczać, że plik jest zablokowany lub że serwer nie może w tej chwili zaakceptować żadnych połączeń. Domyślna akcja tutaj jest również „Kontynuuj”.

Podstawowym przykładem tego mechanizmu można pokazać na poniższej ilustracji. Używa instrukcji „Action”:

Gospodarze: DNS [!Unavail = return] pliki
Sieci: Pliki

W tym przykładzie wykorzystuje usługę DNS do rozdzielczości hosta. Resolver zwraca zapytane dane, jeśli status zwrotu nie jest „niedostępny”. Jeśli status powrotu jest niedostępny, plik lokalny /etc /hosts jest używany przez rozdzielcę.

Ważna uwaga: Użytkownik powinien starać się poprawić proces wyszukiwania. Czasy reakcji różnią się w zależności od usługi. Podstawowe wyszukiwanie pliku w pliku lokalnym może być szybkie. Jeśli jednak plik jest długi, a żądany wpis jest pod koniec, może to potrwać dużo czasu. W tym scenariuszu usługa bazy danych, która oferuje szybki lokalny dostęp do zestawów dużych danych, może być preferowana.

Wniosek

W tym artykule dowiedzieliśmy się o przeglądzie NSSwitch.plik CONF w Linux. Choćby /etc/nsswitch.conf nie istnieje, implementacja NSS nie jest absolutnie bezradna. Istnieje wartość domyślna dla każdej obsługiwanej bazy danych. Nawet jeśli plik jest uszkodzony lub nieobecny, system zwykle powinien być w stanie funkcjonować.