Dette dokumentet beskriver bare hvordan man setter opp en "ypserv" NIS server.
NIS server programvaren kan hentes fra:
Server Katalog Filnavn
ftp.kernel.org /pub/linux/utils/net/NIS ypserv-1.3.6.tar.gz
Du kan også se på http://www.suse.de/~kukuk/linux/nis.html for mere informasjon.
Server oppsettet er det samme for både tradisjonell NIS og NYS.
Kompiler programvaren for å lage ypserv
og makedbm
programmene. Du kan konfigurere ypserv til å bruke securenets fil eller
tcp_wrappers. tcp_wrapper er mer fleksibel, men mange har store problemer
med den. Og noen konfigurasjons filer for tcp_wrappers kan forårsake
minne lekasjer. Hvis du har problemer med ypserv kompilert for
tcp_wrapper, rekompiler den til å bruke securenets fila. ypserv --version
sier hvilken versjon du har.
Hvis du kjører din server som master, avgjør hvilke filer du trenger
adgang til via NIS og legg till eller fjern valgene i "all" regelen i
/var/yp/Makefile
. Du bør alltid sjekke Makefile og editere
Options i begynnelsen av fila.
Det var en stor forandring mellom ypserv 1.1 og ypserv 1.2. Siden
versjon 1.2, legges filene i cache. Dette betyr at du må alltid må
kalle makedbm med -c valget hvis du lager nye maps. Sørg for at du bruker
den nye /var/yp/Makefile
fra ypserv 1.2 eller senere, eller legg
til -c til makedbm i Makefile. Hvis du ikke gjør det, vil ypserv fortsette
å bruke de gamle maps, og ikke de oppdaterte.
Så, editer /var/yp/securenets
og /etc/ypserv.conf
.
For mere informasjon, les ypserv(8) og ypserv.conf(5) manual sidene.
Sørg for at portmapper (portmap(8)) kjører, og start serveren
ypserv
. Kommandoen
% rpcinfo -u localhost ypserv
bør gi noe som
program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting
"version 1" linjen kan hende mangler, alt etter hvilken ypserv versjon og konfigurasjon du bruker. Det er bare nødvendig hvis du har gamle SunOS 4.x klienter.
Lag så NIS (YP) databasen. På masteren, kjør
% /usr/lib/yp/ypinit -m
På en slave sørg for at ypwhich -m
virker. Det betyr at
slaven din må være konfigurert som NIS client før du kan kjøre
% /usr/lib/yp/ypinit -s masterhost
for å installere hosten som en NIS slave.
Det er det, serveren din er oppe og kjører.
Hvis du har større problemer, kan du starte ypserv
og
ypbind
i debug modus på forskjellige xtermer. Debug outputen
skal vise deg hva som går galt.
Hvis du trenger å oppdatere en map, kjør make
i /var/yp
katalogen på NIS master. Det vil oppdatere en map hvis kildefila er nyere
og dytte filene til slave serverene. Ikke bruke ypinit
til å
oppdatere en map.
Du vil kanskje editere root sin crontab *på slave* serveren og legge til følgende linjer:
20 * * * * /usr/lib/yp/ypxfr_1perhour
40 6 * * * /usr/lib/yp/ypxfr_1perday
55 6,18 * * * /usr/lib/yp/ypxfr_2perday
Dette vil sørge for at de fleste NIS maps er up-to-date, selv om en
oppdatering hoppes over fordi slaven var nede på det tidspunktet
oppdatering ble utført på master.
Du kan legge til en slave når du måtte ønske. Først sørg for at den nye slave serveren har adgang til å kontakte NIS master. Så kjør
% /usr/lib/yp/ypinit -s masterhost
på den nye slaven. På master serveren, legg til den nye slavens server
navn til /var/yp/ypservers
og kjør make
i /var/yp
for å oppdatere mapen.
Hvis du vil begrense adgangen for brukere til din NIS server, må du sette opp NIS serveren som en klient ved å kjøre ypbind og legge til pluss-linjer i /etc/passwd som _halvveis_ er passordfila. Bibliotek funksjoner vil ignorere alle normale linjer etter den første NIS linja, og vil få resten av informasjonen gjennom NIS. På denne måten vil NIS adgangs regler holdes. For eksempel:
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
[ Alle normale brukere ETTER denne linjen! ]
tester:*:299:10:Bare en test konto:/tmp:
miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh
Nå vil brukeren "tester" eksistere, men ha et shell /etc/NoShell. miquels vil ha normal adgang.
Alternativt kan du editere /var/yp/Makefile
fila og sette NIS til
å bruke en annen kilde passord fil. På store systemer er NIS password og
group filer vanligvis lagret i /etc/yp/
. Hvis du gjør dette vil ikke
de vanlige programmene som administrer password fila passwd
,
chfn
, adduser
lenger fungere og du trenger egne
hjemmelagde programmer til dette.
Men, yppasswd
, ypchsh
og ypchfn
vil selvsagt
virke.
For å sette opp en "yps" NIS server les forrige del. "yps" server oppsett er likt, _men_ ikke helt det samme så pass på dersom du prøver å bruke "ypserv" instruksjoner mot "yps"! "yps" støttes ikke av noen forfatter, og inneholder noen sikkerhetshull. Du bør ikke bruke det!!
"yps" NIS server programvare finnes på:
Server Katalog Filnavn
ftp.lysator.liu.se /pub/NYS/servers yps-0.21.tar.gz
ftp.kernel.org /pub/linux/utils/net/NIS yps-0.21.tar.gz
rpc.ypxfrd brukes til å øke overføringshastigheten til veldig store NIS maps fra en NIS master til NIS slave servere. Hvis en NIS slave server mottar en melding om at det finnes en ny map, vil den starte ypxfr for å overføre den nye mapen. ypxfr vil lese innholdet i en map fra master serveren ved å bruke yp_all() funksjonen. Denne prosessen kan ta flere minutter når det er veldig store maps som må lagres av database biblioteket.
rpc.ypxfrd serveren øker overføringshastigheten ved å la NIS slave servere kopiere master serverens map filer istedet for å bygge deres egne fra scratch. rpc.ypxfrd bruker en RPC-basert fil overførings protokoll, så det ikke trengs å bygges en ny map.
rpc.ypxfrd kan startes av inetd. Men siden den startes veldig tregt bør den startes av ypserv. Du trenger bare å starte rpc.ypxfrd på NIS master server.
Når brukere forandrer sine passord, skal NIS passord databasen og sansynligvis andre NIS databaser, som bygger på NIS passord databasen, oppdateres. Programmet "rpc.yppasswdd" er en server som behandler passord forandringer og som sørger for at NIS informasjonen oppdateres riktig. rpc.yppasswdd er nå integrert i ypserv. Du trenger ikke lenger de gamle separate yppasswd-0.9.tar.gz eller yppasswd-0.10.tar.gz, og du må ikke bruke dem lenger. rpc.yppasswdd i ypserv 1.3.2 har full shadow støtte. yppasswd er nå en del av yp-tools-2.2.tar.gz.
Du må bare starte rpc.yppasswdd på NIS master server. Som standard har ingen brukere lov til å forandre deres fulle navn eller login shell. Du kan gi adgang til dette med -e chfn eller -e chsh valgene.
Hvis dine passwd og shadow filer er i en annen katalog enn /etc, må du legge til -D valget. For eksempel, hvis du har lagt alle kilde filer i /etc/yp og ønsker at brukerene kan endre sine shell, må du starte rpc.yppasswdd med følgende parametre:
rpc.yppasswdd -D /etc/yp -e chsh
eller
rpc.yppasswdd -s /etc/yp/shadow -p /etc/yp/passwd -e chsh
Det er alt. Du må bare sørge for at rpc.yppasswdd
bruker
de samme filene som /var/yp/Makefile
. Feilmeldinger vil logges
via syslog.