Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 6f31691e252df0379b2dc094814df461 > files > 118

howto-sgml-it-2006-6mdv2010.0.noarch.rpm

<!DOCTYPE Article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">

<Article lang="it" id="index">

<ArtHeader>

<Title>The Linux NIS(YP)/NYS/NIS+ HOWTO</Title>
<AUTHOR
>
<FirstName>Thorsten Kukuk</FirstName>
</AUTHOR
>
<PubDate>v1.3, 1 Luglio 2003</PubDate>

<Abstract>

<Para>
<IndexTerm><Primary>HOWTOs!NIS</Primary></IndexTerm>
<IndexTerm><Primary>HOWTOs!YP</Primary></IndexTerm>
<IndexTerm><Primary>HOWTOs!NYS</Primary></IndexTerm>
<IndexTerm><Primary>HOWTOs!NIS+</Primary></IndexTerm>
Questo documento descrive come configurare Linux quale client NIS(YP) o NIS+
e come installarlo quale server NIS.
</Para>
<Para>
Traduzione italiana a cura di Fabio Zanotti (zendune@toglimi.virgilio.it) e
revisione a cura di Michele Ferritto (m.ferritto@toglimi.virgilio.it).
</Para>

</Abstract>

</ArtHeader>
<Sect1 id="introduction">
<Title>Introduzione</Title>

<Para>
Sempre più macchine Linux sono installate come parti di una rete di
computer. Al fine di semplificarne la gestione, molte
reti (principalmente basate su Sun) utilizzano il Network Information
Service. Le macchine Linux possono sfruttare al massimo
il servizio NIS esistente o fornirlo esse stesse. Le macchine
Linux possono agire anche come client NIS+ completi, ma questo supporto è in
stadio beta.
</Para>

<Para>
Questo documento tenta di rispondere alle domande riguardanti l'impostazione
di NIS(YP) e NIS+ sulla vostra macchina Linux. Non si dimentichi di leggere
<XRef LinkEnd="portmapper">.
</Para>

<Para>
Il NIS-Howto è scritto e mantenuto da
</Para>

<Para>

<Screen>
        Thorsten Kukuk, &#60;kukuk@suse.de&#62;
</Screen>

</Para>

<Para>
La principale fonte di informazioni per l'iniziale NIS-Howto è stata
fornita da:
</Para>

<Para>

<Screen>
Andrea Dell'Amico       &#60;adellam@ZIA.ms.it&#62;
Mitchum DSouza          &#60;Mitch.DSouza@NetComm.IE&#62;
Erwin Embsen            &#60;erwin@nioz.nl&#62;
Peter Eriksson          &#60;peter@ifm.liu.se&#62;
</Screen>

</Para>

<Para>
che dovremmo ringraziare per aver scritto la prima versione di questo
documento.
</Para>

<Sect2>
<Title>Nuove versioni di questo documento</Title>

<Para>
&Egrave; possibile sempre vedere l'ultima versione di questo documento sul Word
Wide Web tramite l'URL <ULink
URL="http://www.linux-nis.org/nis-howto/HOWTO/NIS-HOWTO.html"
>http://www.linux-nis.org/nis-howto/HOWTO/NIS-HOWTO.html</ULink
>.
</Para>

<Para>
Nuove versioni di questo documento potranno pure essere archiviate in vari
siti Linux WWW e FTP, inclusa la home page di LDP.
</Para>

<Para>
I link alle traduzioni di questo documento potranno essere trovati a
<ULink
URL="http://www.linux-nis.org/nis-howto/">http://www.linux-nis.org/nis-howto/</ULink>.
</Para>

</Sect2>

<Sect2>
<Title>Liberatoria</Title>

<Para>
Sebbene questo documento possa riassumere il meglio della mia conoscenza
è possibile, e probabile, che contenga errori. Per maggiori dettagli
ed accurate informazioni, si leggano i file README che sono distribuiti con
i vari software qui descritti. Cercherò di mantenere questo
documento il più possibile libero da errori.
</Para>

</Sect2>

<Sect2>
<Title>Commenti e correzioni</Title>

<Para>
Se si hanno domande o commenti inerenti questo documento, si inviino liberamente
a Thorsten Kukuk, presso <ULink
URL="mailto:kukuk@linux-nis.org">kukuk@linux-nis.org</ULink>.
Accetto qualsiasi suggerimento o critica. Se si individuano errori in questo
documento, fatemelo sapere così che possa correggerli nella prossima versione.
Grazie.
</Para>

<Para>
Per cortesia <Emphasis>non</Emphasis> inviatemi domande inerenti problemi
specifici con le vostre Distribuzioni Linux! Non conosco ogni Distribuzione
Linux. Ma tenterò di aggiungere ogni soluzione inviatami.
</Para>

</Sect2>

<Sect2>
<Title>Riconoscimenti</Title>

<Para>
Vogliamo ringraziare tutte le persone che hanno contribuito (direttamente o
indirettamente) a questo documento. In ordine alfabetico:
</Para>

<Para>

<Screen>
Byron A Jeff            &#60;byron@cc.gatech.edu&#62;
Markus Rex              &#60;msrex@suse.de&#62;
Miquel van Smoorenburg  &#60;miquels@cistron.nl&#62;
Dan York                &#60;dyork@lodestar2.com&#62;
Christoffer Bromberg    &#60;christoffer@web.de&#62;
</Screen>

</Para>

<Para>
Theo de Raadt è responsabile per il codice originale dei client yp.
Swen Thuemmler ha portato il codice dei client yp su Linux ed ha pure
prodotto le routine yp in libc (basate ancora sul lavoro di Theo).
Thorsten Kukuk ha scritto da zero le routine NIS(YP) and NIS+ per
GNU libc 2.x.
</Para>


</Sect2>

</Sect1>

<Sect1 id="glossary">
<Title>Glossario ed informazioni generali</Title>

<Sect2>
<Title>Glossario dei Termini
<IndexTerm><Primary>NIS!glossario</Primary></IndexTerm>
<IndexTerm><Primary>YP!glossario</Primary></IndexTerm>
<IndexTerm><Primary>NYS!glossario</Primary></IndexTerm>
<IndexTerm><Primary>NIS+!glossario</Primary></IndexTerm>
<IndexTerm><Primary>glossary!NIS/NYS/YP/NIS+</Primary></IndexTerm>
</Title>

<Para>
In questo documento vengono usati molti acronimi. Qui ci sono i più
importanti con una breve spiegazione:
</Para>

<Para>
<VariableList>

<VarListEntry>
<Term>DBM</Term>
<ListItem>
<Para>
DataBase Management, una libreria di funzioni che mantiene le coppie
chiave-contenuto di una base di dati.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term>DLL</Term>
<ListItem>
<Para>
Dynamically Linked Library, una libreria collegata in fase di esecuzione
ad un programma eseguibile.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term>domainname</Term>
<ListItem>
<Para>
Un nome "chiave" che è utilizzato dai client NIS al fine di localizzare
il corretto server NIS che fornisce il servizio questo domainname chiave.
Da notare che questo non ha necessariamente a che fare con il
"dominio" DNS della macchina(e).
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term>FTP</Term>
<ListItem>
<Para>
File Transfer Protocol, un protocollo utilizzato per il trasferimento
di file tra due computer.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term>libnsl</Term>
<ListItem>
<Para>
Name services library, una libreria di chiamate al name service
(getpwnam, getservbyname, etc...) sugli Unix SVR4. GNU libc la utilizza
per le funzioni NIS (YP) e NIS+.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term>libsocket</Term>
<ListItem>
<Para>
Socket services library, una libreria per le chiamate a servizi
socket (socket, bind, listen, etc...) sugli Unix SVR4.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term>NIS</Term>
<ListItem>
<Para>
Network Information Service, un servizio che fornisce informazioni
che devono essere conosciute in ogni parte della rete, a tutte le
macchine che vi prendono parte. Il supporto per il NIS è contenuto nella
libreria standard libc di Linux, al quale, nel testo seguente, ci si
riferisce come "NIS tradizionale".
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term>NIS+</Term>
<ListItem>
<Para>
Network Information Service (Plus :-), essenzialmente NIS con
gli steroidi. NIS+ è stato progettato da Sun Microsystems Inc.
come rimpiazzo per NIS con migliore sicurezza e migliore
gestione di &lowbar;grandi&lowbar; installazioni.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term>NYS</Term>
<ListItem>
<Para>
Questo è il nome del progetto e sta per NIS+, YP e Switch ed è
gestito da Peter Eriksson &lt;peter@ifm.liu.se&#62;. Tra le altre
cose, contiene una completa reimplementazione del codice di
NIS (= YP) che utilizza la funzionalità di Name Services Switch
della libreria di NYS.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term>NSS</Term>
<ListItem>
<Para>
Name Service Switch. Il file /etc/nsswitch.conf determina in che ordine
devono essere effettuare le ricerche quando un certo tipo di informazione
viene richiesto.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term>RPC</Term>
<ListItem>
<Para>
Remote Procedure Call. Le routine RPC permettono a programmi in C
di effettuare chiamate a procedure su altre macchine attraverso la rete.
Quando si parla di RPC, il più delle volte si intende la variante
SUN di RPC.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term>YP</Term>
<ListItem>
<Para>
Yellow Pages(tm), un marchio di fabbrica registrato nel Regno Unito
dalla British Telecom plc.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term>TCP-IP</Term>
<ListItem>
<Para>
Transmission Control Protocol/Internet Protocol. &Egrave; il protocollo di
comunicazione dati più utilizzato sulle macchine Unix.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</Para>

</Sect2>

