Copyrigtht © 1986 Università di Firenze. All rights reserved.
Free license available.
/etc/init.d/
Il comando deve essere eseguito con il permesso da super-utente e la sintassi è:
./nfs.server start per attivare i daemon
./nfs.server stop per disattivare i daemon
Il comando "share" permette poi di definire quali directory devono essere esportate ed a chi vanno esportate.
Nella directory /etc/dfs/ si trova il comando suddetto, che va eseguito anch'esso come super-utente; ci sono due possibilità a seconda se si vuole esportare una sola directory o più di una. Nel primo caso è sufficiente digitare il comando da tastiera come sempre, con le opportune opzioni che descriveremo successivamente; nel secondo caso si deve preparare un file testo in cui si scrivono i comandi che dovranno essere eseguiti uno per ogni riga, così si possono esportare più directory a più computer singolarmente, mentre richiamando al posto di "share" il comando "shareall" con le opportune opzioni farà eseguire i comandi in sequenza.
In dettaglio il comando share è il seguente:
Si può notare quindi l'importanza di scegliere l'opzione giusta: se si usa solo 'rw' per esportare le directory base degli utenti saremo esposti ad un attacco, come abbiamo riportato sopra. E' molto utile esportare le directory base degli utenti tra le varie macchine di uno stesso laboratorio, così da facilitare ad esempio la connessione agli utenti da una macchina all'altra ma si deve limitare solo a tali macchine l'export: l'opzione 'rw=client:..' è quindi il giusto modo di configurare l'NFS.
Ad esempio se vogliamo esportare ai computer mach1, mach2 e mach3 la directory /home si deve digitare il seguente comando:
share [ -F FSType ] [ -o specific_options ] [ -d description ] [ pathname ]
-F FSType Questa opzione specifica il tipo di file system: nel nostro caso abbiamo adottato l'NFS
-o specific_options Sono usate per controllare l'accesso alle directory esportate sia in termini di lettura/scrittura
che come limitazione nell'esportare le directory ai vari computer.
rw pathname e` condiviso in lettura/scrittura a tutti (everyone). Questa e` l'opzione di default.
rw=client[:client]... pathname e` condiviso in lettura/scrittura solo ai computer elencati. Nessun altro puo` accedervi.
ro pathname e` condiviso in sola lettura a tutti.
ro=client[:client]... pathname e` condiviso in sola lettura solo ai computer elencati. Nessun altro puo` accedervi.
-d description e` una stringa di commento che verrà memorizzata nel file sharetab nella directory /etc/dfs/
pathname e` la directory che si vuole condividere
questo solo dopo aver lanciato i daemon come illustrato sopra e con il grado di super-utente.
Nel file sharetab apparirà una riga come la seguente:
share -F nfs -o rw=mach1:mach2:mach3 -d home_directory /home
Se vogliamo esportare più directory dobbiamo usare la seconda opzione che usa "shareall"; si prepara un file "sharef" che contenga:
/home - nfs rw=mach1:mach2:mach3 home_directory
si deve lanciare adesso:
share -F nfs -o rw=mach1:mach2:mach3 -d home_directory /home
share -F nfs -o ro -d bin_directory /usr/local/bin
Nel file sharetab ci sarà :
shareall -F nfs / "percorso..." /sharef
La directory bin è esportata a tutti ma in sola lettura e quindi non si può attaccare neanche col "cavallo di troia".
Se è necessario togliere le directory esportate si digita:
/home - nfs rw=mach1:mach2:mach3 home_directory
/usr/local/bin - nfs ro bin_directory
Se si vuole mantenere di default queste directory per non dover dare ogni volta che si accede alla macchina i vari comandi, essi si possono memorizzare nel file "dfstab" che si trova in /etc/dfs/, le righe che avevamo scritto nel file "sharef" per l'uso con il comando "shareall".
Il file "dfstab" viene eseguito quando si lancia il file "nfs.server" con l'opzione "start" e le sue istruzioni rimangono valide per ogni utente.
Noi abbiamo scelto questa possibilità digitando la seguente serie di comandi:
unshare /home singolarmente
unshareall -F nfs globalmente
avvenute la scrittura nel file "/etc/dfs/dfstab" dei comandi "share -F nfs ..." voluti si procede con:
./nfs.server stop
./nfs.server start
Ultimo aggiornamento: 16-Set-1996