Precedente Successivo Indice

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:

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''.


Precedente Successivo Indice