ubuntuusers.de

net usershare

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.

./samba4-logo.png Mit dem Tool net 🇬🇧 stellt Samba[4] eine Sammlung von Befehlen zur Verfügung, mit denen Server in ähnlicher Weise wie mit dem gleichnamigen Windows-Tool administriert werden können.

Die meisten der net-Befehle haben professionellen Charakter und interessieren nur die Administratoren größerer Netzwerke. Ihre Beschreibung würde hier zu weit führen (siehe dazu die Manpage zu net). Anders ist es mit net usershare, das auch standardmäßig von den Dateimanagern Nautilus, Caja, Dolphin und Konqueror zum Erstellen persönlicher Freigaben ohne Root-Rechte[3] verwendet wird.

Installation

Das Tool net usershare ist im Metapaket samba enthalten[1]:

  • samba

Befehl zum Installieren der Pakete:

sudo apt-get install samba 

Bei Ubuntu-Versionen vor 26.04 war keine Paketinstallation von Hand erforderlich, da diese automatisch durchgeführt wird, wenn net usershare mit dem Dateimanager Nautilus oder Caja verwendet wird. Dies ist ab 26.04 nicht mehr der Fall, sondern man muss selbst dafür sorgen, dass alle Voraussetzungen erfüllt sind. Dafür wird folgende Prozedur empfohlen:

  1. Der Samba-Server ist wie vorstehend beschrieben zu installieren.

  2. Man benötigt für das Kontextmenü des Dateimanagers eine Erweiterung:

  3. Jeder Benutzer, der Ordner freigeben darf, muss Mitglied der Gruppe sambashare sein:

    sudo groupmod -a -U USER sambashare 

    Dabei ist USER durch den jeweiligen Anmeldenamen des Benutzers zu ersetzen. Die Mitgliedschaft in der Gruppe wird erst nach dem Befehl

    systemctl daemon-reload 

    bei der nächsten Anmeldung wirksam und kann mit

    groups 

    kontrolliert werden.

  4. Für den Samba-Server müssen Usershares durch Konfiguration freigegeben werden, dazu ist mindestens in der Datei /etc/samba/smb.conf erforderlich:

    [global]
    usershare max shares = 5

    Man kann statt 5 jede positive ganze Zahl verwenden.

Anwendung

Voraussetzungen

Damit gewöhnliche Benutzer ihre Dateien mit net usershare persönlich freigeben können, müssen sie der Gruppe sambashare angehören. Da persönliche Freigaben ohne Root-Rechte[3] erstellt werden, ist die Zugehörigkeit zu einer der Gruppen sudo oder admin nicht nötig.

Weitere auf dem betreffenden Server gültigen Bedingungen für Samba-Freigaben allgemein und für net usershare im Besonderen werden in der Datei /etc/samba/smb.conf festgelegt. Möchte man diese verändern, so muss man diese Datei mit Root-Rechten[3] editieren. Standardmäßig gelten für net usershare folgende Einstellungen:

  • Jeder Benutzer darf nur Ordner freigeben, deren Eigentümer er ist.

  • Der Eigentümer darf auch anderen den Zugriff auf eigene Freigaben gestatten.

  • Die Maximalzahl für persönliche Freigaben war 100 vor 26.04 und ist 0 ab 26.04, d.h. Usershares sind nun per Vorgabe gesperrt.

  • Für jede persönliche Freigabe wird im Ordner /var/lib/samba/usershares eine Konfigurationsdatei angelegt.

Die aktuell gültigen Einstellungen kann man in einem Terminal[2] immer mit folgender Befehlszeile abrufen:

testparm -vs | grep usershare 

Beispielausgabe bei 26.04:

	usershare allow guests = Yes
	usershare max shares = 0
	usershare owner only = Yes
	usershare path = /var/lib/samba/usershares
	usershare prefix allow list = 
	usershare prefix deny list = 
	usershare template share = 

