Il codice per client NIS+ per Linux è stato sviluppato per la GNU C library 2. Vi è pure un port per libc5 di Linux, in quanto nel passato la maggior parte delle applicazioni commerciali erano linkate con questa libreria e non è possibile ricompilarle per utilizzare glibc. Ci sono problemi con libc5 e NIS+: i programmi statici non possono essere collegati con questa libreria e programmi compilati con questa non lavoreranno con altre versioni di libc5.
Come sistema base avete bisogno di una glibc basata su Distribuzioni come Debian, Red Hat Linux o Suse Linux. Se avete una distribuzione Linux che non ha glibc 2.1.1 o successive, dovete aggiornarla ad una nuova versione.
Il software per il client NIS+ può essere reperito da:
Sito Directory Nome File ftp.gnu.org /pub/gnu/glibc glibc-2.3.2.tar.gz, glibc-linuxthreads-2.3.2.tar.gz ftp.kernel.org /pub/linux/utils/net/NIS+ nis-utils-1.4.1.tar.gz |
Si dovrà dare pure un'occhiata a http://www.linux-nis.org/nisplus/ per maggiori informazioni e gli ultimi sorgenti.
IMPORTANTE: per impostare un client NIS+ leggete i vostri documenti NIS+ di Solaris per sapere cosa fare dal lato server! Questo documento descrive solamente che cosa fare dal lato client.
Dopo l'installazione della nuova libc e degli strumenti NIS, create le credenziali per il nuovo client sul server NIS+. Assicurarsi che portmap sia in esecuzione. Poi verificate che il vostro PC Linux abbia la stessa ora del server NIS+. Per RPC sicure avete solo una piccola finestra di circa 3 minuti nella quale le credenziali sono valide. Una buona idea è di lanciare xntpd su ogni host. Dopo questo, eseguite
domainname nisplus.domain. nisinit -c -H <NIS+ server> |
per inizializzare il file d'avvio. Si legga la pagina man di nisinit per maggiori opzioni. Assicurarsi che domainname sia sempre impostato dopo il riavvio. Se non conoscete il nome del dominio NIS+ nella vostra rete, chiedete all'amministratore di sistema/rete.
Ora dovrete sostituire il vostro file /etc/nsswitch.conf Assicuratevi che il solo servizio dopo publickey sia nisplus ("publickey: nisplus"), e null'altro!
Poi avviate keyserv e assicuratevi che sia sempre attivo come primo demone dopo portmap all'accensione. Eseguite
keylogin -r |
niscat passwd.org_dir dovrà mostrare ora tutte le voci nel database passwd.
Quando un utente effettua il login, ha bisogno di impostare la sua chiave privata al keyserv. Questo viene fatto chiamando "keylogin". Il login del pacchetto shadow farà questo per l'utente, se è stato compilato con glibc 2.1. Per un login con PAM, si deve sostituire il file /etc/pam.d/login per utilizzare pam_unix2, non pwdb, che non supporta NIS+. Un esempio:
#%PAM-1.0 auth required /lib/security/pam_securetty.so auth required /lib/security/pam_unix2.so set_secrpc auth required /lib/security/pam_nologin.so account required /lib/security/pam_unix2.so password required /lib/security/pam_unix2.so session required /lib/security/pam_unix2.so |
Il file Network Services Switch /etc/nsswitch.conf determina l'ordine di ricerca quando viene richiesto un certo tipo di informazione, proprio come il file /etc/host.conf che determina l'ordine delle ricerche degli host. Per esempio, la riga
hosts: files nisplus dns |
specifica che le funzioni di ricerca degli host dovranno prima verificare nel file locale /etc/hosts, seguendo poi un lookup di NIS+ e finalmente attraverso il servizio di nomi di dominio (/etc/resolv.conf e named), a questo punto se nessuna corrispondenza è stata trovata, viene restituito un errore.
Un buon file /etc/nsswitch.conf per NIS+ è:
# # /etc/nsswitch.conf # # Un esempio del file di configurazione del Name Service Switch. Il file # dovrebbe essere ordinato con i servizi più utilizzati all'inizio. # # La voce '[NOTFOUND=return]' indica che la ricerca di una voce dovrebbe # fermarsi se la ricerca nella voce precedente non ha restituito nulla. # Si noti che se la ricerca fallisce per altre ragioni (perché nessun # server NIS risponde) allora la ricerca continua con la nuova voce. # # Le voci ammesse sono: # # nisplus Usa NIS+ (NIS versione 3) # nis Usa NIS (NIS versione 2), chiamato pure YP # dns Usa DNS (Domain Name Service) # files Usa i file locali # db Usa il database /var/db # [NOTFOUND=return] La ricerca si ferma se nulla è stato trovato finora # passwd: compat group: compat shadow: compat passwd_compat: nisplus group_compat: nisplus shadow_compat: nisplus hosts: nisplus files dns services: nisplus [NOTFOUND=return] files networks: nisplus [NOTFOUND=return] files protocols: nisplus [NOTFOUND=return] files rpc: nisplus [NOTFOUND=return] files ethers: nisplus [NOTFOUND=return] files netmasks: nisplus [NOTFOUND=return] files netgroup: nisplus bootparams: nisplus [NOTFOUND=return] files publickey: nisplus automount: files aliases: nisplus [NOTFOUND=return] files |