Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 755

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>The Linux NIS(YP)/NYS/NIS+ HOWTO: Impostare un server NIS</TITLE>
 <LINK HREF="NIS-HOWTO-9.html" REL=next>
 <LINK HREF="NIS-HOWTO-7.html" REL=previous>
 <LINK HREF="NIS-HOWTO.html#toc8" REL=contents>
</HEAD>
<BODY>
<A HREF="NIS-HOWTO-9.html">Avanti</A>
<A HREF="NIS-HOWTO-7.html">Indietro</A>
<A HREF="NIS-HOWTO.html#toc8">Indice</A>
<HR>
<H2><A NAME="ypserv"></A> <A NAME="s8">8. Impostare un server NIS</A><!--NIS!server setup--></H2>

<H2><A NAME="ss8.1">8.1 Il programma server ypserv</A>
<!--ypserv!setup--><!--NIS!ypserv setup--></H2>

<P>Questo documento descrive solamente come impostare il server NIS
``ypserv''.
<P>Il software per il server NIS lo si pu&ograve; trovare su:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  Sito               Directory                    Nome File

  ftp.kernel.org     /pub/linux/utils/net/NIS     ypserv-1.3.6.tar.gz
</PRE>
</CODE></BLOCKQUOTE>
<P>Per maggiori informazioni si pu&ograve; dare un'occhiata anche a 
<A HREF="http://www.suse.de/~kukuk/linux/nis.html">http://www.suse.de/~kukuk/linux/nis.html</A>.
<P>L'impostazione del server &egrave; la stessa sia per il NIS tradizionale che
per NYS.
<P>Si compili il software per generare i programmi <CODE>ypserv</CODE> e
<CODE>makedbm</CODE>.  &Egrave; possibile configurare ypserv per usare il file
securenets oppure tcp_wrapper. Il tcp_wrapper &egrave; molto pi&ugrave; flessibile,
ma un sacco di gente ha diversi problemi ad usarlo.  Inoltre alcuni
file di configurazione di tcp_wrapper possono causare spreco di
memoria.  Se si hanno problemi con ypserv compilato per tcp_wrapper,
lo si ricompili usando il file securenets.  Il comando <CODE>ypserv
--version</CODE> mostrer&agrave; quale versione si sta usando.
<P>Se si fa funzionare il proprio server come master, si determinino
quali file si vuole siano disponibili tramite NIS e poi si aggiungano
o rimuovano le voci apposite nella regola ``all'' in
<CODE>/var/yp/Makefile</CODE>.  Si dovrebbe comunque dare un'occhiata al
Makefile e modificare le opzioni all'inizio del file.
<P>C'&egrave; stato un solo grosso cambiamento tra ypserv 1.1 e ypserv 1.2.
Dalla versione 1.2 ypserv fa il cache dei file handle.  Ci&ograve; significa
che si deve sempre lanciare makedbm con l'opzione -c se si creano
delle nuove mappe.  Sincerarsi di usare il nuovo
<CODE>/var/yp/Makefile</CODE> di ypserv 1.2 o successivo, o si aggiunga
l'opzione -c a makedbm nel Makefile.  Se non lo si fa, ypserv
continuer&agrave; ad usare le vecchie mappe e non quelle aggiornate.
<P>Ora si modifichino <CODE>/var/yp/securenets</CODE> e <CODE>/etc/ypserv.conf</CODE>.
Per maggiori informazioni, leggere le pagine di manuale di ypserv(8) e
ypserv.conf(5).
<P>Assicurarsi che il portmapper (portmap(8)) sia in esecuzione, e si
avvii il server <CODE>ypserv</CODE>. Il comando
<P>
<BLOCKQUOTE><CODE>
<PRE>
    % rpcinfo -u localhost ypserv
</PRE>
</CODE></BLOCKQUOTE>
<P>dovrebbe restituire qualcosa di simile a
<P>
<BLOCKQUOTE><CODE>
<PRE>
    program 100004 version 1 ready and waiting
    program 100004 version 2 ready and waiting
</PRE>
</CODE></BLOCKQUOTE>
<P>La riga ``version 1'' potrebbe non esserci a seconda della versione di
ypserv e della configurazione usata.  &Egrave; necessaria solamente se si
usano vecchi client SunOS 4.x.
<P>Ora si generi la base di dati NIS (YP). Sul master, si lanci
<P>
<BLOCKQUOTE><CODE>
<PRE>
    % /usr/lib/yp/ypinit -m
</PRE>
</CODE></BLOCKQUOTE>
<P>Su uno slave, assicurarsi che <CODE>ypwhich -m</CODE> funzioni.  Ci&ograve;
significa che lo slave dev'essere per prima cosa configurato come
client NIS prima di poter eseguire
<BLOCKQUOTE><CODE>
<PRE>
    % /usr/lib/yp/ypinit -s masterhost
