Linux-Systeme verwenden den Name-Service-Switch (NSS) dafür, um zu bestimmen, welche Quellen abgefragt werden sollen, um einen Benutzer- oder Gruppennamen in seine Posix-ID aufzulösen oder umgekehrt. Applikationen können hierfür beispielsweise auf die Funktionen "getgrnam()", "getgrgid()", "getpwnam()" oder "getpwuid()" zurückgreifen. Der NSS kümmert sich daneben noch um andere Netzwerkinformationen wie beispielsweise DNS-Namen, sudo-Regeln oder Automounter-Maps. Die Konfiguration findet üblicherweise über die Datei "/etc/nsswitch.conf" statt. Für jede Ressource, für die der NSS zuständig ist, enthält die Datei einen Eintrag und verweist auf die Quellen, von denen die Informationen für diese Ressource abgefragt werden können. Für Benutzernamen existiert beispielsweise der Eintrag mit dem Keyword "passwd":
passwd: files
Der Eintrag "files" besagt, dass Informationen für diese Ressource in der lokalen Datei "/etc/passwd" zu finden sind. Wird ein Benutzer in dieser Datei nicht gefunden, gibt das NSS-System eine Fehlermeldung zurück. Soll stattdessen noch eine andere Quelle, beispielsweise ein LDAP-Server, befragt werden, könnte der Eintrag wie folgt aussehen:
passwd: files ldap
Der Zugriff auf den LDAP-Server erfolgt über eine Bibliothek, die beispielsweise nss-pam-ldapd zur Verfügung stellt. Kommt stattdessen der System Security Services Daemon (SSSD) zum Einsatz, müsste der Eintrag in der Datei "/etc/nsswitch.conf" wie folgt aussehen:
passwd: files sss
Weitere Details zur LDAP-Clientkonfiguration finden sich üblicherweise in den Konfigurationsdateien von nss-pam-ldapd beziehungsweise sssd.
Geht es darum, einen Namen in eine ID umzuwandeln oder umgekehrt, reicht es aus, die Benutzer- oder Gruppen-Informationen aus der Datei "/etc/passwd"
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.