Für jeden Benutzer, der nachher mit Benutzername und ggf. Passwort auf eine Freigabe zugreifen soll, muss auf dem Server zusätzlich zum (vorhandenen) System-Account noch ein Samba-Account angelegt werden:

sudo smbpasswd -a BENUTZERNAME 

Benutzer ohne Samba-Passort und auch ganz unbekannte Benutzer können als Gäste zugreifen, sofern diese Vorgabe für den Samba-Server nicht verändert wurde. Der Zugriff auf das Dateisystem des Servers erfolgt dann mit dem für die Gastrolle konfigurierten Benutzernamen (Vorgabe: nobody) und beliebigem nichtleeren Passwort.

Anwendung mit dem Dateimanager

Die Anwendung mit den Dateimanagern Nautilus (bei GNOME) und Caja (bei MATE) ist im Artikel Samba Server GNOME ausführlich beschrieben. Bei Ubuntu 20.04 funktioniert es mit Nautilus wegen eines internen Fehlers nicht. Eine Alternative für Nautilus ist das Skript SMBusershare.

Die Dateimanager Thunar (bei Xfce) und PCManFM (bei LXDE) unterstützen bislang das interaktive Erstellen persönlicher Freigaben nicht (Stand: 05/2020), sodass hier auf die Kommandozeile zurückgegriffen werden muss. Bei Thunar können Kommandozeilen auch als Benutzerdefinierte Aktionen eingetragen und dann über Mausklicks wiederholt ausgeführt werden (siehe Samba Server GNOME)

Das auch für Thunar geeignete Nautilus-Skript SMBusershare ermöglicht die bequeme Freigabe per GUI als Alternative zur Arbeit auf der Kommandozeile.

Per Dateimanager erstellte Freigaben werden in der GUI per zusätzlichem Symbol auch als solche gekennzeichnet; umgekehrt werden aber per Kommandozeile erstellte Freigaben nicht immer in der GUI so dargestellt.

Kommandozeile

Auf Samba-Servern ohne graphische Oberfläche oder in Xubuntu und Lubuntu, wo net usershare standardmäßig nicht vom Dateimanager unterstützt wird, können persönliche Freigaben sehr einfach über Kommandozeilen in der Konsole bzw. in einem Terminal[2] eingerichtet und verwaltet werden, ohne dass dafür eine Konfigurationsdatei editiert werden müsste.

Befehle

net usershare kennt folgende Kommandozeilen-Befehle:

  • Eigene Freigaben auflisten:

    net usershare list [SHARENAME] 
  • Freigaben aller Benutzer auflisten:

    net usershare list --long [SHARENAME] 
  • Informationen über eigene Freigabe(n) ausgeben:

    net usershare info [SHARENAME] 

    Mit zusätzlicher Option --long erhält man auch Auskünfte über fremde Freigaben.

  • Freigabe erstellen oder verändern:

    net usershare add SHARENAME PFAD [comment [acl] [guest_ok=[y|n]]] 

    Mit zusätzlicher Option --long wird die erzeugte Konfigurationsdatei angezeigt. Es gibt keinen besonderen Befehl, um vorhandene Freigaben zu verändern. Man überschreibt mit "net usershare add" einfach die bisherigen Eingaben mit den neuen.

  • Freigabe aufheben:

    net usershare delete SHARENAME 

Parameter

In eckigen Klammern [] angegebene Parameter sind optional. Stehen zwei oder mehr Alternativen zur Verfügung, so werden diese durch einen senkrechten Strich | getrennt angegeben. Groß- und Kleinbuchstaben werden beim SHARENAME nicht unterschieden. Im Einzelnen haben die Parameter folgende Bedeutungen:

