ubuntuusers.de

smb.conf

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Ausbaufähige Anleitung

Dieser Anleitung fehlen noch einige Informationen. Wenn Du etwas verbessern kannst, dann editiere den Beitrag, um die Qualität des Wikis noch weiter zu verbessern.

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Samba_Server/samba-logo.png Seit Ubuntu 14.04 LTS sind statt der bisherigen Versionen 3.xx ausschließlich Samba-Versionen 4.xx in den Paketquellen enthalten. Seither kann ein Samba-Server entweder als eigenständiger "Stand-Alone-Server" oder aber als ein zum Microsoft Active Directory® (AD) kompatibler Domain Controller (DC) installiert werden.

Hinweis:

Dieser Artikel bezieht sich nicht auf die Einrichtung eines AD-DC Controllers. Dies geschieht auf ganz andere Weise. Hierfür wird auf das Samba-Wiki 🇬🇧 verwiesen.

Das Kernstück jeder klassischen Samba-Installation ist die in diesem Artikel beschriebene Konfigurationsdatei /etc/samba/smb.conf. Über diese lässt sich Samba[4] sehr umfangreich und detailliert einrichten. Die meisten der Einträge beziehen sich auf einen eigenständigen Samba-Server; einige davon sind aber auch für Samba-Clients von Bedeutung. Der Aufbau dieser Konfigurationsdatei wurde fast unverändert von der Samba Version 3 in die Version 4.xx übernommen.

Die Datei smb.conf teilt sich in mehrere Sektionen und muss mit einem Editor[2] mit Root-Rechten[3] bearbeitet werden. Die graphischen Hilfsprogramme system-config-samba, gadmin samba und das WEB-Interface Swat sind veraltet und sollten nicht mehr verwendet werden.

Das Grundformat der Datei entspricht den benannten INI-Dateien mit Abschnittsüberschriften in eckigen Klammern [] und Spezifikationen in der Form "Schlüsselwort = Wert". Als Besonderheiten kennt Samba auch Schlüsselworte mit Leerzeichen, man darf Einzüge verwenden und die Schlüsselworte ignorieren Groß-Kleinschreibung.

Hinweis:

Bei der Installation von Samba wird automatisch eine Kopie der Standard-Konfigurationsdatei unter /usr/share/samba/smb.conf abgelegt. Diese kann bei Bedarf von dort zurück kopiert werden, um den Ausgangszustand wieder herzustellen.

Ohne Anspruch auf Vollständigkeit werden im folgenden die wichtigsten Optionen - die man normalerweise beachten muss, um einen Samba-Server einzurichten - erklärt. Grundlagen sind dem Artikel Samba Server zu entnehmen, weitere Details zu den verfügbaren Optionen sind über den Abschnitt Links zu finden.

Die Gesamtheit aller Einstellungen einschließlich der Standardwerte erhält man im Terminal mit dem Befehl testparm -vs, der Übersicht halber gezielt auf eine Zeichenfolge ausgerichtet.

Beispiel:

testparm -vs | grep usershare 

Aufbau der Datei smb.conf

Hinweis:

Kommentare in der /etc/samba/smb.conf sind Zeilen, welche mit "#" oder ";" beginnen; was hinter diesem Zeichen steht, wird von Samba ignoriert. Viele Einstellungen sind unter Ubuntu standardmäßig auskommentiert; es genügt in der Regel, diese Kommentarzeichen zu entfernen, um eine bestimmte Funktion zu nutzen.

Globale Einstellungen

In der globalen Sektion werden die allgemeinen Einstellungen und Sicherheitsoptionen festgelegt. Üblicherweise müssen nur wenige Werte angepasst werden. Die globale Sektion beginnt mit

1
[global]

Grundeinstellungen

1
2
  workgroup = Arbeitsgruppe
  server string = %h server (Samba, Ubuntu)

Hierbei gibt der Parameter workgroup die Arbeitsgruppe bzw. Domäne an. Prinzipiell ist er frei wählbar, aber bei der Benennung sollte auf deutsche Umlaute und Leerzeichen verzichtet sowie nicht mehr als 11 Zeichen verwendet werden. Die Vorgabe „Arbeitsgruppe“ sollte man unbedingt auf einen selbst gewählten Namen ändern, da sonst schlecht konfigurierte Windows-Rechner als Gäste im Netzwerk Störungen verursachen können.