</PRE>
</CODE></BLOCKQUOTE>

per installare l'host come slave NIS.
<P>
<P>&Egrave; tutto, il proprio server &egrave; attivo e in esecuzione.
<P>Se si hanno grossi problemi, si pu&ograve; avviare <CODE>ypserv</CODE> e
<CODE>ypbind</CODE> in modalit&agrave; di debug su xterm separate.  L'output di
debug dovrebbe mostrare cosa non va.
<P>Se si deve aggiornare una mappa, si esegua <CODE>make</CODE> nella
directory <CODE>/var/yp</CODE> del NIS master.  Ci&ograve; aggiorner&agrave; una mappa
se il file sorgente &egrave; stato modificato e invier&agrave; i file ai server
slave.  Non usare <CODE>ypinit</CODE> per aggiornare una mappa.
<P>Non &egrave; male poi modificare il crontab di root nello slave server e
aggiungere le righe seguenti
<P>
<BLOCKQUOTE><CODE>
<PRE>
      20 *    * * *    /usr/lib/yp/ypxfr_1perhour
      40 6    * * *    /usr/lib/yp/ypxfr_1perday
      55 6,18 * * *    /usr/lib/yp/ypxfr_2perday
</PRE>
</CODE></BLOCKQUOTE>

Ci&ograve; assicura che la maggior parte delle mappe NIS saranno mantenute
aggiornate, anche se un aggiornamento &egrave; stato perso a causa di
un malfunzionamento (down) dello slave al momento
dell'aggiornamento sul master.
<P>Uno slave pu&ograve; essere aggiunto in qualsiasi momento.  Per prima cosa,
assicurarsi che il nuovo server slave abbia i permessi per contattare
il master NIS.  Poi eseguire
<BLOCKQUOTE><CODE>
<PRE>
    % /usr/lib/yp/ypinit -s masterhost
</PRE>
</CODE></BLOCKQUOTE>

sul nuovo slave.  Sul server master si aggiunga poi il nome del nuovo
server slave in <CODE>/var/yp/ypservers</CODE> e si esegua <CODE>make</CODE>
in <CODE>/var/yp</CODE> per aggiornare le mappe.
<P>Se si vuole restringere l'accesso al proprio server NIS agli utenti, si
deve impostare il server NIS come un client eseguendo ypbind e
aggiungere le voci-pi&ugrave; ("+") a /etc/passwd a mezza via del file
delle password.  
Le funzioni di libreria ignoreranno tutte le
normali voci dopo la prima voce NIS, e otteranno le restanti
informazioni attraverso NIS.  In questo modo sono mantenute le regole
di accesso NIS.  Un esempio:
<P>
<BLOCKQUOTE><CODE>
<PRE>
     root:x:0:0:root:/root:/bin/bash
     daemon:*:1:1:daemon:/usr/sbin:
     bin:*:2:2:bin:/bin:
     sys:*:3:3:sys:/dev:
     sync:*:4:100:sync:/bin:/bin/sync
     games:*:5:100:games:/usr/games:
     man:*:6:100:man:/var/catman:
     lp:*:7:7:lp:/var/spool/lpd:
     mail:*:8:8:mail:/var/spool/mail:
     news:*:9:9:news:/var/spool/news:
     uucp:*:10:50:uucp:/var/spool/uucp:
     nobody:*:65534:65534:noone at all,,,,:/dev/null:
     +miquels::::::
     +:*:::::/etc/NoShell
     [ Tutti i normali utenti DOPO questa riga! ]
     tester:*:299:10:Just a test account:/tmp:
     miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh
</PRE>
</CODE></BLOCKQUOTE>
<P>Quindi l'utente tester esister&agrave;, ma avr&agrave; la shell impostata a
/etc/NoShell. miquels avr&agrave; l'accesso normale.
<P>In alternativa, si pu&ograve; modificare il file <CODE>/var/yp/Makefile</CODE> ed
impostare NIS ad usare un altro file di password come sorgente.  Su
sistemi grossi, i file delle password e dei gruppi NIS sono solitamente
salvati in <CODE>/var/yp/ypfiles/</CODE>.  Se lo si fa i normali strumenti
per l'amministrazione del file delle password come <CODE>passwd</CODE>,
<CODE>chfn</CODE> e <CODE>adduser</CODE> non funzioneranno pi&ugrave; e si avr&agrave;
bisogno di speciali strumenti fatti su misura.
<P>Comunque <CODE>yppasswd</CODE>, <CODE>ypchsh</CODE> e <CODE>ypchfn</CODE>
ovviamente funzioneranno.
<P>
<H2><A NAME="ss8.2">8.2 Il programma server yps</A>
<!--NIS!yps server--><!--yps NIS server--></H2>

