ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Samba Server GNOME

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.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Dieser Artikel bezieht sich in erster Linie auf die Desktop-Umgebung GNOME, ist aber in weiten Teilen auch für Unity und Xfce (Xubuntu) gültig. Für KDE (Kubuntu) gibt es einen eigenen Artikel Samba Server/KDE. Die Einrichtung eines Samba-Servers ohne graphische Benutzeroberfläche ist in Samba Server beschrieben.

Unter GNOME kann man sehr komfortabel Ordner und Dateien im Netzwerk freigeben und die wichtigsten Netzwerk-Einstellungen vornehmen. Oftmals kann man es sich damit ersparen, Eingaben über ein Terminal vorzunehmen oder umfangreiche Administrations-Tools wie Swat oder gadmin-samba 🇬🇧 einzusetzen.

Seit der Version 3.0.23 enthält die Samba-Suite das Tool net usershare. Dieses bietet alternativ zur klassischen Methode, Freigaben mit Root-Rechten über einen Eintrag in der Datei /etc/samba/smb.conf einzurichten, auch gewöhnlichen Benutzern die Möglichkeit, ihre eigenen Dateien ohne Root-Rechte freizugeben.

GNOME bietet Unterstützung für beide Verfahren, wobei net usershare seit Ubuntu 8.04 LTS (Hardy Heron) standardmäßig vorinstalliert ist.

Hinweis:

Das Tool gnome-user-share ist im Gegensatz zu net usershare trotz des ähnlichen Namens kein Samba-Tool. Es arbeitet völlig anders und macht vor allem auch keinen Gebrauch von den Sicherheits-Einstellungen von Samba.

Persönliche Freigaben mit "net usershare"

Der Dateimanager Nautilus verwendet für Freigaben im Netzwerk ausschließlich das Samba-Tool net usershare. Damit können alle Mitglieder der Gruppe sambashare ihre eigenen Ordner und Dateien freigeben.

Der Erstbenutzer ist standardmäßig Mitglied dieser Gruppe; neu hinzugefügte Benutzer müssen evtl. noch in dieser Gruppe eingetragen werden.

Für persönliche Freigaben gibt es keinen Eintrag in der allgemeinen Konfigurationsdatei /etc/samba/smb.conf. Statt dessen wird für jede dieser Freigaben im Ordner /var/lib/samba/usershares/ eine eigene kleine Textdatei mit den nötigen Angaben angelegt. Diese ist Besitz des jeweiligen Benutzers; nur dieser kann sie verändern oder löschen. Normalerweise sollte diese Datei nicht mit einem Editor bearbeitet werden!

Installation

Um Samba-Freigaben einrichten zu können, muss folgendes Metapaket aus den Paketquellen installiert sein [1]:

  • samba

Für persönliche Freigaben mit Nautilus und net usershare braucht man die Installation nicht von Hand vorzunehmen. Beim Erstellen der ersten Freigabe erfolgt ein Hinweis auf noch fehlende Pakete, und diese werden nach der Bestätigung mit einem Mausklick automatisch nachinstalliert.

Achtung!

Die Installation von Samba auf einem Rechner mit direktem Zugang zum Internet (ohne Router mit NAT) oder zu unsicheren Netzen kann ein Sicherheitsrisiko sein. Nötigenfalls sollte man dann die Zugriffsmöglichkeit über die Optionen interfaces und bind interfaces only in der Datei /etc/samba/smb.conf einschränken.

./persoenliche-Freigabe.png ./Ordner_freigeben.png

Freigabe erstellen

Nach einem Rechtsklick auf ein Ordner-Symbol klickt man "Freigabeoptionen" an. Es öffnet sich das selbsterklärende nebenstehende Dialogfenster. Man trägt für die Freigabe einen Namen und optional einen Kommentar ein und hakt an, was gewünscht wird: überhaupt freigeben - Schreibrechte einräumen - Gastzugang (ohne Passwort) erlauben. Alternativ gelangt man auch über "Eigenschaften → Ordner freigeben" zum gleichen Dialog.

Persönliche Freigaben werden im Nautilus-Fenster durch das nebenstehend abgebildete Emblem (Doppelpfeil) gekennzeichnet.

Schreibrechte

Mit net usershare kann man Schreibrechte nur für alle oder für niemand einräumen. Insbesondere bedeutet dies, dass bei öffentlichen Freigaben mit Gastzugriff die (sinnvolle) Einstellung "Besitzer darf schreiben und Gäste nur lesen" nicht vorgesehen ist.

Gastzugriff und Benutzerkonto

