Ldap'i õpiobjekt
Õpijuhis
Õpiobjekti eesmärk on kataloogiteenuse teoreetiliste teadmiste ja praktiliste oskuste arendamine. Teadmiste arenguks on õpiobjekti osaks õppematerjalid, ning praktiliste oskuste arendamiseks on õppekeskkonna eksportfail, mida on võimalik kasutada Oracle VM VirtualBox programmiga(EIK kasutab ... õppekeskonda). Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.
Õpiobjektiga töötamise eeltingimused:
- õpiobjekti kasutaja oskab kasutada Ubuntu operatsioonisüsteemi käsurealt, sh vähemalt ühte käsurea tekstiredigeerimise programmi. Peaks oskama teenust taaskäivitada, programmiuuendusi paigaldad, oskama faili/kataloogi arvutist üles leida(locate, find), vaadata milliseid porte kuulatakse jne;
- õpiobjekti kasutaja teab arvutivõrkude alusmõisteid;
- virtualiseerimisprogrammist VirtualBox tulenevalt seatakse peremeesarvuti (ingl. host) riistvarale järgmised nõuded: x86 platform; vähemalt 512 MB mälu; vähemalt 1.5GB vaba kõvakettaruumi. Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!
Õpiobjekti komponendid
Õpiobjekti komponendid on:
- õpijuhis- õpiobjekti üldine sissejuhatav tekst;
- õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;
- õpilase kasutusjuhend- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;
- õpikeskkonna loomise ja seadistamise juhend(sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;
- õppematerjal(id)- teoreetiline ja praktiline õppematerjal, kus õpilane saab teadmised ja oskused;
- personaalse ülesande loomise ja kontrolli skript- bash skript, mis koostab õppija eesnime, perenime ja koodi alusel tema personaalsete andmetega laboriülesande ja teine skript, mis kontrollib laboriülesande sooritust.
Õpiobjekti kasutusjuhend
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel.
Õpilase tegevuste loetelu nende õiges järjekorras:
1. Loe läbi terve õpilase kasutajajuhend, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.
2. Kontrolli, et sinu kasutada oleks kõik õpiobjekti komponendid .
3. Loe läbi ja püüa mõista Teoreetilise õppematerjali sisu. On väga oluline, et saaksid aru ja oskaksid oma sõnadega selgitada „Teoreetilises õppematerjalis“ esindatud mõisteid ja kokkuvõtvalt rääkida seal olevatest peatükkidest. Kui oled veendunud, et oled „Teoreetilise õppematerjali“ sisu omandanud asu siinse tegevusloetelu järgmise punkti juurde.
4. Kui Sinu jaoks on õpikeskkond loodud ja sa tead kus see asub, ning kuidas sellele ligi pääseb siis jätka järgmise punktiga! Kui pead endale õpikeskkonna ise looma siis järgi „Virtuaalmasina importimise ja esmase seadistamise juhendit“, et luua endale virtuaalne õpikeskkond Ubuntu 11.04 Server operatsioonisüsteemil, mis on vajalik praktiliste laboriülesannete lahendamiseks. Olles mainitud juhendi läbinud, ning sellega endale virtuaalkeskkonna loonud ning kontrollinud ja veendunud selle töökorrasolekus asu järgmise tegevusloetelu punkti juurde. EIK tudengitel on õpikeskkond ette loodud!
5. Loe läbi ja püüa mõista Praktilise õppematerjali sisu. On oluline, et saaksid aru, miks ja millal mingit käsku on vaja kasutada ja mis selle käsu tulemusel juhtub. Käskude pähe õppimine ei ole eesmärk!
6. Kasuta virtuaalset õpikeskkonda, et lahendada laboriülesanded. Selleks sisene virtuaalkeskkonda ,kus kodukataloogis käivita „loo_ylesanne.sh“ skript, mille tulemusel luuakse õpilase personaalsete andmete (eesnimi, perenimi ja üliõpilaskood) alusel laboriülesanded, mida saab hiljem uuesti lugeda failist „ylesanded.txt“. Laboriülesannete läbimist ja õiget sooritust on võimalik kontrollida käivitades faili „kontrollskript.sh“. Kontrollskripti käivitamiste arv ei ole piiratud! Kui saad kõik ülesanded lahendatud ja seda kinnitab ka kontrollskript, anna sellest teada õppejõule, kes lahenduse üle kontrollib ja mõnda „Teoreetilise õppematerjali“ sisu mõistet küsib.
Õpikeskkonna loomine ja seadistamine
Õpilasele on ettevalmistatud virtuaalkeskkonnast tehtud eksportfailid Ubuntu Server 11.04 operatsioonisüsteemiga, et vähendada keskkonna installeerimiseks kuluvat aega. Virtuaalmasina failid tuleb laadida enda arvutisse ja importida läbi vastava viisardi. Täpsemad juhised virtuaalmasina ettevalmistamiseks Oracle VM VirtualBox 3.2 ja 4.0 tarbeks on õpiobjekti üheks osaks olevas juhendis.
Praktiline õppematerjal
OpenLDAP serveri ja klienditööristade paigaldamine
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris 'slapd', klienditööriistad asuvad paketis 'ldap-utils', need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga:
apt-get install slapd ldap-utils
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi. Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:
dpkg-reconfigure slapd
Paigaldamise lõpuks tuleks üle kontrollida kas serveri seadistufailis /etc/ldap/slap.d/cn=config/olcDatabase{0}configure.ldif ja samas kataloogis asuv olcDatabase{1}hdb.ldif või olcDatabase{1}bdb.ldif sisaldavad paigaldamisel sisestatud andmeid, sest õppematerjali loomise käigus tuvastati korduvalt, et need andmed ei ühtinud. Vajadusel paranda erinevused!
LDAP serveri ja klienditööriistade seadistamine
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust:
- /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või
- kataloogis /etc/ldap/slapd.d/cn=config olevad failid (võimalik kasutada alates versioonini 2.3). Viimast seadistusvõimalust tuntakse kui Configuration Backend, mida kasutab ka käesolev õppematerjal. Antud töös piirdutakse kataloogis etc/ldap/slapd.d/cn=config olevate olcDatabase={0}config.ldif ja olcDatabase={1}bdb.ldif failidega, kuna laboris peab õpilane vaid neid serveri seadistufaile muutma.
Kahe erineva seadistuse põhiline vahe seisneb selles, et vanas (slapd.conf) seadistusfailis on kogu seadistus koondatud ühte faili (slapd.conf) ja seadistuste kehtestamiseks serveris on tarvis teha (LDAP) serverile taaskäivitus. Uues seadistusviisis on konfiguratsioon andmebaasis ja failisüsteemis on vaid viide andmebaasile, ning seadistusemuudatused ei eelda enam (LDAP) serveri restartimist. Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]
Testime
Järgmiseks testi, kas saad tehtule ligi:
ldapsearch -x -D 'cn=<rootDN>,cn=config' -W Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli
Vastus võiks olla selline:
# search result search: 2 result: 0 Success või result: 32 No such object result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus. result: 32 No such object- tähendab, et LDAP serveriga saadi ühendust, kuid andmebaasis ei olnud päritud objekti. Tuleks kontrollida, kas klienditööriista seaded on õiged ja kas tehtud päring oli õige. ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:
netstat -anp|grep 389 vajadusel restardi teenus: /etc/init.d/slapd restart ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.
LDAP serveri andmebaasi kirjete laadimine
Sisu laadimiseks on kaks peamist võimalust: kasutada mõnd veebipõhist administreerimisliidest (näiteks phpLDAPadmin) või konsoolilt kasutades kliendi- või serveri utiliite (näiteks ldapadd või slapadd). Esmalt vaatame konsoolilt andmete laadimist, selleks on 2 võimalust: slapadd (serveri utiliit) ja ldapadd (kliendi utiliit). Peamine vahe on selles, et kliendi tööriistu kasutades peab LDAP server töötama, serveri tööriistu kasutades aga seisma, lisaks on erinev suvandite (options) kasutus!
Soovitav on kasutada kliendi tööriistu, kuna siis ei pea serverit seiskama ja ei tekitata andmebaasi failide omanikuks root kasutajat, mis tuleks openldap kasutaja omandisse tagasi muuta. Seepärast on selles juhendmaterjalis kõik laadimised tehtud ldapadd käsuga, näiteks:
ldapadd -x -D "<kasutaja DN>" -w <parool> -f <fail> Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.
Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine
Et saada paremat üldpilti ja paremini mõista, millega tegeletakse, on soovitav paigaldada ja seadistada veebipõhine LDAP-i administreerimise liides phpLDAPadmin[phpLDAPadmin mainpage]. Seadistamise hõlbustamiseks on õpiobjektiga kaasas fail config.php, kus tuleb asendada
cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas: $servers->setValue('login','bind_id','cn=root,dc=naide,dc=vot');
Administreerimisliidesele ligipääsuks minna hostmasinas aadressile http://ldapserveri_ip/phpldapadmin. Sissepääsuks valida kõigepealt vasakpoolsest paneelist oma serveri nimi ja seejärel login. Login DN väli peab sisaldama nii administraatori kasutaja nime, kui ka base DN väärtust. Veebiliidese kasutamine on soovituslik ja võrdlemisi lihtne, seepärast ei peatuta sellel siinkohal pikemalt.
PILT PUUDU
Kirjete otsimine ja muutmine LDAP-is
Põhineb OpenLDAP tööriista ldapsearch juhendil[man ldapsearch]. Päringute tegemiseks on OpenLDAP kliendi tööriistana paigaldatud ldapsearch, mis võimaldab ühenduda LDAP serveriga ja sealt otsida andmeid. Näiteks kirje otsimise käsk: ldapsearch -x -D 'cn=<kasutaja DN>' -W <filtreeriv tingimus> <väljastatavad atribuudid> Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; <filtreeriv tingimus>- võimaldab otsingut piirata; <väljastatavad atribuudid>- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: man ldapsearch
Kirjete muutmine LDAP-is
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].
Kirjetesse muudatuste tegemiseks on paigaldatud OpenLDAP kliendi tööriist ldapmodify, mille abil saab andmebaasi uusi andmeid lisada või seal olemasolevaid muuta/täiendada/kustutada. Muudatusi saab sisestada käsurealt või (LDIF) failist:
ldapmod -x -D 'cn=<rootDN>' -W -f <faili asukoht> ldapmod -x -D 'cn=<rootDN>' -W Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.
Tabeli 2 vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida changetype tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (add, delete, modrdn, moddn, newrdn või newsuperior).
Tabel 2 LDIF faili kirje muudatusvorm sisu: Faili sisu Seletus ja näide faili sisu kohta #kommentaar #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe! dn: <kirjenimetus (distinguished name)> dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus. Changetype: Add Kirje lisamiseks Delete Kirje kustutamiseks Modrdn | moddn {reavahetus} [newrdn: <rdn> {reavahe} deleteoldrdn: [0|1] | newsuperior: <dn>] Kirje DN ja RDN muutmiseks. Suvand Newrdn võimaldab kirje RDN'i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse. Modify {reavahetus} [add: <atribuut| objektiklass> | delete:<atribuut| objektiklass> | replace:<atribuut| objektiklass>]{reavahetus} <atribuut| objektiklass>: <uus väärtus Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(add), kustutada(delete), vahtada(replace). NB! Oluline on, et reavahetused oleks õigetes kohtades! - Tähistab, et sama dn ja changetype'i kasutatakse ka järgmise muudatuse puhul.
Näited[RFC 2849]:
# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse. dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com changetype: modrdn newrdn: ou=Product Development Accountants deleteoldrdn: 0 newsuperior: ou=Accounting, dc=airius, dc=com
- lisatakse 'postaddress'; kustutatakse 'description'; asendatakse olemasolev(ad) 'telephonenumber' #kahe uuega; kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.
dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com changetype: modify add: postaddress postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086 - delete: description - replace: telephonenumber telephonenumber: +1 408 555 1234 telephonenumber: +1 408 555 5678 - delete: facsimiletelephonenumber facsimiletelephonenumber: +1 408 555 9876
Skeemifaili koostamine ja LDAP andmebaasi laadimine
Skeemifaili koostamine LDAP-is on võimalik hoida ja sealt pärida ükskõik millist seal sisalduvat infot, vajadusel saab alati infovälju – objektiklasse/atribuute ka juurde lisada. Selle tarbeks on valmis hulk erinevaid skeemifaile (kataloogis /etc/ldap/schema/) ja kui neist ei piisa on võimalik ka ise neid juurde luua, võttes eeskujuks olemasolevad näidisfailid. Tähelepanu tuleks pöörata skeemifailide sisse kirjutatud sõltuvus viidetele, st kui on öeldud: „Depends upon core.ldif and cosine.ldif“ siis peab enne selle skeemi laadimist olema laetud core.ldif ja cosine.ldif, kuna nende skeemide atribuute või objektiklasse kasutab laetav skeemifail. Lisas 15 on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse skeemide loomise õpetuse[OpenLDAP-Schema- VIIDE KORDA]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. Vajalik on teada, et OID (Object Identifier) ehk numbriline osa atribuudi ja objektklassi järel, ei tohi kattuda teiste atribuutide/objektklasside OID-iga. Omavalmistatud atribuutidele on eraldatud OID algusega 1.1.2.1.1 ja objektklassile 1.1.2.2.1, ning omavalmistatud Trükkitähtedes olevad tähised tähendavad: NAME- atribuudi/objektklassi nimi; DESC (Description)- kirjeldus; SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab; EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid; SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid; SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi. MUST- täitmiseks kohustuslike atribuutide nimistu; MAY- täitmiseks vabatahtlike atribuutide nimistu;
Ebaselguse korral loe täiendavalt OpenLDAP-i administraatori teejuhti[OpenLDAP-Schema- VIIDE KORDA]. LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine Skeemi andmete laadimise juures on esmalt vaja veenduda, et andmed on õiges formaadis. Kuni OpenLDAP versioonini 2.4 hoiti skeemifaile .schema-failides. Alates versioonist 2.4 hoitakse ldif-failides. Lisaks nimele muutus ka sisu, mistõttu ei pääse failinime muutmisega vaid tuleb .schema-fail ümber konverteerida ldif-failiks, selleks tuleb teha järgmist: 1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks: include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema loetelu järgneb 2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:
mkdir /tmp/konverteeritud
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:
slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:
1.laadida skeemifailid sarnaselt muudele ldif failidele ldapadd tööriistaga. Selleks tuleb eelnevalt muuta konverteeritud ldif-faili selliseks, et faili esimesel ja kolmandal real ei oleks enam skeemi järjenumbrit({number}), ning faili lõpust tuleb kustutada kõik read peale „structuralObjectClass“ atribuuti (kaasa arvatud). Seejärel laadida fail käsuga:
ldapadd -x -D <administraatoriCN>,cn=config -W -f <faili asukoht>
2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.
Lihtsa telefoniraamatu skeemi
attributetype ( 1.1.2.1.1 NAME ( 'eesnimi' ) DESC ' eesnimi' SUP name ) attributetype ( 1.1.2.1.2 NAME ( 'perenimi' ) DESC ' perekonna nimi' SUP name ) attributetype ( 1.1.2.1.3 NAME 'telefoninumber' DESC ' telefoninumber' EQUALITY telephoneNumberMatch SUBSTR telephoneNumberSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) attributetype ( 1.1.2.1.4 NAME ( 'mailiaadress' ) DESC 'Mailbox' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) attributetype ( 1.1.2.1.5 NAME 'kirjeldus' DESC 'Lisainfo' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} ) objectclass ( 1.1.2.2.1 NAME 'telraamat' DESC 'Telefoniraamat' SUP top STRUCTURAL MUST ( eesnimi $ perenimi $ telefoninumber ) MAY ( mailiaadress $ kirjeldus ) )
LDAP-i õiguste mudel ja õiguste jagamine
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.
Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!!
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks. Paigaldada tuleb paketid: libnss-ldap, libpam-ldap ja ldap-auth-config. Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on soovitav vastus (tumedal taustal) ja sulgudes põhjendus: OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas); distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline); LDAP versioon: 3 (uuem versioon); kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: ei (seab ohtu kogu LDAP andmebaasi turvalisuse, kuna pääsedes ükskõik millise masina root kasutajaks on võimalik ka kohene ligipääs LDAP andmebaasile administraatori õiguses); kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);
Eelpool olevate vastuste põhjal luuakse /etc/ldap.conf fail. LDAP kasutaja saab nüüd süsteemi sisse logida, kuid tal ei ole kodukataloogi, seega peaks kõigile kasutajatele kodukataloogid tegema või lisama järgmise rea /etc/pam.d/common-session faili lõppu, et süsteem ise puuduolevad kodukataloogid looks: session required pam_mkhomedir.so skel=/etc/skel/ umask=0066
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]
Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal]. Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi.
apt-get install migrationtools
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:
/usr/share/perl5/migrate_common.ph
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks: $DEFAULT_MAIL_DOMAIN = "naide.ee"; $DEFAULT_BASE = "dc=naide,dc=ee"; Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:
cp /etc/passwd /tmp/ cp /etc/group /tmp/
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida! Tekita andmebaasi juurkataloog: /usr/share/migrationtools/migrate_base.pl > ~/base.ldif Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, ou=Groups ja ou=Aliases ! Seejärel ekspordi uued väärtused käskudega: /usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske:
ldapadd -x -D "cn=admin,dc=naide,dc=ee" -w parool -f ~/base.ldif ldapadd -x -D "cn=admin,dc=naide,dc=ee" -w parool -f ~/group.ldif ldapadd -x -D "cn=admin,dc=naide,dc=ee" -w parool -f ~/passwd.ldif
Varundamine ja taastamine
Teenuse varundamine ja taastamine Teenuse varundamine Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega. Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. Põhineb EIK vikil[EIK LDAPi wiki]. Kõigepealt on vaja luua varukoopiate hoidmiseks kataloog. Selle jaoks loome kataloogid /var/backup/ldap/db ja /var/backup/ldap/db kataloogi järgmise käsuga: mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf Järgmiseks tuleks luua varukoopia andmebaasist, selleks kasutatakse tööriista slapcat, mis väljastab kogu andmebaasi sisu, selle suuname faili, mille saab kohe ka kokku pakkida. Vajalik käsk selleks on järgmine: slapcat | gzip > /var/backups/ldap/db/backup.`date '+%Y%m%d'`.ldif.gz Käsu lõpus olev `date '+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev. Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga: tar czvf /var/backups/conf_backup.`date '+%Y%m%d'`.tgz /etc/ldap/*
Teenuse taastamine Põhineb EIK vikil[EIK LDAPi wiki]. Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.
Andmebaasi taastamine Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk: gunzip -c /var/backups/ldap/backup.<kuupäev>.ldif.gz > /var/backups/ldap/backup.<kuupäev>.ldif Kuna tavatingimustes, on andmebaasid suured, siis kasutatakse taastamisel andmete importimiseks serveritööriista slapadd. Slapadd nagu ka teised kataloogiteenuse serveri tööriistad vajavad töötamiseks baasi ainukasutusõigust, selleks peab slapd'i seisma panema: /etc/init.d/slapd stop slapadd -b <suffix> -l /var/backups/ldap/backup.<kuupäev>.ldif
Seadistusfailide taastamine
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid: tar xvf /var/backups/ldap/etc/conf_backup.<kuupäev>.tar
Läbikäidud probleemid- õpi teiste vigadest
Kui seadistamise käigus ei küsitud LDAP administraatori parooli, siis tuleb see ise käsitsi lisada- ka korduval seadistamisel ei esitata seda võimalust. Selleks korrigeeri failides: /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades: ldappasswd -s <parool>
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif.
On vaja õpilasel see ise luua.
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:
mkdir /var/lib/ldap/naide
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:
chown openldap:openldap /var/lib/ldap/naide/
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:
/etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali: teenuse restartimiseks:
/etc/init.d/slapd restart
kontrolli, kas porti(389) kuulatakse:
netstat -anp|grep 389
LDAP bdb baasi näidis konfiguratsioon
dn: olcDatabase={1}bdb objectClass: olcBdbConfig objectClass: top olcDatabase: {1}bdb olcDbDirectory: /var/lib/ldap/naide/ olcSuffix: dc=naide,dc=ee olcRootDN: cn=admin,dc=naide,dc=ee olcRootPW: parool olcLogLevel: 256 structuralObjectClass: olcBdbConfig olcDbCheckpoint: 128 10 olcDbIDLcacheSize: 1500 olcDbDNcacheSize: 500 olcDbConfig: {0}set_cachesize 0 33554432 0 olcDbConfig: {1}set_lg_bsize 2097512 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE olcMonitoring: FALSE olcDbIndex: cn,sn pres,eq,sub olcDbIndex: entryCSN eq olcDbCacheFree: 300
Skriptid
Manusesse