5.6 Network File Systems


An diesem Punkt sollten Sie ein funktionierende TCP/IP Verbindung mit Ihrem Netzwerk haben. Es sollte möglich sein, andere Rechner in Ihrem internen Netzwerk anzupingen und sie sollten auch Rechner im Internet pingen können, wenn Sie das richtige Gateway angegeben haben. Wie wir wissenn, ist das Wichtigste um einen Computer in ein Netz zu bringen, Zugangsinformationen. Obwohl manche Leute nur aus Spass ein Netzwerk aufbauen, werden die Meisten wohl gemeinsam Drucker und Datenspeicher benutzen wollen. Oder Dokumente aus dem Internet laden oder Spiele online spielen. TCP/IP installiert und funktionsbereit zu haben bietet aber nur grundlegende Funktionen. Um Datein miteinander zu teilen, müssen diese hin und her transportiert werden. Entweder mit FTP oder SCP. Auch können wir kein Dateien von unseren Slackware Computern mit Hilfe der Netzwerkumgebung von Windows durchsuchen. Ausserdem wollen wir Dateien auch von anderen Unix-Maschinen erreichen.

Idealerweise möchten wir ein Netzwerk Datei System verwenden, das es uns erlaubt transparten auf unsere Dateien auf anderen Computer zuzugreifen. Unsere verwendeten Programme sollen nicht wissen müssen, wie eine Datei auf deinem anderen Rechner gespeichert wird; es soll nur wissen, das es sie gibt und wo es sie bekommt. Der Rest ist Aufgabe des Betriebssystems, welches den Zugriff auf die verfügbaren Dateisysteme und Netzwerk Dateisysteme regeln soll. Die beiden meist benutzten Netzwerk Dateisysteme sind SMB (wie in Samba implementiert) und NFS.

5.6.1 SMB/Samba/CIFS


SMB (für Server Message Block) ist ein Abkömmling des älteren NetBIOS Protokolls, das ursprünglich von IBM in deren LAN-Manger Produkten benutzt wurde. Microsoft interessierte sich stets für NetBIOS und dessen Abkömmlinge (NetBEUI, SMB und CIFS).

Das Samba Projekt existiert seit 1991, ursprünglich Entwickelt um einen IBM PC der NetBIOS verwendet mit Unix-Servern zu verbinden. Heute ist SMB das bevorzugte Protokoll um Dateien und Druckerdienste für praktisch die gesamte zivilisierte Welt bereitzustellen, da es von Windows unterstützt wird.

Die Konfiguration von Samba finden Sie in /etc/samba/smb.conf; eine der am besten Kommentierten und Dokumentierten Konfigurationsdateien die Sie finden werden. Beispielfreigaben sind schon für Sie eingerichtet, die Sie nur an Ihre Bedürfnisse anpassen müssen. Wenn Sie noch mehr Kontrolle benötigen sind die man-Seiten für die smb.conf unersetzlich. Da Samba, wie oben geschrieben, so gut Dokumentiert ist, werden wir hier kein Handbuch dazu schreiben. Trotzdem werden wir hier einen Grundlagenüberblick liefern.

smb.conf ist in mehrere Sektionen eingeteilt: eine Sektion pro Freigabe und eine globale Sektion um Einstellungen zu machen, die immer Gültig sind. Manche Optionen sind nur in der globalen Sektion gültig, andere nur ausserhalb dieser globalen Sektion. Beachten Sie das die globalen Optionen immer von anderen Sektionen "überschrieben" werden können. Schauen Sie in den man-Seiten, wenn Sie mehr Informationen benötigen.

Sie werden warscheinlich die smb.conf Datei bearbeiten wollen, um sie an die Netzwerkeinstellungen in Ihrem LAN anzupassen. Ich empfehle die folgenden Punkte zu bearbeiten:

[global]
# workgroup = NT-Domain-Name or Workgroup-Name, z. B.: LINUX2
workgroup = MYGROUP


Ändern sie den workgroup Namen wie er in Ihrem Netzwerk verwendet wird.

# server string is the equivalent of the NT Description field
server string = Samba Server


Das ist der Name Ihres Slackware Computers, wie er in der Netzwerkumgebung angezeigt wird.

# Security mode. Most people will want user level security. See
# security_level.txt for details. NOTE: To get the behaviour of
# Samba-1.9.18, you’ll need to use "security = share".
security = user


Meist werden Sie auch eine Verschlüssellung für Ihr Slackware System wünschen.

# You may wish to use password encryption. Please read
# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba
# documentation.
# Do not enable this option unless you have read those documents
encrypt passwords = yes


Wenn verschlüsselte Passwörter deaktiviert ist, werden Sie Samba nicht mit NT4.0, Windows 2000, Windows XP und Windows 2003 nutzen können. Frühere Windows Versionen benötigen keine Verschlüsselung um Dateien zu teilen.

