Workshop 2006-10-02 - 2006-10-03  Finanzamt/Zollamt Graz
Linux Filesysteme - WebApplikationen
willi moser (2006-10-02)


Der Samba Server

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 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.

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 ä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.

 

SMB
Server Message Block (kurz SMB) ist ein Kommunikationsprotokoll für Datei-, Druck- und andere Serverdienste im Netzwerk. Es ist der Kern der Netzwerkdienste von Microsofts LAN Manager, der Windows-Produktfamilie, sowie des LAN-Servers von IBM. Weiter wird es auch von der frei verfügbaren Software Samba und Samba-TNG verwendet, um Windows-Systemen den Zugriff auf Ressourcen von UNIX-basierten Systemen zu ermöglichen und umgekehrt.

SMB ist kein Dateisystem im eigentlichen Sinn, kann jedoch – ähnlich wie NFS – als eng verwandt betrachtet werden.
In TCP/IP-Netzwerken lief SMB ursprünglich über den NetBIOS-Port 139 und die Namensauflösung erfolgte mittels WINS.

CIFS
Der Begriff Common Internet File System (kurz CIFS) wurde 1996 von Microsoft eingeführt und beschreibt eine erweiterte Version von SMB. CIFS baut dabei auf NetBIOS over TCP/IP und SMB auf, und bietet neben der Datei- und Druckerfreigabe weitere Dienste wie z.B. den Windows RPC und den NT-Domänendienst an. Die Namensauflösung geschieht dabei weiterhin über NBT Broadcasts bzw. allgemein gesprochen den NBT Name Service, oder über DNS, wenn der NBT nicht zur Verfügung steht.

Geschichte
SMB wurde zuerst 1983 von Barry Feigenbaum bei IBM vorgestellt. Im Laufe der Zeit wurde das Protokoll von verschiedenen Firmen und Gruppen, darunter Microsoft, SCO, Thursby, IBM, Apple und dem Samba Team, erweitert. Die meisten Erweiterungen kommen aus dem Hause Microsoft, welches einige der Erweiterungen geheim hält.

Ausführliche Dokumentation zu Samba in Englisch: Samba-HOWTO-Collection
 

[ top ]


Workshop 2006-10-02 - 2006-10-03  Finanzamt/Zollamt Graz
Linux Filesysteme - WebApplikationen
willi moser (2006-10-02)