Name Service Switch Prinzip

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

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 die Gruppen nobody und root immer aufgelöst werden können.

==

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))