SMB ist ein Authentifizierungsprotokoll, d. h. sie müssen einen gültigen Benutzernamen und Passwort übergeben um den Dienst nutzen zu können. Welche Benutzernamen und Passwörter erlaubt sind, teilen wir Samba mit Hilfe des smbpasswd Befehls mit. smbpasswd braucht einige gängige Parameter um wissen, ob es tradditionelle Benutzer hinzufügen oder Gerätenutzer hinzufügen soll. (SMB benötigt die Angabe des NETBIOS Namens eines Computers für Maschinenbenutzer, um die Rechner einzugrenzen von denen man sich anmelden kann.)

Adding a user to the /etc/samba/private/smbpasswd file.
# smbpasswd -a user
Adding a machine name to the /etc/samba/private/smbpasswd file.
# smbpasswd -a -m machine


Sie sollten wissen, dass ein angegebener Benutzername oder Gerätename in der /etc/passwd Datei vorhanden sein muss. Sie können dies mit dem adduser Befehl erreichen. Beachten Sie, dass Sie beim Ausführen von adduser beim Anlegen eines Gerätenamens diesem ein Dollarzeichen ($) anhängen. Dies tun Sie jedoch nicht bei der Nutzung von smbpasswd, da dieses schon das Dollarzeichen selbständig anhängt. Sie werden einen Fehler ausgegeben bekommen, wenn sie Gerätenamen nicht auf diese Art angeben.

# adduser machine$


5.6.2 Network File System (NFS)


NFS (oder auch Network File System) wurd ursprünglich von Sun für ihr Solaris Unix entwickelt. Verglichen mit SMB ist es wesentlich einfacher ans laufen zu bekommen, allerdings ist es auch nicht so Sicher. Das grösste Sicherheitsproblem dabei ist, dass es einfach ist die Benutzer- und seine Gruppen-ID einem anderen Rechner vorzutäuschen. NFS ist ein Protokoll ohne authentifizierung. Zukünftige Versionen von NFS sollen diese fortgeschrittene Sicherheit bekommen, aber bis jetzt gibt es keine Einigkeit darüber.

Die NFS Konfiguration wird über die /etc/exports Datei verwaltet. Wenn sie die vorgegebene /etc/exports Datei in einem Editor laden, werden Sie eine leere Datei mit einem zwei Zeilen langen Kommentar finden. Für jedes Verzeichnis das wir freigeben wollen, benötigen wir eine Zeile, die eine Auflistung aller Computer enthält, die darauf zugreifen dürfen. Zum Beispiel, wenn Sie das Verzeichnis /home/foo für den Rechner "Bar§ freigeben wollen, würden wir folgen Zeile einfügen:

/home/foo Bar(rw)


Nachfolgen finden Sie ein Beispiel aus den man-Seiten der exports Datei:

# sample /etc/exports file
/               master(rw) trusty(rw,no_root_squash)
/projects       proj*.local.domain(rw)
/usr            *.local.domain(ro) @trusted(rw)
/home/joe       pc001(rw,all_squash,anonuid=150,anongid=100)
/pub            (ro,insecure,all_squash)


Sie Sie sehen, gibt es einige Optionen, wobei die meisten durch dieses Beispiel klar sein sollten.

NFS geht davon aus, dass ein angegebener Benutzer eines Rechners auf allen Rechnern im Netzwerk die gleiche Benutzer-ID hat. Wenn versucht wird auf eine NFS Freigabe zu schreiben oder zu lesen, wird eine UID (Benutzer-ID) als teil des Zugriffs mitgegeben. Diese UID wird genauso behandelt als wäre es ein Zugriff vom lokalen Rechner. Wenn also jemand eine vorhandene UID beim Zugriff auf die Resourcen eines entfernten Rechners angeben kann, können und werden schlimme Dinge passieren. Ein kleines Hinderniss ist die Einbindung jedes Verzeichnisses mit der root_squash Option. Dieses Bewirkt, dass die UID für jeden Benutzer, der sich als root ausgibt eine andere UID bekommt und root-Zugriff auf die freigegebenen Verzeichniss oder Dateien verhindert wird. root_squash ist wohl normalerweise aus Sicherheitsgründen als Vorgabe aktiviert, aber die Autoren empfehlen weiterhin die in der /etc/exports Datei anzugeben.

Sie können ein Verzeichnis auch gleich von der Kommandozeile aus mit dem Befehl exportfs freigeben:

# exportfs -o rw,no_root_squash Bar:/home/foo


Diese Zeile gibt /home/foo für den Computer "Bar" mit lese-/schreibzugriff frei. Ausserdem ist root_squash ausgeschaltet, d. h. das jeder Benutzer von Bar mit einer UID von "0" (die UID von root) die gleichen Rechte hat wie root auf dem Server. Die Syntax sieht merkwürdig aus, denn normalerweise ist eine Datei gemeint, wenn Sie ein Verzeichnis in der Form computer:/Verzeichnis/Datei angeben.

Sie finden mehr Informationen in den man-Seiten der exports Datei.
There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki