ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Samba Server

 *  [1]: [:Terminal: Ein Terminal öffnen]
 *  [2]: [:Editor: Einen Editor öffnen]

Grundlegendes

Der Samba-Server wird lediglich über eine Datei konfiguriert. Alle Einstellungen werden in der /etc/samba/smb.conf vollzogen, die in einem Editor mit Root-Rechten [2] bearbeitet werden kann oder unter GNOME sowie KDE auch über eine GUI manipuliert werden kann.

Im Folgenden wird beschrieben, wie man die wichtigsten Einstellungen am Samba-Server vornimmt und wie man Freigaben erstellen und verwalten kann. Den Samba-Server in einem Wiki-Beitrag umfassend zu beschreiben würde den Umfang eines Artikels sprengen. Daher wird hier der Einsatz des Servers in einem kleineren Umfeld (kleines Büro, WG, Zuhause usw.) beschrieben.

Möchte man den Server in einem größeren Umfeld einsetzen und komplizierte Konfigurationen umsetzen, so sollte man sich in die ausführliche Dokumentation 🇩🇪 einarbeiten.

Konfigurationen und Freigaben

GNOME

Unter GNOME kann man sehr komfortabel die wichtigsten Einstellungen vornehmen und Freigaben erstellen. Man öffnet dafür den Dateimanager Nautilus und geht zu dem Ordner, in welchem man einen Ordner freigeben möchte.

./gnome_ordner_teilen.png

Freigabe erstellen

Dort klickt man mit der rechten Maustaste auf den freizugebenden Ordner und wählt

"Ordner teilen → SMB"

Daraufhin öffnet sich ein Dialog, in dem man die üblichen Konfigurationen zu einer Freigabe eintragen kann. Dies sind

Name Der Name, unter dem die Freigabe angesprochen wird
Kommentar Manche Samba Clienten (auch der Windows Explorer) können Kommentare zu einer Freigabe einblenden
Nur lesend Ausschließlich Lesezugriff auf die Freigabe
Durchsuchen von Ordnern erlauben Die Freigabe ist nicht direkt sichtbar, sie muss mit dem korrekten Namen geöffnet werden

./gnome_verteilungseinstellungen.png

Serverdetails konfigurieren

Klickt man in obigem Dialog auf die Schaltfläche "Allgemeine Windows-Verteilungseinstellungen", so öffnet sich ein weiterer Dialog, in dem man die wichtigsten Einstellungen des Samba-Servers vornehmen kann. Unter Ubuntu Edgy Eft 6.10 findet man diese Einstellungen nicht im oben genannten Dialog, sondern im Menü unter

"System → Administration → Gemeinsame Ordner"

Rechnerbeschreibung Beschreibung des Samba-Servers, üblicherweise ist der String "%h server (Samba, Ubuntu)" eingetragen, wobei "%h" durch den Rechnernamen (hostname) ersetzt wird
Domain/Arbeitsgruppe Die Domäne oder die Arbeitsgruppe, in der der Samba-Server erscheinen soll
WINS-Server Diesen Rechner als WINS-Server konfigurieren, oder einen anderen Rechner als WINS-Server nutzen. Mehr zum Thema WINS bitte weiter unten nachlesen.

./kde-freigabe4.png

KDE

Die KDE Desktopumgebung bietet eine umfangreiche Oberfläche, um auch die kleinsten Einstellungen des Samba-Servers einzurichten. Man kann diese sowohl über den Konqueror durch einen Rechtsklick auf einen Ordner und dann

"Eigenschaften → Freigabe → Dateifreigabe einrichten"

bzw. über das K-Menü unter

"Systemeinstellungen → Freigabe → Dateifreigabe"

starten.

Dort kann jeder Benutzer über die "Einfache Freigabe", ohne root-Rechte zu benötigen, Ordner aus seinem eigenen Homeverzeichnis freigeben. Über die "Erweiterte Freigabe" ist es möglich sämtliche Ordner des Systems freizugeben.

./kde-freigabe1.png

Freigaben hinzufügen/ändern

Legt man über "Hinzufügen" eine Freigabe an oder ändert über "Ändern" eine vorhandene Freigabe, so gelangt man in einen einfachen Dialog. Hier lassen sich die wichtigsten Details zur Freigabe festlegen.

