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
GNU/Linux

Articolo precedente

Red Hat / CentOS 7 con GUI minima