<P>Per l'impostazione del server NIS ``yps'' si faccia riferimento al
paragrafo precedente.  L'impostazione del server ``yps'' &egrave; simile ma
non esattamente la stessa, quindi si faccia attenzione se si prova ad
applicare le istruzioni di ``ypserv'' a ``yps"!  ``yps'' non &egrave; supportato
da alcun autore e contiene alcuni problemi di sicurezza.  Quindi non &egrave;
affatto consigliabile usarlo!
<P>Il software per il server NIS ``yps'' pu&ograve; essere trovato su:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  Sito                   Directory                  Nome File

  ftp.lysator.liu.se    /pub/NYS/servers            yps-0.21.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS    yps-0.21.tar.gz
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="ss8.3">8.3 Il programma rpc.ypxfrd</A>
<!--NIS|rpc.ypxfrd daemon--><!--rpc.ypxfrd daemon--></H2>

<P>rpc.ypxfrd &egrave; usato per velocizzare i trasferimenti di grosse mappe NIS
dal NIS master ai diversi slave.  Se un server NIS slave riceve un
messaggio che attesta la presenza di una nuova mappa, avvier&agrave; ypxfr
per trasferire la nuova mappa.  ypxfr legger&agrave; il contenuto di una
mappa dal server master usando la funzione yp_all().  Questo processo
pu&ograve; durare diversi minuti quando esistono mappe molto grosse che
devono essere salvate dalla libreria di database.
<P>Il server rpc.ypxfrd velocizza il processo di trasferimento
permettendo si server NIS slave di copiare semplicemente i file di
mappa del master piuttosto che si costruiscano da soli la propria
copia.  rpc.ypxfrd usa un protocollo di trasferimento basato su RPC,
cosicch&eacute; non &egrave; necessario per la costruzione di nuove mappe.
<P>rpc.ypxfrd pu&ograve; essere avviato da inetd.  Per&ograve; poich&eacute; si avvia molto
lentamente, dovrebbe essere lanciato assieme a ypserv.  &Egrave; necessario
avviare rpc.ypxfrd solo sul master.
<P>
<H2><A NAME="ss8.4">8.4 Il programma rpc.yppasswdd</A>
<!--NIS!rpc.yppasswdd daemon--><!--rpc.yppasswdd daemon--></H2>

<P>Ogni qual volta gli utenti cambiano le loro password, la base di dati
NIS delle password e, probabilmente, altre basi di dati NIS che
dipendono da questa dovrebbero essere aggiornate.  Il programma
"rpc.yppasswdd'' &egrave; un server che gestisce le modifiche delle password e
assicura che le informazioni NIS sia aggiornate di conseguenza.
rpc.yppasswdd &egrave; ora integrato in ypserv.  Non serve pi&ugrave; il vecchio
yppasswd-0.9.tar.gz o yppasswd-0.10.tar.gz, e non dovrebbero essere
pi&ugrave; usati. Il rpc.yppasswd in ypserv 1.3.2 ha il pieno supporto per le
shadow.  yppasswd fa ora parte di yp-tools-2.2.tar.gz,
<P>Si deve lanciare rpc.yppasswd solo nel server NIS master.  Di default,
gli utenti non hanno il permesso di cambiare il loro nome o la loro
shell di login.  &Egrave; possibile permettere tali modifiche con le opzioni
-e chfn o -e chsh.
<P>Se i propri file passwd e shadow sono in una directory diversa da
/etc, si deve aggiungere l'opzione -D.  Per esempio, se si sono messi
tutti i file sorgente in /etc/yp e si vuole che gli utenti possano
cambiare la propria shell, si deve avviare rpc. yppasswdd con i
seguenti parametri:
<P>
<BLOCKQUOTE><CODE>
<PRE>
   rpc.yppasswdd -D /etc/yp -e chsh
</PRE>
</CODE></BLOCKQUOTE>
<P>oppure
<P>
<BLOCKQUOTE><CODE>
<PRE>
   rpc.yppasswdd -s /etc/yp/shadow -p /etc/yp/passwd -e chsh
</PRE>
</CODE></BLOCKQUOTE>
<P>Non c'&egrave; molto altro da fare.  Ci si deve solamente assicurare che
<CODE>rpc.yppasswdd</CODE> usi gli stessi file di
<CODE>/var/yp/Makefile</CODE>.  Gli errori saranno registrati usando
syslog.
<P>
<HR>
<A HREF="NIS-HOWTO-9.html">Avanti</A>
<A HREF="NIS-HOWTO-7.html">Indietro</A>
<A HREF="NIS-HOWTO.html#toc8">Indice</A>
</BODY>
</HTML>