Ordner Pfad zum Ordner, der freigegeben werden soll
Freigaben mit Samba Der Ordner soll über Samba freigegeben werden
Name Der Name unter dem die Freigabe erscheint
Öffentlich Auch Gäste dürfen auf die Freigabe zugreifen
Schreibbar Sowohl Lese- als auch Schreibzugriff

Über die Schaltfläche "Weitere Samba-Optionen" gelangt man in einen umfangreichen Dialog, in dem man so gut wie jedes Detail des Servers konfigurieren kann.

⚓︎

Konfigurationsdatei

Deutlich umfangreicher und detaillierter lässt sich der Samba-Server über seine Konfigurationsdatei /etc/samba/smb.conf einrichten. Diese kann mit einem Editor [2] bearbeitet werden. Die Datei teilt sich in mehrere Sektionen. Die wichtigsten Optionen - die man normalerweise anpassen muss, um einen Samba-Server vollständig einzurichten - werden nun im Folgenden erklärt.

Global Settings

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

Browsing/Identification

[global]
## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = Arbeitsgruppe

# server string is the equivalent of the NT Description field
   server string = %h server (Samba, Ubuntu)

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
;   wins support = no

# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
;   wins server = w.x.y.z

⚓︎

Hier wird der Name der Arbeitsgruppe sowie der Kommentar zum Rechnernamen für diesen Samba-Server festgelegt. Wichtig ist auch die Angabe, ob der Rechner als "WINS-Server" fungieren 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.

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

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

Authentication

# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba-HOWTO-Collection/ServerType.html
# in the samba-doc package for details.
;   security = user

Die Option "security" legt den Sicherheitslevel für die Freigaben fest. Folgende Werte sind für "security" üblich:

user Dies ist die Standardeinstellung. Üblicherweise sollte User Level-Sicherheit am besten für heterogene Windows-Linux Netzwerke funktionieren.
share Bei der Share Level-Sicherheit authentifiziert sich der Client selbst bei jedem Aufruf einer Freigabe mit einem Passwort. Es wird nicht explizit ein Benutzername vom Client zum Server gesendet. Eventuell haben aktuelle Windows Betriebssysteme Probleme mit dieser Einstellung. Dieses Problem kann mit
 force user = <username>
behoben werden.
domain Wenn Samba in diesem Modus betrieben wird, hat der Server einen Trust Account (Maschinen-Account) und reicht alle Authentifizierungsanfragen an die Domänencontroller weiter. Mit anderen Worten: Diese Konfiguration macht den Samba-Server zu einem Domänen-Mitglied.

Die Sicherheitslevel werden in der Dokumentation 🇩🇪 ausführlicher beschrieben. Hier findet man auch weitere Details zu Samba als Teil einer Domäne.

Printing

[printers]
   comment = All Printers
   browseable = no
   path = /tmp
   printable = yes
   public = no
   writable = no
   create mode = 0700

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

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

Share Definitions

Homeverzeichnisse

Hier sind alle nötigen Einstellungen schon vorbereitet, um die Homeverzeichnisse für die jeweiligen Benutzer freizugeben. Um die Freigabe der Homeverzeichnisse zu aktivieren, muss man alle Semikolons ";" vor den Einträgen entfernen.

# Un-comment the following (and tweak the other settings below to suit)
# to enable the default home directory shares.  This will share each
# user's home directory as \\server\username
[homes]
   comment = Home Directories
   browseable = no

# By default, \\server\username shares can be connected to by anyone
# with access to the samba server.  Un-comment the following parameter
# to make sure that only "username" can connect to \\server\username
   valid users = %S

# By default, the home directories are exported read-only. Change next
# parameter to 'yes' if you want to be able to write to them.
   writable = yes

# File creation mask is set to 0600 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0664.
   create mask = 0600

# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
   directory mask = 0700

Sind diese Einstellungen aktiviert, so ist z.B. die automatische Freigabe des Homeverzeichnisses "/home/otto" des Benutzers "otto"

  • Nur für "otto" sichtbar

  • Nur für "otto" les- und schreibbar

  • Andere Benutzer können die Freigabe weder sehen, noch lesen, noch schreiben

Eigene Freigaben

Abschließend werden die eigenen 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.

Oft wird vergessen, dass die Zugriffsrechte in der Freigabe stimmen müssen. Erlaubt man z.B. den Zugriff von Gästen auf ein Verzeichnis, so muss der Benutzer ''"nobody"'' bzw. die Gruppe ''"nogroup"'' die entsprechenden 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:

