Questo documento descrive solamente come impostare il server NIS "ypserv".
Il software per il server NIS lo si può trovare su:
Sito Directory Nome File
ftp.kernel.org /pub/linux/utils/net/NIS ypserv-1.3.2.tar.gz
wauug.erols.com /pub/net/nis ypserv-1.3.2.tar.gz
Per maggiori informazioni si può dare un'occhiata anche a http://www-vt.uni-paderborn.de/~kukuk/linux/nis.html.
L'impostazione del server è la stessa sia per il NIS tradizionale che per NYS.
Si compili il software per generare i programmi "ypserv" e "makedbm".
Se si fa funzionare il proprio server come master, si determinino
quali file si richiede siano disponibili tramite NIS e poi si
aggiungano o rimuovano le voci apposite in /var/yp/Makefile
.
C'è stato un solo grosso cambiamento tra ypserv 1.1 e ypserv 1.2.
Dalla versione 1.2 ypserv fa il cache dei file handle. Ciò significa
che si deve sempre lanciare makedbm con l'opzione -c se si creano
delle nuove mappe. Sincerarsi di usare il nuovo
/var/yp/Makefile
di ypserv 1.2 o successivo, o si aggiunga
l'opzione -c a makedbm nel Makefile. Se non lo si fa, ypserv
continuerà ad usare le vecchie mappe e non quelle nuove.
Ora si modifichino /var/yp/securenets e /etc/ypserv.conf. Per maggiori informazioni, leggere le pagine di manuale di ypserv(8) e ypserv.conf(5).
Assicurarsi che il portmapper (portmap(8)) sia in esecuzione, e si avvii il server "ypserv". Il comando
% rpcinfo -u localhost ypserv
dovrebbe restituire qualcosa di simile a
program 100004 version 2 ready and waiting
Ora si generi la base di dati NIS (YP). Sul master, si lanci
% /usr/lib/yp/ypinit -m
Su uno slave, assicurarsi che ypwhich -m funzioni. Ciò significa che lo slave dev'essere per prima cosa configurato come client NIS prima di poter eseguire
% /usr/lib/yp/ypinit -s masterhost
per installare l'host come slave NIS.
È tutto, il proprio server è attivo e in esecuzione.
Se si hanno grossi problemi, si può avviare ypserv e ypbind in modalità di debug su xterm separate. L'output di debug dovrebbe mostrare cosa non va.
Non è male poi modificare il crontab di root *nello slave* server ed aggiungere le righe seguenti
20 * * * * /usr/lib/yp/ypxfr_1perhour
40 6 * * * /usr/lib/yp/ypxfr_1perday
55 6,18 * * * /usr/lib/yp/ypxfr_2perday
Ciò assicura che la maggior parte delle mappe NIS saranno mantenute
aggiornate, anche se un aggiornamento è stato perso a causa di
un malfunzionamento (down) dello slave al momento
dell'aggiornamento sul master.
Uno slave può essere aggiunto in qualsiasi momento. Per prima cosa, assicurarsi che il nuovo ypserv abbia i permessi per contattare il master NIS. Poi eseguire
% /usr/lib/yp/ypinit -s masterhost
sul nuovo slave, e aggiungere il nome del server in
/var/yp/ypservers. Dopo di ciò, eseguire make in /var/yp per
aggiornare le mappe.
Se si vuole restringere l'accesso al proprio serve NIS agli utenti, si deve impostare il server NIS come un client eseguendo ypbind e aggiungere le voci-più ("+") a /etc/passwd _a mezza via_ del file delle password. Le funzioni di libreria ignoreranno tutte le normali voci dopo la prima voce NIS, ed otteranno le restanti informazioni attraverso NIS. In questo modo sono mantenute le regole di accesso NIS. Esempio:
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
[ Tutti i normali utenti DOPO questa riga! ]
tester:*:299:10:Just a test account:/tmp:
miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh
L'utente tester esisterà, ma avrà la shell impostata a /etc/NoShell. miquels avrà l'accesso normale.
In alternativa, si può modificare il file /var/yp/Makefile ed impostare NIS ad usare un altro file di password come sorgente. Su sistemi grossi, i file delle password e dei gruppi NIS sono solitamente salvati in /var/yp/ypfiles/. Se lo si fa i normali strumenti per l'amministrazione del file delle password come "passwd", "chfn" e "adduser" non funzioneranno più e si avrà bisogno di speciali strumenti fatti su misura.
Comunque yppasswd, ypchsh e ypchfn ovviamente funzioneranno.
Per l'impostazione del server NIS "yps" si faccia riferimento al paragrafo precedente. L'impostazione del server "yps" è simile _ma_ non esattamente la stessa, quindi si faccia attenzione se si prova ad applicare le istruzione di "ypserv" a "yps"! "yps" non è supportato da alcun autore e contiene alcuni problemi di sicurezza. Quindi non è affatto consigliabile usarlo!
Il software per il server NIS "yps" può essere trovato su:
Sito Directory Nome File
ftp.lysator.liu.se /pub/NYS/servers yps-0.21.tar.gz
Ogni qual volta gli utenti cambiano le loro password, la base di dati NIS delle password e probabilmente altre basi di dati NIS che dipendono da questa dovrebbero essere aggiornate. Il programma "rpc.yppasswdd" è un server che gestisce le modifiche delle password e assicura che le informazioni NIS sia aggiornate di conseguenza. rpc.yppasswdd è ora integrato in ypserv. Non serve più il vecchio yppasswd-0.9.tar.gz o yppasswd-0.10.tar.gz, e non dovrebbero essere più usati. Il rpc.yppasswd in ypserv 1.3.2 ha il pieno supporto per le shadow. yppasswd fa ora parte di yp-tools-2.0.tar.gz,
Si deve lanciare rpc.yppasswd solo nel server NIS master. Di default, gli utenti non hanno il permesso di cambiare il loro nome o la loro shell di login. È possibile permettere tali modifiche con le opzioni -e chfn o -e chsh.