Übersicht über Nsswitch.Conf

Die Einführung von Network Information Services (NIS) und Domain Name System (DNS) hat die Suche nach den Details der Benutzer- und Systeminformationen schwieriger gemacht. Nun ist es nicht so einfach, einfach in die lokale Datei zu schauen.

Bevor wir die Benutzerinformationen überprüfen, müssen wir darauf verweisen /etc/passwd und wir müssen hineinschauen /etc/hosts für Systemadressinformationen. Nun gibt es verschiedene Möglichkeiten, diese Art von Informationen zu finden. Sie können festlegen, welche Dienste verwendet werden sollen, um nach Dingen wie Hostnamen, Passwortdateien und Gruppendateien zu suchen /etc/nsswitch.conf Datei.

Mit dem /etc/nsswitch.conf (Name Service Switch Configuration)-Datei können wir die Art und Weise und deren Reihenfolge angeben, in der sie beim Auffinden einer bestimmten Art von Informationen verwendet werden sollen. Wir können die Aktion angeben, die das System ausführt, je nachdem, ob eine Methode erfolgreich oder nicht erfolgreich ist.

Worüber werden wir reden?

In diesem Artikel geben wir einen Überblick über die Datei nsswitch.conf auf dem Linux-Betriebssystem. Fangen wir jetzt an.

Nsswitch.Conf-Dateiformat

In der Datei nsswitch.conf definiert jede Zeile, wie nach einer Information gesucht wird. Das Format einer Zeile in nsswitch.conf sieht folgendermaßen aus:

Info: Methode [[action]] [method [[action]]…]

Dabei bezieht sich „Info“ auf die Informationen, die in der Zeile beschrieben werden, „Methode“ auf die Technik, mit der diese Informationen abgerufen werden, und „Aktion“ auf die Antwort auf den Rückgabestatus der vorherigen Methode. Die Aktion ist in eckige Klammern eingeschlossen.

In der Nsswitch.Conf-Datei

Schauen wir uns nun diese Datei an. Die Datei sieht so aus:

# /etc/nsswitch.conf
#
# Benennen Sie die Service-Switch-Konfigurationsdatei.
#
passwd: DB-Dateien
Schatten: Dateien
Gruppe: DB-Dateien
Hosts: Dateien DNS
Netzwerke: Dateien
Ether: DB-Dateien
Protokolle: DB-Dateien
rpc: DB-Dateien
Dienste: DB-Dateien

Wie Sie anhand der bereitgestellten Tabelle wahrscheinlich erraten können, ist die Datenbank in der ersten Spalte aufgeführt. Der Rest dieser Zeile gibt an, wie die Suche durchgeführt wird. Beachten Sie außerdem, dass Sie die Funktionsweise für jede Datenbank einzeln darstellen müssen. Dies kann mit der herkömmlichen Methode einer monolithischen Implementierung nicht erreicht werden. Die Konfigurationsdefinition jeder Datenbank kann zwei unterschiedliche Felder haben: die Dienstspezifikation, z. B. Dateien, Datenbank oder NIS, und die Antwort zum Nachschlagen der Ergebnisse, z. B [NOTFOUND=return].

Verfügbare Optionen mit der Nsswitch.Conf-Datei