Der Parameter server string steht für den Rechnernamen und ist ebenfalls frei wählbar. Allerdings sollte auch hier auf deutsche Umlaute verzichtet werden. Die Länge des über die Variable %h übergebenen Rechnernamens darf höchstens 15 Byte betragen.

Protokolle

Seit Samba 3.6 steht nun optional auch SMBv2 und seit Samba 4.1 auch SMBv3 als Netzwerk-Protokoll zur Verfügung. Bis Samba 4.6 (bis September 2017) blieb aber SMBv1 Standard; seither ist das höchste verfügbare Protokoll Standard. Seit Samba 4.11 (Ubuntu 20.04 LTS) wird nun sowohl für Server als auch für Clients das Protokoll SMBv1 in der Grundeinstellung nicht mehr unterstützt. Es gilt als veraltet, langsam und unsicher.

Den Rahmen für die unterstützten Protokolle legen folgende Zeilen im Teil [global] fest:

Beispiel (Grundeinstellung in Ubuntu 20.04 LTS):

1
2
3
4
  client max protocol = default
  client min protocol = SMB2_02
  server max protocol = SMB3
  server min protocol = SMB2_02

Etwas überraschend ist, dass hier auch Einstellungen für den Samba-Client über die Datei smb.conf vorgenommen werden. Eine solche ist auf einem Client nicht unbedingt vorhanden. Nötigenfalls muss für die Einträge mittels

sudo touch /etc/samba/smb.conf 

eigens eine leere Datei angelegt werden.

Eine Verbindung zwischen Server und Client ist nur dann möglich, wenn sich deren Protokoll-Bereiche überlappen. Bei einer Verbindungs-Anfrage wird automatisch das höchstmögliche Protokoll ausgewählt.

Achtung!

Das Protokoll SMBv1 (cifs, NT1) ist veraltet. Es ist schwerfällig und unsicher und sollte deshalb nicht mehr verwendet werden. Ab Windows 10 bzw. Ubuntu 20.04 wird es standardmäßig nicht mehr unterstützt.

WINS Support

1
2
  wins support = no
  wins server = 192.168.1.1

Wichtig ist auch die Angabe, ob der Rechner als "WINS-Server" fungiert oder einen anderen Rechner als WINS-Server nutzen soll. WINS (Windows Internet Name Service) ist ein von Microsoft entwickeltes System zur dynamischen Auflösung von NetBIOS-Namen.

Standardmäßig ist die WINS-Unterstützung von Samba unter Ubuntu deaktiviert.

Um Samba als WINS-Server zu betreiben, genügt es wins support auf yes zu setzen. Soll Samba ein WINS-Client sein, müssen wins support auf no sowie wins server auf die IP vom WINS-Server gesetzt werden.

Hinweis:

Besitzt man einen Rechner mit einem Windows-Server-Betriebssystem (also z.B. Windows 2016 bzw. 2019 Server), so sollte man diesen als WINS-Server nutzen. Ist der Samba-Server jedoch der einzige Rechner im Netz, der permanent betrieben wird, so sollte man die Funktion als WINS-Server mit wins support = yes aktivieren.

Es ist dringend angeraten, in einem Netzwerk nur einen WINS-Server zu betreiben. Die Einstellung wins support = yes sollte daher nur auf einem einzigen Rechner gesetzt werden!

Mehr zum Thema Samba als WINS-Server findet sich in der Dokumentation 🇩🇪 .

Auch wenn im Netzwerk kein WINS-Server aktiv ist, versuchen Samba-Clients schrittweise auf verschiedenen Wegen, Netbios-Namen aufzulösen. Eventuell ist es nötig, auf den einzelnen Clients die Reihenfolge, in der dies geschieht, über die Option name resolve order anzupassen. Standardmäßig ist

1
  name resolve order = lmhosts host wins bcast

eingestellt. Wer keinen WINS-Server im Netzwerk hat, kann das Zueiverhalten bei Namensauflösung verbessern, indem man wins (und eventuell auch lmhosts) aus dieser Einstellung entfernt.

Benutzerauthentifizierung

Der Parameter security von Samba 3.xx wird in Samba 4 normalerweise nicht mehr von Hand verändert. Die Standard-Einstellung ist

security = auto

Damit wird security automatisch an die Einstellung von server role angepasst. Hier sind zwei Werte von Interesse:

standalone server Standard-Einstellung; entspricht dem bisherigen security = user
member server entspricht dem bisherigen security = domain

