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 

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

Wenn net usershare mit dem Dateimanager Nautilus oder Caja verwendet werden soll, so ist eine Paketinstallation von Hand nicht nötig, da diese dann automatisch durchgeführt wird.

Anwendung

Voraussetzungen

Damit gewöhnliche Benutzer ihre Dateien mit net usershare persönlich freigeben können, müssen sie der Gruppe sambashare angehören. Für den Erstbenutzer ist dies in Ubuntu automatisch der Fall; später neu angelegte Benutzer müssen ggf. noch zu dieser Gruppe hinzugefügt werden. Da persönliche Freigaben ohne Root-Rechte[3] erstellt werden, ist die Zugehörigkeit zu einer der Gruppen sudo oder admin nicht nötig.

Die Weiteren 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:

  • Der Benutzer darf nur Dateien 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 ist 100.

  • Persönliche Freigaben werden im Ordner /var/lib/samba/usershares eingetragen.

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

testparm -vs | grep usershare 

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 (GNOME) und Caja (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 (Xfce) und PCManFM (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.

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 vier Kommandozeilen-Befehle:

  • Freigaben erstellen oder verändern:

    net usershare add [--long] SHARENAME PFAD [comment [acl] [guest_ok=[y|n]]] 
  • Freigaben aufheben:

    net usershare delete SHARENAME 
  • Vorhandene Freigaben auflisten:

    net usershare list [--long] [SHARENAME] 
  • Informationen über eine oder mehrere Freigaben ausgeben:

    net usershare info [--long] [SHARENAME] 

Es gibt keinen besonderen Befehl, um vorhandene Freigaben zu verändern. Man überschreibt mit "net usershare add" einfach die bisherigen Eingaben mit den neuen.

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 guest_ok=y|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 müssen anstelle eines Kommentars zwei Anführungszeichen ("") eingesetzt werden.

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 7. Mai 2023 17:50 von kB erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Server