Next Previous Contents

7. Hva trenger du for å sette opp NIS+ ?

7.1 Programvaren

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.

7.2 Sette opp en NIS+ klient

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.

7.3 NIS+, keylogin, login og PAM

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

7.4 nsswitch.conf fila

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


Next Previous Contents