[beispiel1]
# Allgemein
path = /pfad/zu/daten1          # Pfad zu Verzeichnis
comment = Testfreigabe 1        # Kommentar zur Freigabe
available = yes                 # Freigabe ist aktiv
browseable = yes                # Freigabe ist direkt sichtbar
guest ok = no                   # Gäste dürfen nicht auf die Freigabe zugreifen
writable = no                   # Angemeldete Benutzer dürfen lesen aber nicht schreiben
Beispiel 2

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

[beispiel2]
# Allgemein
path = /pfad/zu/daten2
guest ok = yes                  # Auch Gäste dürfen auf die Freigabe zugreifen
writeable = yes                 # Angemeldete Benutzer dürfen auch schreiben
browseable = yes
# Rechte bei neuen Dateien/Verzeichnissen
create mode = 0664              # Neue Dateien werden mit diesen Rechten versehen
directory mode = 0775           # Neue Verzeichnisse werden mit diesen Rechten versehen
# Benutzer und Gruppenzugehörigkeit
force user = otto               # Egal mit welchen Daten sich ein Benutzer am Server anmeldet
force group = users             # Die Daten werden lokal mit diesen Dateizugehörigkeiten abgelegt
# Zeichensätze
dos charset = 850               # Sollte es zu Problemen mit Zeichencodierungen kommen,
unix charset = ISO-8859-15      # so kann man hier den Samba Server die Freigabe mit einem
display charset = ISO-8859-15   # definierten Zeichensatz anzeigen lassen
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":

[beispiel3]
copy = beispiel2                # Die Daten dieser Freigabe werden übernommen
path = /pfad/zu/daten3
writeable = no
write list = paul,@beispiel     # Benutzer, Gruppen die trotzdem Schreiben dürfen

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

Einfache Freigaben ohne Passwort

Möchte man in seinem Heimnetzwerk schnell etwas freigeben, dass ohne Passwortabfrage für jeden im Netzwerk verfügbar sein soll, empfiehlt es sich folgendes bei der /etc/samba/smb.conf in den [global] Bereich einzutragen:

username map = /etc/samba/smbusers
map to guest = bad user
guest account = nobody

Nach einem Neustart des Samba Servers können Ordner jetzt wie gewohnt freigegeben werden und jeder im Netzwerk kann ohne Passwort darauf zugreifen.

Dies stellt natürlich ein gewisses Sicherheitsrisiko dar und sollte __ausschließlich__ in Netzwerken geschehen, bei denen man sicher ist, dass kein Datenmissbrauch mit den freigegebenen Daten möglich ist.

Server (neu) starten

Nachdem man Änderungen an der Samba Konfiguration vorgenommen hat, kann der Server neu gestartet werden, damit die Änderungen sofort wirksam werden. Dies kann man aus einem Terminal heraus [2] über den Befehl

sudo /etc/init.d/samba restart

machen. Mehr zu dem Thema Dienste findet man hier. Optional kann man auch kurz Abwarten. Der Samba-Server liest die Konfigurationsdatei im Intervall von ca. 90 Sekunden regelmäßig ein. Das bedeutet Änderungen werden selbstständig übernommen.

⚓︎

Benutzerverwaltung

Samba verwaltet die Benutzer unabhängig vom System mit dem Befehl "smbpasswd". Man kann aber die Systembenutzer mit den Samba-Benutzern synchron halten. Dazu müssen lokale Benutzer mit dem Befehl

sudo smbpasswd -a <benutzername>

ein Samba Passwort vergeben.

Angenommen man setzt den Samba-Server in einem Umfeld ohne "ordentliche" Benutzerauthentifizierung ein, sprich in einer WG oder einem Büro, wo sich alle Benutzer nicht an einer Domäne anmelden, sondern nur lokal an ihrem Rechner. So ist es sinnvoll, dass die Benutzer auf allen Rechnern (egal, ob nun Windows oder Linux eingesetzt wird) sich mit den selben Benutzerdaten - sprich Login und Passwort - anmelden. Dieses Passwort sollte auch als Samba-Passwort gesetzt werden.


Diese Revision wurde am 12. Dezember 2007 02:03 von Chrissss erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Server, Samba