Linux som NIS-server (YP)

Forfatter: Trond Hasle Amundsen
Kontakt: unix-drift@usit.uio.no
Dato: 2011-10-06

Notat

På RHEL6 brukes ikke lenger NIS (YP), så dette dokumentet er ikke relevant for RHEL6.

1   Hva er NIS/YP?

Følgende sitat er fra Sun™ System & Network Administration Manual:

NIS was formerly known as Sun Yellow Pages (YP) but the name Yellow Pages™ is a registered trademark in the United Kingdom of British Telecom plc and may not be used without permission.

NIS står for "Network Information Service". Hensikten med NIS er å gjøre tilgjengelig informasjon som trenger å være kjent i hele nettverket. Informasjon som gjøres tilgjengelig på denne måten på UiO er blant annet:

  • Brukernavn, passord, hjemmeområder (/etc/passwd)
  • Filgrupper (/etc/group)
  • Nettgrupper for maskiner og brukere

Vi har i dag mange NIS-servere sentralt. Det er derfor ikke nødvendig med egen NIS-server. Noen ønsker likevel å ha sin egen NIS-server for å øke ytelsen og minke nettverkstrafikken.

2   Sette opp en Linux-maskin som NIS-server

Forsiktig!

En NIS-server må ha høy oppetid. Den må være en stabil maskin som er tilgjengelig døgnet rundt. Dette er viktig for ikke å lage problemer for klientene som bruker NIS-serveren. En maskin som kjører NIS-server trenger ikke være sterk, ettersom NIS-serverprogramvaren ikke tar mye ressurser, men maskinen må være stabil.

Å installere å kjøre i gang NIS-server på en Linux-maskin er temmelig enkelt. Her er en liten "kokebok":

  1. Legg inn STORE-pakken "ypserv", f.eks. slik:

    maskin.uio.no# storeapp -a ypserv
    
  2. Send mail til unix-drift@usit.uio.no og fortell at maskinen skal være NIS-server. At den er tatt med i oversikten over NIS-servere kan du sjekke med kommandoen

    maskin.uio.no# ypmatch maskin.uio.no ypservers
    maskin.uio.no
    

    Dersom YP-kartet over NIS-serverne er oppdatert med den nye maskinen vil resultatet bli som over. Merk at man må spørre etter fullt navn (FQDN).

    Vær oppmerksom på at det tar tid før dette oppdaterer seg på hele UiO etter at unix-drift har lagt til maskinen. Man kan godt installere NIS-server på maskinen likevel selv om den ikke vises med kommandoen ovenfor, men er den ikke der neste dag, må unix-drift få beskjed.

  3. Shell-scriptet /local/etc/yp/ypinit_linux.sh installerer NIS-server på maskinen og henter inn alle NIS-maps fra sjefs-NIS-serveren, så kjør kommandoen

    maskin.uio.no# /local/etc/yp/ypinit_linux.sh
    

    og følg med på hva som skjer. Det er vanlig å se to typer feilmeldinger:

    failed to send 'clear' to local ypserv: RPC: Program not registered
    

    som kommer av at man via kommandoen makedbm -c prøver å sende et signal til ypserv, men ypserv er ikke startet ennå. Altså ikke noe å bry seg om. Man får også denne feilmeldingen:

    ethers.byname: /var/yp/gnu/uio/ethers.byname: No such file or directory (ignored)
    

    Her klages det på at filen /var/yp/gnu/uio/ethers.byname ikke finnes, men vi vet jo at det er første gang den hentes. Heller ikke noe å bry seg om.

  4. Etterpå må man fortelle hvilke(t) subnett maskinen skal svare på henvendelser fra i filen /var/yp/securenets. En eksempelfil er installert, editer den til ditt behov.

  5. Start så ypserv med kommandoen

    maskin.uio.no# service ypserv start
    Starting YP server services:                               [  OK  ]
    
  6. Sørg for at NIS-serveren startes ved boot. Det gjøres med følgende kommando:

    maskin.uio.no# chkconfig ypserv on
    

3   Stoppe og starte ypserv

ypserv er lagt inn i Red Hats oppstartsscript på vanlig måte. Den kan stoppes, startes, restartes og også monitores med:

service ypserv {start|stop|status|restart|reload|condrestart}

4   Fjerne maskinen som NIS-server

Av og til kan det være nødvendig å fjerne maskinen fra oppgaven som NIS-server. Det er da nødvendig med litt opprydning:

  1. Stopp serveren med

    maskin.uio.no# service ypserv stop
    Stopping YP server services:                               [  OK  ]
    
  2. Fjern ypserv fra oppstartsscriptene:

    maskin.uio.no# chkconfig ypserv off
    maskin.uio.no# rm -f /etc/init.d/ypserv
    
  3. Fjern så lagrede NIS-maps og securenets:

    maskin.uio.no# rm -rf /var/yp/{uio,securenets,gnu}
    
  4. Fjern STORE-pakken "ypserv", f.eks. slik:

    maskin.uio.no# storeapp -r ypserv
    
  5. Fjern cron-jobbene som henter NIS-maps fra crontab. Dette gjøres ved å kjøre kommandoen crontab -e og fjerne linjene som inneholder ypxfr.

    Du kan liste opp innholdet i crontab med følgende kommando:

    maskin.uio.no# crontab -l
    ## Transfer YP maps. ###################################
    #
     2 6,10,13,16,20,0 * * * sh /local/etc/yp/ypxfr_1perhour
     2 2,14 * * * sh /local/etc/yp/ypxfr_2perday
     2 4 * * * sh /local/etc/yp/ypxfr_1perday
    
  6. Send en mail til unix-drift@usit.uio.no med melding om at maskinen ikke lenger er en NIS-server, og kan tas ut fra ypservers-kartet.

Da er ikke maskinene lenger en NIS-server.

Publisert 5. okt. 2011 21:48 - Sist endret 6. okt. 2011 15:02