La maggior parte dei file system Linux viene montata all'avvio e rimane montata mentre il sistema è in esecuzione. Questo vale anche per tutti i file system remoti che sono stati configurati in fstab
file. Tuttavia, a volte si preferisce montare un file system remoto solo su richiesta, ad esempio per aumentare le prestazioni riducendo l'utilizzo della larghezza di banda della rete o per nascondere o offuscare determinate directory per motivi di sicurezza. Il pacchetto autofs fornisce questa funzionalità. In questo articolo, descriverò come ottenere una configurazione di montaggio automatico di base attiva e funzionante.
Più risorse Linux
- Comandi Linux cheat sheet
- Cheat sheet sui comandi avanzati di Linux
- Corso online gratuito:Panoramica tecnica RHEL
- Cheat sheet della rete Linux
- Cheat sheet di SELinux
- Cheat sheet dei comandi comuni di Linux
- Cosa sono i container Linux?
- I nostri ultimi articoli su Linux
Innanzitutto, alcune ipotesi:supponiamo che il server NFS denominato tree.mydatacenter.net
è attivo e funzionante. Assumiamo anche una directory di dati denominata ourfiles
e due directory utente, per Carl e Sarah, sono condivise da questo server.
Alcune best practice faranno funzionare le cose un po' meglio:è una buona idea utilizzare lo stesso ID utente per i tuoi utenti sul server e su qualsiasi workstation client in cui hanno un account. Inoltre, le workstation e il server dovrebbero avere lo stesso nome di dominio. Il controllo dei file di configurazione pertinenti dovrebbe confermare.
alan@workstation1:~$ sudo getent passwd carl sarah
[sudo] password for alan:
carl:x:1020:1020:Carl,,,:/home/carl:/bin/bash
sarah:x:1021:1021:Sarah,,,:/home/sarah:/bin/bash
alan@workstation1:~$ sudo getent hosts
127.0.0.1 localhost
127.0.1.1 workstation1.mydatacenter.net workstation1
10.10.1.5 tree.mydatacenter.net tree
Come puoi vedere, sia la workstation client che il server NFS sono configurati negli hosts
file. Presumo una rete domestica di base o anche un piccolo ufficio che potrebbe non avere un servizio di nomi di dominio interno adeguato (ad esempio, DNS).
Installa i pacchetti
Devi installare solo due pacchetti:nfs-common
per le funzioni client NFS e autofs
per fornire la funzione di montaggio automatico.
alan@workstation1:~$ sudo apt-get install nfs-common autofs
Puoi verificare che i file autofs siano stati inseriti in etc
directory:
alan@workstation1:~$ cd /etc; ll auto*
-rw-r--r-- 1 root root 12596 Nov 19 2015 autofs.conf
-rw-r--r-- 1 root root 857 Mar 10 2017 auto.master
-rw-r--r-- 1 root root 708 Jul 6 2017 auto.misc
-rwxr-xr-x 1 root root 1039 Nov 19 2015 auto.net*
-rwxr-xr-x 1 root root 2191 Nov 19 2015 auto.smb*
alan@workstation1:/etc$
Configura autofs
Ora devi modificare molti di questi file e aggiungere il file auto.home
. Innanzitutto, aggiungi le seguenti due righe al file auto.master
:
/mnt/tree /etc/auto.misc
/home/tree /etc/auto.home
Ogni riga inizia con la directory in cui verranno montate le condivisioni NFS. Vai avanti e crea quelle directory:
alan@workstation1:/etc$ sudo mkdir /mnt/tree /home/tree
In secondo luogo, aggiungi la seguente riga al file auto.misc
:
ourfiles -fstype=nfs tree:/share/ourfiles
Questa riga indica ad autofs di montare i ourfiles
condividi nella posizione corrispondente in auto.master
file per auto.misc
. Come mostrato sopra, questi file saranno disponibili nella directory /mnt/tree/ourfiles
.
Terzo, crea il file auto.home
con la seguente riga:
* -fstype=nfs tree:/home/&
Questa riga indica ad autofs di montare la condivisione degli utenti nella posizione corrispondente in auto.master
file per auto.home
. In questo caso, i file di Carl e Sarah saranno disponibili nelle directory /home/tree/carl
o /home/tree/sarah
, rispettivamente. L'asterisco (denominato carattere jolly) consente di montare automaticamente la condivisione di ciascun utente al momento dell'accesso. La e commerciale funge anche da carattere jolly che rappresenta la directory dell'utente sul lato server. La loro home directory dovrebbe essere mappata di conseguenza nel passwd
file. Questo non deve essere fatto se preferisci una home directory locale; invece, l'utente potrebbe usarlo come semplice archiviazione remota per file specifici.
Infine, riavvia autofs
demone in modo che riconosca e carichi queste modifiche al file di configurazione.
alan@workstation1:/etc$ sudo service autofs restart
Test autofs
Se passi a una delle directory elencate nel file auto.master
ed esegui ls
comando, non vedrai nulla immediatamente. Ad esempio, cambia directory (cd)
a /mnt/tree
. Inizialmente, l'output di ls
non mostrerà nulla, ma dopo aver eseguito cd ourfiles
, i ourfiles
la directory di condivisione verrà automaticamente montata. Il cd
verrà eseguito anche il comando e verrai posizionato nella directory appena montata.
carl@workstation1:~$ cd /mnt/tree
carl@workstation1:/mnt/tree$ ls
carl@workstation1:/mnt/tree$ cd ourfiles
carl@workstation1:/mnt/tree/ourfiles$
Per confermare ulteriormente che le cose stanno funzionando, il mount
il comando visualizzerà i dettagli della condivisione montata.
carl@workstation1:~$ mount
tree:/mnt/share/ourfiles on /mnt/tree/ourfiles type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.1.22,local_lock=none,addr=10.10.1.5)
Il /home/tree
la directory funzionerà allo stesso modo per Carl e Sarah.
Trovo utile aggiungere queste directory ai segnalibri nel mio file manager per un accesso più rapido.