Sui sistemi operativi Linux e UNIX, una condivisione Windows può essere montata su un punto di montaggio particolare nell'albero delle directory locali utilizzando cifs
opzione del mount
comando.
Il Common Internet File System (CIFS) è un protocollo di condivisione file di rete. CIFS è una forma di PMI.
In questo tutorial spiegheremo come montare manualmente e automaticamente le condivisioni Windows su sistemi Linux.
Installazione dei pacchetti di utilità CIFS #
Per montare una condivisione Windows su un sistema Linux, devi prima installare il pacchetto di utilità CIFS.
-
Installazione delle utilità CIFS su Ubuntu e Debian:
sudo apt update
sudo apt install cifs-utils
-
Installazione delle utilità CIFS su CentOS e Fedora:
sudo dnf install cifs-utils
Il nome del pacchetto potrebbe differire tra le distribuzioni Linux.
Montaggio di una condivisione Windows CIFS #
Il montaggio di una condivisione Windows remota è simile al montaggio di normali file system.
Innanzitutto, crea una directory che funga da punto di montaggio per la condivisione Windows remota:
sudo mkdir /mnt/win_share
Esegui il comando seguente come root o utente con sudoprivileges per montare la condivisione:
sudo mount -t cifs -o username=<win_share_user> //WIN_SHARE_IP/<share_name> /mnt/win_share
Ti verrà chiesto di inserire la password:
Password:
In caso di successo, non viene prodotto alcun output.
Per verificare che la condivisione Windows remota sia stata montata correttamente, utilizzare il mount
o df -h
comando.
Una volta montata la condivisione, il punto di montaggio diventa la directory principale del file system montato. Puoi lavorare con i file remoti come se fossero file locali.
La password può essere fornita anche dalla riga 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, puoi impostarlo 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 consiglia di utilizzare un file di credenziali, che contenga username, password e dominio condivisi.
Il file delle credenziali ha il seguente formato:
/etc/win-credentialsusername=user
password=password
domain=domain
Il file non deve essere leggibile dagli utenti. Per impostare le autorizzazioni e la proprietà corrette, esegui:
sudo chown root: /etc/win-credentials
sudo chmod 600 /etc/win-credentials
Per utilizzare il file delle credenziali, definirlo come segue:
sudo mount -t cifs -o credentials=/etc/win-credentials //WIN_SHARE_IP/<share_name> /mnt/win_share
Per impostazione predefinita, la condivisione montata è di proprietà di root e le autorizzazioni sono impostate su 777.
Usa dir_mode
opzione per impostare il permesso della directory e file_mode
per impostare il permesso del file:
sudo mount -t cifs -o credentials=/etc/win-credentials,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share
L'utente predefinito e la proprietà del gruppo possono essere modificati con il uid
e gid
opzioni:
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, aggiungile come un elenco separato da virgole dopo il -o
opzione. Per ottenere un elenco di tutte le opzioni di montaggio, digita man mount
nel tuo terminale.
Montaggio automatico #
Quando la condivisione viene montata manualmente con mount
comando, non persiste dopo un riavvio.
Il /etc/fstab
file contiene un elenco di voci che definiscono dove e quale filesystem verrà montato all'avvio del sistema.
Per montare automaticamente una condivisione Windows all'avvio del tuo sistema Linux, definisci il montaggio in /etc/fstab
file. La riga deve includere il nome host o l'indirizzo IP del PC Windows, il nome della condivisione e il punto di montaggio sul computer locale.
Apri il /etc/fstab
file con il tuo editor di testo:
sudo nano /etc/fstab
Aggiungi la seguente riga 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
Esegui il comando seguente per montare la condivisione:
sudo mount /mnt/win_share
Il mount
comando, leggerà il contenuto di /etc/fstab
e monta la condivisione.
Al prossimo riavvio del sistema, la condivisione di Windows verrà montata automaticamente.
Smontaggio della condivisione di Windows #
Il umount
comando stacca (smonta) il file system montato dall'albero delle directory.
Per staccare una condivisione Windows montata, usa umount
comando seguito dalla directory in cui è stato montato o dalla condivisione remota:
sudo umount /mnt/win_share
Se il montaggio CIFS ha una voce in fstab
file, rimuovilo.
Il umount
comando non riuscirà a scollegare la condivisione quando è in uso. Per scoprire quali processi accedono alla condivisione di Windows, usa il fuser
comando:
fuser -m MOUNT_POINT
Una volta trovati i processi, puoi fermarli con il kill
comandare e smontare la condivisione.
Se hai ancora problemi a smontare la condivisione, usa il -l
(--lazy
) opzione, che consente di smontare un file system occupato non appena non è più occupato.
sudo umount -l MOUNT_POINT
Conclusione #
In Linux, puoi montare un Windows condiviso usando mount
comando con il cifs
opzione.
Se hai domande o feedback, sentiti libero di lasciare un commento.