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".
Per rispondere a questa domanda ci sono due possibilitá:
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.
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.
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 :
/bin/domainname-yp nis.domain
dove nis.domain
puó essere qualsiasi cosa, _NON_ normalmente
associato con il domain name della vostra macchina! La ragione di ció
consiste nel rendere la vita difficile ad un cracker esterno , e impedirgli di
appropriarsi del "password database" dei vostri NIS servers. Se non conoscete
quale sia il "NIS domain name" della vostra rete, contattate il vostro
"system/network administrator".
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
program 100007 version 2 ready and waiting
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