Samba verbindet zwei Welten miteinander. Auf einem Unix- oder Debian GNU/Linux-Rechner installiert, dient es als Datei- und Druckerserver für über das Netzwerk angeschlossene Windows-Rechner. Samba benutzt hierzu das von Microsoft benutzte SMB-(Server Message Block-)Protokoll; Sie müssen auf diese Weise keinerlei Veränderungen an den Windows-Rechnern vornehmen oder gar zusätzliche Software installieren.
Dieses wird durch Protokolle erreicht, die als CIFS (Common Internet File System) bekannt wurden. Eines der wichtigsten Elemente von CIFS ist das Protokoll SMB (Server Message Block). Samba ist eine freie Implementation von CIFS.
Samba wurde bisher auf eine Vielzahl von Nicht-Unix-Betriebssystemen wie zum Beispiel VMS, AmigaOS und NetWare portiert.
Vor einigen Jahren entwickelten die Firmen IBM und Sytec gemeinsam ein einfaches Netzwerk-System für kleine, lokale Netzwerke. Dieses wurde NetBIOS oder „Network Basic Input Output System“ genannt. Microsoft erweiterte die Funktionalität, so dass Laufwerke über das Netz verwendet werden konnten. Diese Version wurde SMB und später CIFS genannt.
NetBIOS wurde für kleine, lokale Netzwerke entwickelt; im Zusammenspiel mit TCP/IP kann diese Grenze überwunden werden. Der Trick besteht darin, die 16 Byte langen NetBIOS-Namen auf IP-Adressen umzulegen, so dass diese ihren Weg in einem gerouteten IP-Netzwerk finden. Dieser Mechanismus wird in den RFCs 1001 und 1002 beschrieben. Mit der weiteren Entwicklung von Windows wurden zwei Funktionen hinzugefügt: das „Browsen“ nach Diensten im Netz und eine Funktion zur zentralen Authentifizierung und Autorisierung, die so genannte „Windows NT Domain Control“.
Samba besteht aus zwei existenziellen Programmen, smbd
und nmbd
, die die grundlegenden, aktuellen Funktionen von
CIFS implementieren. Diese sind:
Datei- und Druckdienste
Authentifikation und Autorisation
Namensauflösung
„Browsing“
Hierbei sind die Datei- und Druckdienste sicherlich die wichtigsten Bausteine des
CIFS. Diese werden von smbd
, dem SMB-Daemon, zur Verfügung gestellt. smbd
verwaltet auch die so genannte „Shared
mode“- und „User mode“-Authentifizierung und -Autorisation.
Mit diesen können Sie Laufwerke und Druckdienste mit Passwörtern schützen. Im
einfachsten, im „Shared“-Modus, kann ein Passwort einem Laufwerk oder
Drucker zugeordnet werden. Dieses Passwort muss jedem Benutzer bekannt sein, der auf
dieses Gerät zugreifen soll. Diese Methode ist natürlich durch ein Passwort, das
vielen Benutzern bekannt ist, nicht sehr sicher. Empfehlenswerter ist es, jedem
Benutzer einen eigenen Benutzernamen und ein Passwort zu geben, der
Systemadministrator entscheidet dann über die Konfiguration, welche Zugriffe für
welchen Benutzer gestattet sind.
Das mit Windows NT eingeführte System, der „Domain Controller“, erlaubt eine weitere Stufe der Authentifizierung. Die grundlegende Idee dahinter ist, dass ein Benutzer sich nur einmal legitimieren muss, um auf alle Netzwerkdienste zugreifen zu können. Das NT-System koordiniert dies über einen Server, den so genannten Domain Controller. Eine NT-Domain (nicht zu verwechseln mit dem Domain Name System (DNS)) ist eine Gruppe von Rechnern, die auf einen gemeinsamen Domain-Controller zugreifen.
Die anderen beiden Teile von CIFS, Namensauflösung und „Browsing“,
werden von nmbd
zur Verfügung gestellt.
Die Auflösung von Namen kann auf zwei Arten, „broadcast“ oder „point-to-point“, erfolgen. Ein Rechner kann eine oder beide dieser Methoden nutzen. Die Broadcast-Methode erinnert noch am meisten an die originale NetBIOS-Funktionalität: Ein Rechner, der einen Service sucht, „ruft“ ins Netz und wartet auf eine Antwort. Dies kann einigen Traffic verursachen, ist aber in einem kleinen Netz kein echtes Problem.
Die zweite Methode benutzt einen NBNS-(NetBIOS Name Service-)Server. Unter Windows ist dies als WINS (Windows Internet Name Service) bekannt. Die Funktionsweise ist recht schnell erklärt: Jeder Client sendet seinen NetBIOS-Namen und die IP-Adresse an den NBNS-Server, der die Informationen in einer Datenbank speichert. Wenn ein Client mit einem anderen Client „sprechen“ möchte, sendet er den Namen des gewünschten Rechners an den NBNS-Server und dieser liefert die passende IP-Adresse zurück.
Clients in verschiedenen Subnetzen können einen gemeinsamen NBNS-Server benutzen. Somit ist die Broadcast-Methode nicht auf lokale Netze beschränkt. NBNS lässt sich in etwa mit dem DNS vergleichen, die Namensliste von NBNS ist allerdings komplett dynamisch, und es gibt kaum Überprüfungen, ob ein Client zur Namensregistrierung autorisiert ist. Dies kann sehr schnell zu Konflikten führen.
Bleibt noch das „Browsing“. Dies hat nichts mit dem Surfen im WWW zu tun, sondern stellt vielmehr eine Liste der verfügbaren Laufwerke und Drucker dar.
In einem LAN gibt es zwischen den teilnehmenden Rechnern eine „Abstimmung“, und der dominierende Rechner wird zum LMB (Local Master Browser) erklärt. Dieser LMB bekommt einen zusätzlichen Namen; seine Aufgabe ist es, eine Liste der verfügbaren Dienste zu pflegen. Diese Liste erscheint beim Anklicken des Symbols „Netzwerk-Umgebung“.
Als Ergänzung zu den LMBs gibt es noch DMBs (Domain Master Browsers). Diese koordinieren die Listen zwischen NT-Domänen und gerouteten Netzwerken. Über den NBNS kann ein LMB seinen DMB herausfinden und die Listen austauschen und ergänzen. Somit können die Listen an alle Teilnehmer in einer NT-Domain verteilt werden. Leider dauert es bis zu einer Stunde, bis eine Änderung in einem Subnetz im Netz verbreitet ist.
Im Samba-Paket sind eine Reihe von Werkzeugen enthalten, andere sind unter Debian GNU/Linux als separate Pakete verfügbar.
smbclient
- Ein einfaches Programm,
ähnlich wie ftp
, mit dem Sie eine Verbindung von
einem GNU/Linux-System zu einem SMB-Laufwerk oder einem Drucker
herstellen und Dateien übertragen können.
nmblookup
- Ein
NetBIOS-Name-Service-Client. Hiermit können Sie IP-Adressen und Namen
von anderen Rechnern im Netz ermitteln.
SWAT
- Ein webbasiertes
Administrationstool
Mit Samba können Sie von einem Windows-Rechner aus Dateisysteme Ihres Linux-Rechners so völlig transparent nutzen, als wenn diese auf einer lokalen Festplatte liegen würden. Beispielsweise kann das Laufwerk „N:“ auf irgendeinem entfernten Rechner angelegt sein.
Aber auch der umgekehrte Weg funktioniert; über das smbfs
-Dateisystem können Sie auf Laufwerke zugreifen,
die von einem Windows-Rechner freigegeben wurden. So können Sie zum Beispiel ein
Verzeichnis /mnt/win/
anlegen und das entsprechende Laufwerk
Ihres Windows-Rechners dort mounten. Sie können in diesem Verzeichnis alle Aktionen
(lesen, schreiben, löschen usw. von Dateien) wie auf Ihren lokalen Festplatten
ausführen.
Samba wird über die Datei /etc/smb.conf
konfiguriert. Dies ist, wie unter
Debian GNU/Linux üblich, eine normale ASCII-Datei; die Syntax ähnelt den von Windows
bekannten *.ini
-Dateien. Ziel ist es, Netzwerk-Administratoren,
die mit Windows vertraut sind, einen leichten Umstieg zu bieten. Mit der wachsenden
Funktionalität von Samba wuchsen auch die in der Konfigurationsdatei verfügbaren
Parameter. Diese sind gut dokumentiert und erlauben sehr detaillierte Einstellungen.
Neben der unter /usr/doc/samba/
liegenden mitgelieferten
Dokumentation ist unter http://www.oreilly.com/catalog/samba/
auch die englischsprachige Online-Version des bei O'Reilly erschienenen Buches
„Using Samba“ zu finden.
Die Homepage von Samba finden Sie unter: http://samba.org/.
Als grafische Werkzeuge stehen Ihnen gnomba
und tkchooser
zur Verfügung, um exportierte Drucker und
Laufwerke im Netz aufzuspüren und am System anzumelden.
Das Samba Web Administration Tool (SWAT) stellt eine webbasierte
Konfigurationsoberfläche für Samba
zur Verfügung.
SWAT
ist Bestandteil der Samba-Distribution, wurde
aber für Debian GNU/Linux als eigenes Paket gepackt. Nach der Installation kann mit
einem Webbrowser die Adresse http://localhost:901/ aufgerufen werden.
SWAT agiert selbst als Webserver für die Konfiguration, so dass kein gesonderter
Webserver installiert werden muss. Bitte beachten Sie: Wenn Sie auf
SWAT
von einem anderen Rechner aus zugreifen (in
einem internen Netz oder über das Internet), so werden alle Passwörter
unverschlüsselt übertragen.
Informationen über die möglichen Einstellungen finden Sie in der Anleitung zu Samba.
Gnomba
ist eine grafische Oberfläche für das zum
Samba-Paket gehörende Programm smbclient
. Sie können mit Gnomba die freigegebenen
Laufwerke und Drucker suchen lassen und gleich an Ihrem System anmelden.
Dies entspricht in etwa der von Windows bekannten „Netzwerkumgebung“.
Weitere Informationen finden Sie auf der Webseite zu gnomba
: http://gnomba.sourceforge.net/.
Ist der Samba-Server wie gewünscht konfiguriert, so können natürlich nicht nur Linux-Clients auf die freigegebenen Verzeichnisse zugreifen; auch von einem System mit MacOS X ist der Zugriff möglich.
Aus dem Finder-Menü „Gehe zu“ wird zunächst der Eintrag „Mit Server verbinden...“ ausgewählt.
Im folgenden Dialogfenster geben Sie nun das Protokoll und den gewünschten Server an. Bei dem hier gezeigten Beispiel muss lediglich der Servername angepasst werden.
Ist der Server ausgewählt, so muss im folgenden Dialog ausgewählt werden, mit
welchem der freigegebenen Verzeichnisse (hier homes
) verbunden werden soll. Die verfügbaren
Verzeichnisse werden automatisch ermittelt.
In den meisten Fällen ist für die gewählte Freigabe eine Authentifizierung notwendig. In einem solchen Fall werden anschließend die notwendigen Daten erfragt.
Damit ist das Einbinden eines Netzwerklaufwerks via Samba abgeschlossen. Auf dem Desktop kann das Laufwerk nun über ein Icon angeklickt werden.
© 1999-2007 Frank Ronneburg - Dieser Inhalt ist unter einem Creative Commons Namensnennung - Nicht-kommerziell - Keine Bearbeitung Lizenzvertrag lizenziert (creativecommons.org/licenses/by-nc-nd/2.0/de/legalcode).