Verschlüsselte Passwörter sind durch encrypt passwords = true standardmäßig aktiviert.

Mit valid users bzw. invalid users kann man optional festlegen, welche Benutzer sich (nicht) anmelden dürfen. Diese Festlegungen sind sowohl global, aber auch individuell für jede Freigabe möglich. Die Angaben im Abschnitt [global] gelten nur dann, wenn im Abschnitt der jeweiligen Freigabe nichts anderes festgelegt wird.

Hinweis:

Mit Name und ggf. Passwort dürfen sich bei Samba nur Benutzer anmelden, für welche auch ein Samba-Account mittels smbpasswd eingerichtet wurde!

Gast-Zugang

Samba kann auch "Gästen", die nicht in der Benutzer-Datenbank eingetragen sind, den Zugang ohne Passwort gestatten. Standardmäßig ist der Gast-Zugang auf dem Samba-Server deaktiviert. Das gleiche gilt auch für Windows-Clients seit Windows 10 Version 1709. Diese erlauben keinen Zugriff auf anonyme Freigaben ohne Eingriff in die Windows-Registry 🇩🇪. Linux-Clients können aber weiterhin als Gast auf den Samba-Server zugreifen.

Auf durch eine der folgenden Zeilen gekennzeichnete Freigaben kann auch ohne Anmeldung mit Benutzername und Passwort zugegriffen werden (Gast-Zugang):

1
2
  public = yes
  guest ok = yes

Welchen Benutzern der Gast-Zugang erlaubt ist, legt die Option map to guest fest. Die Zeile

1
  map to guest = bad user

bewirkt, dass jeder Benutzer, der auf dem Server einen System-Account, aber keinen eigenen Samba-Account hat, als Gast zugreifen darf. Die Zeile

1
  guest account = nobody

legt fest, mit welcher Identität Gäste dann zugreifen. Der (Unix-) Benutzer nobody ist auf jedem Ubuntu-System standardmäßig eingerichtet und wird auch von Windows verwendet.

Achtung!

Der Gast-Zugang stellt immer ein gewisses Sicherheitsrisiko dar und sollte ausschließlich in Netzwerken geschehen, bei denen man sicher ist, dass kein Missbrauch mit den freigegebenen Daten möglich ist.

Bei Rechnern, die abwechselnd mit verschiedenen Netzwerken verbunden werden (z.B. Laptops) wird dringend empfohlen, auf den Gast-Zugang zu verzichten.

cifs UNIX Extensions

Dieser Abschnitt gilt nur bei Verwendung des veralteten Protikolls SMBv1 bzw. NT.

Im inzwischen veralteten Protokoll SMBv1 (cifs) gab es früher die cifs-UNIX-Extensions, um UNIX-Dateirechte und Dateiattribute zwischen Samba-Server und Unix (Linux) Client zu übertragen. Diese erwiesen sich jedoch als besonderes Sicherheitsrisiko des auch sonst recht unsicheren Protokolls SMBv1 und wurden deshalb in die nachfolgenden Protokolle SMBv2 und SMBv3 nicht übernommen. Da das Protokoll SMBv1 heute standardmäßig deaktiviert ist, spielt es keine Rolle mehr, ob unix extensions = yes oder = no gesetzt ist.

Windows-ACLs

Dieser Abschnitt gilt ab Samba 4.0.

Seit der Version 4.0 (Ubutu 14.04 mit Samba 4.1.6) kann Samba auch zusammen mit Dateien und Ordnern deren Dateirechte übertragen. Dies geschieht in Form von Windows- (NT-) ACLs. Damit diese möglichst vollständig (ähnlich wie bei einem Windows-Server) übertragen werden, sind folgende Einstellungen im Teil [global] von smb.conf nötig:

1
2
3
4
5
   ea support = yes           # erweiterte Attribute zulassen 
   vfs objects = acl_xattr    # und solche für ACLs verwenden
   map acl inherit = yes      # Windows-ACL-Vererbung übernehmen
   store dos attributes = yes # auch DOS-Attribute übernehmen
   nt acl support = yes       # ist heute Standard

