Nfs-kernel-server: configurazione lato client: differenze tra le versioni

m
nessun oggetto della modifica
Nessun oggetto della modifica
mNessun oggetto della modifica
 
(17 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{NFS}}
{{NFS}}
= Linux =
= Installazione =


== Installazione ==
=== nfsV2 e nfsV3 ===
Installare i pacchetti necessari:
<pre># apt-get install nfs-common portmap</pre>
=== nfsV4 ===
Controllare che sia presente il pacchetto <code>nfs-common</code>, in caso contrario installarlo:
Controllare che sia presente il pacchetto <code>nfs-common</code>, in caso contrario installarlo:
<pre># apt-get install nfs-common</pre>
<pre># apt-get install nfs-common</pre>


== Configurazione e connessione risorse ==
= Configurazione e connessione risorse =


Una  volta definite le risorse da condividere è possibile caricarle su un  altro PC in modo permanente (statico) o su richiesta (dinamico). Il  primo approccio è caratterizzato da un consumo di banda prolungato nel  tempo, in quanto client e server devono costantemente scambiare  informazioni (anche se non si utilizzano direttamente le risorse  condivise), nel secondo invece il consumo di banda avviene solo quando  si ha un effettivo accesso alle risorse.
Una  volta definite le risorse da condividere è possibile caricarle su un  altro PC in modo permanente (statico) o su richiesta (dinamico). Il  primo approccio è caratterizzato da un consumo di banda prolungato nel  tempo, in quanto client e server devono costantemente scambiare  informazioni (anche se non si utilizzano direttamente le risorse  condivise), nel secondo invece il consumo di banda avviene solo quando  si ha un effettivo accesso alle risorse.
Riga 18: Riga 11:
In generale se l'accesso alle risorse remote non è frequente è più logico utilizzare l'approccio dinamico.
In generale se l'accesso alle risorse remote non è frequente è più logico utilizzare l'approccio dinamico.


=== nfsV2 e nfsV3 ===
== Comune ==


Creare la dirctory dove si vuol montare la directory condivisa, esempio: <code>/media/condivisa</code>
=== nfs-common ===
<pre># mkdir /media/condivisa</pre>
editare il file <code>/etc/fstab</code> ed inserire
<pre>192.168.1.10:/media/storage /media/condivisa nfs user,rw,auto,hard  0  0</pre>


Nota:
Sia  che si voglia caricare le risorse remote in modo statico che dinamico, la prima cosa da fare è editare il file <code>/etc/default/nfs-common</code> ed assicurarsi che la riga contente la  variabile <code>NEED_IDMAPD=</code> appaia così:
*'''192.168.1.10:/media/storage''' sono l'indirizzo e la directory del server
**aggiungere tante entry quante sono le directory condivise
*'''/media/xxx''' directory raccomandata per montare le risorse
*'''/media/condivisa''' è la directory dove sarà montata la risorsa
*'''nfs''' è il tipo di file system
*'''user''' permette a qualsiasi utente di montare,anche manualmente,la risorsa
*'''rw''' sono i permessi di lettura e scrittura
**modificare in '''ro''' se si desideramo solo permessi di lettura
*'''auto''' la risorsa viene montata automaticamente
**modificare in '''noauto''' se si vuole montare la partizione manualmente
Editare il file '''/etc/hosts.allow''' ed aggiungere
<pre>portmap: 192.168.1.10</pre>


Ora avviare il demone e montare la partizione:
<pre>NEED_IDMAPD=yes</pre>
<pre># /etc/init.d/nfs-common start
# mount -a</pre>


=== nfsV4 ===
==== idmapd.conf ====


Sia  che si voglia caricare le risorse remote in modo statico che dinamico,  La prima cosa da fare è assicurarsi che sul PC client sia installato il  pacchetto nfs-common, in caso contrario installarlo.
Si veda l'omonima sezione nella [[Nfs-kernel-server: configurazione lato server#idmapd.conf | pagina]] dedicata alla configurazione del server.
Editare il  file /etc/default/nfs-common ed assicurarsi che la riga contente la  variabile <code>NEED_IDMAPD=</code> appaia così:


