net usershare
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
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:
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.
Links¶
Intern¶
Samba Server - Grundsätzliches zum Einrichten eines Samba-Servers
Samba Server/smb.conf - Die zentrale Konfigurations-Datei für Samba
Samba Server GNOME - Konfigurieren eines Samba-Servers mit GNOME, MATE oder Unity (Ubuntu)
Extern¶
Projektseite 🇬🇧
Die deutsche Homepage des Samba Projektes 🇩🇪 (nicht aktuell)