<Sect2>
<Title>Alcune informazioni generali
<IndexTerm><Primary>NIS!informazioni generali</Primary></IndexTerm>
<IndexTerm><Primary>YP!informazioni generali</Primary></IndexTerm>
<IndexTerm><Primary>NYS!informazioni generali</Primary></IndexTerm>
<IndexTerm><Primary>NIS+!informazioni generali</Primary></IndexTerm>
</Title>

<Para>
Le quattro righe successive sono citazioni tratte dal Manuale Sun(tm) di
Amministrazione del sistema e della rete:
</Para>

<Para>

<Screen>
    "In passato, NIS era conosciuto come Sun Yellow Pages (YP) ma
     il nome Yellow Pages(tm) è un marchio registrato nel Regno
     Unito dalla British Telecom plc e non può essere utilizzato
     senza permesso."
</Screen>

</Para>

<Para>
NIS sta per Network Information Service. Il suo scopo è di fornire
informazioni, che devono essere conosciute in ogni parte della rete,
a tutte le macchine che vi prendono parte. Le informazioni verosimilmente fornite
da NIS sono:

<ItemizedList>
<ListItem>
<Para>
nomi di login/passwords/directory home (/etc/passwd)
</Para>
</ListItem>
<ListItem>
<Para>
informationi sul gruppo (/etc/group)
</Para>
</ListItem>
</ItemizedList>

</Para>

<Para>
Se, per esempio, la propria password è registrata nel database
passwd di NIS, sarà possibile accedere a tutte le macchine sulla rete che
hanno in esecuzione i programmi client di NIS.
</Para>

<Para>
Sun è un marchio registrato da Sun Microsystems Inc. in licenza a
SunSoft, Inc.
</Para>

</Sect2>

</Sect1>

<Sect1 id="which">
<Title>NIS, NYS o NIS+ ?</Title>

<Sect2>
<Title>libc 4/5 con il NIS tradizionale o NYS ?
<IndexTerm><Primary
>libc4/5, uso con NIS/NYS</Primary></IndexTerm>

<IndexTerm><Primary
>NIS/NYS, uso con libc4/5</Primary></IndexTerm>
</Title>

<Para>
La scelta tra il "NIS tradizionale" o il codice di NIS nella libreria
di NYS è una scelta tra pigrizia e maturità contro flessibilità ed
amore per l'avventura.
</Para>

<Para>
Il codice del "NIS tradizionale" è nella libreria standard C, è in
giro da molto ed alcune volte soffre a causa della sua età e lieve inflesibilità.
</Para>