<pre>NEED_IDMAPD=yes</pre>
=== Prima di proseguire ===


Fatto  ciò l'utente deve decidere se montare le risorse in modo statico o  dinamico, NON È POSSIBILE adottare entrambe le soluzioni  contemporaneamente.
Fatto  ciò l'utente deve decidere se montare le risorse in modo statico o  dinamico, NON È POSSIBILE adottare entrambe le soluzioni  contemporaneamente.


''IMPORTANTE'': si noti che sul PC cliente se si decide di montare le risorse remote sotto la cartella <code>/home/nome_utente</code> allora tutte le cartelle compariranno anche sul desktop, proprio come se fosse stato collegato un disco esterno o una chiavetta USB. È possibile aggirare il problema creando la cartella in un'altra posizione e poi creando un collegamento simbolico alla stessa nella cartella utente.
{{Box|Nota| Si fa presente che se sul PC cliente si decide di montare le risorse remote sotto la cartella <code>/home/nome_utente</code> allora tutte le cartelle compariranno anche sul desktop, proprio come se fosse stato collegato un disco esterno o una chiavetta USB. È possibile aggirare il problema creando la cartella in un'altra posizione e poi creando un collegamento simbolico alla stessa nella cartella utente.}}


==== METODO STATICO ====
== METODO STATICO ==


Per  montare staticamente una risorsa il comando da usare è il solito  <code>mount</code>, infatti questo comando supporta una valanga di protocolli e filesystem, tra cui appunto NFS. Prima di  montare le risorse remote è necessario creare il punto di mount locale, si supponga per esempio di voler montare le suddette risorse in  <code>/home/nfs</code> (si sconsiglia di montare le risorse  direttamente in cartelle già esistenti che contengono già altri  file/cartelle, come <code>/home</code> o peggio <code>/</code>), ergo restando all'esempio:
Per  montare staticamente una risorsa il comando da usare è il solito  <code>mount</code>, infatti questo comando supporta una valanga di protocolli e filesystem, tra cui appunto NFS. Prima di  montare le risorse remote è necessario creare il punto di mount locale, si supponga per esempio di voler montare le suddette risorse in  <code>/home/nfs</code> (si sconsiglia di montare le risorse  direttamente in cartelle già esistenti che contengono già altri  file/cartelle, come <code>/home</code> o peggio <code>/</code>), ergo restando all'esempio:


<pre># mkdir /home/nfs</pre>
<pre># mkdir /home/nfs</pre>
Riga 64: Riga 39:
<pre># mount -t nfs4 -o _netdev,hard,intr indirizzo_server:/ /home/nfs</pre>
<pre># mount -t nfs4 -o _netdev,hard,intr indirizzo_server:/ /home/nfs</pre>


Dove con <code>indirizzo_server</code> si identifica il server  con le risorse condivise; può essere nella forma di un IP (es.:  192.168.5.92) oppure di un alias (es.:  <code>mioserver</code>, in tal caso come sempre si  presuppone che il computer client sia in grado di risolvere  correttamente l'alias). Si noti che si è scritto  <code>indirizzo_server:/</code> e non  <code>indirizzo_server:/home</code> poiché nel file  <code>/etc/exports</code> del server la cartella  <code>/home</code> è stata definita come radice (si ricorda  che saranno esportate automaticamente anche tutte le sotto cartelle  della cartella indicata col comando <code>mount</code>). A  questo punto sarà sufficiente esplorare la cartella  <code>/home/nfs</code> per vedere le risorse esportate.
Dove con <code>indirizzo_server</code> si identifica il server  con le risorse condivise; può essere nella forma di un IP (es.:  192.168.5.92) oppure di un alias (es.:  <code>mioserver</code>, in tal caso come sempre si  presuppone che il computer client sia in grado di risolvere  correttamente l'alias). Si noti che si è scritto  <code>indirizzo_server:/</code> e non  <code>indirizzo_server:/home</code> poiché nel file  <code>/etc/exports</code> del server la cartella  <code>/home</code> è stata definita come radice (si ricorda  che saranno esportate automaticamente anche tutte le sotto cartelle  della cartella indicata col comando <code>mount</code>). A  questo punto sarà sufficiente esplorare la cartella  <code>/home/nfs</code> per vedere le risorse esportate.<br/>
Se invece di montare tutte le cartelle esportate se nevolesse montare solo una in particolare sarebbe sufficiente, ad esempio, cambiare il precedente comando in:
<pre># mount -t nfs4 -o _netdev,hard,intr indirizzo_server:/cartella_voluta /home/nfs</pre>
ove sul server fosse <code>/export/cartella_voluta</code>, ricordando che nell'esempio di questa guida si è definita come radice la cartella <code>/export</code> del server.<br/>
Per smontare le risorse remote è sufficiente digitare:
Per smontare le risorse remote è sufficiente digitare:


Riga 103: Riga 81:
</pre>
</pre>


==== METODO DINAMICO ====
== METODO DINAMICO ==


''NOTA  BENE'': qualora si decida di abbandonare il metodo statico per quello  dinamico è evidente che prima cosa è necessario smontare tutte le  risorse montate staticamente che si intende gestire dinamicamente, e poi  eliminare (o commentare) la riga eventualmente aggiunta al file  <code>/etc/fstab</code>.
''NOTA  BENE'': qualora si decida di abbandonare il metodo statico per quello  dinamico è evidente che per prima cosa è necessario smontare tutte le  risorse montate staticamente che si intende gestire dinamicamente, e poi  eliminare (o commentare) la riga eventualmente aggiunta al file  <code>/etc/fstab</code>.


Per usare questo metodo è necessario il pacchetto autofs, pertanto se non installato procedere alla sua installazione:
Per usare questo metodo è necessario il pacchetto autofs, pertanto se non installato procedere alla sua installazione:
Riga 111: Riga 89:
<pre>apt-get install autofs5</pre>
<pre>apt-get install autofs5</pre>


Se  l'utente desidera cambiare le impostazioni di base, come il tempo  trascorso il quale il sistema smonta automaticamente le risorse, può  farlo editando il file  
Se  l'utente desidera cambiare le impostazioni di base, come il tempo  trascorso il quale il sistema smonta automaticamente le risorse, può  farlo editando il file <code>/etc/default/autofs</code>.
<code>/etc/default/autofs</code>.


A questo punto è necessario modificare con un editor il file <code>auto.master</code>
A questo punto è necessario modificare con un editor il file <code>auto.master</code>


<pre># gedit /etc/auto.master</pre>
<pre># nano /etc/auto.master</pre>


aggiungendo  in coda una riga del tipo <code>/home/nfs  /etc/auto.nfs</code>. Questa riga dice che le risorse remote  specificate nel file <code>/etc/auto.nfs</code>  (naturalmente l'utente è liberissimo di scegliere un altro nome al posto  di ''auto.nfs'', basta essere coerenti nel seguito) andranno montante  all'interno della cartella <code>/home/nfs</code> (che deve  esistere! Autofs non crea il punto di mount). Come già scritto nel caso  statico si sconsiglia di montare le risorse direttamente in cartelle già  esistenti che contengono già altri file/cartelle, come  <code>/home</code> o peggio <code>/</code>. È  possibile definire più tipi di risorse remote inserendo più righe, il  punto è che per ognuna è necessario indicare il punto di mount e il file  contenente le relative istruzioni.
aggiungendo  in coda una riga del tipo <code>/home/nfs  /etc/auto.nfs</code>. Questa riga dice che le risorse remote  specificate nel file <code>/etc/auto.nfs</code>  (naturalmente l'utente è liberissimo di scegliere un altro nome al posto  di ''auto.nfs'', basta essere coerenti nel seguito) andranno montante  all'interno della cartella <code>/home/nfs</code> (che deve  esistere! Autofs non crea il punto di mount). Come già scritto nel caso  statico si sconsiglia di montare le risorse direttamente in cartelle già  esistenti che contengono già altri file/cartelle, come  <code>/home</code> o peggio <code>/</code>. È  possibile definire più tipi di risorse remote inserendo più righe, il  punto è che per ognuna è necessario indicare il punto di mount e il file  contenente le relative istruzioni.<br/>
A questo punto per quanto  detto l'utente deve creare il suo file <code>auto.nfs</code>  (o come è stato chiamato) usando il suo editor di testo preferito, ad  esempio:
A questo punto per quanto  detto l'utente deve creare il suo file <code>auto.nfs</code>  (o come è stato chiamato) usando il suo editor di testo preferito, ad  esempio:


<pre># gedit /etc/auto.nfs</pre>
<pre># nano /etc/auto.nfs</pre>
 
che ovviamente apparirà vuoto essendo appena stato creato dall'utente.
 
{{Warningbox|Il file ''auto.nfs'', ma più in generale tutti file di  mappatura risorse creati dall'utente (e solo questi), '''NON''' devono avere permessi di esecuzione, in  caso contrario risulterà impossibile montare le risorse specificate in  essi. Questa condizione è evidenziata dalla presenza nel file ''/var/log/syslog'' dell'errore ''automount [    ]: syntax error in nsswitch config near [ syntax error]''.}}


che ovviamente apparirà vuoto essendo appena stato creato dall'utente. Inserire la seguente riga:
Se si desidera montare tutte le cartelle esportate sul server inserire la seguente riga:


<pre>nome_arbitrario -fstype=nfs4,hard,intr indirizzo_server:/</pre>
<pre>nome_arbitrario -fstype=nfs4,hard,intr indirizzo_server:/</pre>


Quanto appena scritto viene definito in gergo ''indirect map''. Osservando la riga si nota subito essere composta da tre parti:
Se invece si vogliono montare indipendentemente le cartelle esportate sul server inserire una riga per cartella:
 
<pre>
nome_arbitrario1 -fstype=nfs4,hard,intr indirizzo_server:/cartella1
nome_arbitrario2 -fstype=nfs4,hard,intr indirizzo_server:/cartella2
nome_arbitrario3 -fstype=nfs4,hard,intr indirizzo_server:/cartella3
ecc.
</pre>
 
Quanto appena scritto viene definito in gergo ''indirect map''. Osservando ogni riga si notano subito tre parti:


# ''Key'': in questo esempio è <code>nome_arbitrario</code>, a sottolineare che trattasi di una parola qualsiasi a scelta dell'utente. È il nome della sottocartella di <code>/home/nfs/</code> in cui compariranno le risorse remote. Si badi bene che diversamente da quanto fatto in precedenza, la suddetta cartella viene creata al momento da autofs, quindi l'utente '''NON''' deve creare tale sottocartella in anticipo.
# ''Key'': in questo esempio è <code>nome_arbitrario</code>, a sottolineare che trattasi di una parola qualsiasi a scelta dell'utente. È il nome della sottocartella di <code>/home/nfs/</code> in cui compariranno le risorse remote. Si badi bene che diversamente da quanto fatto in precedenza, la suddetta cartella viene creata al momento da autofs, quindi l'utente '''NON''' deve creare tale sottocartella in anticipo.
# ''Options'': banalmente la sezione delle opzioni, in  questo caso sono tre cioè <code>-fstype=nfs4</code>,  <code>hard</code> e <code>intr</code>. È  naturalmente possibile specificare ulteriori opzioni (si veda il manuale  di  [http://manpages.debian.net/cgi-bin/man.cgi?query=mount&sektion=8&apropos=0&manpath=Debian+6.0+squeeze&locale=  mount]), basta separarle con una virgola.
# ''Options'': banalmente la sezione delle opzioni, in  questo caso sono tre cioè <code>-fstype=nfs4</code>,  <code>hard</code> e <code>intr</code>. È  naturalmente possibile specificare ulteriori opzioni (si veda il manuale  di  [http://manpages.debian.net/cgi-bin/man.cgi?query=mount&sektion=8&apropos=0&manpath=Debian+6.0+squeeze&locale=  mount]), basta separarle con una virgola.
# ''Location'':  definisce il percorso per caricare le risorse remote. In quest'esempio è  <code>indirizzo_server:/</code> (si ricordi che  <code>/</code> non indica la radice del filesystem del server, ma la cartella definita come radice in  <code>/etc/exports</code> sul server, cioè <code>/home</code> restando all'esempio), che come già ripetuto può essere sia un IP che un alias.
# ''Location'':  definisce il percorso per caricare le risorse remote. In quest'esempio è  <code>indirizzo_server:/</code> (si ricordi che  <code>/</code> non indica la radice del filesystem del server, ma la cartella definita come radice in  <code>/etc/exports</code> sul server, cioè <code>/home</code> o <code>/export</code> restando all'esempio), che come già ripetuto può essere sia un IP che un alias.


Prima di  rendere operativo automount assicurarsi di aver smontato eventuali  risorse statiche relative al server per cui abbiamo configurato  ''auto.nfs''. Fatto ciò digitare:
Prima di  rendere operativo automount assicurarsi di aver smontato eventuali  risorse statiche relative al server per cui abbiamo configurato  ''auto.nfs''. Fatto ciò digitare:


<pre># /etc/init.d/autofs reload</pre>
<pre># service autofs restart</pre>


Un modo per testare se le risorse remote vengono montate correttamente è digitare da terminale:
Un modo per testare se le risorse remote vengono montate correttamente è digitare da terminale:
Riga 154: Riga 144:
</pre>
</pre>


= Windows =
[[Categoria:Condivisione_risorse]]
 
[[Categoria:NFS]]
{{Suggerimento| Nel caso di reti miste Linux/Windows il lettore è invitato a prendere in considerazione l'utilizzo di SAMBA al posto di NFS, specialmente se come client intende usare una macchina su cui è installato Windows 7.}}
 
== Xp ==
 
=== Installazione ===
 
Scaricare da [http://www.microsoft.com/download/en/details.aspx?id=274 Windows services for unix] l'eseguibile e procedere con l'installazione.
{{Box|Nota|Il predetto installer funziona solo con la versione professional, tuttavia &egrave; possibile installare SFU anche nella versione home; a tal fine &egrave; necessario aprire con un editor esadecimale, tipo ghex in gnome, il file ''SfuSetup.msi'', cercare "NOT (VersionNT &#61; 501 AND MsiNTSuitePersonal)" e sostituire a ''501'' il numero ''510''.}}
Durante l'installazione verrà chiesto se usare un servizio NIS per la mappatura dei nomi oppure la coppia di file ''passwd'' e ''group'' se lo stesso non è disponibile; si tenga presente che tale scelta è tranquillamente modificabile anche in seguito.<br>
Ad installazione conclusa sarà necessario riavviare il computer.
 
=== Configurazione ===
 
Qualora si intenda procedere alla mappatura delle utenze tramite la coppia di file ''passwd'' e ''group'' è innanzitutto necessario copiarli dal server linux in una cartella di windows a scelta dell'utente; fatto questo avviare il servizio ''User Name Mapping'' (Impostazioni --> Strumenti di amministrazione --> Servizi), dopo averlo abilitato per un avvio manuale o automatico.<br />
Avviare ''Programmi --> Windows Services for Unix --> Services for UNIX Administration'' e selezionare "User Name Mapping"; in questa guida si esaminerà solo la mappatura tramite coppia di file ''passwd'' e ''group''.<br>
Dalla scheda ''Configuration'' selezionare ''Use Password and Group files'', quindi selezionare i rispettivi file; dopo aver cliccato il tasto "apply" passare alla scheda ''Maps''.<br />
Cliccare su ''Show User Maps'' e ''Show Group Maps'' per associare rispettivamente nomi utenti e gruppi utenti di windows con i corripettivi unix; per ogni associazione è necessario cliccare sul tasto "add" così ché il risultato appaia nell'ultimo riquadro in basso. Una volta terminate le associazioni (non è necessario mappare tutte le utenze) premere "apply".
{{Warningbox|Chi scrive ha provato la procedura sia sotto "Xp Home" che "Xp Professional" virtualizzato; nel primo caso la mappatura è stata memorizzata, nel secondo no.}}
Si noti che la succitata procedura di mappatura deve essere eseguita subito dopo l'installazione ed ogni volta che i file ''passwd'' e/o ''group'' vengono modificati.
 
== Seven ==
 
=== Installazione ===
 
Andare in ''Pannello di controllo --> Programmi e funzionalità --> Attivazione o disattivazione delle funzionalità di windows'', cercare ''Servizi per NFS'' e spuntarlo, compreso ''Client per NFS'' e ''Strumenti di amministrazione'', infine premere ok.
{{Box|Nota|Queste funzionalità non sono disponibili solo per le versioni "Enterprise" e "Ultimate".}}
Terminata l'installazione riavviare.
 
=== Configurazione ===
 
Diversamente da Windows Xp che offriva la possibilità di mappare nomi utenti e gruppi semplicemente copiandosi i file ''passwd'' e ''group'' della macchina con le risorse da esportare in locale, in windows 7 questo non è più possibile essendo disponibili solo il mapping tramite active directory o server di mapping nomi. In quest'ultimo caso non dovrebbe essere necessario Windows Server, ma dovrebbe essere sufficiente una macchina con windows XP su cui giri il servizio ''User Name Mapping''.<br />
 
Esiste tuttavia un piccolo escamotage per superare parzialmente il problema, ovvero quello di cambiare UID e GID automaticamente associati all'utente anonimo e gruppo anonimo (che sono quelli appunto usati in caso di assenza di una mappatura utenti); aggiungere tramite regedit in <code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default</code> due nuove valori ''DWORD'', ovvero ''AnomymousGid'' e ''AnomymousUid'', avendo cura di a attribuire loro lo GID/UID desiderato in base decimale (se per esempio si vuole mappare l'utente caio di linux avente UID=1000 e GID=1000 entrambe le chiavi dovranno avere valore 1000). Fatto ciò riavviare.
 
== Connessione risorse remote ==
 
La  procedura è la stessa usata per caricare risorse presenti su altre  macchine windows, infatti è sufficiente aprire "Esplora Risorse" e  cliccare su ''Strumenti --> Connetti Unità di Rete...''. Nella  schermata che si apre inserire il percorso delle risorse remote da  montare, del tipo:<br />
<code>mio_server:/percorso/risorse</code><br />
Diversamente  da client linux qui è necessario specificare il percorso assoluto delle  risorse condivise, se per esempio queste risiedono sul server  ''sempronio'' nella cartella "/export" allora il percorso da inserire  sarà <code>sempronio:/export</code> e non  <code>sempronio:/</code>.<br />
Non  appena premuto il tasto di conferma comparirà una finestra che riepiloga  il nome utente e il relativo UID e GID; qualora questi fossero errati  sarà necessario premere annulla e ricontrollare la mappatura dei nomi  correggendo eventuali errori. Si tenga presente che è sempre possibile  autenticarsi come utenti anonimi aventi UID e GID pari a -2, ma  evidentemente in tal caso si avrà probabilmente un accesso estremamente  limitato alle risorse (oppure nessuno del tutto).
6 999

contributi