Smb.conf: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Textersetzung - „z.B.“ durch „z. B. “
Zeile 141: Zeile 141:
=== Hinweis: ===
=== 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 <tt>wins support = yes</tt> aktivieren.
Besitzt man einen Rechner mit einem Windows-Server-Betriebssystem (also z.&nbsp;B.&nbsp; 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 <tt>wins support = yes</tt> aktivieren.


Es ist dringend angeraten, in einem Netzwerk nur einen WINS-Server zu betreiben. Die Einstellung <tt>wins support = yes</tt> sollte daher nur auf einem einzigen Rechner gesetzt werden!  
Es ist dringend angeraten, in einem Netzwerk nur einen WINS-Server zu betreiben. Die Einstellung <tt>wins support = yes</tt> sollte daher nur auf einem einzigen Rechner gesetzt werden!  
Zeile 221: Zeile 221:
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.  
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.
Bei Rechnern, die abwechselnd mit verschiedenen Netzwerken verbunden werden (z.&nbsp;B.&nbsp; Laptops) wird dringend empfohlen, auf den Gast-Zugang zu verzichten.


==== cifs UNIX Extensions ====
==== cifs UNIX Extensions ====
Zeile 232: Zeile 232:
|-
|-
|}
|}
Dieser Parameter ermöglicht es, mittels [https://wiki.ubuntuusers.de/mount.cifs/ cifs-vfs] oder [https://wiki.ubuntuusers.de/Samba_Client_smbclient/ smbclient] auch auf dem Client die Original Dateirechte und Zeitstempel des Servers zu sehen, zu verwenden und ggf. auch zu verändern. Standardmäßig ist diese Option aktiviert; sie sollte nur bei Problemen mit diesen Extensions (z.B. verschiedene UID und GID für gleiche Benutzer auf Server und Client) deaktiviert werden.
Dieser Parameter ermöglicht es, mittels [https://wiki.ubuntuusers.de/mount.cifs/ cifs-vfs] oder [https://wiki.ubuntuusers.de/Samba_Client_smbclient/ smbclient] auch auf dem Client die Original Dateirechte und Zeitstempel des Servers zu sehen, zu verwenden und ggf. auch zu verändern. Standardmäßig ist diese Option aktiviert; sie sollte nur bei Problemen mit diesen Extensions (z.&nbsp;B.&nbsp; verschiedene UID und GID für gleiche Benutzer auf Server und Client) deaktiviert werden.


Die Einstellung kann nur für den gesamten Server geändert werden; unterschiedliche Einstellungen für einzelne Freigaben sind vom Server aus nicht möglich.
Die Einstellung kann nur für den gesamten Server geändert werden; unterschiedliche Einstellungen für einzelne Freigaben sind vom Server aus nicht möglich.
Zeile 240: Zeile 240:
=== Hinweis: ===
=== Hinweis: ===


Die cifs UNIX Extensions haben Vorrang vor anderen Direktiven, die UNIX-Dateirechte festlegen. Deshalb funktionieren bei aktivierten UNIX Extensions z.B. die Direktiven <tt>force user</tt> und <tt>force group</tt> sowie <tt>force directory mode</tt> und <tt>force create mode</tt> nicht!  
Die cifs UNIX Extensions haben Vorrang vor anderen Direktiven, die UNIX-Dateirechte festlegen. Deshalb funktionieren bei aktivierten UNIX Extensions z.&nbsp;B.&nbsp; die Direktiven <tt>force user</tt> und <tt>force group</tt> sowie <tt>force directory mode</tt> und <tt>force create mode</tt> nicht!  


==== Windows-ACLs ====
==== Windows-ACLs ====
Zeile 392: Zeile 392:
=== Hinweis: ===
=== 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 <tt>nobody</tt> bzw. die Gruppe <tt>nogroup</tt> auch die entsprechenden lokalen [https://wiki.ubuntuusers.de/Rechte/ Lese-/Schreibrechte] in dem Verzeichnis haben.  
Oft wird vergessen, dass die Zugriffsrechte in der Freigabe und im lokalen Dateisystem stimmen müssen. Erlaubt man z.&nbsp;B.&nbsp; den Zugriff von Gästen auf ein Verzeichnis, so muss der Benutzer <tt>nobody</tt> bzw. die Gruppe <tt>nogroup</tt> auch die entsprechenden lokalen [https://wiki.ubuntuusers.de/Rechte/ Lese-/Schreibrechte] in dem Verzeichnis haben.  


===== Beispiel 1 =====
===== Beispiel 1 =====

Version vom 19. Mai 2023, 14:09 Uhr

topic kurze Beschreibung

Beschreibung

Installation

Anwendung

Syntax

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Konfiguration

Dateien

Sicherheit

Dokumentation

RFC

Man-Pages

Info-Pages

Siehe auch

Links

Projekt-Homepage

Weblinks

Einzelnachweise

Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5



TMP

smb.conf

  • Eigenständiger "Stand-Alone-Server"
  • 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 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.

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

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

 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. Aus dem Überlappungsbereich wird bei einer Verbindungs-Anfrage automatisch das höchstmögliche Protokoll ausgewählt.

Achtung!

Das Protokoll SMBv1 (cifs, NT1) gilt als unsicher und sollte in Netzwerken mit sensiblen Daten oder unkontrolliertem Zugang nicht mehr verwendet werden.

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.

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.

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

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

1 unix extensions = yes

Dieser Parameter ermöglicht es, mittels cifs-vfs oder smbclient auch auf dem Client die Original Dateirechte und Zeitstempel des Servers zu sehen, zu verwenden und ggf. auch zu verändern. Standardmäßig ist diese Option aktiviert; sie sollte nur bei Problemen mit diesen Extensions (z. B.  verschiedene UID und GID für gleiche Benutzer auf Server und Client) deaktiviert werden.

Die Einstellung kann nur für den gesamten Server geändert werden; unterschiedliche Einstellungen für einzelne Freigaben sind vom Server aus nicht möglich.

Auch wenn sie aktiviert sind, bleiben die UNIX Extensions weitgehend unwirksam für Freigaben auf FAT-Partitionen, da diese keine UNIX-Dateirechte speichern können. Für Freigaben auf NTFS-Partitionen sind sie nur dann voll wirksam, wenn diese auf dem Server mit der Option permissions eingebunden sind. Von Windows-Clients werden die UNIX-Extensions ganz ignoriert.

Hinweis:

Die cifs UNIX Extensions haben Vorrang vor anderen Direktiven, die UNIX-Dateirechte festlegen. Deshalb funktionieren bei aktivierten UNIX Extensions z. B.  die Direktiven force user und force group sowie force directory mode und force create mode nicht!

Windows-ACLs

Seit der Version 4.0 erlaubt es Samba nun auch, die Konfiguration von Freigaben größtenteils von einem Windows-Client aus vorzunehmen. Dies wird sogar empfohlen, denn es ist oft der einfachste Weg, die Zugriffsrechte für neu erstellte Dateien und Ordner gleich auf dem Windows-Client mittels Windows-ACLs festzulegen. Diese werden dann mittels Samba auf dem Server in POSIX-ACLs übertragen. Natürlich funktioniert dies nur dann, wenn das Dateisystem des Servers die POSIX-ACLs unterstützt (Mount-Option acl, seit Ubuntu 12.04 bei ext3 und ext4 Standard).

Experten-Info:

Da sich POSIX- und Windows-ACL nicht völlig deckungsgleich ineinander abbilden lassen, ist eine vollständige Berücksichtigung sämtlicher in Windows-ACL möglicher Angaben durch Samba nur dann möglich, wenn das Linux-Dateisystem mit der zusätzlichen Mount-Option user_xattr eingebunden ist und im Teil [global] von smb.conf die Zeilen vfs objects = acl_xattr und map acl inherit = Yes eingetragen sind.

Die auf diese Weise festgelegten ACLs können die über die Optionen directory mask, create mask, force directory mode und force create mode festgelegten UNIX-Dateirechte überdecken.

Alternativ lassen sich die Zugriffsrechte nach wie vor in klassischer Weise auf dem Server über POSIX-ACLs und mit smb.conf-Parametern festlegen.

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 fstab 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:

vergrößern


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:

vergrößern


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

Problembehebung Kein Zugriff auf Windows 10 Freigaben in Ubuntu 16.04

Sollten Windowsfreigaben nicht korrekt angezeigt werden bzw gibt es Zugriffsprobleme in Ubuntu 16.04 könnte möglicherweise die Festlegung des Protokolls helfen. Gleiches gilt für FreeNAS ab Version 11.2 wie hier beschrieben .

Wer mit dem Befehl

smbclient -L windows-pc

Folgende Ausgabe erhält

protocol negotiation failed: NT_STATUS_CONNECTION_RESET

Sollte folgenden Eintrag in die [global] Sektion der /etc/samba/smb.conf hinzufügen:

client min protocol = SMB2 client max protocol = SMB3

und den SAMBA-Dienst mit folgendem Befehl neu starten:

sudo service smbd restart

Problembehebung bei Ubuntu 20.04 mit samba 4.11.6-Ubuntu

Seit Samba Version 4.11 (Ubuntu 20.04 LTS) ist das Protokoll SMBv1 (NT1) sowohl für Server als auch für Clients in der Grundeinstellung deaktiviert. Wenn deshalb im Heimnetz Probleme auftreten, kann man notfalls SMBv1 mit folgenden Einträgen in im Teil [global] von smb.conf wieder zulassen:

[global]

       client min protocol = NT1
       server min protocol = NT1

Die Verwendung des veralteten Protokolls SMBv1 beeinträchtigt jedoch die Performance und vor allem auch die Sicherheit des Netzwerks!

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.

Links

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.
  • Samba Winbind - Ubuntu an einer Windows Domäne anmelden und die Benutzer am "Active Directory" authentifizieren


Ergänzende und weiterführende Informationen


https://wiki.ubuntuusers.de/Samba_Server/smb.conf/