<Para>
Il codice NIS nella libreria NYS richiede la ricompilazione della
libreria libc per includere al suo interno il codice NYS (oppure
si può ottenere una versione precompilata di libc da
qualcuno che l'ha già fatto).
</Para>

<Para>
Un'altra differenza è che il codice del NIS tradizionale ha qualche
supporto per i Netgroup NIS, che il codice di NYS non possiede. D'altro
canto il codice NYS permette la gestione delle Shadow Password in modo
trasparente. Il codice "NIS tradizionale" non supporta le Shadow
su NIS.
</Para>

</Sect2>

<Sect2>
<Title>glibc 2 e NIS/NIS+
<IndexTerm><Primary
>glibc2, uso con NIS/NIS+</Primary></IndexTerm>

<IndexTerm><Primary
>NIS/NIS+, uso con glibc2</Primary></IndexTerm>
</Title>

<Para>
Si dimentichi tutto questo se si utilizza la nuova libreria 2.x
GNU C (anche conosciuta come libc6). Essa ha un vero supporto a NSS (name switch
service), che la rende molto flessibile e lo ha anche per
le seguenti mappe: aliases, ethers, group, hosts, netgroups, networks,
protocols, publickey, passwd, rpc, services e shadow. La libreria
GNU C non ha problemi con le shadow password su NIS.
</Para>

</Sect2>

<Sect2>
<Title>NIS o NIS+ ?
<IndexTerm><Primary>NIS vs. NIS+</Primary></IndexTerm>
</Title>

<Para>
La scelta tra NIS e NIS+ è facile - usare NIS+ solo se si ha bisogno
di sicurezza rigorosa. NIS+ è molto più problematico da amministrare
(è facile da gestire dal lato client, ma dal lato server è orribile).
Un altro problema è che il supporto per NIS+ sotto Linux contiene
un sacco di errori ed il suo sviluppo &egrave; stato interrotto.
</Para>

</Sect2>

</Sect1>

<Sect1 id="operation">
<Title>Come funziona</Title>

<Sect2>
<Title>Come funziona NIS
<IndexTerm><Primary
>NIS/YP, teoria del funzionamento</Primary></IndexTerm>
</Title>

<Para>
All'interno di una rete ci deve essere almeno una macchina che
funzioni come server NIS. &Egrave; possibile avere più server NIS, ognuno
serve differenti "domini" NIS - in alternativa è possibile avere dei server NIS
che cooperano, dove uno è il server NIS master, e tutti gli altri sono
chiamati server NIS slave (per un determinato "dominio" NIS, ovviamente!) -
oppure è possibile avere un misto di questi...
</Para>

<Para>
Solo i server slave hanno copie dei database NIS e ricevono queste copie
dal server NIS master ogni qual volta vengano fatte modifiche al database
master. In relazione al numero di macchine presenti in rete ed alla sua
qualità, è possibile decidere di installare uno o più server slave. Ogni
qual volta un server NIS si disattiva o è troppo lento per rispondere
alle richieste, un client NIS connesso a quel server tenterà di trovarne
uno attivo o più veloce.
</Para>

<Para>
I database NIS sono in formato così chiamato DBM, derivato dal database
ASCII. Per esempio, il file <filename>/etc/passwd</filename> e
<filename>/etc/group</filename> possono essere direttamente convertiti
in formato DBM utilizzando un software di traduzione da ASCII a DBM
(<Command>makedbm</Command>, incluso con il software per il server ).
Il server NIS master dovrebbe avere entrambe formati di database.
</Para>

<Para>
I server slave verranno avvisati di ogni cambiamento alle mappe NIS
(tramite il programma <Command>yppush</Command>) e recupereranno automaticamente
i necessari cambiamenti al fine di sincronizzare i loro
database. I client NIS non hanno bisogno di questo poiché sono continuamente in
contatto con il server NIS al fine di leggere le informazioni
immagazzinate nel suo database DBM.
</Para>

<Para>
Le vecchie versioni di ypbind fanno un broadcast per trovare un server
NIS in esecuzione. Questo non è un sistema sicuro, a causa del fatto che chiunque
potebbe installare un server NIS e rispondere alle interrogazioni
broadcast. Le versioni più recenti di ypbind (ypbind-3.3 or ypbind-mt)
sono in grado di ottenere il server da un file di configurazione - in
questo modo non è più necessario fare il broadcast.
</Para>

</Sect2>

<Sect2>
<Title>Come funziona NIS+
<IndexTerm><Primary
>NIS+!teoria del funzionamento</Primary></IndexTerm>
</Title>

<Para>
NIS+ è una nuova versione del nameservice delle informazioni della rete
fornito da Sun. La più grande differenza tra NIS e NIS+ è che NIS+ ha
il supporto per la crittografia dei dati e l'autenticazione su RPC
sicuro.
</Para>

<Para>
Il modello di assegnazione dei nomi di NIS+ è basato su una struttura
ad albero. Ogni nodo dell'albero corrisponde ad un oggetto di NIS+, del
quale si hanno sei tipi: directory, entry, group, link, table e private.
</Para>

<Para>
La directory NIS+ che forma la radice dello spazio dei nomi di NIS+ è chiamata
directory radice. Vi sono due speciali directory NIS+: org_dir e
groups_dir. La directory org_dir è composta da tutte le tabelle di
amministrazione, come passwd, hosts e mail_aliases. La directory
groups_dir è composta dal gruppo di oggetti di NIS+ utilizzati per il
controllo degli accessi. L'insieme di org_dir, groups_dir e delle loro
directory superiori fanno riferimento ad un dominio NIS+.
</Para>

</Sect2>

</Sect1>

<Sect1 id="portmapper">
<Title>Il Portmapper RPC
<IndexTerm><Primary
>RPC portmapper</Primary></IndexTerm>
<IndexTerm><Primary
>portmapper, RPC</Primary></IndexTerm>
<IndexTerm><Primary
>NIS!uso di RPC portmapper</Primary></IndexTerm>
</Title>

<Para>
Per il funzionamento di qualsiasi software di seguito menzionato è necessario
avere in esecuzione il programma /sbin/portmap. Alcune distribuzioni Linux
hanno già inserito del codice nei file /sbin/init.d/ o /etc/rc.d/ affinché
questo demone sia avviato. Tutto quello che c'è da fare è attivarlo e
riavviare la macchina Linux. Si legga la documentazione della propria
distribuzione Linux per sapere come fare.
</Para>

<Para>
Il portmapper RPC (portmap(8)) è un server che converte i numeri del
programma RPC in numeri di porta del protocollo TCP/IP (o UDP/IP).
Deve essere in funzione al fine di eseguire chiamate RPC (che è quello
che fa il software del client NIS/NIS+) ai server RPC (come un server
NIS o NIS+) su quella macchina. Quando un server RPC è in esecuzione,
comunica a portmap su quale numero di porta è in ascolto e quali numeri
di programmi RPC è pronto a servire. Quando un client desidera fare
una chiamata RPC ad un dato numero di programma, prima contatta portmap
sulla macchina server al fine di determinare il numero della porta dove
i pacchetti RPC potranno essere inviati.
</Para>

<Para>
Affinché i server RPC possano essere avviati da inetd(8), portmap
dovrà essere in esecuzione prima dell'avvio di inetd.
</Para>

<Para>
Per il RPC sicuro, il portmapper necessita del servizio Time. Ci si
assicuri che il servizio Time sia abilitato in /etc/inetd.conf su tutti
gli hosts:

<Screen>
#
# Time service is used for clock syncronization.
#
time    stream  tcp     nowait  root    internal
time    dgram   udp     wait    root    internal
</Screen>

</Para>

<Para>
IMPORTANTE: Non si dimentichi di riavviare inetd dopo i cambiamenti
al suo file di configurazione !
</Para>

</Sect1>

<Sect1 id="setting-NIS">
<Title>Di cosa si ha bisogno per impostare NIS?
<IndexTerm><Primary
>NIS!impostazione</Primary></IndexTerm>
</Title>

<Sect2>
<Title>Determinare se si è un Server, uno Slave o un Client.
<IndexTerm><Primary
>NIS!determinare il tipo di sistema</Primary></IndexTerm>
</Title>

<Para>
Per rispondere a questa domanda, bisogna considerare due casi:
</Para>

<Para>

<OrderedList>
<ListItem>

<Para>
La macchina farà parte di una rete ove esistono server NIS
</Para>
</ListItem>
<ListItem>

<Para>
Non si ha ancora nessun server NIS in rete
</Para>
</ListItem>

</OrderedList>


</Para>

<Para>
Nel primo caso, si ha la necessità dei programmi client (ypbind, ypwhich,
ypcat, yppoll, ypmatch). Il programma più importante è ypbind. Questo
programma deve essere sempre in esecuzione, il che significa che dovrà
sempre apparire nella lista dei processi. Essendo un processo demone
necessita di essere avviato dal file di avvio del sistema (es. /etc/init.d/nis,
/sbin/init.d/ypclient, /etc/rc.d/init.d/ypbind, /etc/rc.local).
Non appena ypbind sarà in esecuzione sul sistema, si diventerà un client NIS.
</Para>

<Para>
Nel secondo caso, se non si ha un server NIS, allora si avrà bisogno
anche di un programma di server NIS (solitamente chiamato ypserv). <XRef LinkEnd="ypserv">
descrive come impostare un server NIS sulla vostra macchina Linux utilizzando
il demone <Command>ypserv</Command>.
</Para>

</Sect2>

<Sect2>
<Title>Il Software
<IndexTerm><Primary
>NIS!librerie richieste</Primary></IndexTerm>
</Title>

<Para>
La libreria di sistema "/usr/lib/libc.a" (versione 4.4.2 e successive)
o la libreria condivisa "/lib/libc.so.x" contengono tutte le chiamate
di sistema per compilare con successo i programmi client e server NIS.
Per la GNU C Library 2 (glibc 2.x), si ha bisogno pure di /lib/libnsl.so.1.
</Para>

<Para>
Qualcuno ha riferito che NIS funzioni solo con  "/usr/lib/libc.a"
versione 4.5.21 e successive, così se si vuole andare sul sicuro non bisogna
utilizzare le più vecchie libc. Il software per client NIS è possibile
ottenerlo da:
</Para>

<Para>

<Screen>
  Sito                  Directory                        Nome del file

  ftp.kernel.org        /pub/linux/utils/net/NIS         yp-tools-2.8.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-mt-1.13.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-3.3.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-3.3-glibc5.diff.gz
</Screen>

</Para>

<Para>
Una volta ottenuto il software, si prega di seguire le istruzioni fornite
con lo stesso. yp-clients 2.2 sono per l'uso con libc4 e libc5 fino alla
5.4.20. libc5.4.21 e glibc 2.x necessitano di yp-tools 1.4.1 o successivi.
I nuovi yp-tools 2.4 dovrebbero funzionare con ogni libreria libc di Linux.
Poiché vi è un bug nel codice di NIS, non si dovrebbe utilizzare libc
5.4.21-5.4.35. Invece si usi libc 5.4.36 o successiva o la maggior parte
dei programmi non funzionerà.
ypbind 3.3 funzionerà pure lui con tutte le librerie. Se si usa gcc 2.8.x
o successivo, egcs o glibc 2.x, si dovrebbe aggiungere a ypbind 3.3 la
patch ypbind-3.3-glibc5.diff. Se possibile, si dovrà evitare l'uso di
ypbind 3.3 per ragioni di sicurezza.
ypbind-mt è un demone nuovo e multithread. Questi necessita del Kernel
Linux 2.2 e di glibc 2.1 o successivo.
</Para>

</Sect2>
</Sect1>

<Sect1 id="settingup-client">
<Title>Impostazione del client NIS
</Title>
<Sect2>
<Title>Il demone ypbind
<IndexTerm><Primary>NIS!demone ypbind</Primary></IndexTerm>

<IndexTerm><Primary>ypbind NIS demone</Primary></IndexTerm>

<IndexTerm><Primary>demone!ypbind</Primary></IndexTerm>
</Title>

<Para>
Dopo aver compilato con successo il software, si è pronti ad installarlo.
Un posto adatto per il demone ypbind è la directory /usr/sbin. Qualcuno
potrebbe dirvi che non è necessario ypbind su un sistema con
NYS. Questo è sbagliato, ypwhich e ypcatne ne necessitano sempre.
</Para>

<Para>
Naturalmente si deve fare questo come root. Gli altri binari (ypwhich,
ypcat, yppasswd, yppoll, ypmatch) dovrebbero essere messi in una
directory accessibile a tutti gli utenti, normalmente /usr/bin.
</Para>

<Para>
Le nuove versioni di ypbind hanno un file di configurazione chiamato
/etc/yp.conf. Al suo interno, è possibile specificare un server NIS -
per maggiori informazioni si veda la pagina del manuale per ypbind(8).
&Egrave; possibile utilizzare questo file per NYS.
Un esempio:

<Screen>
ypserver 10.10.0.1
ypserver 10.0.100.8
ypserver 10.3.1.1
</Screen>

</Para>

<Para>
Se il sistema può risolvere i nomi degli host senza NIS, potrete
usare il nome, altrimenti bisogna utilizzare l'indirizzo IP.
ypbind 3.3 ha un bug ed utilizzerà solamente l'ultima voce
(nell'esempio ypserver 10.3.1.1). Tutte le altre voci sono ignorate.
ypbind-mt gestisce correttamente questa cosa e ne utilizza uno, il
primo che risponde.
</Para>

<Para>
Può essere una buona idea provare ypbind prima di incorporarlo nel file
di avvio. Per provare ypbind si faccia quanto segue:
</Para>

<Para>

<ItemizedList>
<ListItem>

<Para>
Assicurarsi di aver impostato un nome di dominio-YP. Se non è stato
fatto, utilizzate il comando:


<Screen>
	    /bin/domainname nis.domain

</Screen>


dove <Literal remap="tt">nis.domain</Literal> _NON_ dovrebbe essere
una stringa normalmente associata al nome di dominio-DNS della vostra
macchina! La ragione è che sarà più duro per i cracker ottenere
il database delle password dal vostro server NIS. Se non si conosce il
nome del dominio NIS, chiedetelo al vostro amministratore di sistema/
rete.

</Para>
</ListItem>
<ListItem>

<Para>
Avviare "<Command>/sbin/portmap</command>" se non è già in esecuzione.

</Para>
</ListItem>
<ListItem>

<Para>
Creare la diretory <filename>/var/yp</filename> se non esiste.

</Para>
</ListItem>
<ListItem>

<Para>
Avviare <Command>/usr/sbin/ypbind</Command>

</Para>
</ListItem>
<ListItem>

<Para>
Utilizzare il comando <Command>rpcinfo -p localhost</Command> per
verificare se ypbind sia stato in grado di registrare i propri
servizi tramite portmapper. L'output dovrebbe apparire in modo
simile:

<Screen>
       program vers proto   port
        100000    2   tcp    111  portmapper
        100000    2   udp    111  portmapper
        100007    2   udp    637  ypbind
        100007    2   tcp    639  ypbind

</Screen>


o


<Screen>
       program vers proto   port
        100000    2   tcp    111  portmapper
        100000    2   udp    111  portmapper
        100007    2   udp    758  ypbind
        100007    1   udp    758  ypbind
        100007    2   tcp    761  ypbind
        100007    1   tcp    761  ypbind

</Screen>


In relazione alla versione di ypbind che si sta utilizzando.


</Para>
</ListItem>
<ListItem>

<Para>
Si potrebbe pure eseguire <Command>rpcinfo -u localhost ypbind</Command>.
Questo comando dovrebbe produrre qualcosa di simile:

<Screen>
        program 100007 version 2 ready and waiting

</Screen>


o

<Screen>
        program 100007 version 1 ready and waiting
        program 100007 version 2 ready and waiting

</Screen>


L'output dipende dalla versione di ypbind installata.
Importante è solo il messaggio "version 2".
</Para>
</ListItem>

</ItemizedList>

</Para>

<Para>
A questo punto si dovrebbe essere in grado di utilizzare i programmi
per il client NIS come  ypcat, ecc...
Per esempio, <Command>ypcat passwd.byname</Command> vi restituirà
l'intero database delle password NIS.
</Para>

<Para>
IMPORTANTE: se si salta la procedura di test poi assicurarsi di avere
impostato il nome di dominio e creato la directory
</Para>

<Para>

<Screen>
    /var/yp
</Screen>

</Para>

<Para>
Questa directory DEVE esistere perché ypbind possa avviarsi con
successo.
</Para>

<Para>
Verificare se il domainname sia impostato correttamente, si usi
<Command>/bin/ypdomainname</Command> di
yp-tools 2.2. Questo utilizza la funzione yp_get_default_domain()
che è più restrittiva. Non si permetta, per esempio, il domainname "(none)"
che è predefinito sotto Linux e crea parecchi problemi.
</Para>

<Para>
Se il test funziona, ora potrete cercare di sostituire i vostri file
di avvio così che ypbind possa essere eseguito all'avvio ed il vostro
sistema si comporti come un client NIS. Assicurarsi che il domainname
sia impostato prima di avviare ypbind.
</Para>

<Para>
Bene, questo è tutto. Riavviate la macchina ed osservate i messaggi di
boot per vedere se ypbind sia effettivamente attivo.
</Para>

</Sect2>

<Sect2>
<Title>Impostare un client NIS utilizzando il NIS tradizionale
<IndexTerm><Primary>NIS!client impostazione</Primary></IndexTerm>
</Title>

<Para>
Per la ricerca degli host si deve impostare (o aggiungere) "nis"
alla riga relativa all'ordine di ricerca nel vostro file
<filename>/etc/host.conf</filename>. Per cortesia, si legga
la manpage "resolv+.8" per maggiori dettagli.
</Para>

<Para>
Aggiungere la seguente riga a <filename>/etc/passwd</filename>
sui vostri client NIS:
</Para>

<Para>

<Screen>
+::::::
</Screen>

</Para>

<Para>
Potrete pure utilizzare i caratteri + e - per includere/escludere
o cambiare gli utenti. Se volete escludere l'utente guest, aggiungete
semplicemente -guest al vostro file <filename>/etc/passwd</filename>.
Volete usare una differente shell (p.e. ksh) per l'utente "linux" ?
Nessun problema, semplicemente aggiungete "+linux::::::/bin/ksh"
(senza gli apici) al vostro <filename>/etc/passwd</filename>. I
campi che non volete sostituire lasciateli vuoti.
Potete pure utilizzare Netgroups per il controllo dell'utente.
</Para>

<Para>
Per esempio, per permettere l'accesso-login solo a miquels, dth e ed,
e tutti i membri del netgroup sysadmin, pur mantenendo disponibili i dati
di account di tutti gli altri utenti:
</Para>

<Para>

<Screen>
      +miquels:::::::
      +ed:::::::
      +dth:::::::
      +@sysadmins:::::::
      -ftp
      +:*::::::/etc/NoShell
</Screen>

</Para>

<Para>
Da notare che in Linux è pure possibile ridefinire il campo password,
come fatto in questo esempio. Si è pure rimosso il login "ftp",
così non è più noto e l'ftp anonimo non funzionerà.
</Para>

<Para>
Il netgroup potrebbe apparire come

<Screen>
sysadmins (-,software,) (-,kukuk,)
</Screen>

</Para>

<Para>
IMPORTANTE: La caratteristica di netgroup è stata implementata dalla
libc 4.5.26. Se si possiede una versione di libc precedente alla
4.5.26, ogni utente presente nel database delle password di NIS può
accedere alla vostra macchina Linux se esegue "ypbind"!
</Para>

</Sect2>

<Sect2>
<Title>Impostare un client NIS utilizzando NYS
<IndexTerm><Primary
>NYS!client setup</Primary></IndexTerm>
</Title>

<Para>
Tutto ciò che è richiesto è che il file di configurazione NIS
(/etc/yp.conf) punti al(ai) server(s) corretto(i) per le sue
informazioni. Pure il file di configurazione del Name Services
Switch (/etc/nsswitch.conf) deve essere correttamente impostato.
</Para>

<Para>
Si dovrebbe installare ypbind. Non è richiesto dalle libc, ma è
necessario per gli strumenti di NIS(YP).
</Para>

<Para>
Se si vuole impiegare la caratteristica di includere/escludere per utente
(+/-guest/+@admins), si deve utilizzare
"passwd: compat" e "group: compat" in nsswitch.conf.
Si noti che non c'è "shadow: compat"! In questo caso di deve
usare "shadow: files nis".
</Para>

<Para>
I sorgenti di NYS sono parte dei sorgenti di libc 5. Quando si
esegue configure, la prima volta rispondere "NO" alla domanda
"Values correct", poi "YES" alla "Build a NYS libc from nys".
</Para>

</Sect2>

<Sect2>
<Title>Impostare un Client NIS utilizzando glibc 2.x
<IndexTerm><Primary>NIS!impostare client!usare glibc 2.x</Primary></IndexTerm>
</Title>

<Para>
Le glibc utilizzano il "NIS tradizionale", così è necessario
eseguire ypbind. Il file di configurazione del Name Services
Switch (/etc/nsswitch.conf) deve essere correttamente impostato.
Se si utilizza la modalità compact per passwd, shadow o group,
si deve aggiungere il "+" alla fine di questo file e si può
usare la caratteristica per l'utente di includere/escludere.
</Para>

</Sect2>

<Sect2>
<Title>Il file nsswitch.conf
<IndexTerm><Primary>file nsswitch.conf</Primary></IndexTerm>

<IndexTerm><Primary>NIS!file nsswitch.conf</Primary></IndexTerm>
</Title>

<Para>
Il file del Network Services Switch /etc/nsswitch.conf determina l'ordine
delle ricerche effettuate quando viene richiesta una certa informazione,
proprio come il file /ets/host.conf che determina il modo in cui effettuare
le ricerche degli host. Per esempio la riga:
</Para>

<Para>

<Screen>
    hosts: files nis dns
</Screen>

</Para>

<Para>
specifica che le funzioni di ricerca degli host dovrebbero prima
guardare nel file locale /etc/hosts, di seguito fare una ricerca NIS
ed infine utilizzare il servizio dei nomi di dominio (/ets/resolv.conf
e named). A quel punto, se nessuna corrispondenza è stata trovata, viene
riportato un errore. Questo file deve essere leggibile da ogni
utente! &Egrave; possibile reperire ulteriori informazioni nelle pagine
di man nsswitch.5 o nsswitch.conf.5.
</Para>

<Para>
Un buon file /etc/nsswitch.conf per NIS è:

<Screen>
#
# /etc/nsswitch.conf
#
# Un esempio del file di configurazione del Name Service Switch. Il file
# dovrebbe essere ordinato con i servizi più utilizzati all'inizio.
#
# La voce '[NOTFOUND=return]' indica che la ricerca di una voce dovrebbe
# fermarsi se la ricerca nella voce precedente non ha restituito nulla.
# Si noti che se la ricerca fallisce per altre ragioni (perché nessun
# server NIS risponde) allora la ricerca continua con la nuova voce.
#
# Le voci ammesse sono:
#
#	nisplus			Usa NIS+ (NIS versione 3)
#	nis			Usa NIS (NIS versione 2), chiamato pure YP
#	dns			Usa DNS (Domain Name Service)
#	files			Usa i file locali
#	db			Usa i database /var/db
#	[NOTFOUND=return]	La ricerca si ferma se nulla è stato trovato finora
#

passwd:     compat
group:      compat
# Con libc5, si deve usare shadow: files nis
shadow:     compat

passwd_compat: nis
group_compat: nis
shadow_compat: nis

hosts:      nis files dns

services:   nis [NOTFOUND=return] files
networks:   nis [NOTFOUND=return] files
protocols:  nis [NOTFOUND=return] files
rpc:        nis [NOTFOUND=return] files
ethers:     nis [NOTFOUND=return] files
netmasks:   nis [NOTFOUND=return] files
netgroup:   nis
bootparams: nis [NOTFOUND=return] files
publickey:  nis [NOTFOUND=return] files
automount:  files
aliases:    nis [NOTFOUND=return] files
</Screen>

</Para>

<Para>
passwd_compat, group_compat e shadow_compat sono supportati solamente da glibc 2.x.
Se non vi sono regola shadow in /etc/nsswitch.conf, glibc utilizzerà la regola
passwd per le ricerche. Vi sono alcuni altri moduli di ricerca per glibc come
hesoid. Per maggiori informazioni, si legga la documentazione di glibc.
</Para>

</Sect2>

<Sect2>
<Title>Password Shadow con NIS
<IndexTerm><Primary>NIS!shadow passwords</Primary></IndexTerm>
</Title>

<Para>
Le password shadow su NIS sono sempre una cattiva idea. Si perde
la sicurezza che shadow fornisce ed è supportato solo da poche librerie
Linux C. Un buon modo di usufruire delle password shadow su NIS è di
inserire solo gli utenti locali del sistema in /etc/shadow. Si
rimuovano le voci degli utenti dal database di shadow e si rimettano
le password in passwd.
Così è possibile utilizzare shadow per l'accesso come root e di norma
passwd per l'utente NIS. Questo ha il vantaggio che sarà possibile
lavorare con ogni client NIS.
</Para>

<Sect3>
<Title>Linux</Title>

<Para>
La sola libc di Linux che supporta le password shadow su NIS è la
GNU C Library 2.x. La libc5 di Linux non le supporta. La libc5 di Linux
compilata con NYS attivato possiede un po' di codice per supportarle ma
questo codice è in alcuni casi fortemente imperfetto e non lavora con
tutte le voci shadow corrette.
</Para>

</Sect3>

<Sect3>
<Title>Solaris</Title>

<Para>
Solaris non supporta le password shadow su NIS.
</Para>

</Sect3>

<Sect3>
<Title>PAM
<IndexTerm><Primary>PAM!shadow password</Primary></IndexTerm>
</Title>

<Para>
Linux-PAM 0.75 e successivi non supportano le password shadow su NIS
se utilizzate il modulo pam_unix.so o se installate il modulo extra
pam_unix2.so. I vecchi sistemi che utilizzano pam_pwdb/libpwdb (per
esempio Red Hat Linux 5.x) hanno bisogno di sostituire le voci di
/etc/pam.d/*. Tutte le regole di pam_pwdb dovranno essere sostituite
completamente da un modulo pam_unix_*.
</Para>

<Para>
Un esempio di file /etc/pam.d/login appare come:
</Para>

<Para>

<Screen>
#%PAM-1.0
auth     requisite      pam_unix2.so            nullok #set_secrpc
auth     required       pam_securetty.so
auth     required       pam_nologin.so
auth     required       pam_env.so
auth     required       pam_mail.so
account  required       pam_unix2.so
password required       pam_pwcheck.so          nullok
password required       pam_unix2.so            nullok use_first_pass use_authtok
session  required       pam_unix2.so            none # debug or trace
session  required       pam_limits.so
</Screen>

</Para>

</Sect3>

</Sect2>

</Sect1>

<Sect1 id="nisplus">
<Title>Di cosa si ha bisogno per impostare NIS+ ?</Title>

<Sect2>
<Title>Il Software
<IndexTerm><Primary>NIS+!software richiesto</Primary></IndexTerm>
</Title>

<Para>
Il codice per client NIS+ per Linux è stato sviluppato per la GNU C
library 2. Vi è pure un port per libc5 di Linux, in quanto nel passato
la maggior parte delle applicazioni commerciali erano linkate con
questa libreria e non è possibile ricompilarle per utilizzare glibc.
Ci sono problemi con libc5 e NIS+: i programmi statici non possono
essere collegati con questa libreria e programmi compilati con questa
non lavoreranno con altre versioni di libc5.
</Para>

<Para>
Come sistema base avete bisogno di una glibc basata su Distribuzioni
come Debian, Red Hat Linux o Suse Linux. Se avete una distribuzione Linux
che non ha glibc 2.1.1 o successive, dovete aggiornarla ad una nuova
versione.
</Para>

<Para>
Il software per il client NIS+ può essere reperito da:

<Screen>
  Sito             Directory                     Nome File

  ftp.gnu.org     /pub/gnu/glibc                 glibc-2.3.2.tar.gz,
                                                 glibc-linuxthreads-2.3.2.tar.gz
  ftp.kernel.org   /pub/linux/utils/net/NIS+     nis-utils-1.4.1.tar.gz
</Screen>

</Para>

<Para>
Si dovrà dare pure un'occhiata a
<ULink
URL="http://www.linux-nis.org/nisplus/">http://www.linux-nis.org/nisplus/</ULink
>
per maggiori informazioni e gli ultimi sorgenti.
</Para>

</Sect2>

<Sect2>
<Title>Impostare un client NIS+
<IndexTerm><Primary>NIS+!client impostazione</Primary></IndexTerm>
</Title>

<Para>
IMPORTANTE: per impostare un client NIS+ leggete i vostri documenti
NIS+ di Solaris per sapere cosa fare dal lato server! Questo documento
descrive solamente che cosa fare dal lato client.
</Para>

<Para>
Dopo l'installazione della nuova libc e degli strumenti NIS, create le
credenziali per il nuovo client sul server NIS+. Assicurarsi che portmap
sia in esecuzione. Poi verificate che il vostro PC Linux abbia la stessa
ora del server NIS+. Per RPC sicure avete solo una piccola finestra di
circa 3 minuti nella quale le credenziali sono valide. Una buona idea è
di lanciare xntpd su ogni host. Dopo questo, eseguite
</Para>

<Para>

<Screen>
domainname nisplus.domain.
nisinit -c -H &#60;NIS+ server&#62;
</Screen>

</Para>

<Para>
per inizializzare il file d'avvio. Si legga la pagina man di nisinit
per maggiori opzioni. Assicurarsi che domainname sia sempre impostato
dopo il riavvio. Se non conoscete il nome del dominio NIS+ nella vostra
rete, chiedete all'amministratore di sistema/rete.
</Para>

<Para>
Ora dovrete sostituire il vostro file <filename>/etc/nsswitch.conf</filename>
Assicuratevi che il solo servizio dopo publickey sia nisplus
("publickey: nisplus"), e null'altro!
</Para>

<Para>
Poi avviate keyserv e assicuratevi che sia sempre attivo come primo
demone dopo portmap all'accensione. Eseguite

<Screen>
keylogin -r
</Screen>

per immagazzinare la chiave segreta di root nel vostro sistema. (Spero
abbiate aggiunto la chiave pubblica per il nuovo host sul server NIS+?).
</Para>

<Para>
<Command>niscat passwd.org_dir</Command>
dovrà mostrare ora tutte le voci nel database passwd.
</Para>

</Sect2>

<Sect2>
<Title>NIS+, keylogin, login e PAM
<IndexTerm><Primary>NIS+!use of PAM with</Primary></IndexTerm>
</Title>

<Para>
Quando un utente effettua il login, ha bisogno di impostare la sua
chiave privata al keyserv. Questo viene fatto chiamando "keylogin".
Il login del pacchetto shadow farà questo per l'utente, se è stato compilato
con glibc 2.1. Per un login con PAM, si deve sostituire il file
/etc/pam.d/login per utilizzare pam_unix2, non pwdb, che non supporta NIS+.
Un esempio:
</Para>

<Para>

<Screen>
#%PAM-1.0
auth       required	/lib/security/pam_securetty.so
auth       required	/lib/security/pam_unix2.so       set_secrpc
auth       required	/lib/security/pam_nologin.so
account    required	/lib/security/pam_unix2.so
password   required	/lib/security/pam_unix2.so
session    required	/lib/security/pam_unix2.so
</Screen>

</Para>

</Sect2>

<Sect2>
<Title>Il file nsswitch.conf
<IndexTerm><Primary>nsswitch.conf file</Primary></IndexTerm>

<IndexTerm><Primary>NIS+!file nsswitch.conf</Primary></IndexTerm>
</Title>

<Para>
Il file Network Services Switch <filename>/etc/nsswitch.conf</filename>
determina l'ordine di ricerca quando viene richiesto un certo tipo di
informazione, proprio come il file <filename>/etc/host.conf</filename> che
determina l'ordine delle ricerche degli host. Per esempio, la riga
</Para>

<Para>

<Screen>
    hosts: files nisplus dns
</Screen>

</Para>

<Para>
specifica che le funzioni di ricerca degli host dovranno prima
verificare nel file locale <filename>/etc/hosts</filename>, seguendo poi
un lookup di NIS+ e finalmente attraverso il servizio di nomi di dominio
(<filename>/etc/resolv.conf</filename> e named), a questo punto se nessuna
corrispondenza è stata trovata, viene restituito un errore.
</Para>

<Para>
Un buon file <filename>/etc/nsswitch.conf</filename> per NIS+ è:

<Screen>
#
# /etc/nsswitch.conf
#
# Un esempio del file di configurazione del Name Service Switch. Il file
# dovrebbe essere ordinato con i servizi più utilizzati all'inizio.
#
# La voce '[NOTFOUND=return]' indica che la ricerca di una voce dovrebbe
# fermarsi se la ricerca nella voce precedente non ha restituito nulla.
# Si noti che se la ricerca fallisce per altre ragioni (perché nessun
# server NIS risponde) allora la ricerca continua con la nuova voce.
#
# Le voci ammesse sono:
#
#	nisplus			Usa NIS+ (NIS versione 3)
#	nis			Usa NIS (NIS versione 2), chiamato pure YP
#	dns			Usa DNS (Domain Name Service)
#	files			Usa i file locali
#	db			Usa il database /var/db
#	[NOTFOUND=return]	La ricerca si ferma se nulla è stato trovato finora
#

passwd:     compat
group:      compat
shadow:     compat

passwd_compat: nisplus
group_compat:  nisplus
shadow_compat: nisplus

hosts:      nisplus files dns

services:   nisplus [NOTFOUND=return] files
networks:   nisplus [NOTFOUND=return] files
protocols:  nisplus [NOTFOUND=return] files
rpc:        nisplus [NOTFOUND=return] files
ethers:     nisplus [NOTFOUND=return] files
netmasks:   nisplus [NOTFOUND=return] files
netgroup:   nisplus
bootparams: nisplus [NOTFOUND=return] files
publickey:  nisplus
automount:  files
aliases:    nisplus [NOTFOUND=return] files
</Screen>

</Para>

</Sect2>

</Sect1>

<Sect1 id="ypserv">
<Title>Impostare un Server NIS
<IndexTerm><Primary>NIS!server impostare</Primary></IndexTerm>
</Title>

<Sect2>
<Title>Il programma Server ypserv
<IndexTerm><Primary>ypserv!impostare</Primary></IndexTerm>

<IndexTerm><Primary>NIS!ypserv impostare</Primary></IndexTerm>
</Title>

<Para>
Questo documento descrive solamente come impostare il server NIS "ypserv".

</Para>

<Para>
Il software per il server NIS può essere reperito su:
</Para>

<Para>

<Screen>
  Sito               Directory                    Nome file

  ftp.kernel.org     /pub/linux/utils/net/NIS     ypserv-2.9.tar.gz
  ftp.kernel.org     /pub/linux/utils/net/NIS     ypserv-2.9.tar.bz2
</Screen>

</Para>

<Para>
&Egrave; possibile dare un'occhiata a
<ULink
URL="http://www.linux-nis.org/nis/">http://www.linux-nis.org/nis/</ULink>
per maggiori informazioni.
</Para>

<Para>
L'impostazione del server è la stessa sia per il NIS tradizionale che NYS.
</Para>

<Para>
Si compili il software per generare i programmi <Command>ypserv</Command> e
<Command>makedbm</Command>. Solo ypserv-2.x supporta il file securnets
per le restrizioni degli accessi.
</Para>

<Para>
Se eseguite il vostro server come master, verificate che i file richiesti
siano disponibili tramite NIS e poi aggiungete o rimuovete le voci appropriate
alle regole "all" in <filename>/var/yp/Makefile</filename>.
Dovreste sempre osservare il Makefile ed editare le opzioni all'inizio del
file.
</Para>

<Para>
C'è stato un grande cambiamento tra ypserv 1.1 e ypserv 1.2.
Dalla versione 1.2, la gestione del file è cached. Questo significa
che si deve sempre eseguire makedbm con l'opzione -c se si vogliono creare
nuove mappe. Assicurarsi di utilizzare il nuovo <filename>/var/yp/Makefile</filename>
di ypserv 1.2 o successivo, oppure si agginga il flag -c a makedbm in Makefile.
Se non lo si fa, ypserv continuerà ad utilizzare le vecchie mappe e
non quelle aggiornate.
</Para>

<Para>
Ora editate <filename>/var/yp/securenets</filename> e
<filename>/etc/ypserv.conf</filename>.
Per maggiori informazioni, leggete le pagine del manuale di ypserv(8)
e ypserv.conf(5).
</Para>

<Para>
Assicirarsi che portmapper (portmap(8)) sia in esecuzione esi avvii il
server <Command>ypserv</Command>. Il comando
</Para>

<Para>

<Screen>
    % rpcinfo -u localhost ypserv
</Screen>

</Para>

<Para>
dovrà restituirvi qualcosa come
</Para>

<Para>

<Screen>
    program 100004 version 1 ready and waiting
    program 100004 version 2 ready and waiting
</Screen>

</Para>

<Para>
La linea "version 1" potrebbe non esserci, dipende dalla versione di ypserv
e dalla configurazione in uso. &Egrave; necessaria solo se si hanno vecchi client
SunOS 4.x.
</Para>

<Para>
Ora si generi il nuovo database NIS (YP). Sul master, eseguite
</Para>

<Para>

<Screen>
    % /usr/lib/yp/ypinit -m
</Screen>

</Para>

<Para>
Su uno slave assicurarsi che <Command>ypwhich -m</Command> lavori. Questo
significa che il vostro slave deve essere configurato come client NIS prima
di poter eseguire

<Screen>
    % /usr/lib/yp/ypinit -s masterhost
</Screen>

per installare l'host come slave NIS.
</Para>

<Para>
Questo è tutto, il server è impostato ed in esecuzione.
</Para>

<Para>
Se si hanno grossi problemi, si può avviare <Command>ypserv</Command> e
<Command>ypbind</Command> in modalità debug su differenti xterms. L'output
di debug dovrebbe mostrare cosa fa di sbagliato.
</Para>

<Para>
Se si deve aggiornare una mappa, eseguire <Command>make</Command> nella
directory <Literal remap="tt">/var/yp</Literal> sul master NIS.
Questo aggiornerà una mappa se il file sorgente è più nuovo ed invierà i
file ai server slave. Per cortesia, non si utilizzi <Command>ypinit</Command>
per aggiornare una mappa.
</Para>

<Para>
Si potrebbe editare il crontab di root sul server slave ed aggiungere
le seguenti righe:
</Para>

<Para>

<Screen>
      20 *    * * *    /usr/lib/yp/ypxfr_1perhour
      40 6    * * *    /usr/lib/yp/ypxfr_1perday
      55 6,18 * * *    /usr/lib/yp/ypxfr_2perday
</Screen>

Questo assicurerà che la maggior parte delle mappe NIS saranno mantenute
aggiornate, anche se un aggiornamento è stato perso perché lo slave era
disattivo al momento degli aggiornamenti fatti sul master.
</Para>

<Para>
Dopo, si può aggiungere uno slave in ogni momento. Prima, assicurarsi che
il nuovo server slave abbia i permessi per contattare il master NIS.
Poi si esegua


<Screen>
    % /usr/lib/yp/ypinit -s masterhost
</Screen>

sul nuovo slave. Sul server master si aggiunga il nome del nuovo server
slave a <filename>/var/yp/ypservers</filename> e si esegua
<Command>make</Command> in <Literal remap="tt">/var/yp</Literal>
per aggiornare la mappa.
</Para>

<Para>
Se si vuole ridurre l'accesso agli utenti sul server NIS, si dovrà impostare
il server NIS come un client eseguendo ypbind ed aggiungendo le voci + a
<filename>/etc/passwd</filename> a metà del file delle password. Le
funzioni di libreria ignoreranno tutte le voci normali dopo la prima voce
NIS ed otterranno il resto delle informazioni direttamente da NIS.
In questo modo le regole di accesso a NIS verranno mantenute. Un esempio:
</Para>

<Para>

<Screen>
     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
     [ All normal users AFTER this line! ]
     tester:*:299:10:Just a test account:/tmp:
     miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh
</Screen>

</Para>

<Para>
Quindi l'utente "tester" esisterà ma avrà la shell di /etc/NoShell. miquels
avrà un normale accesso.
</Para>

<Para>
Alternativamente, potrete editare il file <filename>/var/yp/Makefile</filename> ed
impostare NIS per utilizzare un'altro file sorgente delle password. Su grandi sistemi
i file delle password e gruppi NIS sono normalmente archiviati in
<Literal remap="tt">/etc/yp/</Literal>. Se si fa questo, i normali strumenti per
amministrare il file delle password come <Literal remap="tt">passwd</Literal>,
<Literal remap="tt">chfn</Literal>, <Literal remap="tt">adduser</Literal> non
funzioneranno più e si avrà bisogno di speciali strumenti fatti su misura per queste
operazioni.
</Para>

<Para>
In ogni caso, <Literal remap="tt">yppasswd</Literal>, <Literal remap="tt">ypchsh</Literal> e
<Literal remap="tt">ypchfn</Literal>
lavoreranno comunque.
</Para>

</Sect2>

<Sect2>
<Title>Il programma server yps
<IndexTerm><Primary>NIS!yps server</Primary></IndexTerm>

<IndexTerm><Primary>yps NIS server</Primary></IndexTerm>
</Title>

<Para>
Per impostare il server NIS "yps" riferirsi al precedente paragrafo.
L'impostazione del server "yps" è simile ma non esattamente uguale, così
si faccia attenzione se si tenta di applicare le istruzioni di "ypserv"
a "yps"! "yps" non è supportato da alcun autore e contiene alcune
falle nella sicurezza. Veramente non sarebbe da utilizzare!
</Para>

<Para>
Il server NIS "yps" può essere reperito su:
</Para>

<Para>

<Screen>
  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
</Screen>

</Para>

</Sect2>

<Sect2>
<Title>Il programma rpc.ypxfrd
<IndexTerm><Primary>NIS&verbar;rpc.ypxfrd daemon</Primary></IndexTerm>

<IndexTerm><Primary>rpc.ypxfrd daemon</Primary></IndexTerm>
</Title>

<Para>
rpc.ypxfrd è utilizzato per velocizzare il trasferimento
di mappe NIS molto grandi da un server NIS master ai server
slave. Se un server NIS slave riceve un messaggio che c'è una
nuova mappa, avvierà ypxfr per il trasferimento della nuova mappa.
ypxfr leggerà i contenuti della mappa dal server master
utilizzando la funzione yp_all(). Questo processo può impiegare
diversi minuti in presenza di mappe molto grandi che devono
essere salvate dalla libreria.
</Para>

<Para>
Il server rpc.ypxfrd velocizza il processo di trasferimento
permettendo ai server NIS slave di copiare semplicemente il file
della mappa del server master anziché costruire le proprie da zero.
rpc.ypxfrd utilizza un protocollo di trasferimento dei file
basato su RPC, così che non vi sia necessità di
costruire una nuova mappa.
</Para>

<Para>
rpc.ypxfrd può essere avviato da inetd. Ma poiché si avvia molto
lentamente, dovrebbe essere avviato da ypserv. &Egrave; necessario avviare
rpc.ypxfrd solo sul server NIS master.
</Para>

</Sect2>

<Sect2>
<Title>Il programma rpc.yppasswdd
<IndexTerm><Primary>NIS!rpc.yppasswdd daemon</Primary></IndexTerm>

<IndexTerm><Primary>rpc.yppasswdd daemon</Primary></IndexTerm>
</Title>

<Para>
Ogni qual volta gli utenti cambiano la loro password, il database
NIS delle password e probabilmente gli altri database NIS, che dipendono
da questo, dovrebbero essere aggiornati. Il
programma "rpc.yppasswdd" è un server che gestisce le password cambiate
e si assicura che che l'informazione NIS sia aggiornata di conseguenza.
Ora rpc.yppasswdd è integrato in ypserv. Non avrete bisogno del vecchio,
distinto yppasswd-0.9.tar.gz o yppasswd-0.10.tar.gz, e non dovrebbero essere
utilizzati ancora a lungo.
</Para>

<Para>
Si deve eseguire rpc.yppasswdd solo su server NIS master. Per valore
predefinito, gli utenti non sono autorizzati a cambiare il loro nome
completo o la shell di login. &Egrave; possibile permetterlo con l'opzione
-e chfn o -e chsh.
</Para>

<Para>
Se i file passwd e shadow non sono nella directory /etc, si deve aggiungere
l'opzione -D. Per esempio, se si mettono tutti i file sorgenti in
/etc/yp e si vuole che gli utenti cambino la loro shell, si deve avviare
rpc.yppasswdd con i seguenti parametri:
</Para>

<Para>

<Screen>
   rpc.yppasswdd -D /etc/yp -e chsh
</Screen>

</Para>

<Para>
o
</Para>

<Para>

<Screen>
   rpc.yppasswdd -s /etc/yp/shadow -p /etc/yp/passwd -e chsh
</Screen>

</Para>

<Para>
Non c'è molto altro da fare. Ci si deve solo assicurare che
<Literal remap="tt">rpc.yppasswdd</Literal> utilizzi gli stessi file di <Literal remap="tt">/var/yp/Makefile</Literal>.
Gli errori verranno riportati mediante syslog.
</Para>

</Sect2>

</Sect1>

<Sect1 id="verification">
<Title>Verifica dell'installazione di NIS/NYS
<IndexTerm><Primary>NIS!verifica operazione</Primary></IndexTerm>

<IndexTerm><Primary>NYS!verifica operazione</Primary></IndexTerm>
</Title>

<Para>
Se ogni cosa è a posto (come dovrebbe essere), c'è la possibilità di
> verificare l'installazione con pochi e semplici comandi.
Si assuma, per esempio, che il file passwd sia gestito da NIS, il comando
</Para>

<Para>

<Screen>
    % ypcat passwd
</Screen>

</Para>

<Para>
dovrebbe restituire i contenuti del file passwd di NIS. Il comando
</Para>

<Para>

<Screen>
    % ypmatch userid passwd
</Screen>

</Para>

<Para>
(dove userid è il nome di login di un utente arbitrario) dovrebbe
restituire la voce dell'utente nel file passwd di NIS. I programmi "ypcat"
e "ypmatch" dovrebbero essere inclusi con la distribuzione del NIS
tradizionale o del NYS.
</Para>

<Para>
Se un utente non riesce a fare il login, eseguire il seguente programma
da un client:

<Screen>
#include &#60;stdio.h&#62;
#include &#60;pwd.h&#62;
#include &#60;sys/types.h&#62;

int
main(int argc, char *argv[])
{
  struct passwd *pwd;

  if(argc != 2)
    {
      fprintf(stderr,"Usage: getwpnam username\n");
      exit(1);
    }

  pwd=getpwnam(argv[1]);

  if(pwd != NULL)
    {
      printf("name.....: [%s]\n",pwd-&#62;pw_name);
      printf("password.: [%s]\n",pwd-&#62;pw_passwd);
      printf("user id..: [%d]\n", pwd-&#62;pw_uid);
      printf("group id.: [%d]\n",pwd-&#62;pw_gid);
      printf("gecos....: [%s]\n",pwd-&#62;pw_gecos);
      printf("directory: [%s]\n",pwd-&#62;pw_dir);
      printf("shell....: [%s]\n",pwd-&#62;pw_shell);
    }
  else
    fprintf(stderr,"User \"%s\" not found!\n",argv[1]);

  exit(0);
}
</Screen>

</Para>

<Para>
Eseguendo il programma con il nome dell'utente (username) come parametro,
stamperà tutte le informazioni che la funzione getpwnam restituisce per
questo utente. Questo dovrebbe mostrare quale voce non è corretta. Il
problema più comune è che il campo della password è stato sovrascritto
con un "*".
</Para>

<Para>
GNU C Library 2.1 (glibc 2.1) contiene uno strumento chiamato getent. Si usi
questo programma invece di quello sopra in un sistema di questo tipo. Si
può provare:

<Screen>
   getent passwd
</Screen>

o

<Screen>
   getent passwd login
</Screen>

</Para>

</Sect1>

<Sect1 id="maps">
<Title>Creazione ed aggiornamento delle mappe NIS
<IndexTerm><Primary>NIS!creazione e aggiornamento mappe</Primary></IndexTerm>
</Title>

<Sect2>
<Title>Creazione di nuove mappe NIS
<IndexTerm><Primary>MAP!creazione</Primary></IndexTerm>
</Title>

<Para>
Le mappe NIS iniziali verranno create eseguendo
</Para>

<Screen>
    % /usr/lib/yp/ypinit -m
</Screen>

<Para>
Questo viene fatto quando si imposta il server NIS master per la prima
volta. Per maggiori informazioni inerenti questa operazione, leggere
<XRef LinkEnd="ypserv">.
Se si desidera aggiungere nuove mappe al server o rimuoverne alcune,
è necessario editare <Literal remap="tt">/var/yp/Makefile</Literal>
e cambiare la regola <Literal remap="tt">all:</Literal>. Aggiungere
o rimuovere la regola che genera la mappa.
</Para>

<Para>
Se si cancella una mappa, si devono rimuovere anche i file corrispondenti.
</Para>

<Para>
Dopo questo cambiamento, si deve eseguire
</Para>

<Screen>
    % make -C /var/yp
</Screen>

<Para>
e le mappe dovrebbero essere create.
</Para>
</Sect2>

<Sect2>
<Title>Aggiornamento delle mappe NIS
<IndexTerm><Primary
>MAP!aggiornamento</Primary></IndexTerm>
</Title>

<Para>
Se si modificano i sorgenti per le mappe NIS (per esempio se si crea
un nuovo utente aggiungendo l'account al file passwd), è necessario
rigenerare le mappe NIS. Questo viene fatto con un semplice
</Para>

<Screen>
    % make -C /var/yp
</Screen>

<Para>
Questo comando verificherà quali sorgenti sono stati cambiati, crea le
nuove mappe ed avvisa ypserv che le mappe sono state sostituite.
</Para>

</Sect2>

<Sect2>
<Title>Lunghezza delle voci della mappa
<IndexTerm><Primary>MAP!lunghezza delle voci</Primary></IndexTerm>
</Title>

<Para>
La lunghezza di una voce è limitata a 1024 caratteri dal protocollo NIS.
Non è possibile incrementare semplicemente questo valore e ricompilare il sistema.
Ogni sistema che usa NIS v2 attende chiavi e dati non più lunghi in
dimensione di 1024 byte; se improvvisamente si aumenta il valore di
YPMAXRECORD sul client e sul server, si interromperà l'interoperatività con
altri sistemi che utilizzano NIS sulla rete. Per lavorare correttamente, si
dovrebbe andare da ogni venditore che supporta NIS ed ottenere da loro di
fare tutti i cambiamenti allo stesso tempo. Possibilità che non si può avere.
</Para>

<Para>
Con glibc 2.1 e successivi questo limite è stato rimosso dall'implementazione
di glibc NIS. In questo modo è possibile, sotto Linux, utilizzare voci più lunghe ma solo
se non ci sono altri client o server NIS nella rete.
</Para>

<Para>
Per permettere la creazione di mappe NIS con una voce più lunga, si deve
aggiungere l'opzione <Literal remap="tt">--no-limit-check</Literal> alla
chiamata a <Literal remap="tt">makedbm</Literal> in
<Literal remap="tt">/var/yp/Makefile</Literal>.
</Para>

<Para>
Il risultato dovrebbe apparire come:
</Para>

<Screen>
DBLOAD = $(YPBINDIR)/makedbm -c -m `$(YPBINDIR)/yphelper --hostname` --no-limit-check
</Screen>

<Para>
ATTENZIONE: questo interrompe il protocollo NIS e anche se Linux
lo supporta, non tutte le applicazioni eseguibili sotto Linux lavorano
con questa variazione!
</Para>

<Para>
C'è un'altro modo per risolvere questo problema per le voci di
<filename>/etc/group</filename>. L'idea è di Ken Cameron:
</Para>

<Screen>
1. Interrompere la voce in più di una linea e dare un nome ad ogni
   gruppo lievemente differente.

2. assegnare lo stesso GID per tutte.

3. avere la prima voce con il giusto nome di gruppo e GID.
   Non inserire nessun nome utente in questa.

Succede che partendo dal nome dell'utente, si recupererà
il GID quando il codice lo legge. Poi partendo in altro modo, si ferma
dopo la prima corrispondenza di GID e ne ottiene il nome. &Egrave; brutto ma
funziona!
</Screen>

</Sect2>

</Sect1>

<Sect1 id="reboot">
<Title>Sopravvivere ad un riavvio</Title>
<Para>
Una volta che si è configurato correttamente NIS sul server e sui client, bisogna
essere sicuri che la configurazione sopravviverà al riavvio.
</Para>
<Para>
Vi sono due questioni separate da verificare: l'esistenza di uno script di init
e la corretta archiviazione del nome di dominio NIS.
</Para>
<Sect2>
<Title>Script di Init NIS </Title>
<Para>
Nella vostra versione di Linux, è necessario controllare la directory degli
script di init, solitamente <filename>/etc/init.d</filename>,
<filename>/etc/rc.d/init.d</filename> o <filename>/sbin/init.d</filename>
per essere sicuri che ci sia uno script di startup per NIS. Solitamente
questo file è chiamato <filename>ypbind</filename> o <filename>ypclient</filename>.
</Para>
</Sect2>

<Sect2>
<Title>Nome di Dominio NIS</Title>
<Para>
Probabilmente il più grande problema che alcune persone hanno con NIS è
assicurare che il nome di dominio NIS sia disponibile dopo un riavvio.
Secondo Solaris 2.x, il nome di dominio NIS potrebbe essere inserito come
una linea singola in:
</Para>

<Screen>
   /etc/defaultdomain
</Screen>

<Para>
Comunque, la maggior parte delle distribuzioni Linux sembra non utilizzino
questo file.
</Para>


</Sect2>
<Sect2>
<Title>Problemi di specifiche distribuzioni</Title>
<Para>
A questo punto, l'informazione seguente è sapere come le varie distribuzioni
Linux gestiscono l'archiviazione del nome di dominio NIS.
</Para>

<Sect3>
<Title>Caldera 2.x</Title>
<Para>
Caldera utilizza il file <filename>/etc/nis.conf</filename> che ha lo stesso formato
del normale <filename>/etc/yp.conf</filename>.
</Para>
</Sect3>

<Sect3>
<Title>Debian</Title>
<Para>
Debian sembra seguire l'uso di Sun di <filename>/etc/defaultdomain</filename>.
</Para>
</Sect3>

<Sect3>
<Title>Red Hat Linux 6.x, 7.x, 8.x e 9</Title>
<Para>
Si crei o modifichi la variabile <Command>NISDOMAIN</Command> nel file
<filename>/etc/sysconfig/network</filename>.
</Para>
</Sect3>

<Sect3>
<Title>SuSE Linux 6.x e 7.x</Title>
<Para>
Si modifichi la variabile <command>YP_DOMAINNAME</command> in
<filename>/etc/rc.config</filename> e poi si esegua il 
comando <command>SuSEconfig</command>.
</Para>
</Sect3>

<Sect3>
<Title>SuSE Linux 8.x e successivi</Title>
<Para>
Dalla versione 8.0 anche SuSE Linux segue l'uso di Sun di
<filename>/etc/defaultdomain</filename>.
</Para>
</Sect3>

</Sect2>
</Sect1>

<Sect1 id="rpasswdd">
<Title>Cambiare le password con rpasswd
<IndexTerm><Primary>NIS!cambiare password</Primary></IndexTerm>
</Title>

<Para>
Il modo standard per cambiare una password NIS è invocare
<command>yppasswd</command>, su alcuni sistemi questo è solo
un alias per <command>passwd</command>. Questo comando usa
il protocollo yppasswd e necessita dell'esecuzione di un processo
<command>rpc.yppasswdd</command> sul server NIS master.
Il protocollo ha lo svantaggio che la vecchia password verrà
trasmessa in chiaro attraverso la rete.
Questo non è problematico, se la sostituzione della password
avviene con successo. In questo caso, la vecchia password viene
sostituita con una nuova. Ma se il cambiamento della password
fallisce, un attaccante può utilizzare la password in chiaro per
effettuare il login come questo utente.
Ancora più pericoloso: se l'amministratore di sistema sostituisce la
password NIS di un altro utente, la password di root del server
NIS master è trasferita in chiaro sulla rete.
E questo non verrà cambiato.
</Para>

<Para>
Una soluzione è non utilizzare yppasswd per sostituire la
password. Invece, una buona alternativa è il comando
<command>rpasswd</command> dal pacchetto
<Literal remap="tt">pwdutils</Literal>.
</Para>

<Para>
<Screen>
  Sito            Directory                          Nome File

  ftp.kernel.org  /pub/linux/utils/net/NIS           pwdutils-2.3.tar.gz
  ftp.suse.com    /pub/people/kukuk/pam/pam_pwcheck  pam_pwcheck-2.2.tar.bz2
  ftp.suse.com    /pub/people/kukuk/pam/pam_unix2    pam_unix2-1.16.tar.bz2
</Screen>
</Para>

<Para>
<command>rpasswd</command>cambia le password per gli account
degli utenti su un server remoto tramite una connessione sicura
SSL. Un utente normale può cambiare solo la password del proprio
account, se l'utente conosce la password per l'account dell'amministratore
(al momento questa è la password di root sul server), egli può
sostituire la password per ogni account se invoca <command>rpasswd</command>
con l'opzione -a.</Para>

<Sect2>
<Title>Configurazione del server
<IndexTerm><Primary>rpasswdd!configurazione server</Primary></IndexTerm>
</Title>

<Para>
Per il server si necessita innanzitutto del certificato, il nome del file
predefinito per questo è <filename>/etc/rpasswdd.pem</filename>. Il file
può essere creato con il seguente comando:
<Screen>
openssl req -new -x509 -nodes -days 730 -out /etc/rpasswdd.pem -keyout /etc/rpasswdd.pem
</Screen>
</Para>

<Para>
&Egrave; necessario anche un file di configurazione di PAM per <command>rpasswdd</command>
. Se gli account NIS sono archiviati in <filename>/etc/passwd</filename>,
la seguente è un buon punto di partenza per un configurazione di lavoro:

<Screen>
#%PAM-1.0
auth     required       pam_unix2.so
account  required       pam_unix2.so
password required       pam_pwcheck.so
password required       pam_unix2.so    use_first_pass use_authtok
password required       pam_make.so     /var/yp
session  required       pam_unix2.so
</Screen>
</Para>

<Para>
Se i sorgenti per le mappe delle password di NIS sono archiviati
in un'altra posizione (per esempio in /etc/yp), l'opzione <Literal remap="tt">nisdir</Literal>
di pam_unix2 può essere usata per trovare i file sorgenti in altri luoghi:

<Screen>
#%PAM-1.0
auth     required       pam_unix2.so
account  required       pam_unix2.so
password required       pam_pwcheck.so  nisdir=/etc/yp
password required       pam_unix2.so    nisdir=/etc/yp use_first_pass use_authtok
password required       pam_make.so     /var/yp
session  required       pam_unix2.so
</Screen>
</Para>

<Para>
Ora si avvii il demone <command>rpasswdd</command> sul server master NIS.
</Para>

<Para>
Poiché il cambio della password viene fatto con moduli PAM,
<command>rpasswdd</command> è pure in grado di permettere i cambiamenti
delle password per NIS+, LDAP o altri servizi supportati da un modulo di PAM.
</Para>

<Sect2>
<Title> Configurazione del Client
<IndexTerm><Primary>rpasswd!configurazione client</Primary></IndexTerm>
</Title>

<Para>
Su ogni client è necessario solo il file di configurazione
<filename>/etc/rpasswd.conf</filename> che contiene il nome
del server. Se il server non parte sulla porta
predefinita, la porta corrente può pure essere menzionata qui:
</Para>

<Para>
<Screen>
# rpasswdd eseguito su master.example.com
server master.example.com
# La porta 774 è la porta predefinita
port 774
</Screen>
</Para>

</Sect2>
</Sect1>

<Sect1 id="troubleshooting">
<Title>Problemi comuni ed elenco delle difficoltà di NIS
<IndexTerm><Primary>NIS!difficoltà</Primary></IndexTerm>

<IndexTerm><Primary>NIS!problemi con</Primary></IndexTerm>
</Title>

<Para>
Ci sono alcuni problemi comuni riportati da vari utenti:
</Para>

<Para>

<OrderedList>
<ListItem>

<Para>
Le librerie per 4.5.19 sono danneggiate. NIS non funziona
con queste.

</Para>
</ListItem>
<ListItem>

<Para>
Se si aggiornano le librerie dalla 4.5.19 alla 4.5.24 poi il
comando su smette di funzionare. &Egrave; necessario ottenerlo
dalla distribuzione slackware 1.2.0. A proposito, è dove si può
ottenere le librerie aggiornate.
</Para>
</ListItem>
<ListItem>

<Para>
Quando un server NIS si disattiva e viene riattivato, ypbind
parte lamentandosi con un messaggio simile:
<screen>
    yp_match: clnt_call:
    RPC: Unable to receive; errno = Connection refused
</screen>

e i login sono rifiutati a quanti sono registrati nel
database di NIS. Si provi il login come root, si uccida
il processo ypbind ed lo si riavvii. Può essere d'aiuto un aggiornamento a
ypbind 3.3 o superiore.

</Para>
</ListItem>
<ListItem>

<Para>
Dopo l'aggiornamento di libc ad una versione successiva alla 5.4.20, gli
strumenti di YP non funzioneranno molto a lungo. Si ha bisogno di
yp-tools 1.2 o successivi per libc &#62;= 5.4.21 e glibc 2.x. Per la
versione precedente di libc si ha bisogno di yp-clients 2.2. yp-tools 2.x
dovrebbe funzionare con tutte le librerie.

</Para>
</ListItem>
<ListItem>

<Para>
In libc 5.4.21 - 5.4.35 yp_maplist si blocca, si ha bisogno della 5.4.36 o
successiva, o alcuni programmi YP come ypwhich andranno in segfault.

</Para>
</ListItem>
<ListItem>

<Para>
libc5 con NIS tradizionale non supporta le password shadow su NIS.
Si ha bisogno di libc5 + NYS o glibc 2.x.
</Para>
</ListItem>
<ListItem>

<Para>
ypcat shadow non mostra la mappa shadow. Questo è corretto, il nome
della mappa shadow è shadow.byname, non shadow.
</Para>
</ListItem>
<ListItem>

<Para>
Solaris non sempre usa porte privilegiate. Così non si utilizzi
la password rovinata se si possiede un client Solaris.
</Para>
</ListItem>

</OrderedList>

</Para>

</Sect1>

<Sect1 id="faq">
<Title>Domande Poste Frequentemente
<IndexTerm><Primary
>NIS!domande poste frequentemente</Primary></IndexTerm>
</Title>

<Para>
Molte delle vostre domande dovrebbero avere avuto una risposta ora.
Se vi sono altre domande che non ne hanno trovata una, potete
cercare di inviare un messaggio a
</Para>

<Para>

<Screen>
    comp.os.linux.networking
</Screen>

</Para>

</Sect1>

</Article>