Passa ai contenuti principali

Linux - Condividere una cartella in internet con Samba

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
Per fare le modifiche dobbiamo arrivare nella zona di Share Definitions

Samba -5
Zona di Share Definitions
scendere ancora un po' e fare queste modifiche

[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
service smbd restart


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.

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
In ultimo come abbiamo visto nel post Android - Condividere dati tra dispositivo e PC in Wi-Fi usando per Android l'app File Expert, possiamo accedere alla cartella web usando il nostro smartphone e copiare ed incollare i dati.

Samba -11
Cartella Windows/Samba di File Expert su Android

Samba -12
Visualizzazione della Cartella web su Smartphone
Con questo sistema possiamo copiare ed incollare i dati (photo e file) sul nostro server anche da remoto (usando internet)

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

Anonimo ha detto…
porta 137 o 138 ?

Post più popolari

Mac OS X - Installare ed usare una stampante sul Print Server GetNet 3 Port 2 USB e 1 LPT

Abbiamo visto come installare il Print Server GetNet 3 in 1 sui più diffusi sistemi operativi Windows (vedi articoli correlati in fondo al post). La "scatoletta" ha anche un protocollo di comunicazione Apple Talk, quindi può essere collegata (fare da tramite) anche a stampanti che abbiano la gestione post script integrata (quasi tutte le stampanti salvo quelle del gruppo Ricoh che hanno bisogno di un apposito moduol installato) sul Mac. Print Server GetNet 1 Parallela e 2 USB Il metodo di installazione è molto simile a quello visto su Windows, con la differenza sostanziale che non è necessario scegliere tra moltissimi modelli, ma si gestisce in modo più semplice. Purtroppo sul Mac non è possibile (allo stato attuale) collegare print server di tipo TP-Link, ovvero replicatori di porta USB su Lan, in quanto non esiste un driver adatto. Detto questo, consideriamo la stampante che vogliamo collegare al Mac. Il caso che abbiamo usato nei precedenti post,

BlackBerry - Importare i dati da altri cellulari

English translated post Un amico mi porta un BlackBerry Pearl 8110 e mi chiede di trasferire i dati dal suo cellulare Nokia a questo telefono. Premesso che personalmente non ho mai reputato il BlackBerry un telefono "semplice", l'operazione si è reputata piuttosto complessa. Scartata l'idea di mandare i vcard via bluetooth (come si fa con quasi tutti i Nokia e Samsung), l'unica alternativa è quella di appoggiarsi a Microsoft Outlook !!! Come fare? 1 - Installare il Microsoft Outlook (XP o 2003) nel proprio PC 2 - Installare (nel caso specifico del Nokia) il programma Nokia PC Suite 3 - Sincronizzare solo la Rubrica (ovviamente dipende sempre se il cellulare Nokia è il Vostro o di un Vostro amico) del Nokia con l'Outlook, così che tutti i dati presenti nella Rubrica siano copiati nella sezione Contatti dell'Outlook 4 - Scaricare l'ultima versione del BlackBerry Desktop Manager (se il pacchetto è quello Vodafone, la versione sul CD non è molto efficac

Joomla! - Mettere la testata in Stampa

Come è noto Joomla! è uno dei più usati CMS (Content Managment System) che consente di avere un ambiente (environment) sul quale costruire e sviluppare siti e portali. Uno dei problemi più noti è quello di poter inserire la testata nel file da stampare. Ad esempio se il mio sito si chiama dicecca.net - Blog ed ha un logo particolare che voglio pubblicare come testata, nella conformazione classica, non posso farlo. Come risolvere? Premesso che tutto il sistema è scritto in linguaggio PHP, il file che viene chiamato in causa è component.php che si trova nella cartella /[sito (1)] /templates/system Il file ( che è possibile scaricare qui in formato testo ), alla riga 40 inizia il Body del testo. Alla riga 41 inizia l'inclusione del testo dell'articolo che si è deciso di stampare, che a sua volta viene aperto in una finestra popup. Dando un taso invio, dalla riga 41 è possibile inserire il riferimento ad una immagine e/o un formattato HTML della testata del nos