Seit den 90er Jahren verwendet Microsoft das Protokoll SMB (Server Message Block) sowie dessen Vorgänger NetBIOS und NetBEUI zur Freigabe von Verzeichnissen und Druckern im Netzwerk. Ursprünglich für den Datenaustausch zwischen den Unix-Systemen Sun OS und Ultrix konzipiert, begann der Erfinder Andrew Tridgell Ende 1993 mit der Portierung der Samba-Suite [1] auf Linux, um den Zugriff auf das Windows-Netzwerk auch für dieses Betriebssystem zu ermöglichen.
Die aktuellste stabile Release ist derzeit Version 3.23c. Die Entwicklerversion 4 bietet als wichtigste Neuerung einen ADS-Controller (Active Directory Service), taugt aber nach Angaben des Samba-Teams in frühestens zweieinhalb Jahren für den Produktiveinsatz.
Zwar implementiert Samba nach wie vor noch nicht alle Features von Windows-SMB. Das liegt jedoch in erster Linie daran, dass Microsoft nach wie vor die Interna der eigenen Anpassungen nicht preisgibt. Ungeachtet dessen verfügt Samba (Abbildung 1) zwischenzeitlich über einen beachtlichen Funktionsumfang, der den meisten Anwendungsfällen ohne weiteres gerecht wird.
Samba-Client
Der Samba-Client ermöglicht den Zugriff auf Netzwerkfreigaben (Shares) sowohl von Windows-Betriebssystemen als auch auf die von Samba-Servern. Die einfachste Variante, ein SMB-Share zu öffnen, bietet der KIO-Slave smb. Die Eingabe von smb:/ in der Adressleiste von Konqueror zeigt als Ergebnis alle im Netz verfügbaren SMB-Ressourcen nach Arbeitsgruppen gegliedert. Ein Klick auf die gewünschte Freigabe öffnet (sofern diese passwortgeschützt ist) den Authentifizierungsdialog.
Eine zweite Möglichkeit, auf SMB-Freigaben zuzugreifen, bietet das Kommandozeilen-Programm smbclient. Der Aufruf smbclient //Server
/Share
-U Benutzer
– beispielsweise smbclient //pc1/txt -U fritz öffnet nach der Eingabe des Passworts ein Terminalfenster im gewählten Remote-Share. Alternativ geben Sie anstelle des Servernamens die IP-Adresse an. Ähnlich wie bei kommandozeilenbasiertem FTP erfolgt der Dateitransfer zwischen den Rechnern via get und put.
Wie NFS bringt auch Samba das passende Werkzeug mit, um SMB-Freigaben direkt in den lokalen Verzeichnisbaum einzuhängen. Der Aufruf smbmount //Server
/Share
Mountpunkt
-o username=User
mountet die Freigabe nach Eingabe des Passworts in das gewählte Verzeichnis. Möchten Sie die Freigabe dauerhaft auf Ihrem Rechner einrichten, fügen Sie folgenden Eintrag der Datei /etc/fstab hinzu:
//Server /Share Mountpunkt smbfs username=User ,password=Kennwort 0 0
Der Eintrag könnte beispielsweise lauten:
//pc1/txt /media/pc1/ smbfs username=fritz,password=fischer 0 0
Da die für alle lesbare Datei /etc/fstab in diesem Fall das Loginpasswort im Klartext enthält, empfiehlt sich als sicherere Alternative das Verwenden eines so genannten Credentials Files, das die Anmeldeinformationen im Format
username = User password = Kennwort
enthält. Ändern Sie die Zugriffsberechtigungen mit chmod 400 Kennwortdatei
und modifizieren Sie den Eintrag in der /etc/fstab folgendermaßen:
//pc1/txt /media/pc1/ smbfs credential=Kennwortdatei 0 0
Damit steht Ihnen die ausgewählte Freigabe auch nach einem Neustart des Clients automatisch zur Verfügung.
Samba-Server
Den Dreh- und Angelpunkt des Samba-Servers bildet die Konfigurationsdatei smb.conf, die Sie in der Regel im Verzeichnis /etc/samba/ finden. Sie enthält alle für den Betrieb wichtigen Informationen, beispielsweise welche Rolle der Server übernehmen soll und welche Verzeichnisse für welche Benutzer freigegeben sind.
Die Konfigurationsdatei untergliedert sich in verschiedene Abschnitte, die ein Begriff in eckigen Klammern einleitetet. Der Abschnitt [globals] enthält generelle Informationen wie Name und Rolle des Servers (Standalone, PDC etc.) sowie generelle Zugriffsberechtigungen. In der Sektion [home] legen Sie Direktiven zu den Homeverzeichnissen der eingeloggten Benutzer fest, [printers] beschreibt die Ansteuerung der Drucker. Alle anderen Abschnitte legen frei definierbare zusätzliche Freigaben fest, deren Bezeichner gleichzeitig als Name der Freigabe dient.



