Questo howto descrive come montare le condivisioni CIFS (SMB) di Windows in modo permanente. Le condivisioni potrebbero essere ospitate su un computer/server Windows o su un server Linux/UNIX che esegue Samba. Questo documento si applica anche alle condivisioni SMBFS, che sono simili a CIFS ma sono obsolete e dovrebbero essere evitate se possibile (link).
Questa attribuzione si basa sul documento Ubuntu originale (link), scritto da Contributors al wiki della documentazione di Ubuntu.
(Questo documento non descrivi come ospitare le condivisioni da solo, solo come accedere alle condivisioni che sono ospitate da qualche altra parte. Per le condivisioni di hosting, usa Samba.)
Prerequisiti
Assumiamo che:
- Le connessioni di rete sono state configurate correttamente.
-
Il tuo nome utente locale è ubuntuusername .
-
Il nome utente di condivisione sul computer Windows è msusername .
-
La password di condivisione sul computer Windows è mspassword .
-
Il nome del computer Windows è nomeserver (può essere un indirizzo IP o un nome assegnato).
-
Il nome della condivisione è nome condivisione .
-
Vuoi montare la condivisione in /media/windowsshare .
Installazione CIFS
sudo apt-get install cifs-utils
Sui sistemi precedenti:
sudo apt-get install smbfs
Montaggio di cartelle di rete (guest) non protette
Innanzitutto, creiamo la directory di montaggio. Avrai bisogno di una directory separata per ogni montaggio.
sudo mkdir /media/windowsshare
Quindi modifica il tuo file /etc/fstab (con privilegi di root) per aggiungere questa riga:
//servername/sharename /media/windowsshare cifs guest,uid=1000,iocharset=utf8 0 0
dove;
-
ospite indica che non è necessaria una password per accedere alla condivisione,
-
uid=1000 rende l'utente Linux specificato dall'id il proprietario della condivisione montata, consentendo loro di rinominare i file,
-
iocharset=utf8 consente l'accesso a file con nomi in lingue diverse dall'inglese. Questo non funziona con condivisioni di dispositivi come Buffalo Tera Station o macchine Windows che esportano le proprie condivisioni utilizzando ISO8895-15.
-
Se è presente spazio nel percorso del server , devi sostituirlo con \040, ad esempio //nomeserver/My\040Documents
Dopo aver aggiunto la voce a /etc/fstab, digitare:
sudo mount -a
Questo (ri)monterà tutte le voci elencate in /etc/fstab.
Monta cartelle di rete protette da password
Il modo più rapido per montare automaticamente una condivisione protetta da password è modificare /etc/fstab (con privilegi di root), per aggiungere questa riga:
//servername/sharename /media/windowsshare cifs username=msusername,password=mspassword,iocharset=utf8,sec=ntlm 0 0
Questo non una buona idea comunque:/etc/fstab è leggibile da tutti, così come la tua password di Windows al suo interno. Il modo per aggirare questo è usare un file di credenziali. Questo è un file che contiene solo il nome utente e la password.
Utilizzando un editor di testo, crea un file per le credenziali di accesso ai server remoti:
gedit ~/.smbcredentials
Inserisci il nome utente e la password di Windows nel file:
username=msusername password=mspassword
Salva il file, esci dall'editor.
Modifica le autorizzazioni del file per impedire l'accesso indesiderato alle tue credenziali:
chmod 600 ~/.smbcredentials
Quindi modifica il tuo file /etc/fstab (con privilegi di root) per aggiungere questa riga (sostituendo la riga non sicura nell'esempio sopra, se l'hai aggiunta):
//servername/sharename /media/windowsshare cifs credentials=/home/ubuntuusername/.smbcredentials,iocharset=utf8,sec=ntlm 0 0
Salva il file, esci dall'editor.
Infine, verifica la voce fstab emettendo:
sudo mount -a
Se non ci sono errori, dovresti testare come funziona dopo un riavvio. La tua condivisione remota dovrebbe essere montata automaticamente.
Autorizzazioni speciali
Se hai bisogno di un permesso speciale (come chmod ecc.), dovrai aggiungere un uid (abbreviazione di "id utente") o gid (per 'ID gruppo') alle opzioni di montaggio della condivisione.
//servername/sharename /media/windowsshare cifs uid=ubuntuuser,credentials=/home/ubuntuuser/.smbcredentials,iocharset=utf8,sec=ntlm 0 0
Risoluzione dei problemi
Errori di accesso
Se ricevi l'errore "mount error(13) autorizzazione negata", il server ha negato l'accesso. Ecco le prime cose da controllare:
- Stai utilizzando un nome utente e una password validi? Quell'account ha davvero accesso a questa cartella?
-
Hai uno spazio bianco nel file delle credenziali? Dovrebbe essere password=mspassword , non password = mspassword .
-
Hai bisogno di un dominio? Ad esempio, se ti viene detto che il tuo nome utente è SALES\sally , allora il tuo nome utente è sally e il tuo dominio è VENDITE . La voce fstab dovrebbe essere:...username=sally,password=pass,domain=SALES,... Oppure:...credentials=/percorso/del/file,dominio=VENDITE,...
-
L'impostazione di sicurezza è corretta? Il più comune è sec=ntlm , ma puoi anche provare le altre opzioni elencate nella pagina man di mount.cifs. L'elenco delle pagine man esclude l'opzione sec=lanman per qualche motivo, ma dovresti provare anche quello (vedi discussione).
La cartella di rete non protetta non si monta automaticamente
Ho riscontrato una situazione in cui una cartella di rete non protetta non si montava automaticamente durante l'avvio, ma dopo aver inserito manualmente "sudo mount -a" è stata montata correttamente. L'ho risolto sostituendo l'opzione "guest" con "username=guest,password=". Se qualcuno ha una spiegazione per questo, si prega di lasciare un commento.
//servername/sharename /media/windowsshare smbfs username=guest,password=,uid=1000,iocharset=utf8,codepage=unicode,unicode 0 0
Monta durante l'accesso invece che all'avvio
Se per qualche motivo/etc/rc0.d/S31umountnfs.sh (problemi di rete per esempio) il montaggio automatico durante l'avvio non funziona, puoi aggiungere il parametro "noauto" alla voce fstab di smbfs e quindi far montare la condivisione in Accedere.
In /etc/fstab:
//servername/sharename /media/windowsshare cifs noauto,credentials=/home/ubuntuusername/.smbpasswd 0 0
In /etc/rc.local:
mount /media/windowsshare exit 0
Spegnimento lento a causa di un bug CIFS/Network Manager
Se usi Network Manager e ricevi arresti molto lenti, è probabilmente perché NM si spegne prima di smontare le condivisioni di rete. Ciò farà sì che CIFS si blocchi e attenda circa 60 secondi. Ecco come risolverlo:/etc/rc0.d/S31umountnfs.sh
sudo ln -s /etc/init.d/umountnfs.sh /etc/rc0.d/K14umountnfs.sh sudo ln -s /etc/init.d/umountnfs.sh /etc/rc6.d/K14umountnfs.sh
Ubuntu 12.04 esegue già umountnfs.sh al riavvio e allo spegnimento per impostazione predefinita (/etc/rc0.d/S31umountnfs.sh e /etc/rc6.d/S31umountnfs.sh), quindi non è più necessario.
Opzioni CIFS obsolete
20 febbraio 2008 TW
L'uso di dmask o fmask nel file fstab produce i seguenti avvisi:ATTENZIONE:l'opzione di montaggio CIFS 'dmask' è deprecata. Usa invece 'dir_mode'. ATTENZIONE:l'opzione di montaggio CIFS 'fmask' è deprecata. Usa invece 'file_mode'.
Usa invece questo formato:file_mode=0777,dir_mode=0777 . O in alcuni casi potresti dover usare file_mode=0777,dir_mode=0777,nounix (vedi discussione)
Uso di tilde in nomi di percorso come “credentials=~/.smbcredentials”
20 febbraio 2008 TW
Curiosamente, l'utilizzo di credenziali=~/.smbcredentials in fstab non ha funzionato. Ho dovuto usare il percorso completo, ovvero /home/username/.smbcredentials
(Ciò è probabile perché la tilde "~" è solo un alias abbreviato della shell per "$HOME"; non è qualcosa di riconosciuto a livello di sistema da tutti i programmi, specialmente non in una tabella di file di sistema in cui il concetto di "HOME "non esiste davvero. -Ian!)
Elementi storici (versioni precedenti di Ubuntu)
Monta condivisioni protette da password usando libpam_mount (Ubuntu 9.04)
Oltre alle ipotesi iniziali, assumiamo che
-
Il tuo nome utente e password sono gli stessi sulla macchina Ubuntu e sull'unità di rete.
Installa libpam-mount:
sudo apt-get install libpam-mount
Modifica /etc/security/pam_mount.conf.xml usando il tuo editor di testo preferito.
gksudo gedit /etc/security/pam_mount.conf.xml
Innanzitutto, spostiamo i bit di configurazione specifici dell'utente in un file che gli utenti possono effettivamente modificare da soli:rimuovere i tag di commento () che circondano la sezione denominata
gedit ~/.pam_mount.conf.xml
Aggiungi quanto segue:
<?xml version="1.0" encoding="utf-8" ?> <pam_mount> <volume options="uid=%(USER),gid=100,dmask=0700" user="*" mountpoint="/media/windowsshare" path="sharename" server="servername" fstype="cifs" /> </pam_mount>
Il materiale in questo post è disponibile con una licenza gratuita, vedi Copyright/Licenza per i dettagli.