Voraussetzung dafür, dass diese Einstellungen wirksam sind, ist dass diese vom Dateisystem des Client unterstützt werden (NTFS, aber kein FAT-32 oder exFAT) und das das Dateisystem des Servers POSIX-ACL unterstützt (dies ist bei Ubuntu in ext3 und ext4 Standard). Microsoft empfiehlt, dann die Freigaben über Windows-Dialogfenster vom (Windows-) Client aus zu konfigurieren und zu verwalten. Die in der smb.conf bei den einzelnen Freigaben eingetragenen Zugriffsrechte sind dann nur noch der Rahmen, in dem die genaue Konfiguration der Freigabe vom Windows-Client aus vorgenommen werden kann. Sie sollten deshalb entsprechend großzügig festgelegt sein, z.B.

1
2
   create mask = 0660
   directory mask = 0770

Experten-Info:

Da sich POSIX-Dateirechte und Windows-ACL nicht völlig deckungsgleich ineinander abbilden lassen, ist eine (nahezu) vollständige Berücksichtigung aller in Windows-ACLs möglicher Angaben durch Samba nur dann möglich, wenn das Dateisystem des (Linux-)Servers POSIX-ACLs unterstützt und mit der zusätzlichen Mount-Option user_xattr eingebunden ist.

SMB-3 POSIX Extensions

Dieser Abschnitt gilt Samba 4.20.

Auch UNIX-Dateirechte können zwischen dem Samba-Server und Linux-Clients übertragen werden. Dies geschah bisher (vor Samba 4.23) standardmäßig dadurch, dass diese auf Windows-ACL übertragen (gemappt) wurden, was aber nur unvollkommen möglich ist. Die Benutzer-Kennungen SID (Windows) und UID (Linux) wurden mittels winbind aufeinander abgebildet, was für Gruppen problematisch ist. Spezielle Linux-Attribute (wie z.B. Symlink) gehen dabei verloren.

Die ab SMB-3.1.1 verfügbaren POSIX-Extensions (oft auch in Anlehnung an die früheren cifs-Extensions UNIX Extensions genannt) erlauben es nun, dass UNIX-Dateirechte und POSIX-ACLs sowie Linux-Dateiattribute ohne Mapping auf Windows-Rechte und -Attribute direkt und vollständig über Samba übertragen werden. Da beide Seiten als Kennung für Benutzer und Gruppen UID kennen, wird kein winbind benötigt. Man muss lediglich darauf achten, dass die UID auf dem Server und den Linux-Clients übereinstimmen. Dies entspricht weitgehend dem Verfahren von NFS. Einen Dienst für das automatische Mappen voneinander abweichender UID (wie z.B. nfsmapid bei NFS) bietet Samba jedoch nicht (Stand 2026).

Experimentell sind die POSIX Extensions ab Kernel 5.15 und Samba 4.12 verfügbar. Ab Kernel 6.3.xx (Ubuntu 24.04) und Samba 4.20 gelten die Extensions als stabil. Bis einschließlich Samba 4.22 muss dafür

1
smb3 posix extensions = yes

in der Datei smb.conf eingtragen werden. Ab Samba 4.23 sind sie standardmäßig aktiviert. Sie werden nur von Clients erkannt, die mit der Option Posix gemountet sind. Das GVfs arbeitet bisher (Stand 2026) nicht mit den POSIX Extensions zusammen.

Hinweis:

Die POSIX-Extensions funktionieren nur, wenn SMBv1 (nt1) komplett deaktiviert ist und zwischen Server und Client mindestens SMB-3.1.1 ausgehandelt wird.

Ohne die SMB-3 POSIX Extensions konnten Linux-Dateiattribute, somit auch Symbolische Verknüpfungen (Symlinks) nicht als solche mittels Samba übertragen werden. Es war nur möglich, sie auf dem Server aufzulösen und dann ihren Inhalt zu übertragen. Auf dem Client erschienen sie dann als gewöhnliche Ordner oder Dateien. Dies wurde durch folgende Einträge in der Datei smb.conf ermöglicht:

1
2
3
unix extensions = no   # überflüssig, wenn SMBv1 deaktiviert ist
follow symlinks = yes  # für Symlink-Ziele innerhalb der Freigabe
wide links = yes       # für Symlink-Ziele außerhalb der Freigabe

Ohne wide links = yes werden nur Symlinks erlaubt, deren Ziel innerhalb der betreffenden Freigabe liegt, mit wide links = yes auch alle anderen. Generell ist jede Verlinkung zu einem Ziel außerhalb der Freigabe vom Verwalter des Servers als Sicherheitsrisiko zu behandeln und abzusichern.