Die Optionen in dieser Datei müssen sich in verschiedenen Zeilen befinden. Folgende Optionen stehen zur Verfügung:

  • DNS: In diesem Fall wird der DNS-Dienst zur Auflösung der Adresse verwendet. Dies ist gut für die Auflösung von Hostadressen, nicht jedoch für die Auflösung von Netzwerkadressen.
  • Dateien: Es werden die klassischen Dateien /etc/hosts und /etc/network verwendet. Es sucht nach einer lokalen Datei für den Host- oder Netzwerknamen und die entsprechende Adresse.
  • nis oder nis+: Zur Auflösung der Host- oder Netzwerkadresse wird das Network Information System (NIS) verwendet.
  • Die Reihenfolge der Quelldatenbanken steuert die Reihenfolge, in der der NSS versucht, diese Quellen zu suchen, um die Abfragen für den Zieldienst zu lösen.

    Aktionen in der NSS-Konfiguration

    Das nächste Spezifikationselement ermöglicht dem Benutzer eine weitaus größere Kontrolle über das Suchverhalten. Aktionselemente werden zwischen den Leistungsbeschreibungen eingefügt und von eckigen Klammern umgeben. Im Allgemeinen hat die Aktionsanweisung die folgende Syntax:

    [ [!] Status = Aktion … ]

    Lassen Sie uns diese Syntax aufschlüsseln:

  • Der Aktionsparameter hat zwei mögliche Aktionen:
  • return: Das Programm, das eine Namensauflösung versucht, erhält die Kontrolle zurück. Falls ein Suchversuch fehlschlägt, gibt der Resolver Null zurück; andernfalls werden die Details zurückgegeben.
  • continue: Der Resolver geht zum nächsten Dienst in der Liste, um eine Lösung mithilfe dieses Dienstes zu versuchen.
  • Zusammenführen: Dies bedeutet, den Suchvorgang fortzusetzen und dabei die aktuellen Ergebnisse beizubehalten. Diese Aktion kann nur verwendet werden, wenn der Status „Erfolgreich“ lautet.
  • Das Zeichen (!) ist optional und bedeutet im Grunde „nein“. Das Zeichen (!) ist eine Umkehroperation, die in vielen Programmiersprachen verwendet wird.
  • Der Statusparameter: Der STATUS-Wert wird mit der Ausgabe der Suchfunktion verglichen, die die vorangehende Dienstspezifikation aufruft. Der Statuswert kann sein:
  • Erfolg: Der angeforderte Eintrag wird problemlos erhalten. Die Standardaktion ist „Zurück“.
  • nicht gefunden: Die Suche war erfolgreich. Der Zielhost oder das Zielnetzwerk wurde jedoch nicht gefunden. Die Standardaktion ist „Weiter“.
  • nicht verfügbar: Der angeforderte Dienst konnte nicht gefunden werden. Dies könnte bedeuten, dass die Hosts- oder Netzwerkdatei für den Dateidienst nicht lesbar ist. Es kann auch bedeuten, dass ein Nameserver oder NIS-Server nicht für die DNS- oder NIS-Dienste geantwortet hat. Die Standardaktion ist hier „Weiter“.
  • versuchen Sie es erneut: Dieser Status zeigt an, dass der Dienst derzeit nicht verfügbar ist. Dies kann bedeuten, dass eine Datei gesperrt ist oder dass ein Server zu diesem Zeitpunkt keine weiteren Verbindungen mehr akzeptieren kann. Auch hier ist die Standardaktion „Weiter“.
  • Ein einfaches Beispiel für diesen Mechanismus kann in der folgenden Abbildung dargestellt werden. Es verwendet die „Action“-Anweisung:

    Hosts: DNS [!UNAVAIL=return] Dateien
    Netzwerke: Dateien

    In diesem Beispiel wird ein DNS-Dienst zur Hostauflösung verwendet. Der Resolver gibt die abgefragten Daten zurück, wenn der Rückgabestatus nicht „nicht verfügbar“ ist. Wenn der Rückgabestatus nicht verfügbar ist, wird die lokale Datei /etc/hosts vom Resolver verwendet.

    Wichtiger Hinweis: Der Benutzer sollte sich bemühen, den Suchvorgang zu verbessern. Die Reaktionszeiten variieren je nach Dienst. Eine einfache Dateisuche in einer lokalen Datei kann schnell gehen. Wenn die Datei jedoch lang ist und sich der angeforderte Eintrag am Ende befindet, kann es sehr lange dauern. In diesem Szenario ist möglicherweise der Datenbankdienst vorzuziehen, der einen schnellen lokalen Zugriff auf große Datenmengen bietet.

    Abschluss

    In diesem Artikel haben wir einen Überblick über die Datei nsswitch.conf unter Linux erhalten. Selbst wenn /etc/nsswitch.conf nicht existiert, ist die NSS-Implementierung nicht völlig hilflos. Für jede unterstützte Datenbank gibt es einen Standardwert. Selbst wenn eine Datei beschädigt ist oder fehlt, sollte das System normalerweise funktionsfähig sein.

    Kommentar verfassen

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    Nach oben scrollen