Samba (Software)

freie Software-Suite
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 27. August 2006 um 00:17 Uhr durch Florian Adler (Diskussion | Beiträge) (Änderungen von 88.64.5.197 (Beiträge) rückgängig gemacht und letzte Version von 85.180.163.220 wiederhergestellt). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Samba ist eine freie Software-Suite, die das Server-Message-Block-Protokoll (SMB) für Unix-Systeme verfügbar macht. Dieses Protokoll wird manchmal als CIFS (Common Internet File System), LanManager- oder NetBIOS-Protokoll bezeichnet.

Samba

Basisdaten

Entwickler Samba-Team
Erscheinungsjahr Januar 1992
Aktuelle Version 3.0.23b
(9. August 2006)
Aktuelle Vorabversion 4.8.0rc1[1]
(15. Januar 2018)
Betriebssystem Linux/Unix
Programmier­sprache C, C++[2], Python[2]
Kategorie SMB-Server und -Client
Lizenz GPL
deutschsprachig nein
Offizielle Seite / Deutsche Seite

Samba ist damit in der Lage, Funktionen eines Windows-Servers zu übernehmen. Es gilt als stabiler und leistungsfähiger als frühere Windows-Alternativen und ist, da zudem noch frei verfügbar, auch bei vielen Firmen und Organisationen sehr angesehen. Allerdings sind Teile des SMB-Protokolls noch nicht vollständig implementiert. Auch tauchen immer wieder (meist von Microsoft selbst gesponsorte) Studien auf, die zu dem Ergebnis kommen, dass die Windows-eigene Implementierung schneller sei.

Entwicklung

Samba wurde erstmals 1992 veröffentlicht, um den Datenaustausch zwischen SunOS und Ultrix zu ermöglichen. Später wurde Samba auch auf Linux portiert, wodurch sich Linux im Datei-Servermarkt ausbreiten konnte. Später wurde die von einer Gemeinschaft freiwilliger Programmierer entwickelte Software stets erweitert, um die Beiträge anderer Firmen zum Server Message Block-Protokoll aufzunehmen. Die Beiträge stammten unter anderem von Microsoft, SCO, Thursby, IBM, Apple und dem Samba Team selbst, wobei Microsoft, welche die meisten Beiträge leistete, als einzige Firma einige Erweiterungen geheim hielt. Da aber ein reibungsloser Datenaustausch ohne diese geheimen Erweiterungen nicht immer möglich ist, musste ein Teil des SMB-Protokolls durch das Auswerten des Netzwerkverkehrs (Protokollanalyse und Netzwerkanalyse) erschlossen werden[3].

Im Jahr 2000 gab es einen Fork von Samba unter dem Namen Samba-TNG mit dem Ziel, einen Primary Domain Controller (PDC) für Windows NT Netzwerke zu entwickeln.

Zum festen Kern der Entwicklergemeinde von Samba zählen in etwa 20 Personen (siehe Andrew Tridgell). Einige Firmen, wie z. B. IBM, leisten finanzielle und personelle Unterstützung.

Die momentan (Juni 2006) aktuelle "stable"-Reihe ist die "Samba-3.0"-Reihe. Seit der Version 3.0 besteht zudem die Möglichkeit, Samba als Mitgliedserver in einem Active Directory zu benutzen. Nur mit Samba, d. h. ohne Windows 2000 Server oder "Windows Server 2003", ist es jedoch leider nicht möglich, eine Active Directory-Umgebung aufzubauen. Eine Active Directory-ähnliche Funktionalität ohne einen Windows-Server, ist jedoch durch die Kombination von Samba mit einem LDAP-Server möglich.

Samba 3 wird auch gegenwärtig noch stark weiterentwickelt. Samba 4 dagegen wurde ursprünglich als komplette neue Entwicklung gestartet und sollte ursprünglich Samba 3 ersetzen, sobald es stabil genug ist. In letzter Zeit hat jedoch bei den Entwicklern ein Umdenken stattgefunden und es wird immer mehr dazu hin tendiert, Samba 4 als eine Art "Testumgebung" zu nutzen, darin die neuesten Features auszuprobieren und diese dann, sobald sie sinnvoll funktionieren, in Samba 3 zurück zu portieren. Die größte Neuerung im Samba 4 Baum ist die Entwicklung eines Active Directory-Domänencontrollers. Die erste Testversion (Samba 4.0.0TP1 Technology Preview) von Samba 4 wurde am 24. Januar 2006 zum Download freigegeben. Am 23. März folgte TP2 mit vielen Fehlerkorrekturen und Erweiterungen im Vergleich zur vorherigen Version. Beide Versionen sind jedoch noch nicht für den produktiven Einsatz gedacht. Hiervon wird in aller Deutlichkeit abgeraten.

Bestandteile

Samba besteht aus einer Reihe von einzelnen Modulen, die verschiedene Aufgaben von der grundlegenden Funktion bis hin zur Konfiguration und Dokumentation übernehmen. Teile dieser Aufgaben können aber auch durch andere Programme ersetzt werden. So kann Samba unter anderem auch mit Hilfe von Webmin administriert werden.