Seit Samba 4.20 können nun mit den SMB-3 POSIX Extensions auch Linux-Dateiattribute und damit auch Symlinks als solche unaufgelöst übertragen werden, sodass sie auf dem Client wie auf dem Server als Verknüpfungen erscheinen. Hierfür muss jedoch dann

1
follow symlinks = no

gesetzt sein, damit sie nicht schon vorher auf dem Server aufgelöst werden. Generell sollten aber bei diesem Verfahren nur relative Symlinks verwendet werden, da absolute auf der Gegenseite meist ins Leere zeigen. Windows-Clients erkennen Linux-Symlinks gar nicht, sodass für diese nur das herkömmliche Verfahren der Auflösung auf dem Server in Frage kommt.

Hardlinks werden in Linux und Windows gleichermaßen verwendet und gegenseitig anerkannt. Sie haben allerdings den Nachteil, dass sie nur für Dateien und nicht auch für Ordner möglich sind. Sie können über Samba mit den gleichen Einschränkungen wie im lokalen Dateisystem verwendet werden. Bei Freigaben mit Schreibrechten ist allerdings zu beachten, dass es vor allem in Windows (aber nicht nur dort) einige Programme gibt, die beim Schreiben eine temporäre Datei verwenden und dabei die Inode verändern, was den Hardlink in zwei unabhängige Dateien aufbricht ("Atomic Write").

Zeit-Synchronisation

1
  time server = yes

Damit ist es möglich das Windows Clients ihre Zeit mit der vom Samba Server abgleichen. (Ähnlich dem NTP Verfahren)

Testen kann man es unter Windows mit:

net time \\192.168.xxx.xxx /set /yes 

(IP Adresse muss natürlich angepasst werden.)

Usershare-Vorgaben

Samba erlaubt es auch gewöhnlichen Benutzern, die der Gruppe sambashare angehören, über net usershare ihre eigenen Dateien ohne Root-Rechte freizugeben.

Mit net usershare erstellte Persönliche Freigaben erscheinen nicht in der Datei smb.conf und werden dort auch nicht konfiguriert. Die allgemeinen Bedingungen für solche persönlichen Freigaben werden aber hier festgelegt:

1
2
3
4
5
6
7
8
# Der Eigentümer darf auch Anderen den Zugriff auf seine Freigaben gestatten.
  usershare allow guests = Yes
# Maximalzahl für persönliche Freigaben (100 = Default; 0 = gar keine).
  usershare max shares = 100
# Der Benutzer darf nur Dateien freigeben, deren Eigentümer er ist.
  usershare owner only = Yes
# In diesem Ordner werden persönliche Freigaben eingetragen.
  usershare path = /var/lib/samba/usershares

Mit folgenden Optionen können bestimmte Pfade für persönliche Freigaben zugelassen bzw. von diesen ausgeschlossen werden:

1
2
  usershare prefix allow list
  usershare prefix deny list

Die Pfade müssen absolut angegeben werden. Durch die Angabe null als Pfad werden die Optionen deaktiviert (Default).

Da die möglichen Parameter beim Erstellen persönlicher Freigaben bei Weitem nicht alle in Samba möglichen Optionen abdecken, kann in der Datei smb.conf eine Muster-Freigabe für persönliche Freigaben festgelegt werden. Diese wird dann durch folgende Zeile als für alle persönlichen Freigaben sämtlicher Benutzer verbindliche Vorgabe festgelegt:

1
  usershare template share = VORLAGE

VORLAGE kann entweder eine wirklich vorhandene, in smb.conf eingetragene Freigabe sein, oder eine mit der Option -valid = no deaktivierte "Schein-Freigabe". Ist für VORLAGE der Wert null eingetragen (Default), so wird keine Muster-Freigabe verwendet.

Druckerfreigaben

Automatische Druckerfreigabe

Neuere Windows-Versionen können über das IPP-Protokoll auf einen Linux-Drucker über CUPS zugreifen. Man kann aber mit Samba auch Drucker für Windows-Clients zur Verfügung stellen. Die nötigen Optionen sind im Abschnitt [printers] definiert:

1
2
3
4
5
6
7
8
[printers]
   comment = All Printers
   browseable = no
   path = /tmp
   printable = yes
   public = no
   writable = no
   create mode = 0700

