Il protocollo NFS consente di condividere il contenuto di intere directory tra macchine Linux/Unix. Tali risorse condivise, potranno essere esportate dalla macchina server e montate dai client desiderati.
Come si può immaginare, l’utilizzo di NFS, è fondamentale in un contesto come quello di ReteISI, dove si vuole che i file degli utenti restino ospitati dal server di dominio. Ciò verrà garantito imponendo che la /home dei singoli client coincida con la /home esportata dal server.
Installazione dei pacchetti necessari:
apt-get install nfs-common nfs-kernel-server
Alla domanda “Should portmap be bound to the loopback address?” Scegliere No (default) a meno che non vi siano particolari esigenze.
Le singole macchine, od i network, a cui verrà esportato il fileserver andranno inserite in /etc/exports. Modificare dunque tale file aggiungendo una linea come la seguente:
/home 192.168.1.0/255.255.255.0(rw,no_root_squash)
Nota: 192.168.1.0 è il network in cui risulterà visibile la risorsa /home esportata.
Sarà possibile elencare le esportazioni attive grazie al comando showmount
srv-isi:~# showmount --all
All mount points on srv-isi:
192.168.1.0/255.255.255.0:/home
192.168.1.230:192.168.1.0/255.255.255.0
Montare una directory esportata via nfs in una directory locale non-vuota impedirà l’accesso al contenuto locale preesistente. Tale contenuto tornerà accessibile una volta smontata la risorsa.
Qualora si desideri mantenere la possibilità di loggarsi anche con utenti locali, sarà quindi necessario rinominare la /home locale in /home_local e si creerà una nuova /home locale, vuota, in cui montare la /home remota. Ovviamente saranno anche da aggiornare in /etc/passwd i percorsi delle home-utente, portandoli da /home a /home_local:
[email protected]:~# mv /home/ /home_local
[email protected]:~# mkdir /home
[email protected]:~# sed -i 's/home\//home_local\//g' /etc/passwd
Si potrà ora procedere con l’installazione del client nfs:
[email protected]:~# sudo apt-get install nfs-common
e la modifica di /etc/fstab, al quale andrà aggiunta la seguente direttiva
srv-isi:/home /home nfs defaults,soft,rw,auto 0 2
Nota: Ci si assicuri che il file /etc/fstab sia terminato con un “a capo”.
NFS può essere associato ad autofs per ottenere il mount al volo della cartella esportata a seconda dell’utente che effettua il login
Non c’è differenza rispetto a quanto detto in precedenza, viene però mostrato il contenuto di /etc/exports nel caso della struttura di cartelle ReteIsi e in modo che le stesse possano essere raggiunte da più sottoreti (si osservino ip e ipmask):
/home/users/admins 192.168.0.0/255.255.0.0(rw,sync)
/home/users/alunni 192.168.0.0/255.255.0.0(rw,sync)
/home/users/ata 192.168.0.0/255.255.0.0(rw,sync)
/home/users/docenti 192.168.0.0/255.255.0.0(rw,sync)
/home/users/esterni 192.168.0.0/255.255.0.0(rw,sync)
/home/shares/classi 192.168.0.0/255.255.0.0(rw,sync)
Installazione dei pacchetti necessari:
apt-get install portmap nfs-common autofs
Verranno generati in /etc due file di configurazione il cui contenuto potrà essere il seguente (nel caso si vogliano esportare solo le radici delle home di ciascun gruppo principale):
/etc/auto.master
/home/users/alunni /etc/auto.home_alunni
/home/users/admins /etc/auto.home_admins
/home/users/ata /etc/auto.home_ata
/home/users/docenti /etc/auto.home_docenti
/home/users/esterni /etc/auto.home_esterni
/home/shares/classi /etc/auto.classi
/etc/auto.misc
lasciare invariato
occorrerà poi creare i seguenti altri file di configurazione, uno per ogni cartella esportata (SERVER è l’ip o il namehost della macchina che esporta)
/etc/auto.classi
* -fstype=nfs,soft,intr,rsize=32768,wsize=32768 SERVER:/home/shares/classi/&
/etc/auto.home_admins
* -fstype=nfs,soft,intr,rsize=32768,wsize=32768 SERVER:/home/users/admins/&
/etc/auto.home_alunni
* -fstype=nfs,soft,intr,rsize=32768,wsize=32768 SERVER:/home/users/alunni/&
/etc/auto.home_ata
*-fstype=nfs,soft,intr,rsize=32768,wsize=32768 SERVER:/home/users/alunni/&
/etc/auto.home_docenti
* -fstype=nfs,soft,intr,rsize=32768,wsize=32768 SERVER:/home/users/docenti/&
/etc/auto.home_esterni
*-fstype=nfs,soft,intr,rsize=32768,wsize=32768 SERVER:/home/users/esterni/&
Per far funzionare il tutto basterà a questo punto fa ripartire il servizio autofs
/etc/init.d/autofs restart