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 |
Programmiersprache | 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
- ↑ git.samba.org. (abgerufen am 19. Januar 2018).
- ↑ a b openhub.net.
- ↑ Andrew Tridgell: Myths About Samba auf Groklaw, 26. Februar 2005
Weblinks
- Die offizielle Samba-Seite (englisch)
- Die deutsche Samba-Seite
- Mythen über Samba (englisch)
- Samba eXPerience, jährliche Entwicklerkonferenz (englisch)
- Artikel und Howtos zu Samba
- Interview mit Volker Lendecke (Samba 3 Kernentwickler) von RadioTux (MP3, 14,3 MB)
- Linkkatalog zum Thema Samba bei curlie.org (ehemals DMOZ)