Dieser Abschnitt ist nach der Installation des Servers automatisch aktiv. Möchte man keine Drucker freigeben, so sollte man den Eintrag auskommentieren. Ausführliche Dokumentationen zum Thema Samba und Druckerfreigaben finden sich wieder in der Dokumentation 🇩🇪 .

Hinweis:

Laut diesem Forenbeitrag kann es zu Problemen mit manchen Windowsprogrammen kommen, welche eine andere Zugriffsmethode auf den Drucker verwenden; insbesondere sei hier der Adobe Reader genannt. Als provisorische Lösung kann man den Parameter browseable auf yes setzen.

Dateifreigaben

Dateifreigaben, die durch einen Eintrag in smb.conf systemweit eingerichtet werden, nennt man im Gegensatz zu den mittels net usershare eingerichteten Persönlichen Freigaben auch Administrative Freigaben.

Heimatverzeichnisse

Sind auf dem Server im Systemordner /home/ Heimatverzeichnisse für die einzelnen Benutzer eingerichtet, so können alle diese durch einen einzigen Eintrag in der Sektion [homes] freigegeben werden. Die dafür nötigen Einstellungen sind schon vorbereitet. Um diese kollektive Freigabe aller Heimatverzeichnisse zu aktivieren, muss man nur alle Semikolons ";" vor den Einträgen entfernen.

1
2
3
4
5
6
7
[homes]
  comment = Home Directories
  browseable = no
  valid users = %S
  writeable = yes
  create mode = 0600
  directory mode = 0700

Die Heimverzeichnisse werden unter dem Namen des jeweiligen Benutzers freigegeben, aber wegen browseable = no nicht im Netzwerk angezeigt. Wegen valid users = %S hat nur der Benutzer mit dem passenden Namen Zugriff; andere Benutzer können die Freigabe weder sehen, noch lesen, noch schreiben. Wegen create mode = 0600 und directory mode = 0700 hat bei neu angelegten Dateien und Ordnern auch auf dem Server selbst nur der betreffende Benutzer Zugriffsrechte.

Die Sektion [homes] stellt vor allem für Systeme mit vielen Benutzern gegenüber einzelnen Freigaben eine erhebliche Vereinfachung dar.

Einzelne Freigaben

Anschließend werden die einzelnen Freigaben eingetragen. Eine Freigabe setzt sich aus dem Freigabenamen in eckigen Klammern – also [Beispielfreigabe] – und den danach folgenden Optionen zusammen. Die graphischen Oberflächen zu Samba tragen hier ebenfalls die Freigaben ein.

Hinweis:

Oft wird vergessen, dass die Zugriffsrechte in der Freigabe und im lokalen Dateisystem stimmen müssen. Erlaubt man z.B. den Zugriff von Gästen auf ein Verzeichnis, so muss der Benutzer nobody bzw. die Gruppe nogroup auch die entsprechenden lokalen Lese-/Schreibrechte in dem Verzeichnis haben.

Beispiel 1

Beispiel für eine Freigabe, auf die nur angemeldete Benutzer zugreifen dürfen, wobei diese nur lesen aber nicht schreiben können. Die mit (Default) gekennzeichneten Einträge entsprechen den Standard-Einstellungen. Sie dienen nur zur Erläuterung und dürfen auch weggelassen werden:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
[beispiel1]
# Pfad zu Verzeichnis
  path = /pfad/zu/daten1
# Kommentar zur Freigabe
  comment = Testfreigabe 1
# Freigabe ist aktiv (Default)
  available = yes
# Freigabe ist direkt sichtbar (Default)
  browseable = yes
# Gäste dürfen nicht auf die Freigabe zugreifen (Default)
  guest ok = no
# Angemeldete Benutzer dürfen lesen aber nicht schreiben (Default).
  writeable = no
Beispiel 2

Beispiel für eine Freigabe, auf die jeder – auch Gäste – sowohl lesend als auch schreibend zugreifen können. Des Weiteren wird auf die Daten lokal mit den Benutzerrechten otto und den Gruppenrechten users zugegriffen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
[beispiel2]
# Pfad zu Verzeichnis
  path = /pfad/zu/daten2
# Auch Gäste dürfen auf die Freigabe zugreifen.
  guest ok = yes
# Angemeldete Benutzer dürfen auch schreiben.
  writeable = yes
# Freigabe ist direkt sichtbar (Default)
  browseable = yes
# Rechte bei neuen Dateien/Verzeichnissen beschränken ("maskieren")
  create mask = 0664
  directory mask = 0775