Öffentliche Freigaben (mit Gastzugriff) können sofort ohne weitere Vorbereitung eingerichtet werden. Möchte man jedoch den Zugriff auf Benutzer mit einem Benutzerkonto (Benutzername und Passwort) beschränken, muss zuvor ein solches eingerichtet werden. Hierfür sind Root-Rechte nötig. Wie dies geschehen kann, ist weiter unten beschrieben.

./Add_permissions.png

Zugriffsrechte automatisch anpassen

Weil Samba nichts erlauben kann, was auf dem Server selbst verboten ist, müssen oftmals noch die Zugriffsrechte für die freigegebenen Dateien angepasst werden. Dafür erscheint dann ein neues Dialogfenster mit dem Vorschlag, diese Anpassung von Nautilus automatisch durchführen zu lassen. Leider erscheint dieses Dialogfenster auch dann, wenn eine solche Anpassung gar nicht möglich ist (z.B. FAT- oder NTFS-Partition).

Hinweis:

Die automatische Anpassung der Zugriffsrechte betrifft nur die freigegebenen Dateien bzw. Ordner selbst; eventuell muss man zusätzlich noch die Zugriffsrechte übergeordneter Ordner von Hand anpassen.

Dateien von Windows-Partitionen freigeben

Mittels GNOME/Nautilus lassen sich auch Ordner und Dateien freigeben, die sich auf einer Partition mit einem der Windows-Dateisysteme FAT oder NTFS befinden. Allerdings gibt es dabei einiges zu beachten:

  • Über net usershare kann ein Benutzer immer nur Dateien freigeben, die ihm selbst gehören. Da Windows-Partitionen bei der Installation von Ubuntu standardmäßig als Besitz von "Root" eingebunden werden, sind ggf. die Einträge in der Datei /etc/fstab geeignet zu verändern (üblicherweise uid=1000 statt uid=0).

  • Auch wenn ein entsprechendes Fenster erscheint, kann Nautilus die Zugriffsrechte auf Windows-Partitionen nicht anpassen. Insbesondere ist ein Gast-Zugriff auf eine Freigabe auf einer Windows-Partition nur dann möglich, wenn dieser über die Option umask in fstab erlaubt wird.

Hinweis:

Für das Freigeben von Dateien und Ordnern auf FAT- oder NTFS-Partitionen lassen sich die Besitz- und Zugriffsrechte nicht nachträglich anpassen. Sie müssen vorher schon beim Einbinden der Partitionen geeignet festgelegt werden. Nähere Einzelheiten siehe hier.

Zugriffsrechte und Sicherheit

Die automatische Änderung von Zugriffsrechten auf dem Server ohne detaillierte Rückmeldung kann bei unbedachter Anwendung leicht dazu führen, dass unbemerkt unerwünschte oder gar gefährliche Berechtigungen entstehen. Leicht wird vergessen, dass die veränderten Zugriffsrechte auf dem Server auch dann bestehen bleiben, wenn eine vorübergehende Freigabe wieder aufgehoben wird.

Achtung!

Zu großzügig gewährte Zugriffsrechte können vor allem in Netzwerken ein Sicherheitsrisiko darstellen! Auf Rechnern mit direkter Verbindung zum Internet (ohne Router) und Laptops, die sich gelegentlich auch mit fremden oder öffentlichen Netzen verbinden, sind öffentliche Freigaben (mit Gast-Zugang) grundsätzlich zu vermeiden.

Persönliche Freigaben im Terminal

Nicht alle Dateimanager bieten wie Nautilus die Möglichkeit, persönliche Freigaben einzurichten. In diesen Fällen lassen sich persönliche Freigaben über ein Terminal einrichten. Hierzu dient die Befehlszeile

net usershare add <Name der Freigabe> <Pfad zur Freigabe> 

Werden keine Parameter angegeben, so werden die Freigaben ohne Schreibrechte und ohne Gastzugang erstellt. Die allgemeine Syntax für die Befehlszeile ist

net usershare add sharename path [comment] [acl] [guest_ok=[y|n]] 

Unter "acl" können für die einzelnen Benutzer die Zugriffsrechte festgelegt werden (f = voller Zugriff, r = nur lesen, d = kein Zugriff). Beispiel:

net usershare add Musik ~/Musik Everyone:f guest_ok=yes 

Löschen lassen sich persönliche Freigaben mittels

net usershare delete <Name der Freigabe> 

Eine ausführliche Beschreibung weiterer Möglichkeiten von net usershare findet sich hier.

Allgemeine Freigaben und Einstellungen

Installation

Um über GNOME auch allgemeine Freigaben (mit Root-Rechten und smb.conf) erstellen sowie Server-Einstellungen und Benutzerkonten verwalten zu können, muss zusätzlich zum Metapaket

  • samba

