Linux NIS+ klient koden var utviklet for GNU C library 2. Det finnes også en port for Linux libc5, siden de fleste kommersielle programmer er linket mot dette biblioteket, og du ikke kan rekompilere dem til å bruke glibc. Det er ingen problemer med libc5 og NIS+: statiske programmer kan ikke lenkes med det, og programmer kompilert med dette biblioteket vil ikke virke med andre libc5 versjoner.
Du må få tak i og kompilere GNU C Library 2.1 for Intel baserte plattformer, eller GNU C Library 2.1.1 for 64bit platformer. Som base system trenger du en glibc basert Distribusjon som Debian 2.x, RedHat 5.x eller SuSE Linux 6.x.
For hver distribusjon, må du rekompilere gcc/g++ compileren, libstdc++ og ncurses. For Redhat, må du gjøre mange forandringer med PAM konfigurasjonen. For SuSE Linux 6.0, må du rekompilere shadow pakken.
NIS+ klient programvare kan fåes fra:
Server Katalog Filnavn
ftp.funet.fi /pub/gnu/funet libc-*, glibc-crypt-*,
glibc-linuxthreads-*
ftp.kernel.org /pub/linux/utils/net/NIS+ nis-utils-19990223.tar.gz
ftp.kernel.org /pub/linux/utils/net/NIS+ pam_keylogin-1.2.tar.gz
Distribusjoner basert på glibc kan hentes fra:
Server Katalog
ftp.debian.org /pub/debian/dists/slink
ftp.redhat.com /pub/redhat/redhat-5.2
ftp.suse.de /pub/SuSE-Linux/6.0
For kompilering av GNU C Library følg instruksjonene som kommer med programvaren. Du kan finne patchede libc5, basert på NYS, og kildekodene som drop in replacement for standard libc5 på:
Server Katalog Filnavn
ftp.kernel.org /pub/linux/utils/net/NIS+ libc-5.4.44-nsl-0.4.10.tar.gz
Du bør også se på http://www.suse.de/~kukuk/linux/nisplus.html for mer informasjon og de siste kildekodene.
VIKTIG: For å sette opp en NIS+ klient les dine Solaris NIS+ dokument om hva å gjøre på server siden! Dette dokumentet forklarer bare hva å gjøre på klient siden!
Etter å ha installert nye libc og nis-tools, sett opp alt for den nye klienten på NIS+ serveren. Sørg for at portmap kjører. Sjekk få at din Linux PC har samme tid og dato som NIS+ serveren. For sikker RPC, har du bare et lite vindu fra etter 3 minutter, hvor oppsettet er gyldig. En god ide er å kjøre xntpd på alle hoster. Etter dette, kjør
domainname nisplus.domain.
nisinit -c -H <NIS+ server>
for å initialisere start fila. Les nisinit man siden for flere valg. Sørg for at domain navnet alltid settes etter en reboot. Hvis du ikke vet hva NIS+ domain navnet er på ditt nettverk, spør din system/nettverks administrator.
Nå bør du forandre din /etc/nsswitch.conf fil. Sørg for at den eneste service etter publickey er nisplus ("publickey: nisplus"), og ikke noe annet!
Start så keyserv og sørg for at den alltid startes som første daemon etter portmap ved oppstart. Kjør
keylogin -r
for å lagre root secretkey på ditt system. (Jeg håper du har lagt til
publickey for den nye hosten på NIS+ Server?).
"niscat passwd.org_dir" skal nå vise alle dine linjer i passwd databasen.
Når en bruker logger inn, må han sette sin secretkey til keyserv. Dette gjøres ved å kalle "keylogin". Login fra shadow pakken vil gjøre dette for brukeren, hvis den var kompilert mot glibc 2.1. For en PAM login, må du installere pam_keylogin-1.2.tar.gz og forandre /etc/pam.d/login fila til å bruke pam_unix_auth, ikke pwdb, som ikke støtter NIS+. Et eksempel:
#%PAM-1.0
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_keylogin.so
auth required /lib/security/pam_unix_auth.so
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_unix_passwd.so
session required /lib/security/pam_unix_session.so
Network Services switch fila /etc/nsswitch.conf avgjør rekkefølgen som lookups utføres når en bestemt bit med informasjon spørres etter, akkurat som /etc/host.conf fila som avgjør måten host lookups utføres på. For eksempel, linjen
hosts: files nisplus dns
spesifiserer at host lookup funksjoner først skal se i den lokale /etc/hosts fila, så utføre en NIS+ lookup og til slutt gå gjennom domain name service (/etc/resolv.conf og named), hvor til slutt dersom ingen match er funnet en feilmelding returneres.
En god /etc/nsswitch.conf fil for NIS+ er:
#
# /etc/nsswitch.conf
#
# En eksempel Name Service Switch config fil. Denne filen bør sorteres
# med de mest brukte servicer i begynnelsen.
#
# Biten '[NOTFOUND=return]' betyr at letingen etter en bit skal stoppe
# dersom letingen i forrige linje ikke fant noe. Merk at hvis letingen
# feilet på grunn av noen andre grunner (som at ingen NIS server svarer)
# vil letingen fortsette i neste linje.
#
# Lovlige kommandoer er:
#
# nisplus Bruk NIS+ (NIS versjon 3)
# nis Bruk NIS (NIS versjon 2), også kallt YP
# dns Bruk DNS (Domain Name Service)
# files Bruk lokalt filer
# db Bruk /var/db databasene
# [NOTFOUND=return] Stopp letingen hvis ingen er funnet så langt
#
passwd: compat
# for libc5: passwd: files nisplus
group: compat
# for libc5: group: files nisplus
shadow: compat
# for libc5: shadow: files nisplus
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