# Benutzer und Gruppenzugehörigkeit (nur wirksam bei "unix extensions = no")
# Egal mit welchen Daten sich ein Benutzer am Server anmeldet,
# die Daten werden lokal mit diesen Dateizugehörigkeiten abgelegt.
  force user = otto
  force group = users
Beispiel 3

Beispiel für eine Freigabe, deren Werte von der Freigabe beispiel2 kopiert werden, wobei alle weiteren Angaben von den folgenden Optionen überschrieben werden. Prinzipiell darf niemand schreiben, bis auf den Benutzer paul und die Mitglieder der Gruppe beispiel:

1
2
3
4
5
6
7
8
[beispiel3]
# Die Einstellungen dieser Freigabe werden übernommen
  copy = beispiel2
  path = /pfad/zu/daten3
# Keine Schreibrechte für alle (Default)
  writeable = no
# Benutzer, Gruppen die trotzdem schreiben dürfen
  write list = paul,@beispiel

Mehr zu dem Thema "Zugriffskontrollen für Freigabedefinitionen" findet sich in der Dokumentation 🇩🇪 .

Hinweis:

Werden die Zugriffsrechte durch eine der Optionen valid users bzw. invalid users eingeschränkt, so sind ab Samba 4 für die Option force user nur noch zugriffsberechtigte Benutzer zulässig. Andernfalls wird der Zugriff verwehrt.

Netzwerk-Papierkorb

Das einfache Verschieben von Dateien in den Papierkorb des jeweiligen Desktop ist über Samba nicht möglich. Abhilfe kann jedoch der in Samba (ab Version 3) enthaltene Netzwerk-Papierkorb schaffen. Ist dieser eingerichtet, so werden beim Löschen von Dateien oder Ordnern diese nicht gleich endgültig gelöscht, sondern in einen (ggf. versteckten) Ordner verschoben, aus dem sie dann in einem zweiten Arbeitsgang endgültig gelöscht werden können. Diese wenig bekannte Möglichkeit benötigt zwar zusätzlichen Speicherplatz auf dem Server, erhöht aber die Datensicherheit nicht unerheblich.

Der Netzwerk-Papierkorb kann entweder im Abschnitt [global] generell für alle Freigaben, oder aber für jede Freigabe einzeln eingerichtet werden. Hierfür fügt man einfach die Zeile

1
  vfs object = recycle

hinzu. Durch weitere Optionen kann man noch den Pfad zum Papierkorb-Ordner und dessen Eigenschaften festlegen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Ein Papierkorb wird eingerichtet:
  vfs object = recycle
# Der Pfad zum Papierkorb relativ zur Freigabe (".recyclebin" ist Default).
  recycle:repository = .recyclebin
# Im Papierkorb bleiben Pfad-Angaben erhalten.
  recycle:keeptree = Yes
# Beim Verschieben wird der Zeitstempel angepasst.
  recycle:touch = Yes
# Gleichnamige Dateien werden nicht überschrieben.
  recycle:versions = Yes
# Keine Begrenzung der Dateigröße.
  recycle:maxsize = 0

Der Ordner .recyclebin bzw. der mittels recycle:repository festgelegte Papierkorb-Ordner wird dann beim ersten Löschvorgang automatisch angelegt. Weitere Einzelheiten siehe hier 🇬🇧.

Syntax-Kontrolle

Nach jeder Veränderung der Datei smb.conf sollte in einem Terminal der Befehl testparm ausgeführt werden um sicherzustellen, dass die Einträge keine grundlegenden Syntax-Fehler enthalten. Wird der Befehl testparm ohne Parameter ausgeführt, so werden nur die durch Einträge in der Datei smb.conf veränderten Optionen angezeigt. Der Befehl testparm -v bewirkt, dass außerdem auch die Default-Einstellungen angezeigt werden.

Verwandte Seiten

  • Samba Server - Grundsätzliches zum Einrichten eines Samba-Servers

    • net usershare - Mittels Kommandozeile persönliche Freigaben erstellen und administrieren

    • Samba Server GNOME - Die graphische Konfiguration von Freigaben mit GNOME oder Mate. Ist in Teilen auch für Xfce (Xubuntu) und Lxde (Lubuntu) gültig.

Weiterführende Informationen

Diese Revision wurde am 7. Mai 2026 09:12 von kB erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Server, ausbaufaehig