Esiste la possibilità di condividere temporaneamente una directory per Samba ?
Con Python 3 posso servire la directory corrente per HTTP usando:
python -m http.server
.
Mi piacerebbe fare la stessa cosa con Samba .
net usershare
...
Esiste la possibilità di condividere temporaneamente una directory per Samba ?
Con Python 3 posso servire la directory corrente per HTTP usando:
python -m http.server
.
Mi piacerebbe fare la stessa cosa con Samba .
net usershare
...
Risposte:
Non sembra esserci un modo per creare una condivisione ad hoc simile al modo in cui lo exportfs
fa per NFS su Linux e lo share
fa su Solaris. I motivi possono variare, ma tecnicamente potresti fare qualcosa come descritto nella pagina per l' esecuzione di più server sullo stesso computer e con la personalizzazione smb.conf
realizzare ciò che devi fare.
C'è anche un'opzione per creare ed eliminare le condivisioni in modo dinamico usando SWAT , che richiederà modifiche a smb.conf per consentire che ciò avvenga, vedere le sezioni su add share command
edelete share command
Personalmente, se si desidera avere una condivisione dinamica, è possibile condividere la propria directory home e utilizzare le condivisioni home dinamiche tramite samba discussi in molti luoghi, inclusi i forum di Ubuntu e la mailing list di Samba .
A seconda di quanti anni ha il tuo demone samba e delle opzioni di configurazione utilizzate al momento della creazione, potresti avere ancora la possibilità di definire una condivisione "dinamica" nel tuo smb.conf, indicata con / var / dynamic /, vedi sotto, e quindi semplicemente aggiungendo un collegamento simbolico alle directory che si desidera condividere temporaneamente nella directory.
Questo hack richiede che l' opzione wide links sia impostata su yes , per consentire a samba di seguire i link al di fuori della radice delle condivisioni. Sfortunatamente un paio d'anni fa l'equipaggio della Samba ha modificato la configurazione di default per impedire ampie condivisioni, in quanto poteva essere sfruttato. Google per: Samba e "collegamenti estesi" per la storia e le soluzioni.
[dynamic]
comment = Somewhere to park dynamic shares
path = /var/dynamic
read only = Yes
inherit acls = Yes
follow symlinks = yes
wide links = yes
Un test rapido dovrebbe vedere se il tuo bene ad es
mkdir -p /var/dynamic/test
cd /var/dynamic
ln -s test a_link
ln -s /tmp/ tmp_test
Diciamo che vuoi condividere rapidamente / somefolder con qualcuno temporaneamente in sola lettura.
Aggiungi un utente di sistema:
useradd -r someuser
Spesso per impostazione predefinita la cartella è leggibile in altro modo (verificare con ls -ld / somefolder), se è necessario forzarla:
chmod -R o+r /somefolder
Aggiungi l'utente a samba con una password come:
smbpasswd -a someuser
Modifica rapidamente smb.conf e aggiungi in fondo
[someshare]
path = /somefolder
read list = someuser
esci, salva e infine corri
smbcontrol smbd reload-config
et voilà.
Ovviamente potresti voler rimuovere la sezione "someshare" una volta fatto ed eseguire nuovamente il comando reload-config.
Disclaimer: non l'ho testato completamente, ma sono rimasto sorpreso da quanto possa essere semplice la risposta alla domanda. Puoi eventualmente saltare alcuni passaggi e immergerti direttamente nella modifica di smb.conf se hai già un utente con accesso a samba esistente, esattamente quello in cui mi sono appena imbattuto.
net share add
comando è quello che stai cercando?