Samba-Server: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Textersetzung - „= Bekannte Probleme =“ durch „= Problembehebung =“
 
(41 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' kurze Beschreibung
'''Samba-Server''' - Kurzbeschreibung
 
== Beschreibung ==
== Beschreibung ==
== Installation ==
Der Name Samba leitet sich vom Netzwerkprotokoll [https://de.wikipedia.org/wiki/Server%20Message%20Block SMB] ('''S'''erver '''M'''essage '''B'''lock) ab
== Anwendungen ==
* Dieses wurde bereits 1983 von IBM entwickelt
== Syntax ==
* Microsoft bezeichnete die 1996 überarbeitete Version SMBv1 mit ''CIFS''
=== Optionen ===
* SMBv1 blieb lange Zeit Standard, obwohl bereits 2006 die Version SMBv2 und dann 2012 die Version SMBv3 (SMB3.0) veröffentlicht wurden
=== Parameter ===
* Die aktuelle Version von SMBv3 (SMB3.1.x) wurde 2015 mit Windows 10 eingeführt
=== Umgebungsvariablen ===
* Das Protokoll SMBv1 (''CIFS'') gilt inzwischen als veraltet, langsam und unsicher, wird aber leider immer noch verwendet
=== Exit-Status ===
== Konfiguration ==
=== Dateien ===
== Sicherheit ==
== Dokumentation ==
=== RFC ===
=== Man-Pages ===
=== Info-Pages ===
== Siehe auch ==
== Links ==
=== Projekt-Homepage ===
=== Weblinks ===
=== Einzelnachweise ===
<references />
== Testfragen ==
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>
 
[[Kategorie:Entwurf]]


= TMP =
Mit [https://de.wikipedia.org/wiki/Samba%20(Software) Samba] steht seit 1992 eine Implementation des SMB-Protokolls auch auf UNIX-Systemen (Linux etwas später) zur Verfügung
{{Infobox Software
* Ab Samba 3.6 (ab [https://wiki.ubuntuusers.de/Trusty/ Ubuntu 14.04 LTS]) wurden dann auch die Protokolle SMBv2 und SMBv3 schrittweise als Optionen nach Samba übernommen
| Name                        = Samba
* Seit September 2017 ist nun auch in Samba SMBv3 Standard, und seit Samba 4.11 (ab [https://wiki.ubuntuusers.de/Focal/ Ubuntu 20.04 LTS]) wird, wie auch in Windows 10, das Protokoll SMBv1 in der Grundeinstellung nicht mehr unterstützt
| Logo                        = [[Datei:Samba Logo.png|250px|Logo von Samba]]
| Beschreibung                =
| Hersteller                  = Samba-Team<ref>[https://www.samba.org/samba/team/ The Samba Team] (englisch) – offizielle Entwicklerseite, abgerufen am 5. Juni 2012</ref>
| AktuelleVersion              = <!-- Wikidata -->
| AktuelleVersionFreigabeDatum = <!-- Wikidata -->
| Betriebssystem              = [[plattformübergreifend]]
| Kategorie                    = [[Server Message Block|SMB]]-Server und -Client
| Lizenz                      = [[GNU General Public License|GPL]]
| Deutsch                      = nein
| Website                      = [https://www.samba.org/ samba.org]
}}


'''Samba''' ist ein [[Freie Software|freies]] [[Programmpaket]], das es ermöglicht, [[Microsoft Windows|Microsoft-Windows]]-Funktionen wie die [[Datei- und Druckdienste]] unter anderen Betriebssystemen zu nutzen und die Rolle eines [[Domain Controller]]s anzunehmen. Es implementiert hierfür unter anderem das [[Server Message Block|SMB/CIFS]]-Protokoll.
Samba kann als "Server" fungieren, um Daten (Ordner, Dateien, Festplatten, CD-Laufwerke usw.) mit anderen Rechnern im Netzwerk zu teilen
* Dies wird auch als ''Einrichten von Freigaben'' bezeichnet
* Gibt es eine SMB-Version, die sowohl auf dem Server als auch auf dem Client automatisch (d.&nbsp;h.&nbsp;ohne Einstellungen von Hand zu ändern) aktivierbar ist, so sollte der Samba-Server auf dem (Windows- oder Linux-) Client in der ''Netzwerkumgebung'' auftauchen
* Von dort aus können die Freigaben temporär, d.h
* für die jeweilige Sitzung, eingebunden werden
* Alternativ lassen sich regelmäßig gebrauchte Freigaben auf dem Client auch statisch als ''Netzlaufwerke'' einbinden
* Das Einrichten ''Allgemeiner Freigaben'' auf dem Server ist eine administrative Aufgabe und benötigt [https://wiki.ubuntuusers.de/sudo/ Root-Rechte]
* Damit aber jeder Benutzer seine eigenen Dateien auch ohne Root-Rechte im lokalen Netzwerk freigeben kann, wurde mit Samba 3.0.23 das Tool [https://wiki.ubuntuusers.de/net_usershare/ net usershare] eingeführt
* Dieses wird z.&nbsp;B.&nbsp; von den Dateimanagern [https://wiki.ubuntuusers.de/Nautilus/ Nautilus] und [https://wiki.ubuntuusers.de/Dolphin/ Dolphin] verwendet


Da die Software unter der [[GNU General Public License|GPL]] [[Freie Software|frei]] verfügbar ist, wird sie als Alternative zu [[Microsoft Windows Server|Microsoft-Windows-Server]]-Betriebssystemen eingesetzt.
Samba dient aber auch dazu, um als "Client" auf Freigaben anderer Rechner zuzugreifen
* Das in Ubuntu und Xubuntu standardmäßig eingerichtete Netzwerk-Dateisystem [https://wiki.ubuntuusers.de/gio_mount/ GVfs] unterstützt neben einigen anderen Netzwerk-Diensten auch SMB-Freigaben
* Mit dem ''GVfs'' kann man im Netzwerk vorhandene Server ermitteln ("browsen") und deren Freigaben temporär ins lokale Dateisystem einbinden
* Dieses "Computer-Browsing" im [https://wiki.ubuntuusers.de/Samba_Client/Windows-Netzwerk/ Windows-Netzwerk] verwendet zusätzliche Protokolle und Server
* Das ''GVfs'' wird standardmäßig von den Netzwerk-Managern [https://wiki.ubuntuusers.de/Nautilus/ Nautilus], [https://wiki.ubuntuusers.de/Thunar/ Thunar] und anderen unterstützt
* Außerdem gibt es für das ''GVfs'' ein spezielles graphisches Tool [https://wiki.ubuntuusers.de/Gigolo/ Gigolo]
* In ähnlicher Weise verwenden in Kubuntu die Dateimanager Dolphin und Konqueror einen [https://wiki.ubuntuusers.de/KIO-Slaves/ KIO-Slave] zum Einbinden von SMB-Freigaben


== Entwicklung ==
Für höhere Ansprüche kann für SMB zusätzlich noch ein spezielles Netzwerk-Dateisystem [https://wiki.ubuntuusers.de/mount.cifs/ CIFS vfs] installiert werden, das noch wesentlich mehr Optionen unterstützt
Samba wurde erstmals 1992 vom Australier [[Andrew Tridgell]] veröffentlicht, um den Datenaustausch zwischen [[SunOS]] und [[Disk Operating System|DOS]] auch ohne [[Network File System|NFS]] zu ermöglichen. Später wurde Samba auch auf [[Linux]] portiert, was dem Betriebssystem eine enorme Verbreitung im [[Dateiserver]]-Segment bescherte und zu dessen weiterem Erfolg beitrug. Die nun von einer [[Online-Community#Entwicklergemeinschaft|Gemeinschaft]] freiwilliger [[Programmierer]] entwickelte Software wurde stetig erweitert, um die Beiträge anderer Unternehmen zum Server-Message-Block-Protokoll aufzunehmen. Die Erweiterungen des SMB-Protokolls stammten unter anderem von [[Microsoft]], [[SCO Group|SCO]], [[Thursby Software|Thursby]], [[IBM]], [[Apple]] und dem Samba-Team selbst, wobei Microsoft die meisten Beiträge leistete und auch als einziges Unternehmen einige Erweiterungen geheim hielt. Da aber ein reibungsloser Datenaustausch ohne diese geheimen Erweiterungen nicht immer möglich war, musste ein Teil des SMB-Protokolls durch das Auswerten des Netzwerkverkehrs ([[Netzwerkanalyse (Informatik)|Protokoll-/Netzwerkanalyse]]) erschlossen werden.<ref name="Groklaw">Andrew Tridgell: [http://www.groklaw.net/article.php?story=20050205010415933 ''Myths About Samba''.] Groklaw, 26. Februar 2005</ref>


Nach Differenzen bezüglich der [[Softwarearchitektur|Architektur]] von Samba [[Abspaltung (Softwareentwicklung)|spaltete]] sich 2000 das Projekt [[Samba-TNG]] vom Hauptprojekt mit dem Ziel ab, einen [[Primary Domain Controller]] (PDC) für [[Windows NT|Windows-NT]]-Domänen zu entwickeln, eine Funktionalität, welche im Hauptzweig damals noch nicht stabil verfügbar war. Die Entwicklung von Samba-TNG schlief 2009 ein.
Samba kann auch Drucker freigeben und Windows-Clients bei der Einrichtung von Druckern unterstützen
* Eine Alternative für die Freigabe von Druckern ist [https://wiki.ubuntuusers.de/CUPS/ CUPS]


Zum festen Kern der Entwicklergemeinde von Samba zählen in etwa 40 Personen.<ref>{{Internetquelle |url=https://www.samba.org/samba/team/ |titel=The Samba Team |abruf=2021-04-11}}</ref> Einige Unternehmen, wie zum Beispiel [[IBM]], leisten finanzielle und personelle Unterstützung bzw. sind sogar Arbeitgeber einiger Samba-Entwickler.
'''Samba''' ist ein [[Freie Software|freies]] [[Programmpaket]], das es ermöglicht, [[Microsoft Windows|Microsoft-Windows]]-Funktionen wie die [[Datei- und Druckdienste]] unter anderen Betriebssystemen zu nutzen und die Rolle eines [[Domain Controller]]s anzunehmen
* Es implementiert hierfür unter anderem das [[Server Message Block|SMB/CIFS]]-Protokoll


In der Versionsreihe Samba&nbsp;3 bestand die Möglichkeit, Samba als Mitgliedsserver in einer Active-Directory-Domäne zu betreiben, nicht jedoch als deren ''Domain Controller''. Samba&nbsp;3 konnte nur Domain Controller des veralteten [[Windows NT 4.0|Windows-NT-4.0]]-Typs emulieren, was jedoch für viele Netzwerke überschaubarer Größe ausreicht. Darin kann ein zweiter Samba-Server auch die Rolle eines ''Backup Domain Controller'' (BDC) übernehmen. Ab Version 3.5 unterstützt Samba auch die von Microsoft mit deren Betriebssystem [[Windows Vista]] eingeführte, proprietäre neue Version des SMB-Protokolles namens SMB2.
Da die Software unter der [[GNU General Public License|GPL]] [[Freie Software|frei]] verfügbar ist, wird sie als Alternative zu [[Microsoft Windows Server|Microsoft-Windows-Server]]-Betriebssystemen eingesetzt


Die größte Neuerung der aktuellen Version&nbsp;4 ist die Unterstützung der Active-Directory-Domain-Controller-Rolle. Außerdem wurde das Verwaltungswerkzeug ''SWAT'' so weit verbessert, dass es auch zur Verwaltung einer Active-Directory-Domäne über das Web genutzt werden kann. Samba&nbsp;4 beinhaltet eine Neuentwicklung der Domain-Controller-Funktionalität, die integrierte Dateiserver-Rolle basiert jedoch auf der bewährten Version&nbsp;3 und unterstützt nun auch SMB3. Samba&nbsp;4 wurde im Dezember 2012 für den Produktiveinsatz freigegeben.
== Bestandteile ==
; Bestandteile und grafische Benutzeroberflächen
Samba besteht aus einer Reihe von einzelnen Modulen, die der grundlegenden Funktion sowie der Konfiguration dienen


== Bestandteile und grafische Benutzeroberflächen ==
Die Kernmodule sind die [[Daemon]]s ''samba'' (Active-Directory-Emulation ab Version 4), ''smbd'' ([[Datei- und Druckerfreigabe]]), ''nmbd'' (NetBIOS-Namensauflösung) und ''winbindd'' ([[Benutzerkonto|Benutzer]]-/[[Benutzergruppe|Gruppen]]-Zuordnung)
Samba besteht aus einer Reihe von einzelnen Modulen, die der grundlegenden Funktion sowie der Konfiguration dienen.


Die Kernmodule sind die [[Daemon]]s ''samba'' (Active-Directory-Emulation ab Version 4), ''smbd'' ([[Datei- und Druckerfreigabe]]), ''nmbd'' (NetBIOS-Namensauflösung) und ''winbindd'' ([[Benutzerkonto|Benutzer]]-/[[Benutzergruppe|Gruppen]]-Zuordnung).
Für die Konfiguration von Samba existieren eine Reihe von [[Grafische Benutzeroberfläche|GUIs]], beispielsweise
 
Für die Konfiguration von Samba existieren eine Reihe von [[Grafische Benutzeroberfläche|GUIs]], beispielsweise:
* Das Samba-eigene browserbasierte Modul ''SWAT'' (Samba Web Administration Tool)
* Das Samba-eigene browserbasierte Modul ''SWAT'' (Samba Web Administration Tool)
* Ein Modul für das Browser-basierte Konfigurationstool [[Webmin]]
* Ein Modul für das Browser-basierte Konfigurationstool [[Webmin]]
Zeile 86: Zeile 53:
* Der Browser-basierte [[LDAP Account Manager]] zur Verwaltung von [[Benutzerkonto|Benutzerkonten]]
* Der Browser-basierte [[LDAP Account Manager]] zur Verwaltung von [[Benutzerkonto|Benutzerkonten]]
* Möglichkeiten zur [[Ordnerfreigabe]] in den Benutzeroberflächen des [[KDE]]- und [[Gnome]]-Projektes
* Möglichkeiten zur [[Ordnerfreigabe]] in den Benutzeroberflächen des [[KDE]]- und [[Gnome]]-Projektes
* Verwaltungsoberflächen weiterführender Produkte wie z.&nbsp;B. [[Univention Corporate Server]], [[IServ]] und [[Zentyal]]
* Verwaltungsoberflächen weiterführender Produkte wie z.&nbsp;B.&nbsp; [[Univention Corporate Server]], [[IServ]] und [[Zentyal]]


== Verbreitung ==
== Verbreitung ==
Fast alle [[Linux-Distribution]]en enthalten Samba und bieten damit Zugriff auf Dateifreigaben in gemischten Netzwerken, in denen z.&nbsp;B. auch Windows eingesetzt wird. Auch in homogenen Unix-Netzwerken wird Samba, und damit das SMB-Protokoll, häufig statt des NFS-Protokolls eingesetzt.
Fast alle [[Linux-Distribution]]en enthalten Samba und bieten damit Zugriff auf Dateifreigaben in gemischten Netzwerken, in denen z.&nbsp;B.&nbsp; auch Windows eingesetzt wird
* Auch in homogenen Unix-Netzwerken wird Samba, und damit das SMB-Protokoll, häufig statt des NFS-Protokolls eingesetzt


Zusätzlich ist Samba oft Bestandteil weiterführender Hard- (z.&nbsp;B. [[Network Attached Storage|NAS]]) und Software-Produkte, die die Installation, Konfiguration und Verwaltung der Software erleichtern und deren Hersteller außerdem oft kommerzielle [[Support (Dienstleistung)|Unterstützung]] anbieten.<ref>{{Internetquelle |url=http://www.samba.org/samba/vendors/ |titel=Samba as part of Commercial Products |hrsg=Samba-Webseite |sprache=en |abruf=2014-04-01}}</ref><ref>{{Internetquelle |url=http://www.samba.org/samba/support/ |titel=Samba Commercial Support Providers |hrsg=Samba-Webseite |sprache=en |abruf=2014-04-01}}</ref>
Zusätzlich ist Samba oft Bestandteil weiterführender Hard- (z.&nbsp;B.&nbsp; [[Network Attached Storage|NAS]]) und Software-Produkte, die die Installation, Konfiguration und Verwaltung der Software erleichtern und deren Hersteller außerdem oft kommerzielle [[Support (Dienstleistung)|Unterstützung]] anbieten.


== Zugang zur Protokolldokumentation ==
== Zugang zur Protokolldokumentation ==
In den frühen 1990er-Jahren hatten Microsoft und das Samba-Team eine produktive Beziehung, bei der Schnittstellendaten ausgetauscht wurden.<ref>„We are hoping to get back to the productive relationship we had with Microsoft during the early 1990's when we shared information about these protocols.“ (''Jeremy Allison, co-creator of Samba'')</ref> Dies änderte sich jedoch mit einer neuen Schnittstellen-Politik Microsofts ab Windows 95. Am 20. Dezember 2007 jedoch wurde zwischen Microsoft und der „Protocol Freedom Information Foundation“ (PFIF) auf Anordnung der [[Europäische Union|Europäischen Union]] ein Abkommen geschlossen, welches Microsoft verpflichtet, alle nötigen Informationen über „Microsoft Work Group Server“ bereitzustellen, um mit diesem vollständig kommunizieren zu können. Das Abkommen sieht vor, dass diese Informationen nur der PFIF und den Samba-Entwicklern zugänglich sind. Dafür erlaubt das Abkommen auch die Veröffentlichung des Quelltextes von Implementierungen dieser Schnittstellen, so dass die Schnittstellen so indirekt offengelegt werden. Patente sind von dem Abkommen allerdings nicht betroffen.
In den frühen 1990er-Jahren hatten Microsoft und das Samba-Team eine produktive Beziehung, bei der Schnittstellendaten ausgetauscht wurden. Dies änderte sich jedoch mit einer neuen Schnittstellen-Politik Microsofts ab Windows 95
* Am 20.&nbsp;Dezember 2007 jedoch wurde zwischen Microsoft und der „Protocol Freedom Information Foundation“ (PFIF) auf Anordnung der [[Europäische Union|Europäischen Union]] ein Abkommen geschlossen, welches Microsoft verpflichtet, alle nötigen Informationen über „Microsoft Work Group Server“ bereitzustellen, um mit diesem vollständig kommunizieren zu können
* Das Abkommen sieht vor, dass diese Informationen nur der PFIF und den Samba-Entwicklern zugänglich sind
* Dafür erlaubt das Abkommen auch die Veröffentlichung des Quelltextes von Implementierungen dieser Schnittstellen, so dass die Schnittstellen so indirekt offengelegt werden
* Patente sind von dem Abkommen allerdings nicht betroffen


{{Zitat
{{Zitat
  |Text=We are very pleased to be able to get access to the technical information necessary to continue to develop Samba as a Free Software project. Although we were disappointed the decision did not address the issue of patent claims over the protocols, it was a great achievement for the European Commission and for enforcement of antitrust laws in Europe. The agreement allows us to keep Samba up to date with recent changes in Microsoft Windows, and also helps other Free Software projects that need to interoperate with Windows.
  |Text=We are very pleased to be able to get access to the technical information necessary to continue to develop Samba as a Free Software project
* Although we were disappointed the decision did not address the issue of patent claims over the protocols, it was a great achievement for the European Commission and for enforcement of antitrust laws in Europe
* The agreement allows us to keep Samba up to date with recent changes in Microsoft Windows, and also helps other Free Software projects that need to interoperate with Windows
  |Sprache=en
  |Sprache=en
  |Autor=[[Andrew Tridgell]]
  |Autor=[[Andrew Tridgell]]
  |Quelle=20.&nbsp;Dezember 2007
  |Quelle=20.&nbsp;Dezember 2007
  |ref=<ref>[http://www.samba.org/samba/PFIF/ Samba and the PFIF.] Pressemitteilung des ''Samba-Team'', 20. Dezember 2007 (englisch); abgerufen am 25. Dezember 2010</ref>
  |ref=
  |Übersetzung=Wir sind hocherfreut, Zugang zu den technischen Informationen zu erhalten, die nötig sind, um Samba als ein freies Softwareprojekt weiterzuentwickeln. Obwohl wir enttäuscht waren, dass die Entscheidung nicht auf die Protokoll-Patentansprüche einging, stellt sie einen herausragenden Erfolg der EU-Kommission und für die Durchsetzung des Kartellrechts in Europa dar. Das Abkommen gestattet uns, Samba mit den neuesten Veränderungen von Microsoft Windows Schritt halten zu lassen, und hilft auch anderen freien Softwareprojekten, die mit Windows interagieren müssen.}}
  |Übersetzung=Wir sind hocherfreut, Zugang zu den technischen Informationen zu erhalten, die nötig sind, um Samba als ein freies Softwareprojekt weiterzuentwickeln
* Obwohl wir enttäuscht waren, dass die Entscheidung nicht auf die Protokoll-Patentansprüche einging, stellt sie einen herausragenden Erfolg der EU-Kommission und für die Durchsetzung des Kartellrechts in Europa dar
* Das Abkommen gestattet uns, Samba mit den neuesten Veränderungen von Microsoft Windows Schritt halten zu lassen, und hilft auch anderen freien Softwareprojekten, die mit Windows interagieren müssen.}}


Als Ausdruck eines inzwischen wieder entspannteren Verhältnisses zwischen Microsoft und dem Samba-Projekt kann auch gelten, dass Microsoft-Mitarbeiter sich 2011 erstmals aktiv an der Samba-Entwicklung beteiligten.<ref>{{Internetquelle |url=http://www.samba.org/samba/news/developers/ms-patch.html |titel=Samba Notes Passing a Milestone |hrsg=Samba-Webseite |datum=2011-11-02 |sprache=en |abruf=2011-12-04}}</ref>
Als Ausdruck eines inzwischen wieder entspannteren Verhältnisses zwischen Microsoft und dem Samba-Projekt kann auch gelten, dass Microsoft-Mitarbeiter sich 2011 erstmals aktiv an der Samba-Entwicklung beteiligten.


== Sicherheit {{Anker|SambaCry}}==
== Sicherheit ==
Im Folgenden sind einige wesentliche geschlossene [[Sicherheitslücke]]n von Samba angeführt:
Im Folgenden sind einige wesentliche geschlossene [[Sicherheitslücke]]n von Samba angeführt
 
* Im Jahr 2010 wurde bekannt, dass einige Versionen bis hin zu Samba 3.6.3 über den anonymen Gastzugriff mittels [[Remote Procedure Call]]s (RPC) Zugang zum [[Root-Konto]] erlaubten.<ref>[https://www.samba.org/samba/security/CVE-2012-1182 CVE-2012-1182] – A security announcement regarding a major issue with Samba 3.6.3 and lower.</ref>
* Im Mai 2017 wurde bekannt, dass ähnliche Sicherheitsprobleme wie bei Windows-Betriebssystemen, welche in Form von [[WannaCry]] ausgenutzt werden konnten, auch bei Samba bestanden.<ref>[https://securelist.com/sambacry-is-coming/78674/ SambaCry is coming.] securelist.com</ref> Bei diesem Fehler, welcher in Anlehnung als ''SambaCry'' bezeichnet wird, war es möglich, injizierten Schadcode am betreffenden Samba-System auszuführen. Der Fehler betraf alle Samba-Versionen ab der Version 3.5.0 bis zu der im Mai 2017 aktuellen Version 4.6.4.<ref name="samba-release-4.6.4">{{Internetquelle |url=https://www.samba.org/samba/security/CVE-2017-7494.html |titel=CVE-2017-7494 – Remote code execution from a writable share |abruf=2017-07-23}}</ref> Dieser Fehler ist vor allem bei [[Network Attached Storage|NAS-Systemen]], welche üblicherweise auf Samba aufsetzen, kritisch. Die Problematik wird verstärkt, wenn das Samba-System von extern zugänglich ist und nicht alle Hersteller für ihre proprietären NAS-Systeme entsprechende Updates für die Fehlerbehebung anbieten oder diese Updates vom Besitzer in Unkenntnis der Problematik nicht eingespielt werden.<ref>[https://www.heise.de/security/meldung/SambaCry-Erste-Angriffe-auf-Linux-NAS-Boxen-gesichtet-3777456.html ''SambaCry: Erste Angriffe auf Linux-NAS-Boxen gesichtet''.] heise.de</ref>
 
== Literatur ==
* Stefan Kania: ''Samba 4: Das Handbuch für Administratoren.'' 1. Auflage. Carl Hanser Verlag, 2019, ISBN 978-3-446-45591-7
* Winfried Trümper: ''Intranetworking mit Linux, m. CD-ROM.'' 2. Auflage. Addison-Wesley, 1999, ISBN 978-3-8273-1584-7
 
== Weblinks ==
* {{Webarchiv |url=https://www.bsdwiki.de/FreeBSD_-_Samba_PDC |text=Samba PDC mit OpenLDAP |wayback=20120130140627}}
* [http://www.sambaxp.org/ Samba eXPerience, jährliche Entwicklerkonferenz] (englisch)
* {{dmoz|/World/Deutsch/Computer/Netzwerk/Protokolle_und_Dienste/CIFS/|Samba}}
 
== Einzelnachweise ==
<references />
 
[[Kategorie:Freie Dateitransfer-Software]]
[[Kategorie:Freie Server-Software]]
[[Kategorie:Daemon]]
 
= Samba  =
 
Der Name Samba leitet sich vom Netzwerkprotokoll [https://de.wikipedia.org/wiki/Server%20Message%20Block SMB] ('''S'''erver '''M'''essage '''B'''lock) ab. Dieses wurde bereits 1983 von IBM entwickelt. Microsoft bezeichnete die 1996 überarbeitete Version SMBv1 mit ''CIFS''. SMBv1 blieb lange Zeit Standard, obwohl bereits 2006 die Version SMBv2 und dann 2012 die Version SMBv3 (SMB3.0) veröffentlicht wurden. Die aktuelle Version von SMBv3 (SMB3.1.x) wurde 2015 mit Windows 10 eingeführt. Das Protokoll SMBv1 (''CIFS'') gilt inzwischen als veraltet, langsam und unsicher, wird aber leider immer noch verwendet.
 
Mit [https://de.wikipedia.org/wiki/Samba%20(Software) Samba] steht seit 1992 eine Implementation des SMB-Protokolls auch auf UNIX-Systemen (Linux etwas später) zur Verfügung. Ab Samba 3.6 (ab [https://wiki.ubuntuusers.de/Trusty/ Ubuntu 14.04 LTS]) wurden dann auch die Protokolle SMBv2 und SMBv3 schrittweise als Optionen nach Samba übernommen. Seit September 2017 ist nun auch in Samba SMBv3 Standard, und seit Samba 4.11 (ab [https://wiki.ubuntuusers.de/Focal/ Ubuntu 20.04 LTS]) wird, wie auch in Windows 10, das Protokoll SMBv1 in der Grundeinstellung nicht mehr unterstützt.
 
Samba kann als "Server" fungieren, um Daten (Ordner, Dateien, Festplatten, CD-Laufwerke usw.) mit anderen Rechnern im Netzwerk zu teilen. Dies wird auch als ''Einrichten von Freigaben'' bezeichnet. Gibt es eine SMB-Version, die sowohl auf dem Server als auch auf dem Client automatisch (d. h. ohne Einstellungen von Hand zu ändern) aktivierbar ist, so sollte der Samba-Server auf dem (Windows- oder Linux-) Client in der ''Netzwerkumgebung'' auftauchen. Von dort aus können die Freigaben temporär, d.h. für die jeweilige Sitzung, eingebunden werden. Alternativ lassen sich regelmäßig gebrauchte Freigaben auf dem Client auch statisch als ''Netzlaufwerke'' einbinden. Das Einrichten ''Allgemeiner Freigaben'' auf dem Server ist eine administrative Aufgabe und benötigt [https://wiki.ubuntuusers.de/sudo/ Root-Rechte]. Damit aber jeder Benutzer seine eigenen Dateien auch ohne Root-Rechte im lokalen Netzwerk freigeben kann, wurde mit Samba 3.0.23 das Tool [https://wiki.ubuntuusers.de/net_usershare/ net usershare] eingeführt. Dieses wird z. B. von den Dateimanagern [https://wiki.ubuntuusers.de/Nautilus/ Nautilus] und [https://wiki.ubuntuusers.de/Dolphin/ Dolphin] verwendet.
 
Samba dient aber auch dazu, um als "Client" auf Freigaben anderer Rechner zuzugreifen. Das in Ubuntu und Xubuntu standardmäßig eingerichtete Netzwerk-Dateisystem [https://wiki.ubuntuusers.de/gio_mount/ GVfs] unterstützt neben einigen anderen Netzwerk-Diensten auch SMB-Freigaben. Mit dem ''GVfs'' kann man im Netzwerk vorhandene Server ermitteln ("browsen") und deren Freigaben temporär ins lokale Dateisystem einbinden. Dieses "Computer-Browsing" im [https://wiki.ubuntuusers.de/Samba_Client/Windows-Netzwerk/ Windows-Netzwerk] verwendet zusätzliche Protokolle und Server. Das ''GVfs'' wird standardmäßig von den Netzwerk-Managern [https://wiki.ubuntuusers.de/Nautilus/ Nautilus], [https://wiki.ubuntuusers.de/Thunar/ Thunar] und anderen unterstützt. Außerdem gibt es für das ''GVfs'' ein spezielles graphisches Tool [https://wiki.ubuntuusers.de/Gigolo/ Gigolo]. In ähnlicher Weise verwenden in Kubuntu die Dateimanager Dolphin und Konqueror einen [https://wiki.ubuntuusers.de/KIO-Slaves/ KIO-Slave] zum Einbinden von SMB-Freigaben.
 
Für höhere Ansprüche kann für SMB zusätzlich noch ein spezielles Netzwerk-Dateisystem [https://wiki.ubuntuusers.de/mount.cifs/ CIFS vfs] installiert werden, das noch wesentlich mehr Optionen unterstützt.


Samba kann auch Drucker freigeben und Windows-Clients bei der Einrichtung von Druckern unterstützen. Eine Alternative für die Freigabe von Druckern ist [https://wiki.ubuntuusers.de/CUPS/ CUPS].
* Im Jahr 2010 wurde bekannt, dass einige Versionen bis hin zu Samba 3.6.3 über den anonymen Gastzugriff mittels [[Remote Procedure Call]]s (RPC) Zugang zum [[Root-Konto]] erlaubten.
* Im Mai 2017 wurde bekannt, dass ähnliche Sicherheitsprobleme wie bei Windows-Betriebssystemen, welche in Form von [[WannaCry]] ausgenutzt werden konnten, auch bei Samba bestanden. Bei diesem Fehler, welcher in Anlehnung als ''SambaCry'' bezeichnet wird, war es möglich, injizierten Schadcode am betreffenden Samba-System auszuführen
* Der Fehler betraf alle Samba-Versionen ab der Version 3.5.0 bis zu der im Mai 2017 aktuellen Version 4.6.4. Dieser Fehler ist vor allem bei [[Network Attached Storage|NAS-Systemen]], welche üblicherweise auf Samba aufsetzen, kritisch
* Die Problematik wird verstärkt, wenn das Samba-System von extern zugänglich ist und nicht alle Hersteller für ihre proprietären NAS-Systeme entsprechende Updates für die Fehlerbehebung anbieten oder diese Updates vom Besitzer in Unkenntnis der Problematik nicht eingespielt werden.


== Samba 4 ==
== Samba 4 ==
 
Seit [https://wiki.ubuntuusers.de/Trusty/ Ubuntu 14.04 LTS] sind statt der bisherigen Versionen 3.xx nach einer sehr langen Vorbereitungsphase ausschließlich Samba-Versionen 4.xx in den Paketquellen enthalten
Seit [https://wiki.ubuntuusers.de/Trusty/ Ubuntu 14.04 LTS] sind statt der bisherigen Versionen 3.xx nach einer sehr langen Vorbereitungsphase ausschließlich Samba-Versionen 4.xx in den Paketquellen enthalten. Die sicher wichtigste Neuerung in Samba 4.0 ist, dass nun ein Samba Server in einem Windows-Netzwerk uneingeschränkt auch die Funktion eines zum Microsoft Active Directory® (AD) kompatiblen Domain Controllers (DC) übernehmen kann. Dies ist jedoch nur für die Administration von komplexen, größeren Netzwerken von Bedeutung. Da diese Thematik sehr gründliche Vorkenntnisse und Einblicke in die Struktur von Windows-Netzwerken verlangt, übersteigt sie den Rahmen dieses Wiki. Für Interessenten befinden sich am Ende dieses Artikels Links zu weiterführender Literatur.
* Die sicher wichtigste Neuerung in Samba 4.0 ist, dass nun ein Samba Server in einem Windows-Netzwerk uneingeschränkt auch die Funktion eines zum Microsoft Active Directory® (AD) kompatiblen Domain Controllers (DC) übernehmen kann
* Dies ist jedoch nur für die Administration von komplexen, größeren Netzwerken von Bedeutung
* Da diese Thematik sehr gründliche Vorkenntnisse und Einblicke in die Struktur von Windows-Netzwerken verlangt, übersteigt sie den Rahmen dieses Wiki
* Für Interessenten befinden sich am Ende dieses Artikels Links zu weiterführender Literatur


; Hinweis
; Hinweis
Die Funktionen "Server" und "Client" sind in Samba nicht streng nach Rechnern getrennt. Der gleiche Rechner kann als Server Freigaben für andere Rechner bereitstellen und gleichzeitig auch als Client auf Freigaben anderer Server zugreifen.
Die Funktionen "Server" und "Client" sind in Samba nicht streng nach Rechnern getrennt
* Der gleiche Rechner kann als Server Freigaben für andere Rechner bereitstellen und gleichzeitig auch als Client auf Freigaben anderer Server zugreifen


Die Bezeichnung "Server" bedeutet in diesem Zusammenhang also nicht, dass sich die Ausführungen nur auf eine Server-Version von Ubuntu beziehen.
Die Bezeichnung "Server" bedeutet in diesem Zusammenhang also nicht, dass sich die Ausführungen nur auf eine Server-Version von Ubuntu beziehen


== Gliederung und Überblick ==
== Installation ==
== Anwendung ==
=== Problembehebung ===


Das Themengebiet ''Samba'' wird auf mehreren Wiki-Seiten behandelt, die sich hinsichtlich der Ausführlichkeit und des Niveaus stark unterscheiden:
== Konfiguration ==
=== Dateien ===
<noinclude>
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/samba}}
==== Dokumentation ====
[[Samba-Server/Dokumentation]]


=== Einführende Seiten, Basics ===
==== Links ====
 
===== Projekt =====
* [https://wiki.ubuntuusers.de/Samba/ Samba] - Überblick und Grundbegriffe (diese Seite)
===== Weblinks =====
* [https://wiki.ubuntuusers.de/Samba_Server/ Samba Server] - Allgemeines über Samba als Server. Einrichten eines Samba-Servers auch ohne GUI (die Einrichtung eines Samba-Servers als zum Microsoft Active Directory® kompatibler Domain-Controller ist nicht Gegenstand dieses Artikels).
* https://wiki.ubuntuusers.de/Samba/
* [https://wiki.ubuntuusers.de/Samba_Server/smb.conf/ Samba Server/smb.conf] - Aufbau der Konfigurationsdatei für Samba-Server, diese Datei dient jedoch auch zur Konfiguration von SMB-Clients, welche die Samba-Bibliotheken verwenden! Dies betrifft beispielsweise [https://wiki.ubuntuusers.de/smbclient/ smbclient] und über ''GVfs'' auch [https://wiki.ubuntuusers.de/Nautilus/ Nautilus] und [https://wiki.ubuntuusers.de/Thunar/ Thunar].
* [https://wiki.ubuntuusers.de/Heimnetzwerk/ Heimnetzwerk] – Verschiedene Möglichkeiten, ein kleines privates Netzwerk einzurichten
 
* [https://wiki.ubuntuusers.de/MS-Windows_Integration/ MS-Windows Integration] – Hinweise zum Parallel-Betrieb von Linux und Windows auf einem Rechner oder in einem Netzwerk
 
* [https://wiki.ubuntuusers.de/HowTo/Samba-AD-Server_unter_Ubuntu_20.04_installieren/ Howto: Samba-AD-Server unter Ubuntu 20.04 installieren] - Samba-Server als "Active-Directory Domain-Controller" für eine Windows Domäne auf Ubuntu installieren
 
* [https://wiki.ubuntuusers.de/Internet_und_Netzwerk/ Internet und Netzwerk] – Wissenswertes zu Netzwerk- und Servertechnologien (Übersichtsseite)
==== Freigaben bereitstellen ====
* [https://wiki.ubuntuusers.de/gio_mount/ gio mount] Freigaben mit gio mount einbinden als ''GVfs'' (nicht nur für SMB-Freigaben)
 
* [https://www.samba.org/samba/ Die englischsprachige Hauptseite des Samba-Teams] 🇬🇧
* [https://wiki.ubuntuusers.de/Samba_Server_GNOME/ Samba Server GNOME] - Mit dem Dateimanager, bevorzugt GNOME/[https://wiki.ubuntuusers.de/Nautilus/ Nautilus], persönliche oder allgemeine Freigaben für andere Rechner (Clients) einrichten.
* [https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller Samba_AD_DC_HOWTO] 🇬🇧 - Samba Server als AD kompatibler Domain-Controller (ab Samba 4.0)
* [https://wiki.ubuntuusers.de/Samba_Server/net_usershare/ Samba Server/net usershare] - Freigaben als normaler Benutzer (ohne Root-Rechte) einrichten.
* [https://www.informatik-aktuell.de/betrieb/server/samba-4-als-domaincontroller-einrichten-und-verwalten.html Samba 4 als Domain Controller und Fileserver einrichten] 🇩🇪 - Artikel von Stefan Kania in "Informatik aktuell", 06/2014
 
* [https://techcommunity.microsoft.com/t5/storage-at-microsoft/stop-using-smb1/ba-p/425858 Stop Using SMB1] 🇬🇧 Ein Aufruf von Microsoft mit Erläuterungen
 
 
==== Auf Freigaben zugreifen ====
 
* [https://wiki.ubuntuusers.de/Samba_Client_GNOME/ Samba Client GNOME] - Mit dem Dateimanager, bevorzugt GNOME/Nautilus, auf Freigaben anderer Rechner (Server) zugreifen. Mit gewissen Einschränkungen ist diese Seite auch für [https://wiki.ubuntuusers.de/Xfce/ Xfce] ([https://wiki.ubuntuusers.de/Xubuntu/ Xubuntu]) gültig.
* [https://wiki.ubuntuusers.de/Samba_Client_KDE/ Samba Client KDE] - Mit KDE auf Freigaben anderer Rechner (Server) zugreifen.
* [https://wiki.ubuntuusers.de/gio_mount/ gio mount] - Einbinden von Freigaben ins Dateisystem des Client mit dem Programm gio mount als ''GVfs''.
* [https://wiki.ubuntuusers.de/mount.cifs/ mount.cifs] - Einbinden von Freigaben ins Dateisystem des Client mit dem Programm mount.cifs als ''CIFS vfs''. Dieses ist deutlich anspruchsvoller als das ''GVfs'', erlaubt aber auch mehr individuelle Optionen.
* [https://wiki.ubuntuusers.de/Autofs/ autofs] - Einbinden von Freigaben ins Dateisystem des Client mit dem autofs als ''CIFS vfs''.
 
 
 
Die folgenden Seiten beschreiben grafische Werkzeuge, die das grafische Browsen und Einbinden wesentlich erleichtern:* [https://wiki.ubuntuusers.de/Gigolo/ Gigolo] - Tool zum Einbinden von Freigaben als ''GVfs''.
* [https://wiki.ubuntuusers.de/Samba_Client/Smb4K/ Smb4K] - Tool zum Einbinden von Freigaben als ''CIFS vfs''.
 
 
 
Und schließlich ist auch über ein Terminal der Zugriff auf Freigaben möglich:* [https://wiki.ubuntuusers.de/Samba_Client/smbclient/ smbclient] ist vor allem bei Problemen ein willkommenes, vielseitiges Hilfsmittel. Beim Zugriff per smbclient wird die SMB-Freigabe nicht in das Dateisystem des Client eingebunden.
 
 
 
=== Spezielle Themen für Fortgeschrittene ===
 
==== Benutzung von Domänenkonten ====
 
[https://wiki.ubuntuusers.de/Samba_Winbind/ Samba Winbind] - Beschreibung, wie man Ubuntu an einer Windows-Domäne anmeldet, um die Benutzer am "Active Directory" zu authentifizieren.
 
==== Browsen von Freigaben im Windows-Netzwerk ====
 
[https://wiki.ubuntuusers.de/Samba_Client/Windows-Netzwerk/ Samba Client/Windows-Netzwerk] - Beschreibung, wie man auf die Freigaben per Dateimanager browst.


= TMP =
== Grundlagen und Begriffe ==
== Grundlagen und Begriffe ==
=== Freigaben ===
=== Freigaben ===
 
Dienste, die über das SMB-Protokoll im Netzwerk verteilt werden, nennt man [https://de.wikipedia.org/wiki/Dateifreigabe Freigaben]
Dienste, die über das SMB-Protokoll im Netzwerk verteilt werden, nennt man [https://de.wikipedia.org/wiki/Dateifreigabe Freigaben]. Damit ist in der Regel der Zugriff auf Dateien und Ordner im lokalen Netzwerk gemeint. Aber auch Drucker können freigegeben werden.
* Damit ist in der Regel der Zugriff auf Dateien und Ordner im lokalen Netzwerk gemeint
* Aber auch Drucker können freigegeben werden


==== Allgemeine Freigaben ====
==== Allgemeine Freigaben ====
 
"Allgemeine Freigaben" (nicht zu verwechseln mit "Öffentliche Freigaben" mit erlaubtem Gast-Zugriff) werden durch einen Eintrag in die Datei [https://wiki.ubuntuusers.de/smb.conf/ /etc/samba/smb.conf] mit [https://wiki.ubuntuusers.de/sudo/ Root-Rechten] erstellt
"Allgemeine Freigaben" (nicht zu verwechseln mit "Öffentliche Freigaben" mit erlaubtem Gast-Zugriff) werden durch einen Eintrag in die Datei [https://wiki.ubuntuusers.de/smb.conf/ /etc/samba/smb.conf] mit [https://wiki.ubuntuusers.de/sudo/ Root-Rechten] erstellt.


==== Persönliche Freigaben ====
==== Persönliche Freigaben ====
 
Samba bietet mit dem Werkzeug [https://wiki.ubuntuusers.de/Samba_Server/net_usershare/ net usershare] auch gewöhnlichen Benutzern der Gruppe ''sambashare'' die Möglichkeit, für eigene Dateien und Ordner ohne Root-Rechte "Persönliche Freigaben" einzurichten (nicht zu verwechseln mit "Geschützte Freigaben", auf die nur mit Benutzername und Kennwort zugegriffen werden kann)
Samba bietet mit dem Werkzeug [https://wiki.ubuntuusers.de/Samba_Server/net_usershare/ net usershare] auch gewöhnlichen Benutzern der Gruppe ''sambashare'' die Möglichkeit, für eigene Dateien und Ordner ohne Root-Rechte "Persönliche Freigaben" einzurichten (nicht zu verwechseln mit "Geschützte Freigaben", auf die nur mit Benutzername und Kennwort zugegriffen werden kann). Verschiedene Dateimanager verwenden net usershare, um Ordner und Dateien freizugeben.
* Verschiedene Dateimanager verwenden net usershare, um Ordner und Dateien freizugeben


=== Netzwerk-Protokolle ===
=== Netzwerk-Protokolle ===
==== SMB ====
==== SMB ====
 
[https://de.wikipedia.org/wiki/Server_Message_Block SMB] ist ein auf NetBEUI/NetBIOS oder TCP/IP aufbauendes Protokoll, um Dienste im Netzwerk zu Verfügung zu stellen
[https://de.wikipedia.org/wiki/Server_Message_Block SMB] ist ein auf NetBEUI/NetBIOS oder TCP/IP aufbauendes Protokoll, um Dienste im Netzwerk zu Verfügung zu stellen. Es wurde ursprünglich von der Firma IBM entwickelt und bildet auch die Grundlage für neuere Samba-Versionen.
* Es wurde ursprünglich von der Firma IBM entwickelt und bildet auch die Grundlage für neuere Samba-Versionen


==== SMBv1 (CIFS) ====
==== SMBv1 (CIFS) ====
 
Bereits im Jahre 1996 wurde SMB von Microsoft erweitert und in [https://de.wikipedia.org/wiki/CIFS CIFS] (Common Internet File System) umbenannt
Bereits im Jahre 1996 wurde SMB von Microsoft erweitert und in [https://de.wikipedia.org/wiki/CIFS CIFS] (Common Internet File System) umbenannt. Das Protokoll SMBv1 (CIFS) wurde von Windows-xp ff. und von den Samba-Versionen 3.xx langezeit ausschließlich verwendet. Heute gilt SMBv1 als unsicher. Die Bezeichnung ''CIFS'' erscheint aber immer noch im Namen verschiedener Samba-Bibliotheken (z.B. '''cifs-utils'''), die sich auch für neuere SMB-Versionen eignen. Seit Samba 4.11 (seit [https://wiki.ubuntuusers.de/Focal/ Ubuntu 20.04 LTS] wird SMBv1 in der Standard-Einstellung nicht mehr unterstützt.
* Das Protokoll SMBv1 (CIFS) wurde von Windows-xp ff
* und von den Samba-Versionen 3.xx langezeit ausschließlich verwendet
* Heute gilt SMBv1 als unsicher
* Die Bezeichnung ''CIFS'' erscheint aber immer noch im Namen verschiedener Samba-Bibliotheken (z.&nbsp;B.&nbsp; '''cifs-utils'''), die sich auch für neuere SMB-Versionen eignen
* Seit Samba 4.11 (seit [https://wiki.ubuntuusers.de/Focal/ Ubuntu 20.04 LTS] wird SMBv1 in der Standard-Einstellung nicht mehr unterstützt


==== SMBv2 ====
==== SMBv2 ====
 
Beim Protokoll SMBv2 (Windows ab ''vista'') wurde nicht nur die Performance verbessert (z.&nbsp;B.&nbsp; höhere Übertragungs-Geschwindigkeit)
Beim Protokoll SMBv2 (Windows ab ''vista'') wurde nicht nur die Performance verbessert (z.B. höhere Übertragungs-Geschwindigkeit). Es bietet auch eine bessere Sicherheit. Einige Optionen fielen deshalb weg. So wird mit SMBv2 vom Server z.B. keine Freigaben-Liste mehr angeboten. Ab Version 3.6.0 bietet Samba neben SMBv1 optional auch das Protokoll SMBv2 an.
* Es bietet auch eine bessere Sicherheit
* Einige Optionen fielen deshalb weg
* So wird mit SMBv2 vom Server z.&nbsp;B.&nbsp; keine Freigaben-Liste mehr angeboten
* Ab Version 3.6.0 bietet Samba neben SMBv1 optional auch das Protokoll SMBv2 an


==== SMBv3 ====
==== SMBv3 ====
 
Unter den zahlreichen neuen Optionen von SMBv3 ist wohl die "''Ende-zu-Ende-Kryptografie''" die wichtigste
Unter den zahlreichen neuen Optionen von SMBv3 ist wohl die "''Ende-zu-Ende-Verschlüsselung''" die wichtigste. Durch diese wird die Sicherheit wesentlich erhöht. In Windows-10 ist SMBv3 nun Standard. Samba bietet dieses Protokoll ab der Version 4.1 an (veröffentlicht Oktober 2013, Ubuntu ab [https://wiki.ubuntuusers.de/Trusty/ Ubuntu 14.04 LTS]). Bis Version 4.6 (bis September 2017) blieb aber SMB1 die Standard-Einstellung. Seither ist nun das höchste unterstützte Protokoll Standard.
* Durch diese wird die Sicherheit wesentlich erhöht
* In Windows-10 ist SMBv3 nun Standard
* Samba bietet dieses Protokoll ab der Version 4.1 an (veröffentlicht Oktober 2013, Ubuntu ab [https://wiki.ubuntuusers.de/Trusty/ Ubuntu 14.04 LTS])
* Bis Version 4.6 (bis September 2017) blieb aber SMB1 die Standard-Einstellung
* Seither ist nun das höchste unterstützte Protokoll Standard


==== Die cifs-UNIX-Extensions (gültig für SMBv1) ====
==== Die cifs-UNIX-Extensions (gültig für SMBv1) ====
Um das CIFS-Protokoll auch für reine UNIX- bzw
* Linux-Netze neben [https://wiki.ubuntuusers.de/NFS/ NFS] zu einer vollwertigen Alternative zu machen, wurden von Hewlett-Packard die cifs UNIX Extensions (CIFS-UNIX-Erweiterungen) eingeführt
* Schon seit der Samba-Version 2.2.4 (Mai 2002) stehen sie als Erweiterung des Protokolls SMBv1 (cifs) auch in Linux zur Verfügung
* Wegen einiger Sicherheits-Lücken wurden sie aber für das nachfolgende Protokoll SMBv2 nicht übernommen


Um das CIFS-Protokoll auch für reine UNIX- bzw. Linux-Netze neben [https://wiki.ubuntuusers.de/NFS/ NFS] zu einer vollwertigen Alternative zu machen, wurden von Hewlett-Packard die cifs UNIX Extensions (CIFS-UNIX-Erweiterungen) eingeführt. Schon seit der Samba-Version 2.2.4 (Mai 2002) stehen sie als Erweiterung des Protokolls SMBv1 (cifs) auch in Linux zur Verfügung. Wegen einiger Sicherheits-Lücken wurden sie aber für das nachfolgende Protokoll SMBv2 nicht übernommen.
Mit den "cifs-UNIX-Extensions" werden im Einzelnen unterstützt:* Übertragung von [https://wiki.ubuntuusers.de/Rechte/ Besitz- und Zugriffsrechten] über [https://wiki.ubuntuusers.de/Benutzer_und_Gruppen/ UID und GID]
 
* [https://de.wikipedia.org/wiki/Symbolische_Verknüpfung Symbolische] und [https://de.wikipedia.org/wiki/Harter_Link harte] Verknüpfungen ("symbolic links" und "hard links")
Mit den "cifs-UNIX-Extensions" werden im Einzelnen unterstützt:* Übertragung von [https://wiki.ubuntuusers.de/Rechte/ Besitz- und Zugriffsrechten] über [https://wiki.ubuntuusers.de/Benutzer_und_Gruppen/ UID und GID]  
* [https://de.wikipedia.org/wiki/Zeitstempel Zeitstempel] ("timestamp", Datum/Uhrzeit) für Dateien und Ordner
* [https://de.wikipedia.org/wiki/Symbolische_Verknüpfung Symbolische] und [https://de.wikipedia.org/wiki/Harter_Link harte] Verknüpfungen ("symbolic links" und "hard links")  
* [https://de.wikipedia.org/wiki/Zeitstempel Zeitstempel] ("timestamp", Datum/Uhrzeit) für Dateien und Ordner  
* weitere Daten der [https://de.wikipedia.org/wiki/Unix-Dateirechte UNIX-Datenstruktur]
* weitere Daten der [https://de.wikipedia.org/wiki/Unix-Dateirechte UNIX-Datenstruktur]


 
Um die cifs-UNIX-Extensions nutzen zu können, müssen die Freigaben auf dem Client mit dem [https://wiki.ubuntuusers.de/mount.cifs/ CIFS vfs] (nicht ''GVfs''!) eingebunden sein oder über ein [https://wiki.ubuntuusers.de/Terminal/ Terminal] mittels [https://wiki.ubuntuusers.de/Samba_Client/smbclient/ smbclient] angesprochen werden
 
Um die cifs-UNIX-Extensions nutzen zu können, müssen die Freigaben auf dem Client mit dem [https://wiki.ubuntuusers.de/mount.cifs/ CIFS vfs] (nicht ''GVfs''!) eingebunden sein oder über ein [https://wiki.ubuntuusers.de/Terminal/ Terminal] mittels [https://wiki.ubuntuusers.de/Samba_Client/smbclient/ smbclient] angesprochen werden.


=== Hinweis: ===
=== Hinweis: ===
 
Die ursprünglich für das Protokoll SMBv1 entwickelten UNIX Erweiterungen unterstützten die [https://wiki.ubuntuusers.de/ACL/ POSIX-ACL] nicht und erwiesen sich zudem als unsicher
Die ursprünglich für das Protokoll SMBv1 entwickelten UNIX Erweiterungen unterstützten die [https://wiki.ubuntuusers.de/ACL/ POSIX-ACL] nicht und erwiesen sich zudem als unsicher. Deshalb wurden sie nicht in das Nachfolge-Protokoll SMBv2 übernommen. Eine völlige Neubearbeitung, die neben den [https://wiki.ubuntuusers.de/Rechte/ UNIX-Dareirechten] auch die [https://wiki.ubuntuusers.de/ACL/ POSIX-ACL] und Windows-ACL unterstützt, wurde unter der Bezeichnung ''POSIX Extensions'' ab SMB 3.1.1 ins Protokoll übernommen. Die POSIX Extensions werden derzeit von Windows (Server und Client) und vom ''CIFS vfs'' (Client), aber leider noch nicht von Samba als Server unterstützt (Stand Juni 2020, Samba 4.11.6).
* Deshalb wurden sie nicht in das Nachfolge-Protokoll SMBv2 übernommen
* Eine völlige Neubearbeitung, die neben den [https://wiki.ubuntuusers.de/Rechte/ UNIX-Dareirechten] auch die [https://wiki.ubuntuusers.de/ACL/ POSIX-ACL] und Windows-ACL unterstützt, wurde unter der Bezeichnung ''POSIX Extensions'' ab SMB 3.1.1 ins Protokoll übernommen
* Die POSIX Extensions werden derzeit von Windows (Server und Client) und vom ''CIFS vfs'' (Client), aber leider noch nicht von Samba als Server unterstützt (Stand Juni 2020, Samba 4.11.6)


==== Windows- und Posix-ACL ====
==== Windows- und Posix-ACL ====
Die cifs-UNIX-Extensions arbeiten mit [https://wiki.ubuntuusers.de/Rechte/ UNIX-Dateirechten] und verwenden zur Identifikation von Benutzern und Gruppen die numerischen Werte von UID und GID
* Windows kennt diese nicht und arbeitet statt dessen mit [https://de.wikipedia.org/wiki/Security%20Identifier SID] und eigenen [https://de.wikipedia.org/wiki/Access%20Control%20List ACL], die mit den in Ubuntu/Linux verwendeten [https://wiki.ubuntuusers.de/ACL/ POSIX-ACL] leider nicht identisch sind
* Deshalb ist eine Kommunikation mit Windows über die cifs-UNIX-Extensions grundsätzlich unmöglich


Die cifs-UNIX-Extensions arbeiten mit [https://wiki.ubuntuusers.de/Rechte/ UNIX-Dateirechten] und verwenden zur Identifikation von Benutzern und Gruppen die numerischen Werte von UID und GID. Windows kennt diese nicht und arbeitet statt dessen mit [https://de.wikipedia.org/wiki/Security%20Identifier SID] und eigenen [https://de.wikipedia.org/wiki/Access%20Control%20List ACL], die mit den in Ubuntu/Linux verwendeten [https://wiki.ubuntuusers.de/ACL/ POSIX-ACL] leider nicht identisch sind. Deshalb ist eine Kommunikation mit Windows über die cifs-UNIX-Extensions grundsätzlich unmöglich.
Wenn auf dem Linux-Dateisystem POSIX-ACL unterstützt werden (Standard in ext3 und ext4, optional in NTFS), dann kann Samba Windows-ACL in POSIX-ACL umwandeln und umgekehrt ("mappen")
 
* Damit können ab Samba 4.0 nun Samba-Freigaben auch von Windows-Clients aus administriert werden, was oft einfacher ist als die direkte Administration auf dem Server
Wenn auf dem Linux-Dateisystem POSIX-ACL unterstützt werden (Standard in ext3 und ext4, optional in NTFS), dann kann Samba Windows-ACL in POSIX-ACL umwandeln und umgekehrt ("mappen"). Damit können ab Samba 4.0 nun Samba-Freigaben auch von Windows-Clients aus administriert werden, was oft einfacher ist als die direkte Administration auf dem Server.


==== WINS ====
==== WINS ====
 
Bei WINS handelt es sich um den "Windows Internet Naming Service" und damit um die Implementierung von NetBIOS über TCP von Microsoft
Bei WINS handelt es sich um den "Windows Internet Naming Service" und damit um die Implementierung von NetBIOS über TCP von Microsoft. Auch wenn der Name anderes vermuten lässt, läuft dieser Dienst ausschließlich lokal. Viele Informationen und weitere Details enthält der Artikel [https://wiki.ubuntuusers.de/Samba_Winbind/ Samba Winbind].
* Auch wenn der Name anderes vermuten lässt, läuft dieser Dienst ausschließlich lokal
* Viele Informationen und weitere Details enthält der Artikel [https://wiki.ubuntuusers.de/Samba_Winbind/ Samba Winbind]


=== Virtuelle Netzwerk-Dateisysteme ===
=== Virtuelle Netzwerk-Dateisysteme ===
Das ''CIFS vfs'' ist ein virtuelles Dateisystem in Linux, das den Zugang sowohl zu modernen SMBv3-Servern als auch zu älteren SMB(cifs)-Servern gestattet Es unterstützt alle Optionen des jeweiligen Protokolls (auch die cifs-UNIX-Extensions mit SMBv1 und die POSIX-Erweiterungen mit SMBv3, s.o.)
* Das dazugehörigen Mountprogramm ist [https://wiki.ubuntuusers.de/mount.cifs/ mount.cifs]
* Es ist im Paket '''cifs-utils''' enthalten


Das ''CIFS vfs'' ist ein virtuelles Dateisystem in Linux, das den Zugang sowohl zu modernen SMBv3-Servern als auch zu älteren SMB(cifs)-Servern gestattet Es unterstützt alle Optionen des jeweiligen Protokolls (auch die cifs-UNIX-Extensions mit SMBv1 und die POSIX-Erweiterungen mit SMBv3, s.o.). Das dazugehörigen Mountprogramm ist [https://wiki.ubuntuusers.de/mount.cifs/ mount.cifs]. Es ist im Paket '''cifs-utils''' enthalten.
Es gibt auch andere Netzwerk-Dateisysteme, mit denen man auf SMB-Freigaben zugreifen kann
 
* So verwenden z.&nbsp;B.&nbsp; die Dateimanager [https://wiki.ubuntuusers.de/Nautilus/ Nautilus], [https://wiki.ubuntuusers.de/Caja/ Caja] und [https://wiki.ubuntuusers.de/Thunar/ Thunar] oder das Tool [https://wiki.ubuntuusers.de/Gigolo/ Gigolo] nicht das ''CIFS vfs'', sondern das [https://wiki.ubuntuusers.de/gio_mount/ GVfs]
Es gibt auch andere Netzwerk-Dateisysteme, mit denen man auf SMB-Freigaben zugreifen kann. So verwenden z. B. die Dateimanager [https://wiki.ubuntuusers.de/Nautilus/ Nautilus], [https://wiki.ubuntuusers.de/Caja/ Caja] und [https://wiki.ubuntuusers.de/Thunar/ Thunar] oder das Tool [https://wiki.ubuntuusers.de/Gigolo/ Gigolo] nicht das ''CIFS vfs'', sondern das [https://wiki.ubuntuusers.de/gio_mount/ GVfs].


=== Active Directory ===
=== Active Directory ===
Das [https://de.wikipedia.org/wiki/Active_Directory Active Directory] (AD) ist ein [https://de.wikipedia.org/wiki/Verzeichnisdienst Verzeichnisdienst] der Firma Microsoft, der in mittleren und großen Windows-Netzwerken verwendet wird
* Die aktuelle Samba-Version 4 enthält eine vollständige Implementierung von Active Directory und kann damit auch in dieser Hinsicht einen Windows-Server vollständig ersetzen
* Ermöglicht wurde dies auch durch die Unterstützung, die das Samba-Projekt von Microsoft selbst erhalten hat


Das [https://de.wikipedia.org/wiki/Active_Directory Active Directory]® (AD) ist ein [https://de.wikipedia.org/wiki/Verzeichnisdienst Verzeichnisdienst] der Firma Microsoft, der in mittleren und großen Windows-Netzwerken verwendet wird. Die aktuelle Samba-Version 4 enthält eine vollständige Implementierung von Active Directory und kann damit auch in dieser Hinsicht einen Windows-Server vollständig ersetzen. Ermöglicht wurde dies auch durch die Unterstützung, die das Samba-Projekt von Microsoft selbst erhalten hat.
Die Konfiguration eines Samba-Servers als AD-Controller sprengt jedoch den Rahmen dieses Wiki
 
Die Konfiguration eines Samba-Servers als AD-Controller sprengt jedoch den Rahmen dieses Wiki.
 
== Links ==
 
=== Intern ===
 
* [https://wiki.ubuntuusers.de/Heimnetzwerk/ Heimnetzwerk] – Verschiedene Möglichkeiten, ein kleines privates Netzwerk einzurichten.
* [https://wiki.ubuntuusers.de/MS-Windows_Integration/ MS-Windows Integration] – Hinweise zum Parallel-Betrieb von Linux und Windows auf einem Rechner oder in einem Netzwerk.
* [https://wiki.ubuntuusers.de/HowTo/Samba-AD-Server_unter_Ubuntu_20.04_installieren/ Howto: Samba-AD-Server unter Ubuntu 20.04 installieren] - Samba-Server als "Active-Directory Domain-Controller" für eine Windows Domäne auf Ubuntu installieren
* [https://wiki.ubuntuusers.de/Internet_und_Netzwerk/ Internet und Netzwerk] – Wissenswertes zu Netzwerk- und Servertechnologien (Übersichtsseite).
* [https://wiki.ubuntuusers.de/gio_mount/ gio mount] – Freigaben mit gio mount einbinden als ''GVfs'' (nicht nur für SMB-Freigaben).
 
 
 
=== Extern ===
 
* [https://www.samba.org/samba/ Die englischsprachige Hauptseite des Samba-Teams] 🇬🇧
* [https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller Samba_AD_DC_HOWTO] 🇬🇧 - Samba Server als AD kompatibler Domain-Controller (ab Samba 4.0)
* [https://www.informatik-aktuell.de/betrieb/server/samba-4-als-domaincontroller-einrichten-und-verwalten.html Samba 4 als Domain Controller und Fileserver einrichten] 🇩🇪 - Artikel von Stefan Kania in "Informatik aktuell", 06/2014
* [https://techcommunity.microsoft.com/t5/storage-at-microsoft/stop-using-smb1/ba-p/425858 Stop Using SMB1] 🇬🇧 Ein Aufruf von Microsoft mit Erläuterungen
 
 


https://wiki.ubuntuusers.de/Samba/
[[Kategorie:Samba]]
</noinclude>

Aktuelle Version vom 19. Oktober 2024, 10:10 Uhr

Samba-Server - Kurzbeschreibung

Beschreibung

Der Name Samba leitet sich vom Netzwerkprotokoll SMB (Server Message Block) ab

  • Dieses wurde bereits 1983 von IBM entwickelt
  • Microsoft bezeichnete die 1996 überarbeitete Version SMBv1 mit CIFS
  • SMBv1 blieb lange Zeit Standard, obwohl bereits 2006 die Version SMBv2 und dann 2012 die Version SMBv3 (SMB3.0) veröffentlicht wurden
  • Die aktuelle Version von SMBv3 (SMB3.1.x) wurde 2015 mit Windows 10 eingeführt
  • Das Protokoll SMBv1 (CIFS) gilt inzwischen als veraltet, langsam und unsicher, wird aber leider immer noch verwendet

Mit Samba steht seit 1992 eine Implementation des SMB-Protokolls auch auf UNIX-Systemen (Linux etwas später) zur Verfügung

  • Ab Samba 3.6 (ab Ubuntu 14.04 LTS) wurden dann auch die Protokolle SMBv2 und SMBv3 schrittweise als Optionen nach Samba übernommen
  • Seit September 2017 ist nun auch in Samba SMBv3 Standard, und seit Samba 4.11 (ab Ubuntu 20.04 LTS) wird, wie auch in Windows 10, das Protokoll SMBv1 in der Grundeinstellung nicht mehr unterstützt

Samba kann als "Server" fungieren, um Daten (Ordner, Dateien, Festplatten, CD-Laufwerke usw.) mit anderen Rechnern im Netzwerk zu teilen

  • Dies wird auch als Einrichten von Freigaben bezeichnet
  • Gibt es eine SMB-Version, die sowohl auf dem Server als auch auf dem Client automatisch (d. h. ohne Einstellungen von Hand zu ändern) aktivierbar ist, so sollte der Samba-Server auf dem (Windows- oder Linux-) Client in der Netzwerkumgebung auftauchen
  • Von dort aus können die Freigaben temporär, d.h
  • für die jeweilige Sitzung, eingebunden werden
  • Alternativ lassen sich regelmäßig gebrauchte Freigaben auf dem Client auch statisch als Netzlaufwerke einbinden
  • Das Einrichten Allgemeiner Freigaben auf dem Server ist eine administrative Aufgabe und benötigt Root-Rechte
  • Damit aber jeder Benutzer seine eigenen Dateien auch ohne Root-Rechte im lokalen Netzwerk freigeben kann, wurde mit Samba 3.0.23 das Tool net usershare eingeführt
  • Dieses wird z. B.  von den Dateimanagern Nautilus und Dolphin verwendet

Samba dient aber auch dazu, um als "Client" auf Freigaben anderer Rechner zuzugreifen

  • Das in Ubuntu und Xubuntu standardmäßig eingerichtete Netzwerk-Dateisystem GVfs unterstützt neben einigen anderen Netzwerk-Diensten auch SMB-Freigaben
  • Mit dem GVfs kann man im Netzwerk vorhandene Server ermitteln ("browsen") und deren Freigaben temporär ins lokale Dateisystem einbinden
  • Dieses "Computer-Browsing" im Windows-Netzwerk verwendet zusätzliche Protokolle und Server
  • Das GVfs wird standardmäßig von den Netzwerk-Managern Nautilus, Thunar und anderen unterstützt
  • Außerdem gibt es für das GVfs ein spezielles graphisches Tool Gigolo
  • In ähnlicher Weise verwenden in Kubuntu die Dateimanager Dolphin und Konqueror einen KIO-Slave zum Einbinden von SMB-Freigaben

Für höhere Ansprüche kann für SMB zusätzlich noch ein spezielles Netzwerk-Dateisystem CIFS vfs installiert werden, das noch wesentlich mehr Optionen unterstützt

Samba kann auch Drucker freigeben und Windows-Clients bei der Einrichtung von Druckern unterstützen

  • Eine Alternative für die Freigabe von Druckern ist CUPS

Samba ist ein freies Programmpaket, das es ermöglicht, Microsoft-Windows-Funktionen wie die Datei- und Druckdienste unter anderen Betriebssystemen zu nutzen und die Rolle eines Domain Controllers anzunehmen

  • Es implementiert hierfür unter anderem das SMB/CIFS-Protokoll

Da die Software unter der GPL frei verfügbar ist, wird sie als Alternative zu Microsoft-Windows-Server-Betriebssystemen eingesetzt

Bestandteile

Bestandteile und grafische Benutzeroberflächen

Samba besteht aus einer Reihe von einzelnen Modulen, die der grundlegenden Funktion sowie der Konfiguration dienen

Die Kernmodule sind die Daemons samba (Active-Directory-Emulation ab Version 4), smbd (Datei- und Druckerfreigabe), nmbd (NetBIOS-Namensauflösung) und winbindd (Benutzer-/Gruppen-Zuordnung)

Für die Konfiguration von Samba existieren eine Reihe von GUIs, beispielsweise

Verbreitung

Fast alle Linux-Distributionen enthalten Samba und bieten damit Zugriff auf Dateifreigaben in gemischten Netzwerken, in denen z. B.  auch Windows eingesetzt wird

  • Auch in homogenen Unix-Netzwerken wird Samba, und damit das SMB-Protokoll, häufig statt des NFS-Protokolls eingesetzt

Zusätzlich ist Samba oft Bestandteil weiterführender Hard- (z. B.  NAS) und Software-Produkte, die die Installation, Konfiguration und Verwaltung der Software erleichtern und deren Hersteller außerdem oft kommerzielle Unterstützung anbieten.

Zugang zur Protokolldokumentation

In den frühen 1990er-Jahren hatten Microsoft und das Samba-Team eine produktive Beziehung, bei der Schnittstellendaten ausgetauscht wurden. Dies änderte sich jedoch mit einer neuen Schnittstellen-Politik Microsofts ab Windows 95

  • Am 20. Dezember 2007 jedoch wurde zwischen Microsoft und der „Protocol Freedom Information Foundation“ (PFIF) auf Anordnung der Europäischen Union ein Abkommen geschlossen, welches Microsoft verpflichtet, alle nötigen Informationen über „Microsoft Work Group Server“ bereitzustellen, um mit diesem vollständig kommunizieren zu können
  • Das Abkommen sieht vor, dass diese Informationen nur der PFIF und den Samba-Entwicklern zugänglich sind
  • Dafür erlaubt das Abkommen auch die Veröffentlichung des Quelltextes von Implementierungen dieser Schnittstellen, so dass die Schnittstellen so indirekt offengelegt werden
  • Patente sind von dem Abkommen allerdings nicht betroffen

Vorlage:Zitat

Als Ausdruck eines inzwischen wieder entspannteren Verhältnisses zwischen Microsoft und dem Samba-Projekt kann auch gelten, dass Microsoft-Mitarbeiter sich 2011 erstmals aktiv an der Samba-Entwicklung beteiligten.

Sicherheit

Im Folgenden sind einige wesentliche geschlossene Sicherheitslücken von Samba angeführt

  • Im Jahr 2010 wurde bekannt, dass einige Versionen bis hin zu Samba 3.6.3 über den anonymen Gastzugriff mittels Remote Procedure Calls (RPC) Zugang zum Root-Konto erlaubten.
  • Im Mai 2017 wurde bekannt, dass ähnliche Sicherheitsprobleme wie bei Windows-Betriebssystemen, welche in Form von WannaCry ausgenutzt werden konnten, auch bei Samba bestanden. Bei diesem Fehler, welcher in Anlehnung als SambaCry bezeichnet wird, war es möglich, injizierten Schadcode am betreffenden Samba-System auszuführen
  • Der Fehler betraf alle Samba-Versionen ab der Version 3.5.0 bis zu der im Mai 2017 aktuellen Version 4.6.4. Dieser Fehler ist vor allem bei NAS-Systemen, welche üblicherweise auf Samba aufsetzen, kritisch
  • Die Problematik wird verstärkt, wenn das Samba-System von extern zugänglich ist und nicht alle Hersteller für ihre proprietären NAS-Systeme entsprechende Updates für die Fehlerbehebung anbieten oder diese Updates vom Besitzer in Unkenntnis der Problematik nicht eingespielt werden.

Samba 4

Seit Ubuntu 14.04 LTS sind statt der bisherigen Versionen 3.xx nach einer sehr langen Vorbereitungsphase ausschließlich Samba-Versionen 4.xx in den Paketquellen enthalten

  • Die sicher wichtigste Neuerung in Samba 4.0 ist, dass nun ein Samba Server in einem Windows-Netzwerk uneingeschränkt auch die Funktion eines zum Microsoft Active Directory® (AD) kompatiblen Domain Controllers (DC) übernehmen kann
  • Dies ist jedoch nur für die Administration von komplexen, größeren Netzwerken von Bedeutung
  • Da diese Thematik sehr gründliche Vorkenntnisse und Einblicke in die Struktur von Windows-Netzwerken verlangt, übersteigt sie den Rahmen dieses Wiki
  • Für Interessenten befinden sich am Ende dieses Artikels Links zu weiterführender Literatur
Hinweis

Die Funktionen "Server" und "Client" sind in Samba nicht streng nach Rechnern getrennt

  • Der gleiche Rechner kann als Server Freigaben für andere Rechner bereitstellen und gleichzeitig auch als Client auf Freigaben anderer Server zugreifen

Die Bezeichnung "Server" bedeutet in diesem Zusammenhang also nicht, dass sich die Ausführungen nur auf eine Server-Version von Ubuntu beziehen

Installation

Anwendung

Problembehebung

Konfiguration

Dateien

Anhang

Siehe auch

Dokumentation

Samba-Server/Dokumentation

Links

Projekt
Weblinks

TMP

Grundlagen und Begriffe

Freigaben

Dienste, die über das SMB-Protokoll im Netzwerk verteilt werden, nennt man Freigaben

  • Damit ist in der Regel der Zugriff auf Dateien und Ordner im lokalen Netzwerk gemeint
  • Aber auch Drucker können freigegeben werden

Allgemeine Freigaben

"Allgemeine Freigaben" (nicht zu verwechseln mit "Öffentliche Freigaben" mit erlaubtem Gast-Zugriff) werden durch einen Eintrag in die Datei /etc/samba/smb.conf mit Root-Rechten erstellt

Persönliche Freigaben

Samba bietet mit dem Werkzeug net usershare auch gewöhnlichen Benutzern der Gruppe sambashare die Möglichkeit, für eigene Dateien und Ordner ohne Root-Rechte "Persönliche Freigaben" einzurichten (nicht zu verwechseln mit "Geschützte Freigaben", auf die nur mit Benutzername und Kennwort zugegriffen werden kann)

  • Verschiedene Dateimanager verwenden net usershare, um Ordner und Dateien freizugeben

Netzwerk-Protokolle

SMB

SMB ist ein auf NetBEUI/NetBIOS oder TCP/IP aufbauendes Protokoll, um Dienste im Netzwerk zu Verfügung zu stellen

  • Es wurde ursprünglich von der Firma IBM entwickelt und bildet auch die Grundlage für neuere Samba-Versionen

SMBv1 (CIFS)

Bereits im Jahre 1996 wurde SMB von Microsoft erweitert und in CIFS (Common Internet File System) umbenannt

  • Das Protokoll SMBv1 (CIFS) wurde von Windows-xp ff
  • und von den Samba-Versionen 3.xx langezeit ausschließlich verwendet
  • Heute gilt SMBv1 als unsicher
  • Die Bezeichnung CIFS erscheint aber immer noch im Namen verschiedener Samba-Bibliotheken (z. B.  cifs-utils), die sich auch für neuere SMB-Versionen eignen
  • Seit Samba 4.11 (seit Ubuntu 20.04 LTS wird SMBv1 in der Standard-Einstellung nicht mehr unterstützt

SMBv2

Beim Protokoll SMBv2 (Windows ab vista) wurde nicht nur die Performance verbessert (z. B.  höhere Übertragungs-Geschwindigkeit)

  • Es bietet auch eine bessere Sicherheit
  • Einige Optionen fielen deshalb weg
  • So wird mit SMBv2 vom Server z. B.  keine Freigaben-Liste mehr angeboten
  • Ab Version 3.6.0 bietet Samba neben SMBv1 optional auch das Protokoll SMBv2 an

SMBv3

Unter den zahlreichen neuen Optionen von SMBv3 ist wohl die "Ende-zu-Ende-Kryptografie" die wichtigste

  • Durch diese wird die Sicherheit wesentlich erhöht
  • In Windows-10 ist SMBv3 nun Standard
  • Samba bietet dieses Protokoll ab der Version 4.1 an (veröffentlicht Oktober 2013, Ubuntu ab Ubuntu 14.04 LTS)
  • Bis Version 4.6 (bis September 2017) blieb aber SMB1 die Standard-Einstellung
  • Seither ist nun das höchste unterstützte Protokoll Standard

Die cifs-UNIX-Extensions (gültig für SMBv1)

Um das CIFS-Protokoll auch für reine UNIX- bzw

  • Linux-Netze neben NFS zu einer vollwertigen Alternative zu machen, wurden von Hewlett-Packard die cifs UNIX Extensions (CIFS-UNIX-Erweiterungen) eingeführt
  • Schon seit der Samba-Version 2.2.4 (Mai 2002) stehen sie als Erweiterung des Protokolls SMBv1 (cifs) auch in Linux zur Verfügung
  • Wegen einiger Sicherheits-Lücken wurden sie aber für das nachfolgende Protokoll SMBv2 nicht übernommen

Mit den "cifs-UNIX-Extensions" werden im Einzelnen unterstützt:* Übertragung von Besitz- und Zugriffsrechten über UID und GID

Um die cifs-UNIX-Extensions nutzen zu können, müssen die Freigaben auf dem Client mit dem CIFS vfs (nicht GVfs!) eingebunden sein oder über ein Terminal mittels smbclient angesprochen werden

Hinweis:

Die ursprünglich für das Protokoll SMBv1 entwickelten UNIX Erweiterungen unterstützten die POSIX-ACL nicht und erwiesen sich zudem als unsicher

  • Deshalb wurden sie nicht in das Nachfolge-Protokoll SMBv2 übernommen
  • Eine völlige Neubearbeitung, die neben den UNIX-Dareirechten auch die POSIX-ACL und Windows-ACL unterstützt, wurde unter der Bezeichnung POSIX Extensions ab SMB 3.1.1 ins Protokoll übernommen
  • Die POSIX Extensions werden derzeit von Windows (Server und Client) und vom CIFS vfs (Client), aber leider noch nicht von Samba als Server unterstützt (Stand Juni 2020, Samba 4.11.6)

Windows- und Posix-ACL

Die cifs-UNIX-Extensions arbeiten mit UNIX-Dateirechten und verwenden zur Identifikation von Benutzern und Gruppen die numerischen Werte von UID und GID

  • Windows kennt diese nicht und arbeitet statt dessen mit SID und eigenen ACL, die mit den in Ubuntu/Linux verwendeten POSIX-ACL leider nicht identisch sind
  • Deshalb ist eine Kommunikation mit Windows über die cifs-UNIX-Extensions grundsätzlich unmöglich

Wenn auf dem Linux-Dateisystem POSIX-ACL unterstützt werden (Standard in ext3 und ext4, optional in NTFS), dann kann Samba Windows-ACL in POSIX-ACL umwandeln und umgekehrt ("mappen")

  • Damit können ab Samba 4.0 nun Samba-Freigaben auch von Windows-Clients aus administriert werden, was oft einfacher ist als die direkte Administration auf dem Server

WINS

Bei WINS handelt es sich um den "Windows Internet Naming Service" und damit um die Implementierung von NetBIOS über TCP von Microsoft

  • Auch wenn der Name anderes vermuten lässt, läuft dieser Dienst ausschließlich lokal
  • Viele Informationen und weitere Details enthält der Artikel Samba Winbind

Virtuelle Netzwerk-Dateisysteme

Das CIFS vfs ist ein virtuelles Dateisystem in Linux, das den Zugang sowohl zu modernen SMBv3-Servern als auch zu älteren SMB(cifs)-Servern gestattet Es unterstützt alle Optionen des jeweiligen Protokolls (auch die cifs-UNIX-Extensions mit SMBv1 und die POSIX-Erweiterungen mit SMBv3, s.o.)

  • Das dazugehörigen Mountprogramm ist mount.cifs
  • Es ist im Paket cifs-utils enthalten

Es gibt auch andere Netzwerk-Dateisysteme, mit denen man auf SMB-Freigaben zugreifen kann

Active Directory

Das Active Directory (AD) ist ein Verzeichnisdienst der Firma Microsoft, der in mittleren und großen Windows-Netzwerken verwendet wird

  • Die aktuelle Samba-Version 4 enthält eine vollständige Implementierung von Active Directory und kann damit auch in dieser Hinsicht einen Windows-Server vollständig ersetzen
  • Ermöglicht wurde dies auch durch die Unterstützung, die das Samba-Projekt von Microsoft selbst erhalten hat

Die Konfiguration eines Samba-Servers als AD-Controller sprengt jedoch den Rahmen dieses Wiki