Tartu Kutsehariduskeskus IKT
osakondJekaterina Misuna & Marija
MironovaVÕRGUTEABETEENUSED (NIS)
Referaat
Õpetaja Mihhail Karutin
Tartu 2009 SISSEJUHATUS
Kohtvõrguga töös on üldine eesmärk pakkuda kasutajatele läbipaistvat võrgukeskkonda,
st kõik arvutid peaksid olema võrdselt kättesaadavad. Põhiline komistuskivi sel teel on
oluliste andmete (nagu näiteks kasutajakontode) sünkroniseerimine kõigi hostide vahel.
Varem oli hostinime püsivuse tagamiseks võimas ja keerukas teenus -- domeeninimede
süsteem DNS. Teiste ülesannete jaoks pole sellist spetsiaalteenust loodud. Pealegi ei
tasu paljude süsteemiülemate meelest Internetiühenduseta kohtvõrgus DNS-i
ülesseadmine end ära.
Seepärast töötas Sun välja võrguteabeteenuste süsteemi NIS (
Network Information
Services ). NIS hõlbustab üldist juurdepääsu andmebaasidele ning soodustab
informatsiooni (näiteks failides passwd ja groups sisalduva teabe) levitamist teie võrgu
kõigisse hostidesse. Võrk tundub nagu üks süsteem -- samad kasutajakontod kõigis
hostides. Samamoodi saate NIS-i kasutada faili /etc/hosts hostinimeteabe levitamiseks
võrgu kõigisse arvutitesse. Mis on NIS?
NIS hoiab andmebaaside informatsiooni skeemides, mis sisaldavad võtmeväärtuste
paare.
Skeemid on salvestatud NIS-serveriga varustatud keskses hostis, millest kliendid
omakorda võivad saada teavet mitmesuguste RPC-
kutsete kaudu. Sageli säilitatakse
skeeme DBM-failides*. Skeemid ise on tavaliselt loodud esialgsetest tekstifailidest
nagu /etc/hosts või /etc/passwd. Mõne faili jaoks
luuakse mitu skeemi, üks iga
otsinguvõtme tüübi jaoks.
Näide 1
Failist hosts võime otsida hostinime ja ka IP-aadressi. Järelikult tuletatakse sellest failist
kaks NIS-skeemi: vastavalt nimedega hosts.byname ja hosts.byaddr. "Tabel 1" esitab
üldskeemide ja lähtefailide loendi.
Tabel 1
Mõned standardsed NIS-skeemid ja neile vastavad failid
Põhifail Skeem(id)
/etc/hosts hosts.byname hosts.byaddr
/etc/
networks networks.byname networks.byaddr
/etc/passwd passwd.byname passwd.byuid
/etc/group group.byname group.bygid
/etc/services services.byname services.bynumber
/etc/rpc rpc.byname rpc.bynumber
/etc/protocols protocols.byname protocols.bynumber
/usr/lib/aliases mail.aliases On ka teisi faile ja skeeme, mida mõningad NIS-
paketid toetavad. Seal võib leiduda
informatsiooni rakenduste tarvis, millest siin ei räägita, aga mida kasutavad mõned
BOOTP-
serverid (nagu näiteks skeem bootparams) või millel pole praegu Linuxis
mingit funktsiooni (nagu skeemid ethers.byname ja ethers.byaddr). Mõnda skeemi
kutsuvad inimesed tihtipeale lühinimega, mida on hõlpsam meeles pidada. NIS-
vahenditele arusaadavate lühinimede täieliku loendi saamiseks käivitage järgnev käsk:
$ ypcat -x
NIS map
nickname translation table:
"passwd" -> "passwd.byname"
"group" -> "group.byname"
"networks" -> "networks.byaddr"
"hosts" -> "hosts.byname"
"protocols" -> "protocols.bynumber"
"services" -> "services.byname"
"aliases" -> "mail.aliases"
"ethers" -> "ethers.byname"
"rpc" -> "rpc.bynumber"
"netmasks" -> "netmasks.byaddr"
"publickey" -> "publickey.byname"
"
netid " -> "netid.byname"
"passwd.adjunct" -> "passwd.adjunct.byname"
"group.adjunct" -> "group.adjunct.byname"
"timezone" -> "timezone.byname"
NIS-serverit kutsutakse traditsiooniliselt nimega ypserv. Keskmise suurusega võrgu
jaoks piisab tavaliselt ühest serverist, suurte võrkude puhul tuleb serverite ja
marsruuterite koormuse vähendamiseks kasutada mitut serverit ja erinevaid
võrgusegmente. Serverid sünkroniseeritakse, tehes ühe neist ülemserveriks ja teised
alluvserveriteks. Skeemid luuakse ainult ülemserveri hostis ja levitatakse sealt kõigisse
alluvserveritesse. NIS-
domeenSee on kõigi hostide kogum, mis kasutavad NIS-i abil ühiselt osa süsteemi
konfigureerimisandmetest. Kahjuks pole NIS-domeenidel midagi ühist DNS-
domeenidega. Ebaselguse vältimiseks tuleb alati täpsustada, millist domeenitüüpi silmas
peetakse. NIS-
domeenid on moodustatud vaid haldusotstarbeks ning jäävad kasutajatele
enamasti nähtamatuks, välja arvatud paroolide ühiskasutus domeeni kõigis arvutites.
Seega on NIS-domeeni nimi oluline ainult võrguülematele. Tavaliselt sobib iga nimi,
mis erineb teistest teie kohtvõrgu NIS-domeenide nimedest.
Näide 2
Virtuaalse Sulevi võrguülem võib luua kaks NIS-domeeni: ühe Sulevile endale ja teise
kommivabrikule, nimetades nad vastavalt sulev ja
kommid . Teine üsna levinud moodus
on lihtsalt kasutada DNS-domeeninime ka NIS-i jaoks. Meie hosti NIS-domeeninime
saab kuvada ja häälestada käsuga domainname. Argumente andmata esitab domainname
praeguse NIS-domeeninime, häälestamiseks peame aga siirduma juurkasutajaks ja
tippima:
# domainname sulev
NIS-domeenis määratakse, millist NIS-serverit
rakendusprogramm küsib. Näiteks
kommivabriku hosti programm
login peaks loomulikult küsima parooliteabe saamiseks
ainult kommivabriku NIS-serverit (või mitme korral ühte neist), kuid
rakendusprogramm Sulevi hostis peaks jääma Sulevi serveri juurde. Üks mõistatus
vajab selgitamist: kuidas klient teada saab, millise serveriga ühendust võtta. Lihtsaim
meetod oleks pidada konfiguratsioonifaili, kus registreeritakse hostid ja vastavad
serverid. Selline lähenemine on aga üsna jäik, sest ei luba klientidel kasutada eri
servereid (
samast domeenist muidugi) sõltuvalt nende kättesaadavusest. Seetõttu
usaldavad traditsioonilised NIS-versioonid sobiva NIS-serveri leidmise NIS-domeenis
spetsiaalsele deemonile (nimega ypbind). Niisugusel juhul saab rakendusprogramm
enne võimalike NIS-küsimuste esitamist kõigepealt deemonilt ypbind teada, millist
serverit kasutada. Ypbind sondeerib servereid, saates teate kohalikku IP-võrku.
Esimesena vastanu loetakse potentsiaalselt kõige kiiremaks ning teda kasutatakse järgnevate NIS-küsimuste esitamisel. Pärast teatud ajavahemiku möödumist või
serveriühenduse katkemist sondeerib ypbind uuesti võrku aktiivse serveri tabamiseks.
Dünaamilise seose eeliseid võib vaidlustada, kuna vajadus esineb suhteliselt harva ning
kerkivad täiendavad turbeprobleemid. Nimelt suhtub ypbind kõigisse vastajaisse
usalduslikult, aga tegemist võib samahästi olla kas silmapaistmatu NIS-serveri või
kuritahtliku sissetungijaga. Loodetavasti taipame isegi, et eriti kahtlase väärtusega on
paroolibaaside
haldamine läbi NIS-i. Kaitsemeetmena ei kasuta NYS deemonit ypbind
vaikimisi, vaid võtab serveri hostinime konfiguratsioonifailist.
Traditsioonilise NIS-i kasutamine
Kliendiprogrammi
kasutamisel (praegu kättesaadav standardses teegis libc) toimub
NIS-kliendi konfigureerimine veidi erinevalt. Ühest küljest kasutatakse seal deemonit
ypbind toimingute levitamiseks aktiivsetele serveritele (selle asemel, et koguda teavet
konfiguratsioonifailist). Seetõttu peame tagama, et käivitame deemoni ypbind arvuti
alglaadimise ajal. See
deemon tuleb kindlasti käivitada pärast NIS-domeeni
häälestamist ja RPC-pordi andmeteisendi aktiveerimist. Programmi ypcat käivitamine
serveri testimiseks peaks siis
toimima nagu ülal kirjeldatud. Traditsioonilises NIS-is on
määratletud, kas ja kuidas ühendada NIS-teavet NYS-põhise kohalikest failidest
pärineva informatsiooniga.
Näide 3
NIS-i parooliskeemide kasutamiseks peame lisama faili /etc/passwd järgmise rea:
+:*:0:0:::
See tähistab koha, kuhu parooliotsingufunktsioon lisab NIS-skeemid. Kui lisame
sarnase rea (küll ilma kahe viimase koolonita) faili /etc/group, toimub sama group.*-
skeemide suhtes. NIS-i levitatavate hosts.*-skeemide kasutamiseks muutke rida
order failis
host .conf. Näiteks kui
soovime kasutada NIS-i, DNS-i ja faili /etc/hosts (just
sellises järjestuses), peame muutma vastava rea järgmiselt:
order yp bind hosts
Traditsiooniline NIS-
teostus ei toeta praegu mingeid muid skeeme. LISA 1. MIS ON DBM?
DBM on lihtne andmebaasihaldur, mis kasutab otsinguoperatsioonide kiirendamiseks
paisktehnikat. Projektilt GNU on tasuta DBM-i teostus gdbm, mis kuulub enamiku
Linuxi versioonide koosseisu.
KASUTATUD KIRJANDUS
·
http://www.hot.ee/maits00/GPS.html·
http://www.ise.ee/cdrom/cd2/linux/ptk16.ht m
Kõik kommentaarid