Articles

Come montare una condivisione di Windows su Linux usando CIFS

Posted on

Sui sistemi operativi Linux e UNIX, una condivisione di Windows può essere montata su un particolare punto di montaggio nell’albero delle directory locali usando l’opzione cifs del comando mount.

Il Common Internet File System (CIFS) è un protocollo di condivisione file di rete. CIFS è una forma di SMB.

In questo tutorial, spiegheremo come montare manualmente e automaticamente le condivisioni di Windows sui sistemi Linux.

Installazione dei pacchetti di utilità CIFS #

Per montare una condivisione di Windows su un sistema Linux, prima è necessario installare il pacchetto di utilità CIFS.

  • Installazione delle utilità CIFS su Ubuntu e Debian:

    sudo apt updatesudo apt install cifs-utils
  • Installazione delle utilità CIFS su CentOS e Fedora:

    sudo dnf install cifs-utils

Il nome del pacchetto può differire tra le distribuzioni Linux.

Montaggio di una condivisione CIFS per Windows #

Montare una condivisione remota per Windows è simile al montaggio dei normali file system.

Prima di tutto, create una directory che serva da punto di montaggio per la condivisione remota di Windows:

sudo mkdir /mnt/win_share

Eseguite il seguente comando come root o utente con privilegi sud per montare la condivisione:

sudo mount -t cifs -o username=<win_share_user> //WIN_SHARE_IP/<share_name> /mnt/win_share

Vi verrà richiesto di inserire la password:

Password:

Al successo, non viene prodotto alcun output.

Per verificare che la condivisione remota di Windows sia stata montata con successo, usate il comando mount o df -h.

Una volta montata la condivisione, il punto di montaggio diventa la directory principale del file system montato. Potete lavorare con i file remoti come se fossero file locali.

La password può anche essere fornita sulla linea di comando:

sudo mount -t cifs -o username=<win_share_user>,password=<win_share_password> //WIN_SHARE_IP/<share_name> /mnt/win_share

Se l’utente è nel gruppo di lavoro o nel dominio di Windows, potete impostarla come segue:

sudo mount -t cifs -o username=<win_share_user>,domain=<win_domain> //WIN_SHARE_IP/<share_name> /mnt/win_share

Per una maggiore sicurezza si raccomanda di usare un file di credenziali, che contiene il nome utente della condivisione, la password e il dominio.

Il file delle credenziali ha il seguente formato:

/etc/win-credentials
username=userpassword=passworddomain=domain

Il file non deve essere leggibile dagli utenti. Per impostare i permessi e la proprietà corretti, eseguire:

sudo chown root: /etc/win-credentialssudo chmod 600 /etc/win-credentials

Per usare il file delle credenziali, definirlo come segue:

sudo mount -t cifs -o credentials=/etc/win-credentials //WIN_SHARE_IP/<share_name> /mnt/win_share

Di default la condivisione montata è di proprietà di root, e i permessi sono impostati su 777.

Utilizzare l’opzione dir_mode per impostare i permessi della directory e file_mode per impostare i permessi dei file:

sudo mount -t cifs -o credentials=/etc/win-credentials,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share

La proprietà predefinita di utenti e gruppi può essere cambiata con le opzioni uid e gid:

sudo mount -t cifs -o credentials=/etc/win-credentials,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share

Per impostare opzioni aggiuntive, aggiungerle come elenco separato da virgole dopo l’opzione -o. Per ottenere un elenco di tutte le opzioni di montaggio digitare man mount nel vostro terminale.

Montaggio automatico #

Quando la condivisione viene montata manualmente con il comando mount, non persiste dopo un riavvio.

Il file /etc/fstab contiene una lista di voci che definiscono dove e quale filesystem sarà montato all’avvio del sistema.

Per montare automaticamente una condivisione di Windows all’avvio del sistema Linux, definire il montaggio nel file /etc/fstab. La linea deve includere l’hostname o l’indirizzo IP del PC Windows, il nome della condivisione e il punto di montaggio sulla macchina locale.

Aprire il file /etc/fstab con il tuo editor di testo:

sudo nano /etc/fstab

Aggiungere la seguente linea al file:

/etc/fstab
# <file system> <dir> <type> <options> <dump> <pass>//WIN_SHARE_IP/share_name /mnt/win_share cifs credentials=/etc/win-credentials,file_mode=0755,dir_mode=0755 0 0

Eseguire il seguente comando per montare la condivisione:

sudo mount /mnt/win_share

Il comando mount, leggerà il contenuto del /etc/fstab e monterà la condivisione.

Al prossimo riavvio del sistema, la condivisione di Windows sarà montata automaticamente.

Smontare la condivisione di Windows #

Il comando umount stacca (smonta) il file system montato dall’albero delle directory.

Per staccare una condivisione Windows montata, usare il comando umount seguito dalla directory dove è stata montata o dalla condivisione remota:

sudo umount /mnt/win_share

Se il montaggio CIFS ha una voce nel file fstab, rimuoverla.

Il comando umount non riuscirà a staccare la condivisione quando è in uso. Per scoprire quali processi stanno accedendo alla condivisione di windows, usate il comando fuser:

fuser -m MOUNT_POINT

Una volta trovati i processi, potete fermarli con il comando kill e smontare la condivisione.

Se avete ancora problemi a smontare la condivisione, usate l’opzione -l--lazy), che vi permette di smontare un file system occupato non appena non è più occupato.

sudo umount -l MOUNT_POINT

Conclusione #

In Linux, è possibile montare un Windows condiviso utilizzando il comando mount con l’opzione cifs.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *