- Ich möchte eine NFS-Benutzerliste (Client-Liste) erhalten wie
smbstatus
- Ich möchte sehen, welcher Benutzer und welche IP-Adresse welche Freigabe verwendet und wann eine Verbindung besteht.
- Ich möchte den NFS-Benutzer töten.
- Ich möchte protokollieren, was ein Benutzer tut, z. B. „Erstellen, Ändern, Löschen“.
Ich möchte NFS-Benutzer verwalten, kann aber die richtigen Informationen und Tools für dieses Problem nicht finden.
Antwort1
NFS ist ganz anders strukturiert als SMB, Ihre Anfragen ergeben daher im Hinblick auf NFS keinen Sinn.
- NFS-Mounts werden pro System und nicht pro Benutzer durchgeführt.
showmount -d
kann Ihnen sagen, welche Systeme eine von einem bestimmten Server gemountete NFS-Freigabe haben, wenn der Server diese Informationen preisgibt. Unter Linuxrpc_pipefs
enthält ein gemountetes virtuelles Dateisystem auch Informationen zu aktiven NFS-Verbindungen. Typischerrpc_pipefs
Mount-Punkt ist/var/lib/nfs/rpc_pipefs
oder/run/rpc_pipefs
unter Debian 9 und verwandten Distributionen. Sie finden NFSv4-Client-Informationen auf den NFSv4-Servern<rpc_pipefs mount point>/nfsd4_cb/clnt*/info
, einem Client-Verzeichnis für jeden Client-Host. - Informationen zu den Client-IP-Adressen finden Sie in der vorherigen Antwort. Einzelne Benutzer sind nicht per se „verbunden“. Es gibt nur eine Verbindung pro gemountetem Dateisystem, selbst wenn mehrere Benutzer vorhanden sind. Daher gibt „bei Verbindung“ nur Aufschluss darüber, wann das System zuletzt gebootet wurde oder wann der Systemadministrator die NFS-Freigabe auf dem Client gemountet hat, je nachdem, was später eintritt.
- Ändern Sie die Berechtigungen oder ACLs des freigegebenen Dateisystems, um den Zugriff des Benutzers zu blockieren, oder stellen Sie eine Verbindung zum Client her, werden Sie Root,
lsof -N
identifizieren Sie die Prozesse des Benutzers mit offenen NFS-Dateihandles und beenden Sie sie. Oder exportieren Sie die NFS-Freigabe zurück, um alle NFS-Benutzer auf einmal zu „beenden“. - Das Audit-Subsystem auf dem NFS-Server kann diese Aufgabe übernehmen, vorausgesetzt, Sie können sicher sein, dass die UID/GID-Nummern auf dem Server und den Clients übereinstimmen (NFSv2 oder v3) bzw. dass die Benutzernamen richtig zugeordnet wurden (NFSv4).
Bei NFSv2 oder v3 vertraute der NFS-Server im Wesentlichen darauf, dass der NFS-Client die entsprechende Benutzeridentifizierung und Zugriffskontrolle im Namen des Servers durchführte. Aus diesem Grund wird standardmäßig empfohlen, NFS nur zum Teilen von Dateisystemen zwischen vertrauenswürdigen Hosts zu verwenden.
Die Kerberos-basierte Benutzerauthentifizierung (und optional die Datenverschlüsselung) war ein späteres Add-on: Sie kann mit NFSv2 und NFSv3 verwendet werden, wenn sowohl der Client als auch der Server die Option unterstützen, aber die „Sideband-Protokolle“ ( lockd
, mountd
, rquotad
und statd
) verwenden die Authentifizierungsinformationen nicht. Erst in NFSv4 wurde die Authentifizierung vollständig integriert, um alle Aspekte des Protokolls abzudecken; sie ist jedoch weiterhin optional.