Verteilte Daten
Das Network File System (NFS)
Die Zukunft
Obwohl NFS V2 schon vor mehreren Jahren einen neuen Bruder in Gestalt der Version 3 (NFS V3) erhielt, wird es immer noch vorherrschend eingesetzt. Dennoch findet langsam aber sicher der Umstieg auf NFS V3 statt, die aus Kompatibilitätsgründen fast alle alten Prozeduren übernimmt, aber neue Features einbringt. So kann man bei Version 3 zwischen den beiden Transport-Protokollen UDP und TCP wählen. Der Einsatz von TCP entlastet den Dienst, da es die Fehlerbehandlung übernimmt und somit eine sichere Leitung gewährleistet. Der Preis dafür ist eine erhöhte Netzbelastung. Die Größenlimits werden heutigen Verhältnissen angemessener gestaltet bzw. ganz aufgehoben, sodass nun auch Dateien größer als zwei GB und Dateisysteme größer als 4 GB vorkommen dürfen. Zudem gibt es einen zusätzlichen asynchronen Schreib- und Lesemodus, der die Geschwindigkeit deutlich erhöht. Dabei wird nicht wie beim synchronen Zugriff ein Arbeitsvorgang komplett abgeschlossen, sondern die bearbeiteten Daten beim Server zwischengespeichert und bei geeigneter Gelegenheit gesammelt festgeschrieben. Abbildung 6 zeichnet die entsprechenden Vorgänge schematisch nach.
Auch bei den Lesezugriffen kommen neue Prozeduren zum Zuge. So werden bei einem ls -al o. ä. klassischerweise zuerst alle Daten übertragen und anschließend die Attribute der Objekte (Größe, Speicherstelle im Dateisystem, Verlinkungen oder Besitzrechte). Bei Version 3 erledigt eine vollständig neue Prozedur dies alles in einem Aufwasch und sorgt so für eine Performancesteigerung.
Seit Mitte 2001 arbeiten Sun und die Universität von Michigan an der vierten Version (NFS V4). Die Tests sind weitestgehend abgeschlossen, sodass der Standard voraussichtlich noch 2002 verabschiedet wird.
Augen auf im Datenverkehr!
Bei aller Freude über die Möglichkeiten von NFS sollten Sie Ihre Schritte und Einstellungen wohl überdenken, da jede Öffnung Ihres Systems eine potentielle Gefahrenquelle in sich birgt. Nehmen Sie lieber ein paar Unannehmlichkeiten mehr in Kauf, als Ihr System von Beginn an sperrangelweit zu öffnen. Vermeiden Sie allzuviele Wildcards in Ihren Berechtigungen, passen Sie auf root-Rechte auf, und planen Sie Ihre Netzzugriffe genauestens, denn Angreifer von außen können bei entsprechender Rechtevergabe ebenfalls auf Ihren Server zugreifen.
Glossar
zustandsloses Protokoll
Bei dieser Art der Kommunikation werden keine Daten abgespeichert, die den Zustand der Verhandlungen zwischen Client und Server konservieren. D. h., jede Unterhaltung zwischen den Beteiligten beginnt bei Null, und alle relevanten Daten müssen erneut ausgetauscht werden. Das bekannteste Beispiel ist HTTP, das diese Zustandslosigkeit durch Cookies oder Session-IDs kompensiert, die die Daten entweder auf dem lokalen System oder beim Seitenanbieter abspeichern.
Clients
Ein "Kunde" (Programm oder Rechner), der die Dienste eines Servers in Anspruch nimmt. Achtung: Auf einem als Server bezeichneten Rechner können auch Client-Programme laufen, die lokale Dienste wie Services anderer Rechner in Anspruch nehmen.
Port
Eine (mit Nummer versehene) Anlegestelle für Netzwerkverbindungen. Viele gängige Services haben (in der Datei /etc/services nachzulesende) fest definierte "wellknown ports". Beispielsweise benutzt FTP den Port 21, SSH den Port 22 und HTTP Port 80.
Sitzung
Die Verbindung, in der eine Kommunikation zwischen Client und Server stattfindet. Meist beginnt sie mit einer RPC-Anfrage und endet mit der Auflösung der Verbindung.
UDP
Das "User Datagram Protocol" ist ein verbindungsloses Protokoll, d. h., es schickt im Gegensatz zu TCP die Datenpakete "auf gut Glück" zum Empfänger und vergisst sofort, was gerade geschah. Kommt ein Datenpaket nicht am Ziel an, wird es einfach übergangen. TCP würde in diesem Falle beim Absender nochmals nachfragen und dieser das fehlende Datenpaket erneut senden. UDP kommt z. B. bei Video- und Audio-Echtzeit-Übertragungen zum Einsatz.
Wildcards
Zeichen, die als Ersatz für andere Zeichen stehen. So wird das Sternchen "@L: *" oft beim Suchen von Dateien verwendet, deren Namen nicht gänzlich bekannt sind. Es steht für alle Buchstaben- und Zahlenkombinationen.
SUID-Bit
Das SUID-Bit (gesetzt durch chmod u+s) sorgt dafür, dass eine Datei immer mit den Rechten ihres Besitzers ausgeführt wird, egal, wer sie aufruft. Oft ist das der Superuser root ("SUID-root"). Nötig ist das zum Beispiel für das Kommando passwd zum Ändern des Passworts in der nur für root schreibbaren Datei /etc/passwd:
Infos
[1] NFS ist in den RFCs 1094, 1813, 2623 und 2624 standardisiert: http://rfc.fh-koeln.de/doc/rfc/html/rfc.html
[2] Michael Riepe: "Dateisysteme, Kanalisierung, NFS-Implementierungen im Vergleich", iX 06/2001, S. 82
[3] Workshop zum Aufsetzen eines NFS-Servers: http://www.pl-berichte.de/work/server/nfs/teil1.html