Parameter Syntaxdefinition Erklärung
SHARENAME Name der Freigabe. Besteht vorher schon eine allgemeine (in smb.conf eingetragene) Freigabe gleichen Namens, so wird diese "überdeckt". Bei den Befehlen net usershare info und net usershare list darf SHARENAME auch "Wildcards" enthalten (* für eine beliebige Zeichenkette, ? für ein beliebiges Zeichen).
PFAD Vollständiger Pfad zur Freigabe auf dem Server. Zulässige bzw. verbotene Pfade können optional in der Datei smb.conf über die Optionen usershare owner only, usershare prefix allow list und usershare prefix deny list präzisiert werden.
comment Kommentar, der beim Browsen auf dem Client erscheint. Wenn nach PFAD weitere Parameter angegeben sind, wird der erste davon immer als Kommentar interpretiert. Kommentare, die Leerzeichen usw. enthalten, müssen in Anführungszeichen " " gesetzt werden.
acl USERNAME:F|R|D Legt fest, wer zugreifen darf. F bedeutet "full" (lesen und schreiben), R "read" (nur lesen) und D "deny" (gar nicht). Es sind auch mehrere, durch Kommas getrennte Angaben für acl möglich. Standard: Everyone:R
guest_ok=y
guest_ok=n
Gast-Zugriff erlauben oder verbieten. Ist nur wirksam, wenn in smb.conf die Option usershare allow guests = y eingetragen ist. Vorgabe: guest_ok=n
--long Bei net usershare add wird mit dieser Option die erzeugte Konfiguration zur Information ausgegeben.
Bei net usershare list und net usershare info werden ohne diesen Parameter nur die eigenen Freigaben, mit diesem Parameter aber die Freigaben aller Benutzer angezeigt.
Beachte: Diese Option kann nicht zu -l abgekürzt werden obwohl der Hilfetext fälschlicherweise das behauptet!

Hinweis:

Er ist nicht möglich, bei net usershare add ... den Kommentar (comment) einfach zu überspringen. Möchte man auf einen Kommentar verzichten, aber weitere Parameter angeben, so muss man mit zwei Anführungszeichen ("") einen leeren Kommentar angeben.

Muster-Freigabe

Weitere Parameter können beim Erstellen von Freigaben mittels net usershare nicht angegeben werden. Jedoch lässt sich mit dem Eintrag "usershare template share = SHARENAME" im Teil [global] der Datei smb.conf eine bereits existierende Freigabe als Muster für alle mittels net usershare über die Kommandozeile oder über den Dateimanager eingerichteten persönlichen Freigaben sämtlicher Benutzer festlegen. Von dieser Muster-Freigabe ("template share") werden dann alle übrigen Parameter übernommen. Anstelle einer bereits existierenden wirklichen Freigabe kann man auch eine besondere, "scheinbare" Muster-Freigabe einrichten, die man mit dem Parameter "-valid = no" unsichtbar und für direkte Zugriffe unerreichbar macht.

Beispiel

Eine Freigabe mit Gastzugriff, aber nur der Benutzer otto hat Schreibrechte:

net usershare add Urlaubsbilder /home/otto/Bilder/Urlaub Urlaubsbilder-2012 Everyone:R,otto:F guest_ok=y 

Mit dem info-Befehl erhält der Benutzer otto dann folgende Ausgabe:

net usershare info *bilder 
[Urlaubsbilder]
path=/home/otto/Bilder/Urlaub
comment=Urlaubsbilder-2012
usershare_acl=Everyone:R,DESKTOP-PC\otto:F,
guest_ok=y

Einträge im usershare-Ordner

Im Ordner /var/lib/samba/usershares findet man nach dem Erstellen dieser Freigabe eine dem Benutzer otto gehörende Textdatei urlaubsbilder mit folgendem Inhalt:

#VERSION 2
path=/home/otto/Bilder/Urlaub
comment=Urlaubsbilder-2012
usershare_acl=S-1-1-0:R,S-1-5-21-3836401370-419403397-2838479133-1000:F
guest_ok=y
sharename=Urlaubsbilder

Es wird davon abgeraten, Dateien in diesem Ordner zu editieren und zu verändern. Zum Bearbeiten persönlicher Freigaben sollte man nur die oben aufgeführten Kommandozeilen-Befehle verwenden.

Intern

Extern

Diese Revision wurde am 12. Juni 2026 11:14 von kB erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Server