5. Cosa serve per installare il NIS?

Contenuti di questa sezione

5.1 Il programma "RPC Portmapper"

Per permettere al software, che menzioneremo sotto, 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 "daemon". 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 fá il NIS client ) al server RPC (tipo un server NIS ) su quella macchina. Quando l' RPC server parte, comunica al portmap quale numero di porta lo stá 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, gli "standard RPC servers" 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 "NIS servers"
  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 , questo é quanto, deve sempre apparire nella lista dei processi. E` un cosiddetto "daemon process" e deve essere inizializzato dai file di startup di sistema (esempio /etc/rc.local). Dal momento in cui ypbind é attivo, il vostro sistema é diventato un "NIS client".

Nel secondo caso, se non esistono "NIS servers", avete bisogno di un programma "NIS server" (normalmente ypserv). La sezione 6 descrive come configurare un NIS server sulla vostra macchina Linux usando l'implementazione "ypserv" di Peter Eriksson (<pen@lysator.liu.se>). Notare che questa implementazione non supporta il concetto di master-slave del quale abbiamo discusso nella sezione 3. Usando questo software, tutti i vostri "NIS servers" sono considerati "master server". 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 "shared" "/usr/lib/libc.sa" e le loro relative DLL contengono le necessarie "system calls" per poter compilare con successo il software sia per il NIS client che per il server.

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   /pcsoft2/linux/local/yp          yp-clients.tar.gz
  ftp.funet.fi           /pub/OS/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.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

Dando per scontato il fatto che avete compilato il software con successo siete pronti per installarlo. Un posto consigliabile per il "ypbind daemon" é la directory /usr/sbin.

CHIARAMENTE, ESEGUITE L'INSTALLAZIONE COME UTENTE DI 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 il controllo degli host (host lookups) dovete settare (o aggiungere) "nis" alla "lookup order line" 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 "NIS client" tipo ypcat, etc... Per esempio, "ypcat passwd" vi fornirá per intero il "NIS password database".

IMPORTANTE: Se saltate le procedure di test procedure assicuratevi di aver settato il domain name, 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 al boot ed al vostro sistema di diventare un NIS client. Editate il file /etc/rc.d/rc.M e controllate i comandi che settano il domain name. Cambiate il "domain name" nel : "name of your domain" nome del vs.dominio. Poi, editate il file /etc/rc.d/rc.inet2, decommentate le linee che inizializzano l' "rpc.portmap daemon", 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á di editare i file /etc/passwd e /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 corregge il finger(message).

Bene, questo é quanto. Esegui il reboot e osserva i "boot messages" per vedere se ypbind é partito.

IMPORTANTE: Noterete che la funzionalitá di netgroup viene implementata a partire dalla libreria libc 4.5.26. Il "Netgroups" permette il controllo d'accesso per tutte le macchine e per tutti gli user nel NIS domain, che richiederanno un' entry del tipo:

    +@this_machine_users

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

Prossimo Capitolo, Precedente Capitolo

Indice di questo capitolo, Indice generale

Inizio del documento, Inizio di questo capitolo

pÌà