|
EXPORTS(5) manual page
Table of Contents
exports - file system NFS che sono esportati
/etc/exports
Il file /etc/exports serve come lista per il controllo dell'accesso
per file system che possono essere esportati a client NFS. È usato sia
dal daemon per il mount NFS, mountd(8)
che dal daemon di file server NFS
nfsd(8)
.
Il formato del file è simile a quello del file exports di SunOS,
tranne per il fatto che sono permesse diverse opzioni addizionali. Ogni
riga contiene un mount point e una lista di macchine o nomi di netgroup
(gruppi di rete) permessi per il montaggio del file system in quel posto.
Ogni nome di macchina può essere seguito da una lista opzionale tra parentesi
di parametri di mount. Le righe vuote sono ignorate, e un # introduce un
commento fino alla fine della riga.
- secure
- Questa opzione
richiede che la richiesta sia originata da una porta internet con numero
minore di IPPORT_RESERVED (1024). Questa opzione di default è abilitata.
Per disabilitarla, specificare insecure.
- ro
- Permette solo richiesta a
sola lettura su questo volume NFS. Il default è di permettere anche richieste
di scrittura, cosa che può essere anche specificata esplicitamente usando
l'opzione rw.
- link_relative
- Converte link simbolici assoluti (quelli in
cui il contenuto del link inizia con uno slash (/)) in link relativi facendoli
precedere da un numero necessario di ../ per portarli dalla directory che
contiene il link alla directory root nel server. Ciò ha una sottile, forse
discutibile, semantica quando la gerarchia dei file non è montata nella
propria radice.
- link_absolute
- Lascia tutti i link come sono. Questa
è l'operazione di default.
nfsd basa il suo controllo
d'accesso ai file nella macchina server sull'uid e il gid forniti in ognuna
delle richieste RPC NFS. Il comportamento normale che un utente si aspetterebbe
è di poter accedere a sui file nel server proprio come farebbe in un normale
file system. Ciò richiede che siano usati gli uid e i gid sulle macchine
client e server. Ciò non sempre è vero, sebbene sia sempre desiderabile.
Molto spesso, non è desiderabile che l'utente root nella macchina client
sia trattato come root anche quando accede ai file nel server NFS. A questo
scopo, l'uid 0 è normalmente mappato in un identificativo differente: il
cosiddetto uid anonimo (anonymous) o nobody (nessuno). Questo modo di operare
(detto `root squashing'=``schiacciamento di root'') è il default, e può essere
disabilitato con no_root_squash.
Di default, nfsd prova a ottenere l'uid
e il gid anonimi ricercando all'avvio l'utente nobody nel file delle
password. Se non lo trova, sono allora usati un uid e un gid pari a -2 (cioè
65534). Questi valori possono essere ridefiniti dalle opzioni anonuid
e anongid.
Oltre a questo, nfsd permette comunque di specificare gli uid
e i gid ai quali dovrebbe essere mappato l'utente nobody. Inoltre si può
mappare tutte le richieste degli utenti all'uid anonimo specificando l'opzione
all_squash.
Per beneficiare di installazioni dove gli uid differiscono
tra macchine diverse, nfsd fornisce un metodo per il mappaggio dinamico
degli uid del server negli uid del client e viceversa. Ciò è abilitato
con l'opzione map_daemon, ed usa il protocollo RPC UGID. Per questo lavoro,
si deve avviare il daemon di mappaggio ugidd(8)
nell'host client.
Ecco
qui una lista completa delle opzioni di mappaggio:
- root_squash
- Mappa
le richieste dell'uid/gid 0 all'uid/gid anonimo. Si noti che ciò non è applicato
a ogni altro uid che potrebbe essere ugualmente sensibile, come l'utente
bin.
- no_root_squash
- Disabilita il root squashing. Questa opzione è utile
principalmente per client diskless (senza disco fisso).
- squash_uids e squash_gids
- Questa opzione specifica un'elenco di uid e gid che dovrebbero essere
soggetti alla mappatura in anonimo. Un'elenco valido di uid è come questo:
- squash_uids=0-15,20,25-50
- Solitamente la propria lista di squash sarà
molto più semplice, come:
- squash_uids=0-100
- all_squash
- Mappa tutti gli
uid e i gid nell'utente anonimo. Utile per directory FTP pubbliche esportate
in NFS, directory di spool delle news, ecc. L'opzione opposta è no_all_squash,
che è il settaggio di default.
- map_daemon
- Questa opzione abilita la mappatura
dinamica di uid/gid. Ogni uid in una richiesta NFS sarà tradotto nell'equivalente
uid nel server, e ogni uid in una risposta NFS sarà mappato nel modo opposto.
Questa opzione richiede che rpc.ugidd(8)
giri nell'host client. Il settaggio
di default è map_identity, che lascia invariati tutti gli uid. Le normali
opzioni di squash si applicano a seconda che sia richiesto il mappaggio
dinamico oppure no.
- anonuid e anongid
- Queste opzioni settano esplicitamente
l'uid e il gid dell'account anonimo. Sono utili principalmente per client
PC/NFS, dove si potrebbe volere che tutte le richieste appaiano provenire
da un unico utente. Per esempio, si consideri la voce per esportare /home/joe
nella sottostante sezione ESEMPIO, che mappa tutte le richieste all'uid
150 (che si suppone essere quello dell'utente joe).
# semplice
file /etc/exports
/ master(rw) trusty(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro)
@trusted(rw)
/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
/pub (ro,insecure,all_squash)
- La prima riga esporta l'intero
filesystem alle macchine master e
- trusty. In aggiunta all'accesso in scrittura,
è disabilitato l'uid squashing per l'host trusty. La seconda e terza voce
mostrano esempi di metacaratteri per nomi di host e netgroup (la voce
`@trusted'): La quarta riga mostra la già discussa voce per un client PC/NFS.
L'ultima riga esporta la directory FTP pubblica ad ogni host nel mondo,
eseguendo tutte le richieste sotto l'account nobody. L'opzione insecure
in questa voce permette anche client con implementazione dell'NFS che
non usa la porta riservata per NFS.
Diversamente dalle altre
implementazioni di server NFS, questo nfsd permette di esportare sia directory
che loro subdirectory allo stesso host, per esempio /usr e /usr/X11R6.
In questo caso, sono applicate le opzioni di mount della voce più specifica.
Per esempio, quando un utente nel client accede ad un file in /usr/X11R6,
sono applicate le opzioni di mount date nella voce relativa a /usr/X11R6.
Ciò è anche vero quando l'ultima è una voce metacarattere o un netgroup.
- /etc/exports
- File di configurazione per nfsd(8)
.
- /etc/passwd
- Il file delle password.
Un errore nell'analisi del file è riportato
usando syslogd(8)
al livello NOTICE da un DAEMON quando è
- avviato
- nfsd(8)
oppure mountd(8)
. Qualsiasi host sconosciuto è riportato in quel momento,
ma spesso non tutti gli host non già noti a named(8)
al momento del boot,
quindi appena gli host sono trovati sono riportati con gli stessi parametri
di syslogd(8)
.
mountd(8)
, nfsd(8)
, nfs(5)
, passwd(5)
.
Table of Contents
|