Blog InformaticaPHPUbuntu19 Aprile 2017by Daniele Carnovale0Condividere cartelle tra Windows e Ubuntu

Condividere cartelle tra Windows e Ubuntu

Sempre più aziende migrano i loro server da Windows a Ubuntu (linux).
Spesso il cambio di server avviene in prossimità dell’aggiornamento di licenza di Windows, che per ovvi motivi (aumento delle prestazioni, incompatibilità con nuovi software) va fatta circa ogni 3-4 anni. L’aggiornamento spesso non è indolore e può anche essere costoso.
Di conseguenza si opta per cambiare sistema operativo e passare a versioni Linux free. La più utilizzata è la versione server di Ubuntu. Questo, oltre ad un risparmio economico, in molti casi aumenta notevolmente le prestazioni del server stesso. A me personalmente è capitato spesso (“Sempre”, in alcuni casi l’ho pretesa) di consigliare questa migrazione.

Miglioramenti si ma attenzione!!

Chi, come me, lavora con tecnologia php ha un notevole miglioramento delle prestazioni. In un contesto aziendale non sono da sottovalutare una serie di problematiche che questo cambiamento può comportare. La prima difficoltà è quella di condividere cartelle tra Windows e Ubuntu.  Non è proprio consigliabile e nemmeno da pretendere di cambiare tutti i pc aziendali (per lo più con sistema operativo Windows)  per il solo cambio del server. Una soluzione al problema è l’installazione e la configurazione di samba.

condividere cartelle tra windows e ubuntu con samba
condividere cartelle tra windows e ubuntu con samba

Ecco una piccola guida all’installazione e alla configurazione di Samba

I miei dati
ambiente ubuntu 14.04
la mia rete 192.168.2.0/24
pc windows 192.168.2.10
user accesso a windows = admin password = psw

installare samba

sudo apt-get install samba
nano /etc/samba/smb.conf

configurare samba (se i parametri ci sono già modificarli se no aggiungerli in global)

[global]
dns proxy = no
allow hosts = 192.168.2.0/24 # Range di IP che possono accedere al server
workgroup = ET # Nome del gruppo di lavoro
netbios = SAMBA # Nome della macchina nel gruppo di lavoro
security = USER # Livello di sicurezza delle condivisioni
server string = FILE SERVER # Descrizione della macchina
create mask = 0755 # Permessi sulle cartella

una volta installato il server samba consiglio di installare delle utility per il montaggio semplice delle cartelle condivise
installare cifs per il montaggio delle cartelle

sudo aptitude install cifs-utils

comando per montare una cartella

mount -t cifs -o user=admin '\\192.168.2.10\cartellaCondivisaWindows' /home/cartellaDiMountUbuntu

se la cartella non è protetta da password

mount -t cifs -o user=admin '\\192.168.2.10\cartellaCondivisaWindows' /home/cartellaDiMountUbuntu

A questo punto la cartella è condivisa ed è accessibile dal server Ubuntu come se fosse una cartella interna al sistema. Non consiglio di configurare il contrario. Per la lettura di file o cartella da Windows a Ubuntu io utilizzo sempre dei comandi veloci direttamente da shell.
Per rendere il montaggio permanente è necessario configurare fstab.

nano /etc/fstab

aggiungi rigo alla fine

//192.168.2.10/cartellaCondivisaWindows /home/cartellaDiMountUbuntu cifs username=admin,password=psw,iocharset=utf8,sec=ntlm 0 0

se la cartella non è protetta

//192.168.2.10/cartellaCondivisaWindows /home/cartellaDiMountUbuntu guest,uid=1000,iocharset=utf8,codepage=unicode,unicode 0 0

Come sempre le rogne più fastidiose, in ambiente linux, sono quelle che riguardano i permessi.
Nel mio caso avevo la necessità di dare i permessi di scrittura ad una cartella condivisa su Windows ad Apache (software php che gira sul server Ubuntu) quindi all’user www-data. Ho risolto modificando la riga precedente nel seguente modo.

//192.168.2.10/cartellaCondivisaWindows /home/cartellaDiMountUbuntu cifs username=admin,password=psw,uid=www-data,gid=www-data,file_mode=0666,dir_mode=0777,iocharset=utf8,sec=ntlm 0 0

Leave a Reply

Your email address will not be published. Required fields are marked *