9.3. Configurazione del server NFS

Ci sono tre modi per configurare un server NFS sotto Red Hat Enterprise Linux: usare Strumento di configurazione del server NFS (redhat-config-nfs), modificare manualmente il suo file di configurazione (/etc/exports), o usare il comando /usr/sbin/exportfs.

Per informazioni sull'uso di Strumento di configurazione del server NFS, consultate il capitolo intitolato Network File System (NFS) nella Red Hat Enterprise Linux System Administration Guide. In questa sezione si affrontano la modifica manuale di /etc/exports e l'uso del comando /usr/sbin/exportfs per esportare i file system NFS.

9.3.1. File di configurazione del server NFS

Il file /etc/exports controlla verso quali host remoti vengono esportati determinati filesystem e per specificare particolari opzioni. Le linee vuote vengono ignorate, i commenti si possono fare usando il carattere (#), e le linee lunghe possono essere spezzate con il backslash (\).Ogni filesystem esportato dovrebbe avere la propria linea. Gli elenchi degli host autorizzati posti dopo un filesystem esportato devono essere separati tra loro da uno spazio. Le opzioni relative a ciascun host devono essere poste tra parentesi direttamente (ovvero senza spazi di separazione) dopo l'identificatore dell'host.

Una riga per i filesystem esportati ha la seguente struttura:

<export> <host1>(<options>) <hostN>(<options>)...

In questa struttura, sostituire <export> con la directory esportata, sostituire <host1> con l'host o la rete sulla quale è stata condivisa l'esportazione, e sostituire <options> con le opzioni per l'host o la rete. Host aggiuntivi possono essere specificati in un elenco separato da uno spazio.

I seguenti metodi possono essere usati per specificare gli host name:

Nella sua forma più semplice, /etc/exports ha bisogno di conoscere soltanto la directory da esportare e gli host autorizzati a utilizzarla:

/exported/directory bob.example.com

Nell'esempio, bob.example.com può montare /exported/directory/. Poichè non viene specificata alcuna opzione in questo esempio, verranno usate le seguenti opzioni NFS di default:

ImportanteImportante
 

Per default, le access control lists (ACL) sono supportate da NFS sotto Red Hat Enterprise Linux. Per disabilitare questa caratteristica, specificare l'opzione no_acl quando si esegue l'esportazione del file system. Per saperne di più, consultate il capitolo intitolato Network File System (NFS) nella Red Hat Enterprise Linux System Administration Guide.

Ogni valore di default per il file system esportato deve essere sovrascritto in modo esplicito. Per esempio, se l'opzione rw non viene specificata, allora il file system esportato viene condiviso come di sola lettura. La seguente rappresenta un esempio di riga da /etc/exports, la quale sovrascrive due opzioni di default:

/another/exported/directory 192.168.0.3(rw,sync)

In questo esempio 192.168.0.3 può montare /another/exported/directory/ in modo lettura/scrittura e tutto ciò che viene trasferito sul disco, viene confermato prima che la richiesta di scrittura del client venga completata.

Inoltre, sono disponibili altre opzioni in caso non sia presente alcun valore di default. Inoltre includono la capacità di disabilitare i controlli sui sottoalberi, il permesso di accedere da porte non sicure e di bloccare i file in modo non sicuro (procedura necessaria per certe implementazioni dei client NFS meno recenti). Per maggiori dettagli su queste opzioni meno usate e meno diffuse, consultate la pagina man relativa a exports.

AttenzioneAvvertenza
 

Il modo in cui viene formattato il file /etc/exports è molto importante, soprattutto per quanto riguardo l'uso degli spazi. Ricordatevi sempre di separare con uno spazio i filesystem esportati dagli host e gli host tra di loro. Non ci devono però essere altri spazi nel file, a parte quelli eventualmente usati nelle linee di commento.

Per esempio, le due linee seguenti non hanno lo stesso significato:

/home bob.example.com(rw)
/home bob.example.com (rw)

La prima linea abilita i soli utenti di bob.example.com di accedere alla directory /home in modalità lettura/scrittura. La seconda riga permette agli utenti di bob.example.com di montare la directory in sola lettura (configurazione di default), mentre tutto il resto del mondo può montarla in modalità lettura/scrittura.

Per maggiori informazioni su come configurare un server NFS modificando /etc/exports, consultate il capitolo intitolato Network File System (NFS) nella Red Hat Enterprise Linux System Administration Guide.

9.3.2. Il comando exportfs

Tutti i filesystem esportati verso utenti remoti tramite NFS e anche il livello di accesso per i suddetti file system, sono elencati nel file /etc/exports. Quando si avvia il servizio nfs, il comando /usr/sbin/exportfs lancia e legge questo file, e passa a rpc.mountd e rpc.nfsd i file system disponibili agli utenti remoti.

Quando emesso manualmente, il comando /usr/sbin/exportfs permette agli utenti root, di selezionare le directory da esportare o non esportare senza dover riavviare i vari servizi di NFS. Quando vengono passate le opzioni corrette, il comando /usr/sbin/exportfs salva i file system esportati su /var/lib/nfs/xtab. Poiché rpc.mountd si rivolge al file xtab nel decidere i privilegi di accesso a un filesystem, le modifiche all'elenco dei filesystem esportati hanno effetto immediato.

Il seguente è un elenco delle opzioni più usate, disponibile per /usr/sbin/exportfs:

Se non viene fornita alcuna opzione al comando /usr/sbin/exportfs, visualizza un elenco degli attuali file system esportati.

Per maggiori informazioni sul comando /usr/sbin/exportfs, consultare la pagina man exportfs.