acl

Mittels einer Access Control List kann man ähnlich des CHMOD Befehls unter Unix/Linux, Berechtigungen für Verzeichnisse in Samba vergeben. Somit kann gezielt festgelegt werden, welche SMB-Benutzer/Gruppen Verzeichnisse lesend, schreibend, beides oder gar nicht benutzen dürfen.

smbd

Der smbd-Daemon stellt die Datei- und Druck-Dienste für andere SMB-clients, wie z. B. verschiedene Windows- oder andere Unix-Versionen zur Verfügung.

nmbd

Der nmbd-Daemon stellt NetBIOS Namensdienste wie WINS und Browsing-Hilfe zur Verfügung. Samba erlaubt es, einen Wins-Proxy aufzubauen, der auch über Netzwerkgrenzen verfügbar ist (WINS selbst lässt sich nicht routen).

winbind

Der winbind-Daemon hält Verbindungen zu Domänencontrollern der Domäne, in der ein Server Mitglied ist oder wenn er auf Domänencontrollern läuft, zu vertrauten Domänen. Er stellt Dienste für den lokalen Rechner bereit, wie beispielsweise nss_winbind, mit dem die Domänen-Benutzerdatenbank transparent auf einem Mitgliedsserver verwendet werden kann.

smbclient

Das smbclient-Programm führt einen simplen FTP-ähnlichen SMB-Client aus. Hiermit kann auf SMB-Freigaben eines anderen Rechners (z. B. auch mit Windows NT) zugegriffen werden. Weiterhin kann das Programm dazu verwendet werden, um von einem Unix-Rechner auf einem Drucker zu drucken, der an einem beliebigen SMB-Server hängt (wie z. B. ein Windows NT-PC). Smbclient kann auch von der Kommandozeile SMB-Kommandos ausführen, was z.B. nützlich ist, um die Funktionsfähigkeit eines Samba-Servers automatisch zu prüfen.

testparm

Das testparm-Utility ermöglicht das Testen einer "smb.conf"-Konfigurationsdatei auf Syntaxfehler.

smbstatus

Das smbstatus-Utility ermöglicht herauszufinden, wer gegenwärtig den smbd-Server benutzt.

nmblookup

Das nmblookup-Utility erlaubt es, NetBIOS-Namensanfragen von der UNIX-Maschine zu machen.

net

Das net-Utility ist nach dem entsprechenden Werkzeug unter Windows und OS/2 modelliert und ermöglicht es, unterschiedlichste Anfragen an einen SMB-Server zu stellen.

smbpasswd

Mit smbpasswd ändern Sie die Samba-eigenen Benutzerpasswörter.

quotas

Die Quota-Option ermöglicht es, Freigaben für Benutzer zu beschränken. Somit kann bspw. festgelegt werden, dass Benutzer U auf der Laufwerkfreigabe X nur 100MB des real physikalischen Speichers belegen darf.

Swat

Swat ist ein webbasiertes Samba-Konfigurationsprogramm, das die einzelnen Parameter der Samba-Konfiguration mit Samba-eigenen Methoden abändern kann. Damit kann man direkt über einen Browser die Konfigurationsdatei smb.conf editieren.

Swat ist über Port 901 erreichbar und wird meistens über einen inetd-Daemon verwendet. Swat ist auch als Online-Dokumentation sehr nützlich, da über Swat Hilfe zu allen Konfigurationsparametern erreichbar ist.

Eine Alternative zu Swat ist Webmin, bei dem der Benutzer keine Root-rechte benötigt.

Installation

Fast alle Linux Distributionen enthalten heute vorkompilierte Samba-Pakete. Bei neueren Distributionen wird Samba aber oft in mehrere Pakete aufgeteilt, die dann z.B. samba-server, samba-client, samba-common oder ähnlich heißen. Weiterhin gibt es für den Linux-Kern einen speziellen Modul namens smbfs, der benötigt wird, um Netzwerkfreigaben in den Dateibaum des Linux-Betriebssystems einzuhängen. Zusammen mit einem weiteren Paket namens autofs (Version 4.0 oder neuer) kann der Benutzer eines Linux-Systemes auf alle für Gäste verfügbaren Freigaben in einem Windows-Netzwerk zugreifen, ohne dazu einzeln Konfigurationsänderungen vornehmen zu müssen. Damit das funktioniert, müssen aber meist noch Konfigurationsdateien ("/etc/auto.master", "/etc/auto.smb") angepasst werden.

Literatur

  • John H. Terpstra, Jelmer R. Vernooij: "Official Samba-3 HOWTO and Reference Guide, The (2nd Edition)" Prentice Hall PTR, 2005, ISBN 0131882228, online verfügbar

Quellen

  1. git.samba.org. (abgerufen am 19. Januar 2018).
  2. a b openhub.net.
  3. Andrew Tridgell: Myths About Samba auf Groklaw, 26. Februar 2005