Befehl zum Installieren der Pakete:

sudo apt-get install samba 

Oder mit apturl installieren, Link: apt://samba

noch das Paket

  • system-config-samba

Befehl zum Installieren der Pakete:

sudo apt-get install system-config-samba 

Oder mit apturl installieren, Link: apt://system-config-samba

aus den Paketquellen installiert werden. Danach erscheint im Hauptmenü folgender Eintrag:

  • "System → Systemverwaltung → Samba"

Zusätzlich kann die Installation eines der folgenden Pakete sinnvoll sein:

  • samba-doc

Befehl zum Installieren der Pakete:

sudo apt-get install samba-doc 

Oder mit apturl installieren, Link: apt://samba-doc

(Samba Dokumentation)

  • samba-doc-pdf

Befehl zum Installieren der Pakete:

sudo apt-get install samba-doc-pdf 

Oder mit apturl installieren, Link: apt://samba-doc-pdf

(das Selbe im pdf-Format)

Fehlende Pakete (aus dem Metapaket samba) werden beim Erstellen allgemeiner Freigaben nicht automatisch nachinstalliert.

Hinweis:

Das Tool system-config-samba lässt sich auch mit anderen grafischen Oberflächen, vor allem auch Xfce (Xubuntu), verwenden.

./system-config-samba.png

Allgemeine Freigaben

Mit "allgemein" oder "administrativ" werden solche Freigaben bezeichnet, die in die Datei /etc/samba/smb.conf eingetragen und damit unabhängig vom jeweils angemeldeten Benutzer verfügbar sind. Allgemeine Freigaben einzurichten, zu löschen oder zu verändern ist denjenigen Benutzern vorbehalten, die als Mitglieder der Gruppe admin berechtigt sind, über sudo Root-Rechte zu erlangen.

Weil allgemeine Freigaben grundsätzlich mit Root-Rechten erstellt werden, entfällt bei ihnen auch die Einschränkung, dass jeder Benutzer nur seine eigenen Dateien freigeben kann.

Nach einem Mausklick auf den Menü-Eintrag

  • "System → Systemverwaltung → Samba"

muss der Benutzer durch Eingabe seines System-Passworts seine Berechtigung nachweisen, mit Root-Rechten zu arbeiten. Danach öffnet sich das Dialogfenster. Dort sind alle bestehenden allgemeinen Freigaben, nicht jedoch die persönlichen Freigaben des jeweiligen Benutzers aufgeführt.

./Share-Zugang.png ./Share-anlegen.png

Freigabe hinzufügen oder löschen

Die Angaben eines frei wählbaren Namens, unter dem die Freigabe im Netz erscheint, und des kompletten Pfads auf dem Server sind verpflichtend; fakultativ kann noch ein Kommentar hinzugefügt werden, der dann von manchen Browsern auf dem Client angezeigt wird. Außerdem muss angegeben werden, ob die Freigabe beschreibbar sein und von Browsern auf dem Client angezeigt werden soll.

Unter "Zugang" kann für jeden Benutzer mit Samba-Benutzerkonto einzeln der Zugriff gestattet oder verboten werden. Unter den Benutzern erscheint standardmäßig auch der User "nobody". Unter diesem Namen greifen sowohl Windows als auch Nautilus auf öffentliche Freigaben (mit erlaubtem Gastzugriff) zu.

Eigenschaften

Unter "Eigenschaften" lassen sich diese Angaben für bereits eingerichtete Freigaben nachträglich noch verändern.

Hinweis:

Die hier festgelegten Zugriffsrechte für Freigaben sind nur gültig im Rahmen der Dateirechte, die auf dem Server selbst gelten. Samba kann nichts erlauben, was auf dem Server verboten ist. Eine automatische Anpassung von Dateirechten, wie sie Nautilus bei persönlichen Freigaben mit net usershare vornimmt, findet beim Einrichten allgemeiner Freigaben nicht statt.

Nautilus kennzeichnet allgemeine Freigaben (im Gegensatz zu persönlichen Freigaben) nicht durch ein besonderes Emblem (Doppelpfeil). Ihre Funktion wird dadurch jedoch nicht eingeschränkt. Auf keinen Fall sollte man sich aber durch das fehlende Emblem dazu verleiten lassen, eine allgemeine Freigabe zusätzlich noch über Nautilus persönlich freizugeben!

Hinweis:

Es ist durchaus möglich, auf dem gleichen Rechner persönliche und allgemeine Freigaben nebeneinander zu verwenden. Allerdings sollte man es vermeiden, die gleiche Datei oder den gleichen Ordner doppelt (einmal persönlich und einmal allgemein) freizugeben!

