Essendo ormai il PC (computer più in genere) un mezzo presente in quasi tutte le case, anche più di una unità, non è difficile immaginare che ci possa essere la necessità di poter condividere nella rete locale delle informazioni, in modo particolar dei file in una cartella.
Di tanti modi che possiamo usare (l'ftp ad esempio che tratteremo in un post dedicato) quello più naturale per tutti gli utenti è quello della "cartella remota", ovvero quando scriviamo la sintassi
\\nomepc\cartella
che Windows consente di creare come unità a se stante in Risorse del Computer (o Computer, o Questo PC)
In questo post tratteremo come condividere una cartella residente su Linux (nel caso specifico Ubuntu Server 10.04.4, ma può essere esteso a tutta la famiglia di sistemi operativi Linux, in quanto Samba è il protocollo di scambio file standard)
Useremo ancora una volta un terminale e per effettuare le modifiche dovremo accedere come SuperUser (comando sudo su e poi la password di root) .
Essendo la cartella condivisa con la rete locale, ma sopratutto con internet, l'accesso, ovviamente, sarà consentito solo ad utenti provvisti di login e password.
Per prima cosa, facciamo un backup del file smb.conf con il comando copy
cp -p /etc/samba/smb.conf /home/[utente]/smb,conf.orig
[utente] sta per la cartella personale dell'utente
Samba - 1 Copia del file originale |
A questo punto creiamo sul disco (quello di sistema o quello di una unità aggiunta, cfr. Linux - Montare un disco da terminale), creiamo una cartella, ad esempio webdir, e con chmod diamo i permessi 777 (lettura, scrittura, esecuzione su Linux, oppure 666 che è lettura/scrittura) e
Samba -2 Creazione cartella webdir e conferimento permessi 777 |
Se abbiamo creato degli utenti per la posta (cfr.Linux - Installare un Server di Posta) possiamo aggiungerlo alla lista di samba, in caso contrario con lo stesso metodo, possiamo crearne uno nuovo
useradd -m -s /bin/false [utente]
e poi con il comando
smbpasswd -a [utente]
diamo la password solo per l'accesso alla cartalla di samba
Samba -3 Creazione utente e password per Samba |
A questo punto dobbiamo fare una modifica al file /etc/samba/smb.conf che abbiamo copiato prima.
Possiamo usare sia l'editor nano che l'editor di MC (MidnightCommander). Noi in questo post useremo questo.
Samba -4 Cartella Samba |
Samba -5 Zona di Share Definitions |
[Cartella_WEB]
path=/mnt/sdb1/webdir
available=yes
browsable=yes
public=no
writable=yes
create mask=0777
directory mask=0777
Samba -6 Definizione della Cartella Web da condividere |
Cartella_WEB è il nome che comparirà su Risorse del Computer (Computer, Questo PC) quando accederemo alla cartella remota
Salviamo le modifiche (F2, invio e poi F10 su MC) e riavviamo il servizio smbd:
Samba -7 Riavvio del demone di Samba |
oppure
service smbd stop
e dopo
service smbd start
E' possibile inserire più cartelle da condividere (ad esempio una per i siti, una per lo spazio, ecc...) aggiungendo di seguito alla modifica precedente la stessa inserendo un nome ed un percorso differente, ad esempio, riconsiderando l'esempio precedente
[Cartella_WEB]
path=/mnt/sdb1/webdir
available=yes
browsable=yes
public=no
writable=yes
create mask=0777
directory mask=0777
[Ricoh_Scan]
path=/mnt/sdc1/ricoh/scan
available=yes
browsable=yes
public=no
writable=yes
create mask=0777
directory mask=0777
E via dicendo.
Ora su Computer possiamo accedre alla macchina usado tre metodi: o il nome del PC, o l'indirizzo macchina (l'IP) oppure il nome del DNS.
service smbd stop
e dopo
service smbd start
E' possibile inserire più cartelle da condividere (ad esempio una per i siti, una per lo spazio, ecc...) aggiungendo di seguito alla modifica precedente la stessa inserendo un nome ed un percorso differente, ad esempio, riconsiderando l'esempio precedente
[Cartella_WEB]
path=/mnt/sdb1/webdir
available=yes
browsable=yes
public=no
writable=yes
create mask=0777
directory mask=0777
[Ricoh_Scan]
path=/mnt/sdc1/ricoh/scan
available=yes
browsable=yes
public=no
writable=yes
create mask=0777
directory mask=0777
E via dicendo.
Ora su Computer possiamo accedre alla macchina usado tre metodi: o il nome del PC, o l'indirizzo macchina (l'IP) oppure il nome del DNS.
Per fare questo, supponendo che il PC si trovi in una sottorete 192.168.x.x, sul router dobbiamo attivare le porte 445 protocollo TCP e 138 del protocollo UDP
Samba -8 Porte da attivar sul router per accedere alle cartelle web da internet |
Come in tutti i post che abbiamo pubblicato fino ad ora su questo argomento, noi usiamo il dns thematrixmachine.net
Quindi scrivendo\\thematrixmachine.net su Computer, abbiamo
Samba -9 Accesso mediante Risorse del Computer alla cartella remota via internet |
Inserendo Nome utente e password nella cartella abbiamo
Samba -10 Accesso mediante Risorse del Computer alla cartella remota via internet |
Samba -11 Cartella Windows/Samba di File Expert su Android |
Samba -12 Visualizzazione della Cartella web su Smartphone |
Può tornare comodo da sapere: I dischi formattati con NTFS (sotto Windows) possono essere usati su Linux in lettura e scrittura.
Va da se che essendo differenti nella gestione, la metodologia dei permessi di Linux non funziona nei dischi formattati NTFS montati sotto Linux, ma è sempre attivo il permesso 777, lettura, scrittura, esecuzione per tutti e tre i tipo di utente, ovvero locale, gruppo, tutti.
Dipende da cosa si deve fare e a cosa serve montare un disco NTFS sotto Linux, perché non è un metodo sicuro.
L'unico vantaggio è che in caso di problemi sotto Linux il disco può essere letto subito sotto Windows.
Nel caso di questo post, può essere utile nel caso si usi un disco esterno USB (HDD, SSD, Flash Disk) e lo si vuole leggere indistintamente sotto Windows o Linux
Commenti