Name Service Switch Prinzip: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
Zeile 55: Zeile 55:
  
 
  ssh 22/tcp # SSH Remote Login Protocol
 
  ssh 22/tcp # SSH Remote Login Protocol
 +
 +
= Datenquellen =
 +
* Die möglichen Datenquellen hängt von den installierten Bibliotheken des Systems ab
 +
* '''ls /lib/libnss*'''
 +
* Der Suffix der Bibliothek bestimmt wie es in ''/etc/nsswitch.conf'' benannt werden muss

Aktuelle Version vom 11. Juni 2024, 12:16 Uhr

Was ist NSS?

  • Der Name Service Switch (NSS) steht für eine Schnittstelle aus Software zur Kombination grundlegend verschiedener Datenquellen durch Module.
  • In unixartigen Betriebssystemen erlaubt der NSS die Konfiguration verschiedener Datenquellen für das Auflösen von Konfigurationsdaten.
  • Dies können unter anderem Hosts, Benutzer und Gruppen sein.
  • Es ist möglich die lokalen Konfigurationsdateien um externe Datenbanken zu ergänzen.
Konfigurationsdatei
  • cat /etc/nsswitch.conf
passwd:         files systemd
group:          files systemd
shadow:         files ato
gshadow:        files

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Bei einem Aufruf von Programmen wird die /etc/nsswitch.conf konsultiert.
  • ls -l /home/xinux/.profile
-rw-r--r-- 1 xinux users 0 Jan 11 14:00 /home/xinux/prog.log

Für den User werden die Datenbanken in der nsswitch nacheinander im Eintrag passwd befragt.

User

files

  • schaut in der /etc/passwd nach

systemd

  • Stellt sicher das nobody und root immer aufgelöst werden können.

Für die Group werden die Datenbanken in der nsswitch nacheinander im Eintrag group befragt.

Group

files

  • schaut in der /etc/group nach

systemd

  • Stellt sicher, dass die Gruppen nobody und root immer aufgelöst werden können.

service

Befragung von nsswitch abgeschaltet
  • ss -ltnp | grep ssh
LISTEN 0      128          0.0.0.0:22        0.0.0.0:*    users:(("sshd",pid=1417,fd=3))       
LISTEN 0      128             [::]:22           [::]:*    users:(("sshd",pid=1417,fd=4)) 
Befragung von nsswitch abgeschaltet
  • ss -ltp | grep ssh
LISTEN 0      128          0.0.0.0:ssh       0.0.0.0:*    users:(("sshd",pid=1417,fd=3))       
LISTEN 0      128             [::]:ssh          [::]:*    users:(("sshd",pid=1417,fd=4))
grep services /etc/nsswitch.conf
services:       db files
grep ssh /etc/services
ssh		22/tcp				# SSH Remote Login Protocol

Datenquellen

  • Die möglichen Datenquellen hängt von den installierten Bibliotheken des Systems ab
  • ls /lib/libnss*
  • Der Suffix der Bibliothek bestimmt wie es in /etc/nsswitch.conf benannt werden muss