16.5    Konfiguration des »idmapd«

Anders als bei NFSv3 werden die UIDs der Benutzer bei NFSv4 nicht automatisch auf die Benutzernamen gemappt. Für das Mapping der Benutzernamen wird sowohl auf dem Client als auch auf dem Server der idmapd benötigt.

Wenn Sie Ihren NFS-Server und NFS-Client wie in den vorhergehenden Abschnitten konfiguriert und gemountet haben, sehen Sie bei einem ls -l auf dem Client die Ausgabe wie in Listing 16.14:

root@adminrepl:/daten# ls -l
insgesamt 12
drwxrwx--- 2 root nogroup 4096 8. Aug 12:16 abteilung
drwxrwx--- 2 root nogroup 4096 8. Aug 12:16 buchhaltung
drwxrwx--- 2 root nogroup 4096 8. Aug 12:13 verwaltung

Listing 16.14    Auflistung der Rechte ohne »idmapd«

Die Zuordnung der Originalverzeichnisse auf dem NFS-Server sieht aber so aus wie in Listing 16.15 dargestellt:

root@adminbuch:/daten# ls -l
insgesamt 12
drwxrwx--- 2 root benutzer 4096 8. Aug 12:16 abteilung
drwxrwx--- 2 root buchhaltung 4096 8. Aug 12:16 buchhaltung
drwxrwx--- 2 root verwaltung 4096 8. Aug 12:13 verwaltung

Listing 16.15    Auflistung der Rechte auf dem Server

Jetzt kommt der idmapd ins Spiel. Über RPC-Aufrufe werden nun die UIDs der Benutzer und Gruppen auf die entsprechenden Namen gemappt. Wichtig ist an dieser Stelle, dass die Benutzer und Gruppen sowohl auf dem Server als auch auf dem Client jeweils dieselbe UID besitzen. Das können Sie am einfachsten über eine zentrale Benutzerverwaltung realisieren. Der idmapd wird über die Konfigurationsdatei /etc/idmapd.conf konfiguriert. In Listing 16.16 sehen Sie ein Beispiel für die Datei:

[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = example.net

[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup

Listing 16.16    Konfigurationsdatei des »idmapd«

Unter dem Abschnitt [General] müssen Sie lediglich Ihre DNS-Domäne eintragen. Das ist dann besonders wichtig, wenn Sie Kerberos zur Absicherung Ihres NFS-Servers einsetzen wollen. Unter dem Abschnitt [Mapping] sehen Sie die Zuordnung für anonyme Benutzer. Hier können Sie die Standardeinstellung belassen.

Jetzt müssen Sie Ihr System nur noch so konfigurieren, dass der idmapd auch automatisch gestartet wird. Bei Debian müssen Sie dazu auf dem Server und allen Clients in der Datei /etc/default/nfs-common die Variable NEED_IDMAPD=yes setzen. Anschließend müssen Sie nfs-common mit dem Kommando systemctl restart nfs-common auf dem Server und den Clients neu starten.

Bei Ubuntu wird der idmapd immer gestartet, sobald Sie das Paket nfs-common installiert haben. Wichtig ist nur, dass Sie nach der Änderung an der Datei /etc/idmapd.conf den Dienst mit dem Kommando systemctl restart idmapd neu starten.

Bei SUSE und CentOS muss auf dem Server und allen Clients in der Datei /etc/sysconfig/nfs die Variable NFS4_SUPPORT="yes" gesetzt sein. Dadurch wird beim Starten des NFS-Servers oder des NFS-Clients auch automatisch der idmapd gestartet.

Nach dem Start des idmapd werden Ihnen mit ls -l auf dem Client auch wieder die richtigen Benutzer angezeigt, wie Sie hier in Listing 16.17 sehen:

root@adminrepl:/daten# ls -l
insgesamt 12
drwxrwx--- 2 root benutzer 4096 19. Sep 18:12 alle
drwxrwx--- 2 root buchhaltung 4096 8. Aug 12:16 buchhaltung
drwxrwx--- 2 root verwaltung 4096 19. Sep 18:18 verwaltung

Listing 16.17    Auflistung der Rechte mit »idmapd«

Damit ist die Konfiguration des NFSv4-Clients abgeschlossen. Aber es gibt noch ein paar Möglichkeiten, den Zugriff auf den Server zu optimieren.