Antworten:
Es scheint keine Möglichkeit zu geben, eine Ad-hoc-Freigabe zu erstellen, exportfs
wie dies unter NFS unter Linux und share
unter Solaris der Fall ist . Die Gründe können variieren, aber Sie können technisch etwas tun, wie auf der Seite zum Ausführen mehrerer Server auf demselben Computer beschrieben, und mit der benutzerdefinierten Funktion das smb.conf
erreichen, was Sie tun müssen.
Es gibt auch eine Option zum dynamischen Erstellen und Löschen von Freigaben mit SWAT , für die Änderungen an der smb.conf erforderlich sind , damit dies geschehen kann (siehe Abschnitte zu add share command
und)delete share command
Wenn Sie eine Freigabedynamik haben möchten, möchten Sie möglicherweise Ihr Home-Verzeichnis freigeben und dynamische Home-Freigaben über Samba verwenden, die an vielen Stellen diskutiert werden, einschließlich Ubuntu-Foren und Samba-Mailinglisten .
Abhängig davon, wie alt Ihr Samba-Daemon ist und welche Konfigurationsoptionen bei seiner Erstellung verwendet wurden, haben Sie möglicherweise weiterhin die Möglichkeit, eine "dynamische" Freigabe in Ihrer smb.conf zu definieren, die auf say / var / dynamic / verweist (siehe unten). und fügen Sie dann einfach einen symbolischen Link zu den Verzeichnissen hinzu, die Sie vorübergehend für das Verzeichnis freigeben möchten.
Für diesen Hack muss die Option für breite Links auf Ja gesetzt sein , damit Samba Links außerhalb des Freigabestamms folgen kann. Leider hat die Samba-Crew vor ein paar Jahren ihre Standardkonfiguration angepasst, um große Freigaben zu verhindern, da diese ausgenutzt werden könnten. Google für: Samba und "Wide Links" für die Geschichte und Workarounds.
[dynamic]
comment = Somewhere to park dynamic shares
path = /var/dynamic
read only = Yes
inherit acls = Yes
follow symlinks = yes
wide links = yes
Ein schneller Test sollte sehen, ob Ihr zB gut ist
mkdir -p /var/dynamic/test
cd /var/dynamic
ln -s test a_link
ln -s /tmp/ tmp_test
Nehmen wir an, Sie möchten schnell einen Ordner für einen Benutzer freigeben, der vorübergehend schreibgeschützt ist.
Fügen Sie einen Systembenutzer hinzu:
useradd -r someuser
Oft ist der Ordner standardmäßig anders lesbar (überprüfen Sie mit ls -ld / somefolder), wenn Sie ihn erzwingen müssen:
chmod -R o+r /somefolder
Fügen Sie den Benutzer mit einem Passwort wie folgt zu Samba hinzu:
smbpasswd -a someuser
Bearbeiten Sie schnell die Datei smb.conf und fügen Sie sie unten hinzu
[someshare]
path = /somefolder
read list = someuser
Beenden, speichern und schließlich ausführen
smbcontrol smbd reload-config
et voila.
Natürlich möchten Sie möglicherweise den Abschnitt "someshare" entfernen, sobald Sie fertig sind, und den Befehl reload-config erneut ausführen.
Haftungsausschluss: Ich habe dies nicht vollständig getestet, aber ich war erstaunt, wie einfach die Antwort auf die Frage sein könnte. Sie können möglicherweise einige Schritte überspringen und direkt in die Bearbeitung von smb.conf eintauchen, wenn Sie bereits einen Benutzer mit vorhandenem Samba-Zugriff haben - genau das, was mir gerade begegnet ist.
net share add
Befehl das, wonach Sie suchen?