Einstellungen

Die im Folgenden beschriebenen Einstellungen wirken sich sowohl auf persönliche Freigaben (über Nautilus mit net usershare erstellt) als auch auf allgemeine Freigaben (mit Eintrag in smb.conf) aus. Sie können in GNOME in dem Dialogfenster vorgenommen werden, das man über den Menü-Eintrag

  • "System → Systemverwaltung → Samba"

nach Eingabe des System-Passworts mit Root-Rechten öffnet.

./Server-Sicherheit.png ./Server-Einstellungen.png

Server-Einstellungen

Mit "Basis" wird die Arbeitsgruppe und die im Netzwerk gültige Beschreibung des Servers festgelegt. In kleinen Heimnetzwerken ist es zu empfehlen, dass alle Rechner der gleichen Arbeitsgruppe angehören.

Bei "Sicherheit" ist im Regelfall der Authentifizierungsmodus "Benutzer" richtig. Die beiden nachfolgenden Felder sind nur bei der Authentifizierung über Kerberos von Bedeutung. Passwörter sollten grundsätzlich verschlüsselt werden (wird auch von Windows so verlangt).

In dem Feld "Guest Account" wird festgelegt, wem Ordner und Dateien auf dem Server gehören sollen, die von Gästen über das Netzwerk angelegt werden. Wird hier nichts eingetragen, ist "nobody" Standard.

Alternativ können die Server-Einstellungen auch über ein Terminal mit Root-Rechten (sudo) durch Einträge im Teil [global] der Datei /etc/samba/smb.conf vorgenommen werden. Dort sind für Sonderfälle auch noch differenziertere Einstellungen möglich (siehe auch Samba Server/smb.conf).

./neuer-Benutzer.png

Benutzerkonto

Samba führt auf dem Server eine eigene, von der System-Benutzerverwaltung getrennte Benutzer-Datenbank. Dort können aber grundsätzlich nur solche Benutzer eingetragen werden, die auf dem Server einen eigenen Account haben. Für jeden dort eingetragenen Benutzer kann man dann ein eigenes Samba-Passwort festlegen, über das er von einem beliebigen Client aus (auch von einem Windows-Rechner) auf geschützte Freigaben zugreifen darf. Dieses Samba-Passwort kann, muss aber nicht mit seinem System-Passwort übereinstimmen. Über den Eintrag "Einstellungen → Samba-Benutzer" können Einträge in der Samba-Datenbank hinzugefügt, geändert oder gelöscht werden.

Voreingestellt als Benutzer ist auch "nobody". Dieser sollte keinesfalls gelöscht und auch nicht mit einem Passwort versehen werden, da Windows und Nautilus diesen Namen standardmäßig für den anonymen Zugriff auf öffentliche Freigaben verwenden.

Alternativ kann die Samba-Datenbank auch über ein Terminal mit Root-Rechten mit dem Befehl smbpasswd verwaltet werden. Siehe hierzu Samba Server und die Manpage zu smbpasswd.

Hinweis:

Obwohl persönliche und allgemeine Freigaben auf dem Server voneinander getrennt verwaltet werden, werden sie auf dem Client nicht unterschieden. Für beide bestehen dort genau die gleichen Zugriffsmöglichkeiten.

Probleme und Lösungen

Der Server wird nicht erkannt

Wenn der Server von keinem Client aus (auch nicht von Windows-Clients) über seinen Netbios-Namen erkannt wird, aber über seine IP ansprechbar ist, dann kann es sein, dass auf dem Server der Service "nmbd" beim Booten nicht korrekt gestartet wurde. Nach Eingabe folgender Zeile im Terminal sollte die Erkennung über den Netbios-Namen dann funktionieren:

sudo service nmbd start 

Mit folgendem Eintrag in /etc/rc.local (mit Root-Rechten vorzunehmen) lässt sich dies automatisieren:

sleep 20
service nmbd start
exit 0               #(diese Zeile ist bereits vorhanden)

Intern

  • Heimnetzwerk: Verschiedene Möglichkeiten, ein kleines privates Netzwerk einzurichten

  • GNOME: Ausführliche Informationen zum gleichnamigen Desktop

  • Samba: Grundlegende Informationen; dort finden sich auch weitere Links

  • Samba Server: Weitere Informationen zum Einrichten eines Samba-Servers

  • Samba Server/smb.conf: Die Konfigurationsdatei eines Samba-Servers (mit Beispielen)

Extern

Diese Revision wurde am 1. Dezember 2011 23:02 von aasche erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: GNOME, Samba, Netzwerk, Server, Freigaben, Windows, MATE