Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions

  




 

 

Linuxtopia - Red Hat Enterprise Linux Reference Guide (Italiano) - Configurazione del server NFS

9.3. Configurazione del server NFS

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

Per informazioni sull'uso dello 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. Il file di configurazione /etc/exports

Il file /etc/exports controlla verso quali host remoti vengono esportati determinati filesystem, specificando altres� particolari opzioni. Le linee vuote vengono ignorate, i commenti si possono eseguire usando il carattere (#), e le linee lunghe possono essere spezzate con il carattere (\).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 per 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:

  • host singolo — viene specificato un particolare host con un nome di dominio completamente qualificato, un hostname o un indirizzo IP.

  • wildcards — Dove un asterisco *o un punto interrogativo ? vengono utilizzati per prendere in considerazione un raggruppamento di nomi del dominio completamente qualificato, corrispondenti ad una riga particolare di lettere. Le Wildcard non devono essere usate con gli indirizzi IP; tuttavia, � possibile che possano funzionare in modo accidentale se il bloccaggio DNS inverso non v� a buon fine.

    Tuttavia, fate attenzione utilizzando le wildcard con i nomi del dominio, poich� esse tendono a essere pi� precisi di quanto si pensi. Per esempio, l'uso di *.example.com come wildcard, consentir� al dominio sales.example.com di accedere al filesystem esportato, mentre non lo permetter� a bob.sales.example.com. Per far corrispondere entrambe le possibilit�, specificare *.example.com e *.*.example.com.

  • reti IP — Consente di far corrispondere gli host sulla base dei loro indirizzi IP all'interno di una rete pi� ampia. Per esempio, 192.168.0.0/28 permette ai primi 16 indirizzi IP, dal 192.168.0.0 al 192.168.0.15, di accedere al filesystem esportato, mentre non lo consente all'indirizzo 192.168.0.16 e seguenti.

  • netgroups — Permette l'utilizzo di un nome netgroup NIS, scritto come @<group-name>. In questo modo, il server NIS diventa effettivamente responsabile del controllo degli accesi a questo filesystem esportato; si possono aggiungere e rimuovere utenti da un gruppo NIS senza intaccare /etc/exports.

Nella sua forma pi� semplice, /etc/exports specifica solo la directory esportata e gli host abilitati all'accesso, come nel seguente esempio:

/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:

  • ro — I file system esportati sono di sola lettura. Gli host remoti non saranno in grado di modificare i dati condivisi sul file system. Per consentire agli host di apportare delle modifiche al file system, dovete specificare l'opzione lettura/scrittura (rw).

  • wdelay — Consente al server NFS di posticipare un salvataggio su disco nel caso sospetti l'arrivo imminente di un'altra richiesta di scrittura. Questo pu� accrescere le prestazioni riducendo il numero di volte in cui comandi di scrittura diversi devono accedere al disco. Utilizzate no_wdelay per disattivare questa opzione, che funziona solo se state utilizzando l'opzione sync.

  • root_squash — Fa in modo che tutti gli accessi dei client al filesystem esportato, effettuati da utenti root sulle macchine client, avvengano come user ID per l'utente nobody. Questo in effetti "declassa" il potere dell'utente root remoto a quello del pi� semplice utente locale, impedendo una alterazione dei file non autorizzata sul server remoto. In alternativa, l'opzione no_root_squash disabilita questa funzione. Per applicare l'opzione di squash a tutti gli utenti remoti, compreso l'utente root, dovete usare l'opzione all_squash. Per specificare gli ID utente e di gruppo da utilizzare per gli utenti remoti da un particolare host, servitevi rispettivamente delle opzioni anonuid e anongid. In questo modo, potete creare uno speciale account utente per consentire agli utenti remoti di NFS di condividere e specificare (anonuid=<valore-uid>,anongid=<valore-gid>), dove il <valore-uid> rappresenta il numero dell'ID utente e il <valore-gid> rappresenta il numero dell'ID di gruppo.

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 ad accedere nella 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 tutti gli altri possonomontarla 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, insieme al 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, passa il controllo a rpc.mountd (se NFSv2 o NFSv4) per il processo di montaggio, e successivamente a rpc.nfsd dove i filesystem vengono resi disponibili agli utenti remoti.

Quando emesso manualmente, il comando /usr/sbin/exportfs permette agli utenti root, di selezionare le directory da esportare o meno 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 ad 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:

  • -r — Fa s� che tutte le directory elencate in /etc/exports vengano esportate mediante la creazione di un nuovo elenco export in /etc/lib/nfs/xtab. Questa opzione aggiorna in modo effettivo l'elenco delle esportazioni in base alle modifiche apportate a /etc/exports.

  • -a — Seleziona quali directory esportare e quali no, in base alle altre opzioni scelte per /usr/sbin/exportfs. Se non vengono specificate altre opzioni, /usr/sbin/exportfs esporta tutti i file system specificati in /etc/exports.

  • -o file-systems — Permette all'utente di specificare le directory da esportare non presenti nell'elenco di /etc/exports. Sostituire file-systems con file system aggiuntivi da esportare. Questi file system devono essere formattati nello stesso modo in cui vengono specificati in /etc/exports. Consultate la Sezione 9.3.1 per maggiori informazioni sulla sintassi /etc/exports. Questa opzione viene usata spesso per provare un file system esportato, prima di aggiungerlo in modo permanente all'elenco dei file system da esportare.

  • -i — Ignora /etc/exports; solo le opzioni fornite dalla linea di comando vengono usate per definire i file system esportati.

  • -u — Non esporta tutte le directory condivise. Il comando /usr/sbin/exportfs -ua sospende la condivisione NFS dei file, mentre mantiene attivi i vari demoni. Per riprendere la condivisione in NFS, digitate exportfs -r.

  • -v — Operazioni complesse: i filesystem da esportare o da non esportare vengono visualizzati molto pi� nel dettaglio quando viene eseguito il comando 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.

9.3.2.1. Utilizzo del comando exportfs con NFSv4

Poich� NFSv4 non utilizza pi� il protocollo rpc.mountd utilizzato in NFSv3 e NFSv3, il montaggio dei filesystem � stato modificato.

Un client NFSv4 possiede ora l'abilit� di visualizzare tutte le esportazioni servite dal server NFSv4, come filesystem singolo e chiamate pseudo-file system NFSv4. Su Red Hat Enterprise Linux, lo pseudo-filesystem viene identificato come un filesystem singolo, identificato con l'opzione fsid=0.

Per esempio, � possibile eseguire i seguenti comandi su di un server NFSv4:

mkdir /exports
mkdir /exports/opt
mkdir /exports/etc
mount --bind /usr/local/opt /exports/opt
mount --bind /usr/local/etc /exports/etc
exportfs -o fsid=0,insecure,no_subtree_check gss/krb5p:/exports
exportfs -o rw,nohide,insecure,no_subtree_check gss/krb5p:/exports/opt
exportfs -o rw,nohide,insecure,no_subtree_check gss/krb5p:/exports/etc

In questo esempio vengono forniti ai client una serie di filesystem multipli da montare, utilizzando l'opzione --bind.

 
 
  Published under the terms of the GNU General Public License Design by Interspire