Come abbiamo già accennato nella sezione Section 22.8, “NIS: Network Information Service”, l'NFS e l'NIS rendono la rete trasparente per l'utente. L'NFS permette di dislocare i file system nella rete. Non importa su quale computer l'utente lavora, egli si troverà sempre di fronte allo stesso ambiente.
Sia l'NIS che l'NFS sono servizi asimmetrici. Vi è il server NFS ed il client NFS, ma ogni computer può fungere contemporaneamente sia da server che da client NFS, ovvero mettere a disposizione dei file system nella rete (“esportare”), e montare file system di altri host (“importare”). Normalmente, tuttavia, si usano a questo scopo dei server con dischi capienti, i cui file system vengono poi montati dai client.
Ogni utente (che dispone dei relativi permessi), può montare directory NFS da un server NFS nel proprio albero di file. Il modo più semplice di farlo è quello di ricorrere al modulo di . Si deve solo immettere il nome host del computer che funge da server NFS, la directory da esportare e il punto di montaggio sul vostro computer. Nella prima finestra di dialogo selezionate ed immettete le indicazioni sovramenzionate (vd. fig. Figure 22.28, “Configurare il client NFS”).
Importare manualmente file system da un server NFS è molto facile. L' unico requisito è che sia stato avviato il portmapper RPC, avendo immesso il comando rcportmap> start come utente root. Dopodiché sarà possibile includere file system estranei nel proprio file system (a condizione che essi siano stati esportati dai relativi computer) in modo analogo ai dischi locali, ovvero con il comando mount. La sintassi è la seguente:
mount host:percorso-remoto percorso-locale
Per importare, ad esempio, le directory degli utenti dall'host , usate il comando:
mount :/home /home
vi permette di trasformare in poco tempo un computer della vostra rete in un server NFS: un server che mette a disposizione delle directory e dei file a tutti i computer con relativo permesso di accesso. Gli utenti possono usufruire e utilizzare così applicativi senza doverli installare localmente sul loro computer.
Per eseguire l'installazione selezionate in : selezionate e lì . (fig. Figure 22.29, “Tool di configurazione per server NFS”).
Selezionate quindi e fate clic su . Nella campo superiore immettete le directory da esportare, e in quella inferiore gli host della vostra rete con il permesso di accesso (fig. Figure 22.30, “Server NFS: immettere directory da esportare e host”). Per ogni host possono essere settate quattro opzioni, host singolo, gruppi di rete, wildcard e reti IP. Una descrizione dettagliata di queste opzioni si trova nelle pagine di manuale di exports.
Con concludete la configurazione.
![]() | Configurazione automatica del firewall |
|---|---|
Se sul vostro sistema gira un firewall (SuSEfirewall2), ne adatta la configurazione per il server NFS non appena selezionate . abiliterà quindi il servizio nfs. | |
Se eseguite la configurazione manualmente senza ricorrere a dovete assicurare che sul server NFS vengano inizializzati i seguenti servizi:
RPC portmapper (portmap)
RPC-mount-daemon (rpc.mountd)
RPC-NFS-daemon (rpc.nfsd)
Affinché al boot del sistema vengano avviati dagli script /etc/init.d/portmap ed /etc/init.d/nfsserver dovete immettere i comandi insserv /etc/init.d/nfsserver e insserv /etc/init.d/portmap.
Inoltre, dovrà essere specificato quali file system debbano essere esportati su quali computer. Ciò avviene nel file /etc/exports.
Ogni directory da esportare ha bisogno di una riga che descriva quali computer possano accedervi ed in che modo. Anche tutte le sottodirectory di un indirizzario esportato vengono esportate automaticamente. I computer che possono accedervi vengono solitamente indicati coi propri nomi (compreso il nome di dominio), ma è anche possibile usare dei simboli jolly * e ?, che conosciamo dalla bash. Se non indicate alcun nome di host, saranno tutti i computer ad avere accesso a questa directory (con i diritti indicati).
I permessi con i quali una directory viene esportata sono riportati nella lista tra parentesi, dopo il nome del computer. I principali permessi di accesso sono descritti nella tabella successiva:
Table 22.13. Permessi di acceso per directory esportate
Opzioni | Significato |
|---|---|
ro | File system viene esportato solo con permesso di lettura (Default). |
rw | File system viene esportato solo con permesso di lettura e scrittura. |
root_squash | Questa opzione fa sì che l'utente root del computer in questione non disponga dei tipici diritti di root per questo file system. Per realizzare ciò, gli accessi con l'user–ID 0 vengono eseguiti con l' user-ID 65534 (-2), che dovrebbe essere attribuito all'utente nobody (default). |
no_root_squash | I permessi di accesso di root restano invariati. |
link_relative | Questa opzione converte i link assoluti e simbolici (ovvero tutti quelli che iniziano con /) in una sequenza di ../. É un'opzione utile solo quando viene montato l'intero file system di un computer (default). |
link_absolute | I link simbolici restano invariati. |
map_identity | Sul client, vengono usate le stesse ID dell'utente come sul server (default). |
map_daemon | Client e server non hanno le stesse user–ID. Con questa opzione, nfsd riceve l' istruzione di creare una tabella di conversione per le user–ID, a condizione che abbiate attivato il demone ugidd. |
Il file exports potrebbe, ad esempio, essere simile al fileExample 22.29, “/etc/exports”.
Example 22.29. /etc/exports
# # /etc/exports # /home sole(rw) venere(rw) /usr/X11 sole(ro) venere(ro) /usr/lib/texmf sole(ro) venere(rw) / terra(ro,root_squash) /home/ftp (ro) # End of exports
Il file /etc/exports viene letto da mountd e nfsd. Se viene modificato, sia mountd che nfsd devono essere riavviati in modo da assumere la modifica apportata. Il modo più semplice per realizzare ciò è quello di eseguire il comando rcnfsserver restart.