Crea condivisione Samba temporanea


9

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 .


Il net share addcomando è quello che stai cercando?
derobert,

O forse net usershare...
derobert il

Risposte:


1

Non sembra esserci un modo per creare una condivisione ad hoc simile al modo in cui lo exportfsfa per NFS su Linux e lo sharefa 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.confrealizzare 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 commandedelete 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 .


1

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

0

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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.