  Linux NIS(YP)/NIS+/NYS HOWTO
  Andrea Dell'Amico, Mitchum DSouza, Erwin Embsen, Peter
  Eriksson
  v0.6, 14 Novembre 1996

  Documento tradotto da Giuliano Natali, natali@trew.it; aggiornato da
  Michele Dalla Silvestra, dalla@psico.unipd.it.

  1.  Glossario dei termini


  In questo documento vengono usati molti acronimi. Qui riportiamo i pi
  importanti ed una breve spiegazione:


     DBM
        DataBase Management, una libreria di funzioni che mantiene una
        doppia chiave di ricerca in un data base.


     DLL
        Dynamically Linked Library, libreria collegata ad un eseguibile
        in fase di esecuzione.


     domainname
        Una ``chiave'' usata da un client NIS per trovare un opportuno
        server NIS che serve quella chiave domainname. Notate che tutto
        ci non ha niente a che fare con il dominio DNS (nome del
        computer) della macchina(e).


     FTP
        File Transfer Protocol, un protocollo usato per trasferire file
        tra due computer.


     libnsl
        Name services library, una libreria delle chiamate ai servizi di
        nome (getpwnam, getservbyname, etc...) su sistemi Unix SVR4.


     libsocket
        Socket services library, una libreria per le chiamate ai servizi
        di collegamento (socket, bind, listen, etc...) su sistemi Unix
        SVR4.


     NIS
        Network Information Service, un servizio che fornisce
        informazioni, che devono essere disponibili sulla rete, per
        tutte le macchine della rete stessa. Esiste il supporto per NIS
        nella libreria standard libc di Linux, che nel seguente testo
        sar considerata come NIS tradizionale.


     NIS+
        Network Information Service (Plus :-), essenzialmente un NIS
        agli steroidi NIS+  preparato dalla Sun Microsystems Inc. per
        rimpiazzare il NIS con migliore sicurezza e miglior
        maneggevolezza nelle grosse installazioni.


     NYS
        Questo  il nome di un progetto che si chiama NIS+, YP e Switch
        ed  amministrato da Peter Eriksson <peter@lysator.liu.se>.
        Contiene tra l'altro una completa reimplementazione del codice
        del NIS (= YP) che usa le funzionalit dei ``Name Services
        Switch'' della libreria NYS.


     RPC
        Remote Procedure Call. Le routine RPC permettono ai programmi in
        C di effettuare chiamate procedurali ad altre macchine
        all'interno della rete.  Quando si parla di RPC si 
        tendenzialmente portati a pensare alla variante Sun RPC.


     YP Yellow Pages(tm), un marchio registrato in Gran Bretagna dalla
        British Telecom plc.


     TCP-IP
        Transmission Control Protocol/Internet Protocol.  il protocollo
        di comunicazione dati pi usato su macchine Unix.



  1.1.  Alcune informazioni generali


  Le prossime tre righe sono prese dal ``Sun(tm) System & Network
  Administration Manual'':



           "NIS era conosciuto formalmente 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 usato senza autorizzazione."




  NIS sta per ``Network Information Service''. Il suo fine  quello di
  fornire informazioni, che devono essere conosciute attraverso la rete,
  da tutte le macchine collegate. Informazioni che dovrebbero essere
  distribuite dal NIS sono:


    nomi di login/password/home directory (/etc/passwd)

    informazioni sui gruppi (/etc/group)

  Quindi se, per esempio, la vostra password  registrata nel database
  NIS passwd riuscirete ad effettuare il login da tutte le macchine
  della rete che abbiano il programma client NIS attivo.

  Sun  un marchio registrato della Sun Microsystems, Inc. licensed to
  SunSoft, Inc.



  2.  Introduzione


  Moltissime macchine Linux vengono installate come componenti di una
  rete di computer. Per semplificare l'amministrazione della rete
  stessa, viene normalmente attivato (perlopi su reti Sun) il Network
  Information Service.  Le macchine Linux possono usufruire di un server
  NIS esistente o fornire esse stesse questo servizio; possono
  oltretutto fungere da client NIS+ utilizzando le librerie NYS.
  Questo documento prover a rispondere alle domande circa la
  configurazione del NIS(YP) sulla vostra macchina Linux. Non vi
  spiegher, comunque, come configurare il NIS+. Non dimenticate di
  leggere la sezione 5.1, circa l'``RPC Portmapper''.



  2.1.  Nuove versioni di questo documento


  Nuove versioni di questo documento vengono inserite periodicamente,
  circa ogni mese, nei newsgroup comp.os.linux.announce e
  comp.os.linux.misc. Il documento viene archiviato su diversi siti FTP
  di Linux, incluso sunsite.unc.edu in /pub/Linux/docs/HOWTO.



  2.2.  Precisazioni


  Sebbene in questo documento siano incluse le nostre migliori
  conoscenze in materia, probabilmente abbiamo fatto qualche errore.
  Cortesemente, leggetevi tutti i file README che sono inclusi nei vari
  componenti software descritti in questo documento se vorrete avere
  informazioni pi dettagliate ed accurate. Noi cercheremo comunque di
  rendere questo documento il pi preciso possibile.



  2.3.  Commenti


  Se avete qualche commento, domanda o consiglio speditelo via email a
  Erwin Embsen <erwin@nioz.nl>. Contattate esclusivamente lui se trovate
  errori od omissioni lampanti.



  2.4.  Ringraziamenti


  Vogliamo ringraziare tutti quelli che hanno contribuito alla stesura
  di questo documento (direttamente o indirettamente). In ordine
  alfabetico sono:



       Andrea Dell'Amico <adellam@ZIA.ms.it>
       Mitchum DSouza    <Mitch.DSouza@NetComm.IE>
       Erwin Embsen      <erwin@nioz.nl>
       Byron A Jeff      <byron@cc.gatech.edu>
       Peter Eriksson    <peter@ifm.liu.se>




  Theo de Raadt <deraadt@theos.com>  il responsabile del codice del
  client YP. Swen Thuemmler <swen@uni-paderborn.de> ha eseguito il
  porting su Linux del client YP ed inoltre ha eseguito il porting delle
  routine del client-yp nella libc (sempre basandosi sul lavoro di Theo
  de Raadt).





  3.  NIS o NIS+?


  La scelta tra NIS e NIS+  semplice - usate NIS se non siete costretti
  ad usare NIS+ e se non avete bisogno di particolari funzioni di
  sicurezza. NIS+  molto problematico da amministrare ( bello averlo
  sul client, ma il server  mostruoso). Un altro problema  che il
  supporto per il NIS+ sotto Linux  ancora in fase di sviluppo - una
  delle cose pi importanti che mancano  il sopporto per la
  criptazione/autenticazione dei dati che  il motivo per il quale
  ognuno vorrebbe usare il NIS+...



  3.1.  NIS tradizionale la libreria NYS?


  La scelta tra il NIS tradizionale o il codice del NIS nella libreria
  NYS equivale a scegliere tra la pigrizia e la maturit contro la
  flessibilit e la voglia di avventura.

  Il codice tradizionale NIS  nelle librerie C standard, e alle volte
  soffre per la sua et non pi tenera e per la mancanza di
  flessibilit.

  Il codice NIS nella libreria NYS, in poche parole, richiede la
  ricompilazione di tutti i programmi ed il ricollegamento degli stessi
  alla libreria libnsl, o la ricompilazione della libreria libc per
  includervi il codice della libnsl (oppure potreste procurarvi una
  libreria libc precompilata da qualche volontario o da qualcuno che
  l'ha gi fatto).

  Altra differenza  che il codice tradizionale NIS ha qualche supporto
  per il ``NIS Netgroups'', cosa che, per il momento, il NYS non
  supporta. Al contrario, il codice NYS vi permette di maneggiare le
  Shadow Password in maniera trasparente.



  4.  Come funziona


  All'interno di una rete ci deve essere almeno un computer che funziona
  come server NIS. Potete avere pi server NIS, ognuno dei quali
  gestisce un dominio NIS diverso - o potete avere diversi NIS servers
  cooperativi, dove uno sar il server NIS master, e tutti gli altri
  saranno i server NIS slave (questo per un particolare ``dominio'' NIS)
  - oppure potrete anche avere un mix di entrambi...

  I server slave mantengono solo le copie dei NIS databases e le
  ricevono dal server NIS master ogniqualvolta venga apportata una
  variazione ai database principali. In base al numero di macchine in
  rete e in base all'affidabilit della rete stessa, potete decidere di
  installare uno o pi server slave.  Ogni qualvolta che un server NIS
  risulti inattivo o troppo lento a rispondere, il client NIS connesso a
  quel server prover a cercarne uno che sia attivo o pi veloce.

  I database NIS vengono salvati nel cosiddetto formato DBM, derivato
  dai database ASCII. Per esempio, i file /etc/passwd ed /etc/group
  possono essere convertiti direttamente al formato DBM usando il
  software di conversione ASCII-to-DBM (``makedbm'', che  incluso nel
  software del server NIS). Il server NIS master deve avere entrambi,
  database ASCII e database DBM.

  I server slave vengono avvisati di qualsiasi variazione alle mappe
  NIS, (con il programma ``yppush''), e automaticamente recuperano le
  necessarie variazioni per poter sincronizzare i propri database. I
  client NIS client non necessitano di queste operazioni dal momento che
  si collegano al server NIS per leggere le informazioni relative ai
  database DBM.

  L'autore del nuovo client YP per Linux ci ha informati che il nuovo
  ypbind (vedi il file yp-clients.tar.gz) riesce a controllare il server
  da un file di configurazione - cos non ha bisogno di cercare il
  server (cosa molto insicura - visto che ognuno pu installare un
  server NIS server e rispondere alle richieste...).



  5.  Cosa serve per installare il NIS?




  5.1.  Il programma ``RPC Portmapper''


  Per permettere al software, di cui parleremo pi avanti, di
  funzionare, dovrete eseguire il programma /usr/sbin/rpc.portmap.
  Alcune distribuzioni di Linux hanno gi installato il codice in
  /etc/rc.d/rc.inet2 per far partire questo demone. Tutto ci che
  dovrete fare sar di togliere il commento ed eseguire il reboot della
  macchina Linux per attivarlo.

  L'RPC portmapper (portmap(8c))  un software che converte i numeri dei
  programmi RPC in protocolli TCP/IP (o UDP/IP). Deve essere attivo per
  eseguire chiamate RPC (che  quello che fa il client NIS) al server
  RPC (tipo un server NIS) su quella macchina. Quando il server RPC
  parte, comunica al portmap quale numero di porta lo sta ascoltando, e
  quale numero di programma RPC si prepara a servire. Quando un client
  vuole fare una chiamata RPC ad un determinato numero di programma,
  contatter prima il portmap sulla macchina server per determinare il
  numero di porta attraverso la quale spedire i pacchetti RPC.

  Normalmente, i server  RPC standard vengono avviati da inetd(8C),
  cosicch il portmap deve essere attivato prima di "inetd".



  5.2.  Determiniamo se siete un Server, uno Slave o un Client.


  Per rispondere a questa domanda ci sono due possibilit:


  1. La vostra macchina far parte di una rete dotata di server NIS

  2. Per il momento non esiste nessun server NIS nella rete.

  Nel primo caso, vi servono solo i programmi client (ypbind, ypwhich,
  ypcat, yppoll, ypmatch). Il programma pi importante  ypbind. Questo
  programma deve essere sempre attivo, deve sempre apparire nella lista
  dei processi.  un cosiddetto ``processo demone'' e deve essere
  inizializzato dai file di avvio del sistema (esempio /etc/rc.local).
  Dal momento in cui ypbind  attivo, il vostro sistema  diventato un
  client NIS.

  Nel secondo caso, se non esistono server NIS, avete bisogno di un
  programma server NIS (normalmente ypserv). La sezione 6 descrive come
  configurare un NIS server sulla vostra macchina Linux usando
  l'implementazione ``ypserv'' di Peter Eriksson (<peter@ifm.liu.se>).
  Notate che dalla versione 0.14 questa implementazione supporta il
  concetto di master-slave discusso nella sezione 3.

  C', per, un altro NIS server free a disposizione, chiamato ``yps'',
  scritto da Tobias Reber in Germania che supporta il concetto di
  master-slave, ma ha altre limitazioni.



  5.3.  Il Software


  La libreria di sistema ``/usr/lib/libc.a'' (version 4.4.2 e
  successive) o le librerie condivise ``/usr/lib/libc.sa'' e le loro
  relative DLL contengono le necessarie chiamate di sistema per poter
  compilare con successo il software sia per il client che per il server
  NIS.

  Alcuni utenti hanno riportato che il NIS funziona solo con
  ``/usr/lib/libc.a'' versione 4.5.21 e successive quindi se volete
  andare sul sicuro non usate vecchie libc. Il software NIS client si
  trova su:



         Site                  Directory                        File Name

         ftp.uni-paderborn.de  /linux/local/yp                  yp-clients-2.2.tar.gz
         ftp.funet.fi          /pub/Linux/BETA/NYS/clients      yp-clients-?.?.tar.gz
         ftp.lysator.liu.se    /pub/NYS/clients                 yp-clients-?.?.tar.gz
         sunsite.unc.edu       /pub/Linux/system/Network/admin  yp-clients-2.2.tar.gz




  Dal momento che avrete a disposizione il software, seguite le
  istruzioni incluse nello stesso.



  5.4.  Configurare un NIS Client usando il NIS tradizionale


  Diamo per scontato il fatto che avete compilato il software con
  successo siete pronti ad installarlo. Un posto consigliabile per il
  demone ypbind  la directory /usr/sbin.

  Chiaramente, eseguite l'installazione come utente root. Gli altri
  binari (ypwhich, ypcat, yppoll, ypmatch) devono essere posti in una
  directory accessibile da tutti gli utenti, per esempio /usr/etc or
  /usr/local/bin.  Sar buona cosa testare ypbind prima di inserirlo nel
  file /etc/rc.d/rc.inet2.

  Per testare ypbind:


    Assicuratevi di aver settato il vostro domain name. Se non 
     settato eseguite il comando:



                   /bin/domainname-yp nis.domain





  dove nis.domain pu essere qualsiasi cosa, _NON_ normalmente associato
  con il nome del dominio della vostra macchina! La ragione di ci con
  siste nel rendere la vita difficile ad un cracker esterno, e
  impedirgli di appropriarsi del database delle password dei vostri
  server NIS.  Se non conoscete quale sia il nome del dominio NIS della
  vostra rete, contattate il vostro amministratore di sistema o di rete.

    Avviate ``/usr/sbin/rpc.portmap'' a meno che non sia gi attivo.

    Create la directory ``/var/yp'' se non esiste.

    Eseguite ``/usr/sbin/ypbind''

    Usate il comando ``rpcinfo -p localhost'' per controllare se ypbind
     riesce a registrare i suoi servizi con il portmapper. rpcinfo
     dovrebbe produrre un messaggio del genere:



              program vers proto   port
               100000    2   tcp    111  portmapper
               100000    2   udp    111  portmapper
               100007    2   udp    637  ypbind
               100007    2   tcp    639  ypbind
               300019    1   udp    660






    Inoltre dovrete eseguire ``rpcinfo -u localhost ypbind''. Questo
     comando produrr un risultato del genere:



               program 100007 version 2 ready and waiting





  Infine, non dimenticate che per la ricerca delle macchine dovete
  aggiungere ``nis'' alla riga di precedenze di ricerca nel vostro file
  /etc/host.conf.  Consultate la manpage ``resolv+.8'' per ulteriori
  dettagli.

  A questo punto dovete essere in grado di usare i programmi client NIS
  tipo ypcat, ecc... Per esempio, ``ypcat passwd'' vi fornir per intero
  il database NIS delle password.

  IMPORTANTE: Se saltate le procedure di test assicuratevi di aver
  settato il nome di dominio e creato la directory:



           /var/yp




  Questa directory DEVE esistere per permettere a ypbind di partire
  correttamente.

  Se il test ha funzionato vorrete cambiare i files /etc/rc.d/rc.M e
  /etc/rc.d/rc.inet2 del vostro sistema onde permettere a ypbind di
  essere inizializzato all'avvio ed al vostro sistema di diventare un
  NIS client.  Modificate il file /etc/rc.d/rc.M e controllate i comandi
  che settano il nome del dominio. Cambiate il nome del dominio nel nome
  del vostro dominio.  Poi, modificate il file /etc/rc.d/rc.inet2,
  togliete il commento alle linee che inizializzano il demone
  rpc.portmap, e aggiungete le linee seguenti subito dopo quelle che
  fanno partire l'rpc.portmap:



           #
           # Start the ypbind daemon
           #
           if [ -f ${NET}/ypbind -a -d /var/yp ]; then
               echo -n " ypbind"
               ${NET}/ypbind
           fi




  A differenza dell'implementazione del NIS su Sun non vi servir
  editare i file /etc/passwd ed /etc/group per dotarvi delle
  funzionalit del NIS.  L'implementazione Sun prevede una linea
  "+:*:0:0:::" nel file /etc/passwd ed una linea "+:*:0:" in /etc/group
  per comunicare al NIS di cercare i database NIS password e NIS group.

  IMPORTANTE: Noterete che il comando finger riporta "no such user" se
  non aggiungete la linea "+:*:0:0:::" al file /etc/passwd. Inserendo la
  linea "+:*:0:0:::" nel file /etc/passwd correggerete il finger.

  Bene, questo  quanto. Eseguite il reboot e osservate i messaggi per
  vedere se ypbind  partito.

  IMPORTANTE: Noterete che la funzionalit di netgroup viene
  implementata a partire dalla libreria libc 4.5.26. Netgroup permette
  il controllo d'accesso per tutte le macchine e per tutti gli utenti
  nel dominio NIS, che richiederanno una voce del tipo:



           +@this_machine_users




  nel file /etc/passwd. Ma se avete una versione libc antecedente la
  4.5.26, qualsiasi utente registrato nel database NIS delle password
  pu accedere alla vostra macchina Linux se avete attivato ``ypbind''.



  6.  Di cosa avete bisogno per configurare NYS?

  6.1.  Determinare se siete Server, Slave o Client.


  Per rispondere a questa domanda tenete in considerazione questi due
  punti:


    La vostra macchina fa parte di una rete che ha gi dei NIS servers

    Per il momento non esiste nessun NIS server nella rete.


  Nel primo caso avete due possibilit:


    O eseguite il ricollegamento di tutti i programmi client e dei
     demoni con il codice della libreria NYS libnsl.so (o staticamente
     con la libreria libnsl.a). Questo significa che dovrete aggiungere
     la linea:



                   LIBS=-lnsl






  al vostro Makefile il che significa che volete collegare il programma
  alla libreria dei servizi di rete. Fondamentalmente tutti i demoni di
  rete ed i programmi di ``login'' necessitano di essere ricompilati.

    Oppure potrete ricompilare la libreria standard C libc per
     includervi le funzioni della libreria client NYS, e successivamente
     ricollegare tutti i programmi collegati staticamente (quelli
     collegati dinamicamente vedono automaticamente la nuova versione
     della libreria libc). Vedi la sezione 6.5 per ulteriori
     informazioni circa questa opzione.

  Similarmente, come nel caso del NIS tradizionale, se non avete un
  server NIS, allora avrete bisogno di un programma server NIS
  (normalmente ypserv) e dovete assegnare una delle macchine della rete
  come server NIS master. E nuovamente, dovrete, come minimo, installare
  un server slave.



  6.2.  Il Software


  Dovrete procurarvi e compilare la libreria con i servizi NYS
  libnsl.so. Se non avete i ``DLL tools'' dovrete procurarvi le librerie
  (condivise, statiche e sorgenti) dallo stesso sito di cui sotto. Nota,
  tuttavia, che la versione precompilata potrebbe essere (e
  probabilmente lo ) pi vecchia dell'ultima release formato sorgente.

  Le librerie NYS (sogenti e compilati) si trovano a:



         Site                Directory                    File Name

         ftp.lysator.liu.se  /pub/NYS/libs                nys-0.27.4.tar.gz
         ftp.lysator.liu.se  /pub/NYS/binaries/lib        libnsl.so.1.0.a26

         ftp.funet.fi        /pub/Linux/BETA/NYS/libs     nys-0.27.?.tar.gz




  I programmi ``login'' e ``su'' precompilati si trovano a:






    Site                Directory                    File Name

    ftp.lysator.liu.se  /pub/NYS/binaries/bin        login
    ftp.lysator.liu.se  /pub/NYS/binaries/bin        su

    ftp.funet.fi        /pub/Linux/BETA/NYS/bin      login
    ftp.funet.fi        /pub/Linux/BETA/NYS/bin      su




  Allo stesso modo, file di esempio di configurazione possono essere
  trovati a:



         Site                Directory                   File Name

         ftp.lysator.liu.se  /pub/NYS/binaries/etc       *conf
         ftp.funet.fi        /pub/Linux/BETA/NYS/etc     *conf




  Per la compilazione delle librerie nsl, seguite le istruzioni
  provviste con il software. Se volete compilare le librerie condivise
  DLL dovete avere installato il programma ``DLL tools'' nella directory
  standard (/usr/dll). I ``DLL tools'' (il pacchetto tools-2.11.tar.gz o
  successivo) si possono trovare su diversi siti ftp.



  6.3.  Configurare un "NYS Client" usando NYS


  A differenza del NIS tradizionale, non ci sono settaggi per il client
  NIS.  Tutto ci che serve  che il file di configurazione NIS
  (/etc/yp.conf) punti al(ai) server corretto(i) per ottenere le sue
  informazioni. Perci, il file di configurazione dei ``Name Services
  Switch'' (/etc/nsswitch.conf) deve essere installato correttamente.

  Consultate gli esempi provvisti con il sorgente.



  6.4.  Il file nsswitch.conf


  Il file dei ``Network Services switch'' /etc/nsswitch.conf determina
  l'ordine dei controlli eseguiti quando viene richiesto un certo tipo
  di informazione, come nel file /etc/host.conf che determina il modo in
  cui vengono controllati i nomi delle macchine. Di nuovo, controllate
  il file di esempio incluso nella distribuzione del sorgente. Per
  esempio, la linea



           hosts: files nis dns




  specifica che la funzione di controllo dei nomi di macchina deve prima
  controllare il file /etc/hosts, seguita da un controllo del NIS ed
  alla fine attraverso i "domain name service" (/etc/resolv.conf e
  named), a quel punto se non c' nessuna risposta verr mostrata una
  stringa di errore.



  6.5.  Rendere disponibili a tutti i binari le librerie NYS


  Invece di ricollegare tutti i binari con la libreria NYS (libnsl.so),
  una soluzione pulita  stata raggiunta provvedendo all'utente la
  possibilit di costruire un NYS consapevole della libc esistente.
  Questo preveder di ricompilare una nuova libc e rimpiazzare le
  esistenti /lib/libc.so.x.y.z per tutti i programmi (compilati non
  staticamente) al fine di renderli consapevoli della presenza del NYS.

  Questa fusione vi d il vantaggio sulla implementazione del NIS
  tradizionale nella libc di linux, nel senso che vi permette un
  supporto trasparente alle ``shadow passwords'' (tramite il file
  /etc/nisswitch.conf).

  Seguite i seguenti passi per ricostruire una libreria libc con il
  supporto NYS.


    Controllate di avere installato l'ultima versione dei ``DLL
     tools''.  Consultate le GCC-FAQ per maggiori informazioni su dove
     reperirli.

    Procuratevi gli ultimi sorgenti delle libc. (controllate le GCC-
     FAQ)

    Procuratevi gli ultimi sorgenti nys da:



                 ftp.lysator.liu.se:/pub/NYS/libs






  e scompattateli sotto questa directory dei sorgenti ``libc-linux''. La
  distribuzione corrente del NYS  ``nys-0.27.4.tar.gz''.

    Eseguite ./configure come prima e rispondete ``n'' alla domanda:



                 Values correct (y/n) [y] ?






  Poi proseguite attraverso le altre domande e l'ultima sar diventata:



                 Build a NYS libc from nys-0.27 (y default) ?






  rispondete ``y'' a questa.

    Poi eseguite il comando:



                 % make






  La libreria generata dopo la compilazione avr un nome tipo



           libc.so.4.5.26




  e sar inserita nella directory jump/libc-nys. Per installarla il
  nostro consiglio  di copiarla in /lib con un nome lessicograficamente
  maggiore del numero di versione. Semplicemente aggiungendo una lettera
  ``a'' si risolve l'arcano. Per esempio:



           % cp jump/libc-nys/libc.so.4.5.26 /lib/libc.so.4.5.26a




  Alternativamente, aggiungete ``nys'' per poterla identificare
  facilmente.  Adesso eseguite il comando



           % ldconfig




  che azzera la cache per permettervi di usare la nuova libreria. La
  strategia del collegamento dinamico pu essere esaminata con il
  comando ``ldconfig -p''.

  Questo  quanto. Tutti i vostri programmi, adesso, sapranno che c' il
  NYS.  Ricordate che normalmente il programma ``login''  compilatao
  staticamente e perci non pu accedere alle funzioni del NYS tramite
  la nuova libc con il supporto del NYS. Dovrete quindi ricompilare il
  programma ``login'' senza il flag -static, oppure collegarlo
  staticamente alla libreria libnsl.a.



  7.  Installare e configurare un NIS Server

  7.1.  Il programma server ypserv


  Questo documento descrive solo la configurazione del ypserv del server
  NIS.  L'installazione del server ``yps''  simile, ma non esattamente
  la stessa quindi fate attenzione se volete applicare queste istruzioni
  a ``yps''!
  Il software del server NIS si trova ai seguenti indirizzi:



         Site                   Directory                             File Name

         ftp.lysator.liu.se    /pub/NYS/servers                       ypserv-1.1.2.tar.gz
         ftp.uni-paderborn.de  /pub/linux/local/yp                    ypserv-1.1.2.tar.gz
         ftp.funet.fi          /pub/Linux/BETA/NYS/servers            ypserv-?.?.?.tar.gz




  L'installazione del server  uguale per entrambi: NIS e NYS.

  Compilate i sorgenti per creare i programmi ``ypserv'' e ``makedbm''.
  Inizialmente, determinate quali file debbano essere disponibili via
  NIS e successivamente aggiungete o rimuovete le righe appropriate nel
  ``ypMakefile''. Installate il file ypMakefile in /var/yp con il nome
  Makefile.

  Adesso compilate i file DBM eseguendo:



           % cd /var/yp; make




  Assicuratevi che il portmapper (rpc.portmap) sia attivo, e attivate il
  server ``ypserv''. Il comando



           % rpcinfo -u localhost ypserv




  vi dovr dare stringhe del tipo:



           program 100004 version 2 ready and waiting




  Questo  quanto, il server  attivo e funzionante.



  7.2.  Il programma server yps


  Per attivare il server NIS ``yps'' leggete il paragrafo precedente.
  L'impostazione del server ``yps''  simile, _ma_ non esattamente lo
  stesso, quindi attenzione se tentate di applicare le istruzioni per
  ``ypserv'' a ``yps''!

  Il server NIS ``yps'' pu essere trovato a:




    Site                Directory                              File Name

    ftp.lysator.liu.se  /pub/NYS/servers                       yps-0.21.tar.gz
    ftp.funet.fi        /pub/Linux/BETA/NYS/servers            yps-0.21.tar.gz






  7.3.  Il programma yppasswdd


  Ogniqualvolta gli utenti cambiano le loro password, il database NIS
  delle password e probabilmente altri database NIS, che dipendono dal
  database NIS password, devono essere aggiornati. Il programma
  ``yppasswdd''  un server che manipola i cambiamenti delle password e
  controlla che le informazioni nel NIS vengano automaticamente
  aggiornate. Il software per il programma ``yppasswdd'' si trova a:



         Site                Directory                              File Name

         ftp.lysator.liu.se  /pub/NYS                               yppasswdd-0.7.tar.gz
         ftp.funet.fi        /pub/Linux/BETA/NYS/servers            yppasswdd-0.7.tar.gz




  Dal momento in cui riuscite a procurarvi il software, seguite le
  istruzioni che vengono fornite con lo stesso.



  8.  Verificare l'installazione del NIS/NYS


  Se tutto  a posto (e deve esserlo), dovreste riuscire a verificare
  l'installazione con pochi semplici comandi. Dato per scontato che, per
  esempio, il vostro file passwd viene fornito dal NIS, il comando



           % ypcat passwd




  dovr darvi il contenuto del file passwd del NIS. Il comando



           % ypmatch userid passwd




  (dove userid  il nome di login di un utente qualsiasi) deve darvi la
  stringa riferita all'utente stesso, che si trova nel file passwd del
  NIS. I programmi ``ypcat'' e ``ypmatch'' sono inclusi con le
  distribuzione del NIS tradizionale o del NYS.




  9.  Risoluzione dei problemi con il NIS


  Qui mostriamo una serie di problemi comuni riportati da vari utenti:


  1. Le librerie per la versione 4.5.19 sono incomplete. Con queste il
     NIS non funziona.

  2. Se aggiornate le librerie dalla 4.5.19 alla 4.5.24 il comando su si
     interrompe. Dovete procurarvi il comando su dalla distribuzione
     slackware 1.2.0. Accidentalmente qui  anche il posto dove
     troverete le librerie per eseguire l'aggiornamento.

  3. Potreste incontrare problemi con il NIS e il DNS sulla stessa
     macchina. Il mio server DNS occasionalmente non attiva il NIS. Per
     il momento non ne ho ancora compreso il motivo.

  4. Quando un server NIS si disattiva e poi si riattiva, il programma
     ypbind parte fornendo messaggi del tipo:


              yp_match: clnt_call:
                          RPC: Unable to receive; errno = Connection refused




  e viene rifiutato il login agli utenti registrati nel database NIS.
  Provate ad entrare con login root e se funziona, eseguite il ``kill''
  del programma ypbind e riavviatelo.



  10.  FAQ


  La maggior parte delle domande comincer a ricevere risposta a partire
  da ora. Se avete qualche domanda a cui vorreste risposta o qualche
  problema, chiedete nei newsgroup:



           comp.os.linux.help




  o



           comp.os.linux.networking




  oppure contattare uno degli autori dell'HOWTO.








