Mini-guida alle share NFS
Per condividere una cartella con un altro sistema Linux si può usare il protocollo NFS (versione 4 o 3). Sul server dove la cartella viene condivisa va installato e attivato il servizio nfs-server.
Se la distribuzione è una Centos 7 (Red Hat o Oracle Linux 7) è sufficiente installare il pacchetto nfs-utils:
yum install nfs-utils
E attivare i seguenti servizi:
systemctl enable rpcbind
systemctl enable nfs-server
systemctl enable nfs-lock
systemctl enable nfs-idmap
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap
Supponendo che la cartella condivisa si chiamerà /export, essa va creata e modificati i permessi.
I permessi di questa cartella sono uno degli aspetti da considerare perchè la possono rendere inaccedibile dal client: se gli UID e GID dell’utente, di un eventuale processo che scrive dentro file, che ci accedono da remoto concidono con quelli del proprietario della cartella, non è necessario cambiarli altrimenti sì. Nel nostro caso abbiamo deciso di esportare la cartella a tutti gli utenti che possono accedervi.
mkdir /export
chmod 755 /export
chown nfsnobody:nfsnobody /export
Nel file di configurazione della cartella condivisa che è /etc/exports va inserita una riga così:
/export 192.168.1.14(rw,sync,no_subtree_check,no_root_squash,no_all_squash,fsid=3587)
dove /export è la cartella da condividere e 192.168.1.14 è l’ip del sistema client, rw significa in modalità read&write, fsid è un numero casuale indicativamente sul migliaio, mai uguale per altre voci nel file exports.
Le opzioni no_root_squash e no_all_squash fanno si che i file creati nella share vengano assegnati tutti all’utente nfsnobody così che chiunque da qualunque client autorizzato possa cancellare e modificare i file e cartelle.
Per esportare (ossia esporre) la share sul server nfs bisogna usare il comando:
exportfs -ra
Sul sistema client va montato su una cartella usando queste opzioni nel file /etc/fstab
192.168.1.12:/export /mnt/export nfs nfsvers=4,rw 0 0
dove 192.168.1.12 è l’IP server server NFS, nfsvers=4 è la versione di nfs, in questo caso v4. Può essere cambiata con nfsvers=3 per usare NFSv3. /mnt/export è la cartella dove sarà montata la share (deve esistere).
Per verificare la visibilità della share sul client:
showmount -e 192.168.1.12
Per verificare la corretta esportazione della share sul server nfs:
showmount -e localhost