<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kkarma</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kkarma"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Kkarma"/>
	<updated>2026-05-06T06:03:12Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43936</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43936"/>
		<updated>2011-12-05T22:00:09Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* LDAP-i õiguste mudel ja õiguste jagamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[https://help.ubuntu.com/community/OpenLDAPServer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 result: 0 Success või &lt;br /&gt;
 result: 32 No such object&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Cant contact LDAP server (-1) &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
*result: 32 No such object- tähendab, et LDAP serveriga saadi ühendust, kuid andmebaasis ei olnud päritud objekti. &lt;br /&gt;
Tuleks kontrollida, kas klienditööriista seaded on õiged ja kas tehtud päring oli õige.&lt;br /&gt;
*ldap_sasl_bind(SIMPLE): Cant contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, &lt;br /&gt;
&lt;br /&gt;
selleks sisesta terminali:&lt;br /&gt;
 netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
 /etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad &#039;&#039;/var/log/syslog&#039;&#039; failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
Et saada paremat üldpilti ja paremini mõista, millega tegeletakse, on soovitav paigaldada ja seadistada veebipõhine LDAP-i administreerimise liides [http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page phpLDAPadmin]. Seadistamise hõlbustamiseks on õpiobjektiga kaasas fail config.php, kus tuleb asendada &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb [http://www.openldap.org/doc/admin24/guide.html#Access%20Control OpenLDAP administraatori teejuhi] refereeringul.&amp;lt;br&amp;gt;&lt;br /&gt;
Kataloogiteenus võib sisaldada erineva tundlikusega (sensitivity) informatsiooni, mistõttu võibolla vajalik, et mingile osale informatsioonist peavad kõik piiranguteta ligi saama, seevastu teine osa informatsiooni peab olema nähtav väga väiksele osale kasutajatest.&lt;br /&gt;
&lt;br /&gt;
OpenLDAP-il on veidi erinev ligipääsu seadistusmeetod vana (e. seadustusfailist) ja uue (e. andmebaasist) seadistamise jaoks, seda lähtuvalt seadistuse asukohast (kirjutamisest seadistusfail vs. andmebaasi importimisest). Õiguse andmise sisuline osa on peaaegu sama, erinevus vaid andmebaasi importimisel vajalik lisarida faili alguses,mida seadistusfaili puhul ei kirjutata:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|&amp;lt;ligipääsu direktiivi nimetus&amp;gt; ::= access to &amp;lt;ligipääsuobjekt- vt Tabel 3&amp;gt;&lt;br /&gt;
[by &amp;lt;ligipääsusubjekt- vt Tabel 4&amp;gt; [&amp;lt;ligipääsutase- Tabel 5&amp;gt;] [&amp;lt;erinev kontrolli võimalus- Tabel 6&amp;gt;] ]+&lt;br /&gt;
|}&lt;br /&gt;
*Valem 1- Ligipääsuõiguse reguleerimine konfiguratsioonifailist seadistamisel &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|olcAccess: &amp;lt;ligipääsu direktiivi nimetus&amp;gt; &lt;br /&gt;
&amp;lt;ligipääsu direktiivi nimetus&amp;gt; ::= to &amp;lt;ligipääsu objekt- vt Tabel 3&amp;gt;&lt;br /&gt;
[by &amp;lt;ligipääsu subjekt- vt Tabel 4&amp;gt; [&amp;lt;ligipääsu tase- Tabel 5&amp;gt;] [&amp;lt;erinev kontrolli võimalus- Tabel 6&amp;gt;] ]+&lt;br /&gt;
|}&lt;br /&gt;
*Valem 2- Ligipääsuõiguse reguleerimine andmebaasi seadistust kasutades &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool kirjeldatud valemid (Valem 1 ja 2) koosnevad neljast komponendist: &lt;br /&gt;
ligipääsuobjekt - Tabelisse 3 on kogutud kõik võimalused, millega määratakse käsitletavat kirjet või atribuuti- ehk mille ligipääsu reguleeritakse; &lt;br /&gt;
ligipääsusubjekti- Tabelis 4 on kirjeldatud võimalikud varjandid, kuidas määrata kasutajat/kasutajagruppi, kellele ligipääsu muudetakse; &lt;br /&gt;
ligipääsutase- Tabelis 5 on loetletud erinevad ligipääsuõiguse liigid;&lt;br /&gt;
erinev kontrolli võimalu- Tabelis 6 on loetletud täiendavad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tabel 3 Ligipääsuobjekti määramise viisid&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Tähis&lt;br /&gt;
|Tähendus&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|Kehtib kõigi kirjete kohta&lt;br /&gt;
|-&lt;br /&gt;
|dn.regex=&amp;lt;regex&amp;gt;&lt;br /&gt;
|DN piiratakse kasutades regulaaravaldisi&lt;br /&gt;
|-&lt;br /&gt;
|dn.exact=&amp;lt;regex&amp;gt;&lt;br /&gt;
|DN piiratakse täpse DN&#039;ga kasutades regulaaravaldisi- vaata näiteid!&lt;br /&gt;
|-&lt;br /&gt;
|käsitlusala: base=&amp;lt;DN&amp;gt;&lt;br /&gt;
|Base ühitub ainult näidatud DN-i kirjega&lt;br /&gt;
|-&lt;br /&gt;
|käsitlusala: one=&amp;lt;DN&amp;gt;&lt;br /&gt;
|One ühitub ainult kirjetega, mille DN on nendest hierarhiliselt kõrgemal&lt;br /&gt;
|-&lt;br /&gt;
|käsitlusala: subtree=&amp;lt;DN&amp;gt;&lt;br /&gt;
|Subtree ühitub kõigi alampuu kirjetega, mille kõrgeimal hierarhjal paiknev kataloog (juurkataloog) on antud DN&lt;br /&gt;
|-&lt;br /&gt;
|käsitlusala: children=&amp;lt;DN&amp;gt;&lt;br /&gt;
|children ühitub kõigi DN all olevate kirjetega (aga mitte DN-i poolt nimetatud kirjega)&lt;br /&gt;
|-&lt;br /&gt;
|[filter=&amp;lt;ldapfilter&amp;gt;] &lt;br /&gt;
|Kirjed valitakse LDAP filtriga, sarnaselt ldapsearch tööriista filtri kasutamisele&lt;br /&gt;
|-&lt;br /&gt;
|[attrs=&amp;lt;attrlist&amp;gt;]&lt;br /&gt;
|Konkreetsete atribuutide loetelu, atribuudid eraldatakse üksteisest komaga&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ligipääsuobjekti saab valida kas DN-i või LDAP filtrit kasutades. seejuures saab ühe diretkiivi piires olla vaid üks ligipääsuobjekt, millega võib olla seotud mitmeid subjekte, kellest igaühele on omistatud 1 ligipääsutase.&amp;lt;br&amp;gt;&lt;br /&gt;
Tabel 4 Ligipääsusubjekti määramise viisid&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Tähis&lt;br /&gt;
|Tähendus&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|Kõigile kaasaarvatud anonüümsed ja autentidud kasutajad&lt;br /&gt;
|-&lt;br /&gt;
|anonymous&lt;br /&gt;
|Autentimata kasutajad&lt;br /&gt;
|-&lt;br /&gt;
|users&lt;br /&gt;
|Autentitud kasutajad&lt;br /&gt;
|-&lt;br /&gt;
|self&lt;br /&gt;
|Kasutaja, mis on seotud kirjega&lt;br /&gt;
|-&lt;br /&gt;
|dn[.exact | .regex]=&amp;lt;regex&amp;gt;&lt;br /&gt;
|Kasutajate määramine kasutades regulaaravaldisi&lt;br /&gt;
|-&lt;br /&gt;
|dn.&amp;lt;base | one | subtree | children&amp;gt;=&amp;lt;DN&amp;gt;&lt;br /&gt;
|Kasutajate määramine käsitlusalaga (vt.Tabel 3 käsitlusalade juhiseid)&lt;br /&gt;
|-&lt;br /&gt;
|[dnattr=&amp;lt;attrname&amp;gt;] &lt;br /&gt;
|Kasutaja määramine atribuudi olemasolust lähtuvalt&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;group[/&amp;lt;objectclass&amp;gt;[/&amp;lt;attrname&amp;gt;] [.exact | .regex]]=&amp;lt;regex&amp;gt;] &lt;br /&gt;
|Kasutaja määramine kasutajagruppi kuulumise alusel&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;peername[.exact | .regex]=&amp;lt;regex&amp;gt;] &lt;br /&gt;
|Võrguaadressipõhine ligipääs&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;domain[.exact | .regex]=&amp;lt;regex&amp;gt;] &lt;br /&gt;
|Domeenipõhine ligipääs&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;sockname[.exact | .regex]=&amp;lt;regex&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[sockurl[.exact | .regex]=&amp;lt;regex&amp;gt;] &amp;lt;br&amp;gt;&lt;br /&gt;
[set=&amp;lt;setspec&amp;gt;] &amp;lt;br&amp;gt;&lt;br /&gt;
[aci=&amp;lt;attrname&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Ligipääsu on võimalik anda taseme nimetusega (näiteks write) või privileegi nimetusega. Seda on oluline teada, sest andes write taseme, antakse automaatselt ka kõik madalama taseme õigused (read, search, compare, auth ja disclose). Kuid on võimalik anda ka vaid üksikuid privileege(vt. Tabel 5).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabel 5 Ligipääsutasemed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabel 6 Kontroll&#039;&#039;&#039;&lt;br /&gt;
Ligipääsuõiguseid saab anda kas globaalselt üle kõigi LDAP andmebaaside või iga andmebaasi kohta eraldi. Ligipääsuõiguseid otsitakse kõigepealt andmebaasist, kus kirje paikneb.&lt;br /&gt;
Ligipääsuõiguste andmisel on väga oluline direktiivide kirjapaneku järjekord, sest õiguste kontrollimisel käiakse nimekiri samas järjekorras läbi ja peatutakse esimesel võimalusel, kui ligipääsubjekti vaste leitakse.&lt;br /&gt;
Kui ligipääsuõiguste seas ei ole ligipääsuobjektile vastavat direktiivi siis vaikesätetest antakse kirje lugemise õigus. Selleks et infole saaks ligi vaid need kellele see on mõeldud, soovitatakse viimaseks direktiiviks „access to * by * none“&lt;br /&gt;
&lt;br /&gt;
Järgnevalt on toodud näiteid ligipääsuõiguse andmise kohta, kommentaarimärgi(#) taga on lühike seletus antud õiguse kohta. Soovitus on püüda ära arvata, mis õiguseid muudetakse ja milliseks, ning seejärel kontrollida kommentaarimärgi tagant!&lt;br /&gt;
olcAccess: to *&lt;br /&gt;
	by self write&lt;br /&gt;
	by anonymous auth&lt;br /&gt;
	by * read&lt;br /&gt;
#muudetakse kõigi kirjete õigusi järgnevaks: 1)kasutaja saab endaga seotud kirjeid muuta; 2)autentimata kasutajad peavad ennast autentima(sisse logima); 3)kõik saavad lugeda- kuna oluline on subjektide järjekord, siis direktiivi piires on objekti(antudjuhul kõigi kirjete) lugemiseks vaja ennast autentida! Ehk selle direktiivi piires on viimane rida sama mis „by users read“ tulenevalt punktist 2!&lt;br /&gt;
olcAccess: to attr=userPassword&lt;br /&gt;
	by self =xw&lt;br /&gt;
	by anonymous auth&lt;br /&gt;
	by * none&lt;br /&gt;
#Piiratakse ligipääsu atribuudi &#039;userPassword&#039; järgmiselt: 1)kasutaja saab oma parooli uuendada (kuid mitte lugeda); 2)autentimata kasutajad peavad ennast autentima(sisse logima); 3)kõikidel teistel puudub ligipääs.&lt;br /&gt;
Käsitlusala (scope)  kasutamise näide, erinevuse väljatoomiseks:&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by * search&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=com&amp;quot;&lt;br /&gt;
	by * read&lt;br /&gt;
#Lugemisõigus antakse dc=com alampuule, välja arvatud dc=example,dc=com alampuule, millele antakse otsingu õigus. Kuna kumbki direktiiv ei sobi dc=com jaoks, siis sellele õiguseid ei anta. Selleks, et saaks alampuudest otsida, peab olema lugemisõigus „dc=com“ kirjetele &lt;br /&gt;
Kui direktiivide järjekord on oluline:&lt;br /&gt;
olcAccess: to dn.subtree=&amp;quot;dc=example,dc=com&amp;quot; attrs=homePhone&lt;br /&gt;
	by self write&lt;br /&gt;
	by dn.children=dc=example,dc=com&amp;quot; search&lt;br /&gt;
	by peername.regex=IP:10\..+ read&lt;br /&gt;
olcAccess: to dn.subtree=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by self write&lt;br /&gt;
	by dn.children=&amp;quot;dc=example,dc=com&amp;quot; search&lt;br /&gt;
	by anonymous auth&lt;br /&gt;
#näide kehtib „dc=example,dc=com“ alampuus olevate kirjete kohta. Kõikidel atribuutidel välja arvatud „homePhone“ lubatakse enda kirjet muuta „dc=example,dc=com“ alampuus.&lt;br /&gt;
&lt;br /&gt;
Gruppide õiguste piiramine:&lt;br /&gt;
Võtame aluseks, et on olemas grupp (administrators), mille defineerib järgmine LDIF vormingus sissekanne:&lt;br /&gt;
dn: cn=administrators,dc=example,dc=com&lt;br /&gt;
cn: administrators of this region&lt;br /&gt;
objectclass: groupOfNames&lt;br /&gt;
#eelmine rida on oluline grupi ligipääsu andmisel&lt;br /&gt;
member: cn=fred blogs,dc=example,dc=com&lt;br /&gt;
member: cn=somebody else,dc=example,dc=com&lt;br /&gt;
&lt;br /&gt;
Üks võimalus gruppi liikmetele ligipääsu anda on kasutada klauslit by group:&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by group.exact=&amp;quot;cn=administrators,dc=example,dc=com&amp;quot; write&lt;br /&gt;
&lt;br /&gt;
Või sama asi objektiklassi ja atribuuti kasutades:&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by group/groupOfNames/member=&amp;quot;cn=administrators,dc=example,dc=com&amp;quot; write&lt;br /&gt;
&lt;br /&gt;
#Sellistel kujudel saavad kirjutamisõiguse grupi liikmed, kuid kui „cn=somebody else,dc=example,dc=com“ on omakorda grupi nimi, siis selle grupi liikmetele õigused ei laiene! Alamgrupi liikmeid on võimalik kaasata järgnevalt:&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by set=&amp;quot;[cn=administrators,dc=example,dc=com]/member* &amp;amp; user&amp;quot; write&lt;br /&gt;
#“/member*“ tähendab, et kontrollitakse member atribuuti ja * tähendab, et kontrollitakse rekursiivselt (st. ka gruppide liikmeid), seejärel kontrollitakse, kas autentitud kasutaja DN vastab mõnele eelnenud päringu käigus saadud DN väärtusele. Kui vastab antakse kirjutamise õigus.&lt;br /&gt;
&lt;br /&gt;
Loe lisaks originaalmaterjali OpenLDAP-i administraatori teejuhist[LDAP Access Control].&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Juhend põhineb [http://kuutorvaja.eenet.ee/wiki/OpenLDAP_kasutamine_Debianiga kuutõrvaja wikil], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&amp;lt;br&amp;gt;&lt;br /&gt;
Paigaldada tuleb paketid: &amp;lt;br&amp;gt;&lt;br /&gt;
 libnss-ldap, libpam-ldap ja ldap-auth-config.&lt;br /&gt;
Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on &#039;&#039;&#039;soovitav vastus&#039;&#039;&#039; (tumedal taustal) ja sulgudes põhjendus:&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenLDAP serveri IP aadressi või masina nimi: &#039;&#039;&#039;ldap://localhost&#039;&#039;&#039; või &#039;&#039;&#039;ldap://127.0.0.1&#039;&#039;&#039; (OpenLDAP server asub samas virtuaalmasinas);&amp;lt;br&amp;gt;&lt;br /&gt;
*distinguished name (DN): &#039;&#039;&#039;dc=naide,dc=ee&#039;&#039;&#039; ( näiteülesande DN on selline);&amp;lt;br&amp;gt;&lt;br /&gt;
*LDAP versioon: &#039;&#039;&#039;3&#039;&#039;&#039; (uuem versioon);&amp;lt;br&amp;gt;&lt;br /&gt;
*kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: &#039;&#039;&#039;ei&#039;&#039;&#039; (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);&amp;lt;br&amp;gt;&lt;br /&gt;
*kas LDAP andmebaasile ligipääs nõuab sisselogimist: &#039;&#039;&#039;ei&#039;&#039;&#039; (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool olevate vastuste põhjal luuakse &#039;&#039;/etc/ldap.conf&#039;&#039; 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 &#039;&#039;/etc/pam.d/common-session&#039;&#039; faili lõppu, et süsteem ise puuduolevad kodukataloogid looks:&amp;lt;br&amp;gt;&lt;br /&gt;
 session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on &#039;&#039;&#039;kohustuslikud&#039;&#039;&#039; Linuxisse logivatel kasutajatel &#039;&#039;&#039;atribuudid&#039;&#039;&#039; (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja &#039;&#039;&#039;objektiklassid&#039;&#039;&#039; (account, posixaccount ja top)[http://quark.humbug.org.au/publications/ldap/ldap_tut.html]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine Wiki artiklil] ja [http://enos.itcollege.ee/~aandreim/linux/advanced_latest/6_Kerberos_ja_LDAP.pdf Antti Andreimann LDAP-i õppematerjalil].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph&lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&amp;lt;br&amp;gt;&lt;br /&gt;
 $DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;;&lt;br /&gt;
 $DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;;&lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
 /usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili  ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
 /usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
 /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif&lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
==== Teenuse varundamine ====&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&amp;lt;br&amp;gt;&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil]. &amp;lt;br&amp;gt;&lt;br /&gt;
Varukoopiate hoidmiseks loome kataloogid /var/backup/ldap/db ja /var/backup/ldap/db kataloogi järgmise käsuga:&lt;br /&gt;
 mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
 slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
 Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad &#039;&#039;/etc/ldap/ kataloogis&#039;&#039;, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
 tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
==== Teenuse taastamine ====&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil] &amp;lt;br&amp;gt; &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasi taastamine&#039;&#039;&#039; &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
 gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
Kuna tavatingimustes, on andmebaasid suured, siis kasutatakse taastamisel andmete importimiseks serveritööriista slapadd. Slapadd nagu ka teised kataloogiteenuse &#039;&#039;&#039;serveri tööriistad vajavad töötamiseks baasi ainukasutusõigust, selleks peab slapd&#039;i seisma panema&#039;&#039;&#039;:&lt;br /&gt;
 /etc/init.d/slapd stop&lt;br /&gt;
 slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seadistusfailide taastamine&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
 tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
&#039;&#039;&#039;Kui seadistamise käigus ei küsitud LDAP administraatori parooli&#039;&#039;&#039;, siis tuleb see ise käsitsi lisada- ka korduval seadistamisel ei esitata seda võimalust. Selleks korrigeeri failides:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
 ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OpenLDAP serveri paigaldamisel ei looda baasiparameetrite&#039;&#039;&#039; faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (vaata alla poole), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
Õpiobjekti osaks on ka laboriülesande loomise ja lahenduse kontrollimise skripti esialgne varjant, mida tuleks parandada ja täiendada![http://enos.itcollege.ee/~kkarma/6piobjekti_skriptid.tar.bz2 skriptide pakk]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43935</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43935"/>
		<updated>2011-12-05T21:47:10Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* LDAP-i õiguste mudel ja õiguste jagamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[https://help.ubuntu.com/community/OpenLDAPServer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 result: 0 Success või &lt;br /&gt;
 result: 32 No such object&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Cant contact LDAP server (-1) &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
*result: 32 No such object- tähendab, et LDAP serveriga saadi ühendust, kuid andmebaasis ei olnud päritud objekti. &lt;br /&gt;
Tuleks kontrollida, kas klienditööriista seaded on õiged ja kas tehtud päring oli õige.&lt;br /&gt;
*ldap_sasl_bind(SIMPLE): Cant contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, &lt;br /&gt;
&lt;br /&gt;
selleks sisesta terminali:&lt;br /&gt;
 netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
 /etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad &#039;&#039;/var/log/syslog&#039;&#039; failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
Et saada paremat üldpilti ja paremini mõista, millega tegeletakse, on soovitav paigaldada ja seadistada veebipõhine LDAP-i administreerimise liides [http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page phpLDAPadmin]. Seadistamise hõlbustamiseks on õpiobjektiga kaasas fail config.php, kus tuleb asendada &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb [http://www.openldap.org/doc/admin24/guide.html#Access%20Control OpenLDAP administraatori teejuhi] refereeringul.&amp;lt;br&amp;gt;&lt;br /&gt;
Kataloogiteenus võib sisaldada erineva tundlikusega (sensitivity) informatsiooni, mistõttu võibolla vajalik, et mingile osale informatsioonist peavad kõik piiranguteta ligi saama, seevastu teine osa informatsiooni peab olema nähtav väga väiksele osale kasutajatest.&lt;br /&gt;
&lt;br /&gt;
OpenLDAP-il on veidi erinev ligipääsu seadistusmeetod vana (e. seadustusfailist) ja uue (e. andmebaasist) seadistamise jaoks, seda lähtuvalt seadistuse asukohast (kirjutamisest seadistusfail vs. andmebaasi importimisest). Õiguse andmise sisuline osa on peaaegu sama, erinevus vaid andmebaasi importimisel vajalik lisarida faili alguses,mida seadistusfaili puhul ei kirjutata:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|&amp;lt;ligipääsu direktiivi nimetus&amp;gt; ::= access to &amp;lt;ligipääsuobjekt- vt Tabel 3&amp;gt;&lt;br /&gt;
[by &amp;lt;ligipääsusubjekt- vt Tabel 4&amp;gt; [&amp;lt;ligipääsutase- Tabel 5&amp;gt;] [&amp;lt;erinev kontrolli võimalus- Tabel 6&amp;gt;] ]+&lt;br /&gt;
|}&lt;br /&gt;
*Valem 1- Ligipääsuõiguse reguleerimine konfiguratsioonifailist seadistamisel &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|olcAccess: &amp;lt;ligipääsu direktiivi nimetus&amp;gt; &lt;br /&gt;
&amp;lt;ligipääsu direktiivi nimetus&amp;gt; ::= to &amp;lt;ligipääsu objekt- vt Tabel 3&amp;gt;&lt;br /&gt;
[by &amp;lt;ligipääsu subjekt- vt Tabel 4&amp;gt; [&amp;lt;ligipääsu tase- Tabel 5&amp;gt;] [&amp;lt;erinev kontrolli võimalus- Tabel 6&amp;gt;] ]+&lt;br /&gt;
|}&lt;br /&gt;
*Valem 2- Ligipääsuõiguse reguleerimine andmebaasi seadistust kasutades&lt;br /&gt;
&lt;br /&gt;
Eelpool kirjeldatud valemid (Valem 1 ja 2) koosnevad neljast komponendist: &lt;br /&gt;
ligipääsuobjekt - Tabelisse 3 on kogutud kõik võimalused, millega määratakse käsitletavat kirjet või atribuuti- ehk mille ligipääsu reguleeritakse; &lt;br /&gt;
ligipääsusubjekti- Tabelis 4 on kirjeldatud võimalikud varjandid, kuidas määrata kasutajat/kasutajagruppi, kellele ligipääsu muudetakse; &lt;br /&gt;
ligipääsutase- Tabelis 5 on loetletud erinevad ligipääsuõiguse liigid;&lt;br /&gt;
erinev kontrolli võimalu- Tabelis 6 on loetletud täiendavad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tabel 3 Ligipääsuobjekti määramise viisid&lt;br /&gt;
&#039;&#039;&#039;TABEL3&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|Tähis&lt;br /&gt;
|Tähendus&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|Kehtib kõigi kirjete kohta&lt;br /&gt;
|-&lt;br /&gt;
|dn.regex=&amp;lt;regex&amp;gt;&lt;br /&gt;
|DN piiratakse kasutades regulaaravaldisi&lt;br /&gt;
|-&lt;br /&gt;
|dn.exact=&amp;lt;regex&amp;gt;&lt;br /&gt;
|DN piiratakse täpse DN&#039;ga kasutades regulaaravaldisi- vaata näiteid!&lt;br /&gt;
|-&lt;br /&gt;
|käsitlusala: base=&amp;lt;DN&amp;gt;&lt;br /&gt;
|Base ühitub ainult näidatud DN-i kirjega&lt;br /&gt;
|-&lt;br /&gt;
|käsitlusala: one=&amp;lt;DN&amp;gt;&lt;br /&gt;
|One ühitub ainult kirjetega, mille DN on nendest hierarhiliselt kõrgemal&lt;br /&gt;
|-&lt;br /&gt;
|käsitlusala: subtree=&amp;lt;DN&amp;gt;&lt;br /&gt;
|Subtree ühitub kõigi alampuu kirjetega, mille kõrgeimal hierarhjal paiknev kataloog (juurkataloog) on antud DN&lt;br /&gt;
|-&lt;br /&gt;
|käsitlusala: children=&amp;lt;DN&amp;gt;&lt;br /&gt;
|children ühitub kõigi DN all olevate kirjetega (aga mitte DN-i poolt nimetatud kirjega)&lt;br /&gt;
|-&lt;br /&gt;
|[filter=&amp;lt;ldapfilter&amp;gt;] &lt;br /&gt;
|Kirjed valitakse LDAP filtriga, sarnaselt ldapsearch tööriista filtri kasutamisele&lt;br /&gt;
|-&lt;br /&gt;
|[attrs=&amp;lt;attrlist&amp;gt;]&lt;br /&gt;
|Konkreetsete atribuutide loetelu, atribuudid eraldatakse üksteisest komaga&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ligipääsuobjekti saab valida kas DN-i või LDAP filtrit kasutades. seejuures saab ühe diretkiivi piires olla vaid üks ligipääsuobjekt, millega võib olla seotud mitmeid subjekte, kellest igaühele on omistatud 1 ligipääsutase.&lt;br /&gt;
&#039;&#039;&#039;TABEL4&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ligipääsu on võimalik anda taseme nimetusega (näiteks write) või privileegi nimetusega. Seda on oluline teada, sest andes write taseme, antakse automaatselt ka kõik madalama taseme õigused (read, search, compare, auth ja disclose). Kuid on võimalik anda ka vaid üksikuid privileege(vt. Tabel 5).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabel 5 Ligipääsutasemed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabel 6 Kontroll&#039;&#039;&#039;&lt;br /&gt;
Ligipääsuõiguseid saab anda kas globaalselt üle kõigi LDAP andmebaaside või iga andmebaasi kohta eraldi. Ligipääsuõiguseid otsitakse kõigepealt andmebaasist, kus kirje paikneb.&lt;br /&gt;
Ligipääsuõiguste andmisel on väga oluline direktiivide kirjapaneku järjekord, sest õiguste kontrollimisel käiakse nimekiri samas järjekorras läbi ja peatutakse esimesel võimalusel, kui ligipääsubjekti vaste leitakse.&lt;br /&gt;
Kui ligipääsuõiguste seas ei ole ligipääsuobjektile vastavat direktiivi siis vaikesätetest antakse kirje lugemise õigus. Selleks et infole saaks ligi vaid need kellele see on mõeldud, soovitatakse viimaseks direktiiviks „access to * by * none“&lt;br /&gt;
&lt;br /&gt;
Järgnevalt on toodud näiteid ligipääsuõiguse andmise kohta, kommentaarimärgi(#) taga on lühike seletus antud õiguse kohta. Soovitus on püüda ära arvata, mis õiguseid muudetakse ja milliseks, ning seejärel kontrollida kommentaarimärgi tagant!&lt;br /&gt;
olcAccess: to *&lt;br /&gt;
	by self write&lt;br /&gt;
	by anonymous auth&lt;br /&gt;
	by * read&lt;br /&gt;
#muudetakse kõigi kirjete õigusi järgnevaks: 1)kasutaja saab endaga seotud kirjeid muuta; 2)autentimata kasutajad peavad ennast autentima(sisse logima); 3)kõik saavad lugeda- kuna oluline on subjektide järjekord, siis direktiivi piires on objekti(antudjuhul kõigi kirjete) lugemiseks vaja ennast autentida! Ehk selle direktiivi piires on viimane rida sama mis „by users read“ tulenevalt punktist 2!&lt;br /&gt;
olcAccess: to attr=userPassword&lt;br /&gt;
	by self =xw&lt;br /&gt;
	by anonymous auth&lt;br /&gt;
	by * none&lt;br /&gt;
#Piiratakse ligipääsu atribuudi &#039;userPassword&#039; järgmiselt: 1)kasutaja saab oma parooli uuendada (kuid mitte lugeda); 2)autentimata kasutajad peavad ennast autentima(sisse logima); 3)kõikidel teistel puudub ligipääs.&lt;br /&gt;
Käsitlusala (scope)  kasutamise näide, erinevuse väljatoomiseks:&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by * search&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=com&amp;quot;&lt;br /&gt;
	by * read&lt;br /&gt;
#Lugemisõigus antakse dc=com alampuule, välja arvatud dc=example,dc=com alampuule, millele antakse otsingu õigus. Kuna kumbki direktiiv ei sobi dc=com jaoks, siis sellele õiguseid ei anta. Selleks, et saaks alampuudest otsida, peab olema lugemisõigus „dc=com“ kirjetele &lt;br /&gt;
Kui direktiivide järjekord on oluline:&lt;br /&gt;
olcAccess: to dn.subtree=&amp;quot;dc=example,dc=com&amp;quot; attrs=homePhone&lt;br /&gt;
	by self write&lt;br /&gt;
	by dn.children=dc=example,dc=com&amp;quot; search&lt;br /&gt;
	by peername.regex=IP:10\..+ read&lt;br /&gt;
olcAccess: to dn.subtree=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by self write&lt;br /&gt;
	by dn.children=&amp;quot;dc=example,dc=com&amp;quot; search&lt;br /&gt;
	by anonymous auth&lt;br /&gt;
#näide kehtib „dc=example,dc=com“ alampuus olevate kirjete kohta. Kõikidel atribuutidel välja arvatud „homePhone“ lubatakse enda kirjet muuta „dc=example,dc=com“ alampuus.&lt;br /&gt;
&lt;br /&gt;
Gruppide õiguste piiramine:&lt;br /&gt;
Võtame aluseks, et on olemas grupp (administrators), mille defineerib järgmine LDIF vormingus sissekanne:&lt;br /&gt;
dn: cn=administrators,dc=example,dc=com&lt;br /&gt;
cn: administrators of this region&lt;br /&gt;
objectclass: groupOfNames&lt;br /&gt;
#eelmine rida on oluline grupi ligipääsu andmisel&lt;br /&gt;
member: cn=fred blogs,dc=example,dc=com&lt;br /&gt;
member: cn=somebody else,dc=example,dc=com&lt;br /&gt;
&lt;br /&gt;
Üks võimalus gruppi liikmetele ligipääsu anda on kasutada klauslit by group:&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by group.exact=&amp;quot;cn=administrators,dc=example,dc=com&amp;quot; write&lt;br /&gt;
&lt;br /&gt;
Või sama asi objektiklassi ja atribuuti kasutades:&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by group/groupOfNames/member=&amp;quot;cn=administrators,dc=example,dc=com&amp;quot; write&lt;br /&gt;
&lt;br /&gt;
#Sellistel kujudel saavad kirjutamisõiguse grupi liikmed, kuid kui „cn=somebody else,dc=example,dc=com“ on omakorda grupi nimi, siis selle grupi liikmetele õigused ei laiene! Alamgrupi liikmeid on võimalik kaasata järgnevalt:&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by set=&amp;quot;[cn=administrators,dc=example,dc=com]/member* &amp;amp; user&amp;quot; write&lt;br /&gt;
#“/member*“ tähendab, et kontrollitakse member atribuuti ja * tähendab, et kontrollitakse rekursiivselt (st. ka gruppide liikmeid), seejärel kontrollitakse, kas autentitud kasutaja DN vastab mõnele eelnenud päringu käigus saadud DN väärtusele. Kui vastab antakse kirjutamise õigus.&lt;br /&gt;
&lt;br /&gt;
Loe lisaks originaalmaterjali OpenLDAP-i administraatori teejuhist[LDAP Access Control].&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Juhend põhineb [http://kuutorvaja.eenet.ee/wiki/OpenLDAP_kasutamine_Debianiga kuutõrvaja wikil], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&amp;lt;br&amp;gt;&lt;br /&gt;
Paigaldada tuleb paketid: &amp;lt;br&amp;gt;&lt;br /&gt;
 libnss-ldap, libpam-ldap ja ldap-auth-config.&lt;br /&gt;
Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on &#039;&#039;&#039;soovitav vastus&#039;&#039;&#039; (tumedal taustal) ja sulgudes põhjendus:&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenLDAP serveri IP aadressi või masina nimi: &#039;&#039;&#039;ldap://localhost&#039;&#039;&#039; või &#039;&#039;&#039;ldap://127.0.0.1&#039;&#039;&#039; (OpenLDAP server asub samas virtuaalmasinas);&amp;lt;br&amp;gt;&lt;br /&gt;
*distinguished name (DN): &#039;&#039;&#039;dc=naide,dc=ee&#039;&#039;&#039; ( näiteülesande DN on selline);&amp;lt;br&amp;gt;&lt;br /&gt;
*LDAP versioon: &#039;&#039;&#039;3&#039;&#039;&#039; (uuem versioon);&amp;lt;br&amp;gt;&lt;br /&gt;
*kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: &#039;&#039;&#039;ei&#039;&#039;&#039; (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);&amp;lt;br&amp;gt;&lt;br /&gt;
*kas LDAP andmebaasile ligipääs nõuab sisselogimist: &#039;&#039;&#039;ei&#039;&#039;&#039; (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool olevate vastuste põhjal luuakse &#039;&#039;/etc/ldap.conf&#039;&#039; 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 &#039;&#039;/etc/pam.d/common-session&#039;&#039; faili lõppu, et süsteem ise puuduolevad kodukataloogid looks:&amp;lt;br&amp;gt;&lt;br /&gt;
 session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on &#039;&#039;&#039;kohustuslikud&#039;&#039;&#039; Linuxisse logivatel kasutajatel &#039;&#039;&#039;atribuudid&#039;&#039;&#039; (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja &#039;&#039;&#039;objektiklassid&#039;&#039;&#039; (account, posixaccount ja top)[http://quark.humbug.org.au/publications/ldap/ldap_tut.html]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine Wiki artiklil] ja [http://enos.itcollege.ee/~aandreim/linux/advanced_latest/6_Kerberos_ja_LDAP.pdf Antti Andreimann LDAP-i õppematerjalil].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph&lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&amp;lt;br&amp;gt;&lt;br /&gt;
 $DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;;&lt;br /&gt;
 $DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;;&lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
 /usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili  ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
 /usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
 /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif&lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
==== Teenuse varundamine ====&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&amp;lt;br&amp;gt;&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil]. &amp;lt;br&amp;gt;&lt;br /&gt;
Varukoopiate hoidmiseks loome kataloogid /var/backup/ldap/db ja /var/backup/ldap/db kataloogi järgmise käsuga:&lt;br /&gt;
 mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
 slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
 Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad &#039;&#039;/etc/ldap/ kataloogis&#039;&#039;, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
 tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
==== Teenuse taastamine ====&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil] &amp;lt;br&amp;gt; &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasi taastamine&#039;&#039;&#039; &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
 gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
Kuna tavatingimustes, on andmebaasid suured, siis kasutatakse taastamisel andmete importimiseks serveritööriista slapadd. Slapadd nagu ka teised kataloogiteenuse &#039;&#039;&#039;serveri tööriistad vajavad töötamiseks baasi ainukasutusõigust, selleks peab slapd&#039;i seisma panema&#039;&#039;&#039;:&lt;br /&gt;
 /etc/init.d/slapd stop&lt;br /&gt;
 slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seadistusfailide taastamine&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
 tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
&#039;&#039;&#039;Kui seadistamise käigus ei küsitud LDAP administraatori parooli&#039;&#039;&#039;, siis tuleb see ise käsitsi lisada- ka korduval seadistamisel ei esitata seda võimalust. Selleks korrigeeri failides:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
 ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OpenLDAP serveri paigaldamisel ei looda baasiparameetrite&#039;&#039;&#039; faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (vaata alla poole), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
Õpiobjekti osaks on ka laboriülesande loomise ja lahenduse kontrollimise skripti esialgne varjant, mida tuleks parandada ja täiendada![http://enos.itcollege.ee/~kkarma/6piobjekti_skriptid.tar.bz2 skriptide pakk]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43934</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43934"/>
		<updated>2011-12-05T21:35:58Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* LDAP-i õiguste mudel ja õiguste jagamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[https://help.ubuntu.com/community/OpenLDAPServer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 result: 0 Success või &lt;br /&gt;
 result: 32 No such object&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Cant contact LDAP server (-1) &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
*result: 32 No such object- tähendab, et LDAP serveriga saadi ühendust, kuid andmebaasis ei olnud päritud objekti. &lt;br /&gt;
Tuleks kontrollida, kas klienditööriista seaded on õiged ja kas tehtud päring oli õige.&lt;br /&gt;
*ldap_sasl_bind(SIMPLE): Cant contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, &lt;br /&gt;
&lt;br /&gt;
selleks sisesta terminali:&lt;br /&gt;
 netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
 /etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad &#039;&#039;/var/log/syslog&#039;&#039; failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
Et saada paremat üldpilti ja paremini mõista, millega tegeletakse, on soovitav paigaldada ja seadistada veebipõhine LDAP-i administreerimise liides [http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page phpLDAPadmin]. Seadistamise hõlbustamiseks on õpiobjektiga kaasas fail config.php, kus tuleb asendada &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb [http://www.openldap.org/doc/admin24/guide.html#Access%20Control OpenLDAP administraatori teejuhi] refereeringul.&amp;lt;br&amp;gt;&lt;br /&gt;
Kataloogiteenus võib sisaldada erineva tundlikusega (sensitivity) informatsiooni, mistõttu võibolla vajalik, et mingile osale informatsioonist peavad kõik piiranguteta ligi saama, seevastu teine osa informatsiooni peab olema nähtav väga väiksele osale kasutajatest.&lt;br /&gt;
&lt;br /&gt;
OpenLDAP-il on veidi erinev ligipääsu seadistusmeetod vana (e. seadustusfailist) ja uue (e. andmebaasist) seadistamise jaoks, seda lähtuvalt seadistuse asukohast (kirjutamisest seadistusfail vs. andmebaasi importimisest). Õiguse andmise sisuline osa on peaaegu sama, erinevus vaid andmebaasi importimisel vajalik lisarida faili alguses,mida seadistusfaili puhul ei kirjutata:&lt;br /&gt;
 &#039;&#039;&#039;TABEL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ligipääsu direktiivi nimetus&amp;gt; ::= access to &amp;lt;ligipääsuobjekt- vt Tabel 3&amp;gt;&lt;br /&gt;
	[by &amp;lt;ligipääsusubjekt- vt Tabel 4&amp;gt; [&amp;lt;ligipääsutase- Tabel 5&amp;gt;] [&amp;lt;erinev kontrolli võimalus- Tabel 6&amp;gt;] ]+&lt;br /&gt;
*Valem 1- Ligipääsuõiguse reguleerimine konfiguratsioonifailist seadistamisel&lt;br /&gt;
&lt;br /&gt;
olcAccess: &amp;lt;ligipääsu direktiivi nimetus&amp;gt; &lt;br /&gt;
&amp;lt;ligipääsu direktiivi nimetus&amp;gt; ::= to &amp;lt;ligipääsu objekt- vt Tabel 3&amp;gt;&lt;br /&gt;
	[by &amp;lt;ligipääsu subjekt- vt Tabel 4&amp;gt; [&amp;lt;ligipääsu tase- Tabel 5&amp;gt;] [&amp;lt;erinev kontrolli võimalus- Tabel 6&amp;gt;] ]+&lt;br /&gt;
*Valem 2- Ligipääsuõiguse reguleerimine andmebaasi seadistust kasutades&lt;br /&gt;
&lt;br /&gt;
Eelpool kirjeldatud valemid (Valem 1 ja 2) koosnevad neljast komponendist: &lt;br /&gt;
ligipääsuobjekt - Tabelisse 3 on kogutud kõik võimalused, millega määratakse käsitletavat kirjet või atribuuti- ehk mille ligipääsu reguleeritakse; &lt;br /&gt;
ligipääsusubjekti- Tabelis 4 on kirjeldatud võimalikud varjandid, kuidas määrata kasutajat/kasutajagruppi, kellele ligipääsu muudetakse; &lt;br /&gt;
ligipääsutase- Tabelis 5 on loetletud erinevad ligipääsuõiguse liigid;&lt;br /&gt;
erinev kontrolli võimalu- Tabelis 6 on loetletud täiendavad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tabel 3 Ligipääsuobjekti määramise viisid&lt;br /&gt;
&#039;&#039;&#039;TABEL3&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ligipääsuobjekti saab valida kas DN-i või LDAP filtrit kasutades. seejuures saab ühe diretkiivi piires olla vaid üks ligipääsuobjekt, millega võib olla seotud mitmeid subjekte, kellest igaühele on omistatud 1 ligipääsutase.&lt;br /&gt;
&#039;&#039;&#039;TABEL4&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ligipääsu on võimalik anda taseme nimetusega (näiteks write) või privileegi nimetusega. Seda on oluline teada, sest andes write taseme, antakse automaatselt ka kõik madalama taseme õigused (read, search, compare, auth ja disclose). Kuid on võimalik anda ka vaid üksikuid privileege(vt. Tabel 5).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabel 5 Ligipääsutasemed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabel 6 Kontroll&#039;&#039;&#039;&lt;br /&gt;
Ligipääsuõiguseid saab anda kas globaalselt üle kõigi LDAP andmebaaside või iga andmebaasi kohta eraldi. Ligipääsuõiguseid otsitakse kõigepealt andmebaasist, kus kirje paikneb.&lt;br /&gt;
Ligipääsuõiguste andmisel on väga oluline direktiivide kirjapaneku järjekord, sest õiguste kontrollimisel käiakse nimekiri samas järjekorras läbi ja peatutakse esimesel võimalusel, kui ligipääsubjekti vaste leitakse.&lt;br /&gt;
Kui ligipääsuõiguste seas ei ole ligipääsuobjektile vastavat direktiivi siis vaikesätetest antakse kirje lugemise õigus. Selleks et infole saaks ligi vaid need kellele see on mõeldud, soovitatakse viimaseks direktiiviks „access to * by * none“&lt;br /&gt;
&lt;br /&gt;
Järgnevalt on toodud näiteid ligipääsuõiguse andmise kohta, kommentaarimärgi(#) taga on lühike seletus antud õiguse kohta. Soovitus on püüda ära arvata, mis õiguseid muudetakse ja milliseks, ning seejärel kontrollida kommentaarimärgi tagant!&lt;br /&gt;
olcAccess: to *&lt;br /&gt;
	by self write&lt;br /&gt;
	by anonymous auth&lt;br /&gt;
	by * read&lt;br /&gt;
#muudetakse kõigi kirjete õigusi järgnevaks: 1)kasutaja saab endaga seotud kirjeid muuta; 2)autentimata kasutajad peavad ennast autentima(sisse logima); 3)kõik saavad lugeda- kuna oluline on subjektide järjekord, siis direktiivi piires on objekti(antudjuhul kõigi kirjete) lugemiseks vaja ennast autentida! Ehk selle direktiivi piires on viimane rida sama mis „by users read“ tulenevalt punktist 2!&lt;br /&gt;
olcAccess: to attr=userPassword&lt;br /&gt;
	by self =xw&lt;br /&gt;
	by anonymous auth&lt;br /&gt;
	by * none&lt;br /&gt;
#Piiratakse ligipääsu atribuudi &#039;userPassword&#039; järgmiselt: 1)kasutaja saab oma parooli uuendada (kuid mitte lugeda); 2)autentimata kasutajad peavad ennast autentima(sisse logima); 3)kõikidel teistel puudub ligipääs.&lt;br /&gt;
Käsitlusala (scope)  kasutamise näide, erinevuse väljatoomiseks:&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by * search&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=com&amp;quot;&lt;br /&gt;
	by * read&lt;br /&gt;
#Lugemisõigus antakse dc=com alampuule, välja arvatud dc=example,dc=com alampuule, millele antakse otsingu õigus. Kuna kumbki direktiiv ei sobi dc=com jaoks, siis sellele õiguseid ei anta. Selleks, et saaks alampuudest otsida, peab olema lugemisõigus „dc=com“ kirjetele &lt;br /&gt;
Kui direktiivide järjekord on oluline:&lt;br /&gt;
olcAccess: to dn.subtree=&amp;quot;dc=example,dc=com&amp;quot; attrs=homePhone&lt;br /&gt;
	by self write&lt;br /&gt;
	by dn.children=dc=example,dc=com&amp;quot; search&lt;br /&gt;
	by peername.regex=IP:10\..+ read&lt;br /&gt;
olcAccess: to dn.subtree=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by self write&lt;br /&gt;
	by dn.children=&amp;quot;dc=example,dc=com&amp;quot; search&lt;br /&gt;
	by anonymous auth&lt;br /&gt;
#näide kehtib „dc=example,dc=com“ alampuus olevate kirjete kohta. Kõikidel atribuutidel välja arvatud „homePhone“ lubatakse enda kirjet muuta „dc=example,dc=com“ alampuus.&lt;br /&gt;
&lt;br /&gt;
Gruppide õiguste piiramine:&lt;br /&gt;
Võtame aluseks, et on olemas grupp (administrators), mille defineerib järgmine LDIF vormingus sissekanne:&lt;br /&gt;
dn: cn=administrators,dc=example,dc=com&lt;br /&gt;
cn: administrators of this region&lt;br /&gt;
objectclass: groupOfNames&lt;br /&gt;
#eelmine rida on oluline grupi ligipääsu andmisel&lt;br /&gt;
member: cn=fred blogs,dc=example,dc=com&lt;br /&gt;
member: cn=somebody else,dc=example,dc=com&lt;br /&gt;
&lt;br /&gt;
Üks võimalus gruppi liikmetele ligipääsu anda on kasutada klauslit by group:&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by group.exact=&amp;quot;cn=administrators,dc=example,dc=com&amp;quot; write&lt;br /&gt;
&lt;br /&gt;
Või sama asi objektiklassi ja atribuuti kasutades:&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by group/groupOfNames/member=&amp;quot;cn=administrators,dc=example,dc=com&amp;quot; write&lt;br /&gt;
&lt;br /&gt;
#Sellistel kujudel saavad kirjutamisõiguse grupi liikmed, kuid kui „cn=somebody else,dc=example,dc=com“ on omakorda grupi nimi, siis selle grupi liikmetele õigused ei laiene! Alamgrupi liikmeid on võimalik kaasata järgnevalt:&lt;br /&gt;
olcAccess: to dn.children=&amp;quot;dc=example,dc=com&amp;quot;&lt;br /&gt;
	by set=&amp;quot;[cn=administrators,dc=example,dc=com]/member* &amp;amp; user&amp;quot; write&lt;br /&gt;
#“/member*“ tähendab, et kontrollitakse member atribuuti ja * tähendab, et kontrollitakse rekursiivselt (st. ka gruppide liikmeid), seejärel kontrollitakse, kas autentitud kasutaja DN vastab mõnele eelnenud päringu käigus saadud DN väärtusele. Kui vastab antakse kirjutamise õigus.&lt;br /&gt;
&lt;br /&gt;
Loe lisaks originaalmaterjali OpenLDAP-i administraatori teejuhist[LDAP Access Control].&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Juhend põhineb [http://kuutorvaja.eenet.ee/wiki/OpenLDAP_kasutamine_Debianiga kuutõrvaja wikil], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&amp;lt;br&amp;gt;&lt;br /&gt;
Paigaldada tuleb paketid: &amp;lt;br&amp;gt;&lt;br /&gt;
 libnss-ldap, libpam-ldap ja ldap-auth-config.&lt;br /&gt;
Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on &#039;&#039;&#039;soovitav vastus&#039;&#039;&#039; (tumedal taustal) ja sulgudes põhjendus:&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenLDAP serveri IP aadressi või masina nimi: &#039;&#039;&#039;ldap://localhost&#039;&#039;&#039; või &#039;&#039;&#039;ldap://127.0.0.1&#039;&#039;&#039; (OpenLDAP server asub samas virtuaalmasinas);&amp;lt;br&amp;gt;&lt;br /&gt;
*distinguished name (DN): &#039;&#039;&#039;dc=naide,dc=ee&#039;&#039;&#039; ( näiteülesande DN on selline);&amp;lt;br&amp;gt;&lt;br /&gt;
*LDAP versioon: &#039;&#039;&#039;3&#039;&#039;&#039; (uuem versioon);&amp;lt;br&amp;gt;&lt;br /&gt;
*kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: &#039;&#039;&#039;ei&#039;&#039;&#039; (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);&amp;lt;br&amp;gt;&lt;br /&gt;
*kas LDAP andmebaasile ligipääs nõuab sisselogimist: &#039;&#039;&#039;ei&#039;&#039;&#039; (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool olevate vastuste põhjal luuakse &#039;&#039;/etc/ldap.conf&#039;&#039; 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 &#039;&#039;/etc/pam.d/common-session&#039;&#039; faili lõppu, et süsteem ise puuduolevad kodukataloogid looks:&amp;lt;br&amp;gt;&lt;br /&gt;
 session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on &#039;&#039;&#039;kohustuslikud&#039;&#039;&#039; Linuxisse logivatel kasutajatel &#039;&#039;&#039;atribuudid&#039;&#039;&#039; (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja &#039;&#039;&#039;objektiklassid&#039;&#039;&#039; (account, posixaccount ja top)[http://quark.humbug.org.au/publications/ldap/ldap_tut.html]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine Wiki artiklil] ja [http://enos.itcollege.ee/~aandreim/linux/advanced_latest/6_Kerberos_ja_LDAP.pdf Antti Andreimann LDAP-i õppematerjalil].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph&lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&amp;lt;br&amp;gt;&lt;br /&gt;
 $DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;;&lt;br /&gt;
 $DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;;&lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
 /usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili  ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
 /usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
 /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif&lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
==== Teenuse varundamine ====&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&amp;lt;br&amp;gt;&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil]. &amp;lt;br&amp;gt;&lt;br /&gt;
Varukoopiate hoidmiseks loome kataloogid /var/backup/ldap/db ja /var/backup/ldap/db kataloogi järgmise käsuga:&lt;br /&gt;
 mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
 slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
 Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad &#039;&#039;/etc/ldap/ kataloogis&#039;&#039;, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
 tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
==== Teenuse taastamine ====&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil] &amp;lt;br&amp;gt; &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasi taastamine&#039;&#039;&#039; &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
 gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
Kuna tavatingimustes, on andmebaasid suured, siis kasutatakse taastamisel andmete importimiseks serveritööriista slapadd. Slapadd nagu ka teised kataloogiteenuse &#039;&#039;&#039;serveri tööriistad vajavad töötamiseks baasi ainukasutusõigust, selleks peab slapd&#039;i seisma panema&#039;&#039;&#039;:&lt;br /&gt;
 /etc/init.d/slapd stop&lt;br /&gt;
 slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seadistusfailide taastamine&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
 tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
&#039;&#039;&#039;Kui seadistamise käigus ei küsitud LDAP administraatori parooli&#039;&#039;&#039;, siis tuleb see ise käsitsi lisada- ka korduval seadistamisel ei esitata seda võimalust. Selleks korrigeeri failides:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
 ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OpenLDAP serveri paigaldamisel ei looda baasiparameetrite&#039;&#039;&#039; faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (vaata alla poole), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
Õpiobjekti osaks on ka laboriülesande loomise ja lahenduse kontrollimise skripti esialgne varjant, mida tuleks parandada ja täiendada![http://enos.itcollege.ee/~kkarma/6piobjekti_skriptid.tar.bz2 skriptide pakk]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43933</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43933"/>
		<updated>2011-12-05T21:27:02Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[https://help.ubuntu.com/community/OpenLDAPServer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 result: 0 Success või &lt;br /&gt;
 result: 32 No such object&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Cant contact LDAP server (-1) &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
*result: 32 No such object- tähendab, et LDAP serveriga saadi ühendust, kuid andmebaasis ei olnud päritud objekti. &lt;br /&gt;
Tuleks kontrollida, kas klienditööriista seaded on õiged ja kas tehtud päring oli õige.&lt;br /&gt;
*ldap_sasl_bind(SIMPLE): Cant contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, &lt;br /&gt;
&lt;br /&gt;
selleks sisesta terminali:&lt;br /&gt;
 netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
 /etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad &#039;&#039;/var/log/syslog&#039;&#039; failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
Et saada paremat üldpilti ja paremini mõista, millega tegeletakse, on soovitav paigaldada ja seadistada veebipõhine LDAP-i administreerimise liides [http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page phpLDAPadmin]. Seadistamise hõlbustamiseks on õpiobjektiga kaasas fail config.php, kus tuleb asendada &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Juhend põhineb [http://kuutorvaja.eenet.ee/wiki/OpenLDAP_kasutamine_Debianiga kuutõrvaja wikil], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&amp;lt;br&amp;gt;&lt;br /&gt;
Paigaldada tuleb paketid: &amp;lt;br&amp;gt;&lt;br /&gt;
 libnss-ldap, libpam-ldap ja ldap-auth-config.&lt;br /&gt;
Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on &#039;&#039;&#039;soovitav vastus&#039;&#039;&#039; (tumedal taustal) ja sulgudes põhjendus:&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenLDAP serveri IP aadressi või masina nimi: &#039;&#039;&#039;ldap://localhost&#039;&#039;&#039; või &#039;&#039;&#039;ldap://127.0.0.1&#039;&#039;&#039; (OpenLDAP server asub samas virtuaalmasinas);&amp;lt;br&amp;gt;&lt;br /&gt;
*distinguished name (DN): &#039;&#039;&#039;dc=naide,dc=ee&#039;&#039;&#039; ( näiteülesande DN on selline);&amp;lt;br&amp;gt;&lt;br /&gt;
*LDAP versioon: &#039;&#039;&#039;3&#039;&#039;&#039; (uuem versioon);&amp;lt;br&amp;gt;&lt;br /&gt;
*kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: &#039;&#039;&#039;ei&#039;&#039;&#039; (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);&amp;lt;br&amp;gt;&lt;br /&gt;
*kas LDAP andmebaasile ligipääs nõuab sisselogimist: &#039;&#039;&#039;ei&#039;&#039;&#039; (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool olevate vastuste põhjal luuakse &#039;&#039;/etc/ldap.conf&#039;&#039; 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 &#039;&#039;/etc/pam.d/common-session&#039;&#039; faili lõppu, et süsteem ise puuduolevad kodukataloogid looks:&amp;lt;br&amp;gt;&lt;br /&gt;
 session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on &#039;&#039;&#039;kohustuslikud&#039;&#039;&#039; Linuxisse logivatel kasutajatel &#039;&#039;&#039;atribuudid&#039;&#039;&#039; (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja &#039;&#039;&#039;objektiklassid&#039;&#039;&#039; (account, posixaccount ja top)[http://quark.humbug.org.au/publications/ldap/ldap_tut.html]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine Wiki artiklil] ja [http://enos.itcollege.ee/~aandreim/linux/advanced_latest/6_Kerberos_ja_LDAP.pdf Antti Andreimann LDAP-i õppematerjalil].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph&lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&amp;lt;br&amp;gt;&lt;br /&gt;
 $DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;;&lt;br /&gt;
 $DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;;&lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
 /usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili  ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
 /usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
 /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif&lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
==== Teenuse varundamine ====&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&amp;lt;br&amp;gt;&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil]. &amp;lt;br&amp;gt;&lt;br /&gt;
Varukoopiate hoidmiseks loome kataloogid /var/backup/ldap/db ja /var/backup/ldap/db kataloogi järgmise käsuga:&lt;br /&gt;
 mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
 slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
 Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad &#039;&#039;/etc/ldap/ kataloogis&#039;&#039;, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
 tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
==== Teenuse taastamine ====&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil] &amp;lt;br&amp;gt; &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasi taastamine&#039;&#039;&#039; &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
 gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
Kuna tavatingimustes, on andmebaasid suured, siis kasutatakse taastamisel andmete importimiseks serveritööriista slapadd. Slapadd nagu ka teised kataloogiteenuse &#039;&#039;&#039;serveri tööriistad vajavad töötamiseks baasi ainukasutusõigust, selleks peab slapd&#039;i seisma panema&#039;&#039;&#039;:&lt;br /&gt;
 /etc/init.d/slapd stop&lt;br /&gt;
 slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seadistusfailide taastamine&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
 tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
&#039;&#039;&#039;Kui seadistamise käigus ei küsitud LDAP administraatori parooli&#039;&#039;&#039;, siis tuleb see ise käsitsi lisada- ka korduval seadistamisel ei esitata seda võimalust. Selleks korrigeeri failides:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
 ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OpenLDAP serveri paigaldamisel ei looda baasiparameetrite&#039;&#039;&#039; faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (vaata alla poole), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
Õpiobjekti osaks on ka laboriülesande loomise ja lahenduse kontrollimise skripti esialgne varjant, mida tuleks parandada ja täiendada![http://enos.itcollege.ee/~kkarma/6piobjekti_skriptid.tar.bz2 skriptide pakk]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43932</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43932"/>
		<updated>2011-12-05T21:01:34Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* OpenLDAP serveri ja klienditööristade paigaldamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[https://help.ubuntu.com/community/OpenLDAPServer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 result: 0 Success või &lt;br /&gt;
 result: 32 No such object&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Cant contact LDAP server (-1) &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
*result: 32 No such object- tähendab, et LDAP serveriga saadi ühendust, kuid andmebaasis ei olnud päritud objekti. &lt;br /&gt;
Tuleks kontrollida, kas klienditööriista seaded on õiged ja kas tehtud päring oli õige.&lt;br /&gt;
*ldap_sasl_bind(SIMPLE): Cant contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, &lt;br /&gt;
&lt;br /&gt;
selleks sisesta terminali:&lt;br /&gt;
 netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
 /etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad &#039;&#039;/var/log/syslog&#039;&#039; failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Juhend põhineb [http://kuutorvaja.eenet.ee/wiki/OpenLDAP_kasutamine_Debianiga kuutõrvaja wikil], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&amp;lt;br&amp;gt;&lt;br /&gt;
Paigaldada tuleb paketid: &amp;lt;br&amp;gt;&lt;br /&gt;
 libnss-ldap, libpam-ldap ja ldap-auth-config.&lt;br /&gt;
Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on &#039;&#039;&#039;soovitav vastus&#039;&#039;&#039; (tumedal taustal) ja sulgudes põhjendus:&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenLDAP serveri IP aadressi või masina nimi: &#039;&#039;&#039;ldap://localhost&#039;&#039;&#039; või &#039;&#039;&#039;ldap://127.0.0.1&#039;&#039;&#039; (OpenLDAP server asub samas virtuaalmasinas);&amp;lt;br&amp;gt;&lt;br /&gt;
*distinguished name (DN): &#039;&#039;&#039;dc=naide,dc=ee&#039;&#039;&#039; ( näiteülesande DN on selline);&amp;lt;br&amp;gt;&lt;br /&gt;
*LDAP versioon: &#039;&#039;&#039;3&#039;&#039;&#039; (uuem versioon);&amp;lt;br&amp;gt;&lt;br /&gt;
*kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: &#039;&#039;&#039;ei&#039;&#039;&#039; (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);&amp;lt;br&amp;gt;&lt;br /&gt;
*kas LDAP andmebaasile ligipääs nõuab sisselogimist: &#039;&#039;&#039;ei&#039;&#039;&#039; (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool olevate vastuste põhjal luuakse &#039;&#039;/etc/ldap.conf&#039;&#039; 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 &#039;&#039;/etc/pam.d/common-session&#039;&#039; faili lõppu, et süsteem ise puuduolevad kodukataloogid looks:&amp;lt;br&amp;gt;&lt;br /&gt;
 session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on &#039;&#039;&#039;kohustuslikud&#039;&#039;&#039; Linuxisse logivatel kasutajatel &#039;&#039;&#039;atribuudid&#039;&#039;&#039; (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja &#039;&#039;&#039;objektiklassid&#039;&#039;&#039; (account, posixaccount ja top)[http://quark.humbug.org.au/publications/ldap/ldap_tut.html]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine Wiki artiklil] ja [http://enos.itcollege.ee/~aandreim/linux/advanced_latest/6_Kerberos_ja_LDAP.pdf Antti Andreimann LDAP-i õppematerjalil].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph&lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&amp;lt;br&amp;gt;&lt;br /&gt;
 $DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;;&lt;br /&gt;
 $DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;;&lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
 /usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili  ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
 /usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
 /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif&lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
==== Teenuse varundamine ====&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&amp;lt;br&amp;gt;&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil]. &amp;lt;br&amp;gt;&lt;br /&gt;
Varukoopiate hoidmiseks loome kataloogid /var/backup/ldap/db ja /var/backup/ldap/db kataloogi järgmise käsuga:&lt;br /&gt;
 mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
 slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
 Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad &#039;&#039;/etc/ldap/ kataloogis&#039;&#039;, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
 tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
==== Teenuse taastamine ====&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil] &amp;lt;br&amp;gt; &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasi taastamine&#039;&#039;&#039; &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
 gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
Kuna tavatingimustes, on andmebaasid suured, siis kasutatakse taastamisel andmete importimiseks serveritööriista slapadd. Slapadd nagu ka teised kataloogiteenuse &#039;&#039;&#039;serveri tööriistad vajavad töötamiseks baasi ainukasutusõigust, selleks peab slapd&#039;i seisma panema&#039;&#039;&#039;:&lt;br /&gt;
 /etc/init.d/slapd stop&lt;br /&gt;
 slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seadistusfailide taastamine&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
 tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
&#039;&#039;&#039;Kui seadistamise käigus ei küsitud LDAP administraatori parooli&#039;&#039;&#039;, siis tuleb see ise käsitsi lisada- ka korduval seadistamisel ei esitata seda võimalust. Selleks korrigeeri failides:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
 ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OpenLDAP serveri paigaldamisel ei looda baasiparameetrite&#039;&#039;&#039; faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (vaata alla poole), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
Õpiobjekti osaks on ka laboriülesande loomise ja lahenduse kontrollimise skripti esialgne varjant, mida tuleks parandada ja täiendada![http://enos.itcollege.ee/~kkarma/6piobjekti_skriptid.tar.bz2 skriptide pakk]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43931</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43931"/>
		<updated>2011-12-05T20:58:05Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* OpenLDAP serveri ja klienditööristade paigaldamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 result: 0 Success või &lt;br /&gt;
 result: 32 No such object&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Cant contact LDAP server (-1) &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
*result: 32 No such object- tähendab, et LDAP serveriga saadi ühendust, kuid andmebaasis ei olnud päritud objekti. &lt;br /&gt;
Tuleks kontrollida, kas klienditööriista seaded on õiged ja kas tehtud päring oli õige.&lt;br /&gt;
*ldap_sasl_bind(SIMPLE): Cant contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, &lt;br /&gt;
&lt;br /&gt;
selleks sisesta terminali:&lt;br /&gt;
 netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
 /etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad &#039;&#039;/var/log/syslog&#039;&#039; failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Juhend põhineb [http://kuutorvaja.eenet.ee/wiki/OpenLDAP_kasutamine_Debianiga kuutõrvaja wikil], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&amp;lt;br&amp;gt;&lt;br /&gt;
Paigaldada tuleb paketid: &amp;lt;br&amp;gt;&lt;br /&gt;
 libnss-ldap, libpam-ldap ja ldap-auth-config.&lt;br /&gt;
Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on &#039;&#039;&#039;soovitav vastus&#039;&#039;&#039; (tumedal taustal) ja sulgudes põhjendus:&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenLDAP serveri IP aadressi või masina nimi: &#039;&#039;&#039;ldap://localhost&#039;&#039;&#039; või &#039;&#039;&#039;ldap://127.0.0.1&#039;&#039;&#039; (OpenLDAP server asub samas virtuaalmasinas);&amp;lt;br&amp;gt;&lt;br /&gt;
*distinguished name (DN): &#039;&#039;&#039;dc=naide,dc=ee&#039;&#039;&#039; ( näiteülesande DN on selline);&amp;lt;br&amp;gt;&lt;br /&gt;
*LDAP versioon: &#039;&#039;&#039;3&#039;&#039;&#039; (uuem versioon);&amp;lt;br&amp;gt;&lt;br /&gt;
*kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: &#039;&#039;&#039;ei&#039;&#039;&#039; (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);&amp;lt;br&amp;gt;&lt;br /&gt;
*kas LDAP andmebaasile ligipääs nõuab sisselogimist: &#039;&#039;&#039;ei&#039;&#039;&#039; (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool olevate vastuste põhjal luuakse &#039;&#039;/etc/ldap.conf&#039;&#039; 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 &#039;&#039;/etc/pam.d/common-session&#039;&#039; faili lõppu, et süsteem ise puuduolevad kodukataloogid looks:&amp;lt;br&amp;gt;&lt;br /&gt;
 session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on &#039;&#039;&#039;kohustuslikud&#039;&#039;&#039; Linuxisse logivatel kasutajatel &#039;&#039;&#039;atribuudid&#039;&#039;&#039; (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja &#039;&#039;&#039;objektiklassid&#039;&#039;&#039; (account, posixaccount ja top)[http://quark.humbug.org.au/publications/ldap/ldap_tut.html]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine Wiki artiklil] ja [http://enos.itcollege.ee/~aandreim/linux/advanced_latest/6_Kerberos_ja_LDAP.pdf Antti Andreimann LDAP-i õppematerjalil].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph&lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&amp;lt;br&amp;gt;&lt;br /&gt;
 $DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;;&lt;br /&gt;
 $DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;;&lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
 /usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili  ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
 /usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
 /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif&lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
==== Teenuse varundamine ====&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&amp;lt;br&amp;gt;&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil]. &amp;lt;br&amp;gt;&lt;br /&gt;
Varukoopiate hoidmiseks loome kataloogid /var/backup/ldap/db ja /var/backup/ldap/db kataloogi järgmise käsuga:&lt;br /&gt;
 mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
 slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
 Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad &#039;&#039;/etc/ldap/ kataloogis&#039;&#039;, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
 tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
==== Teenuse taastamine ====&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil] &amp;lt;br&amp;gt; &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasi taastamine&#039;&#039;&#039; &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
 gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
Kuna tavatingimustes, on andmebaasid suured, siis kasutatakse taastamisel andmete importimiseks serveritööriista slapadd. Slapadd nagu ka teised kataloogiteenuse &#039;&#039;&#039;serveri tööriistad vajavad töötamiseks baasi ainukasutusõigust, selleks peab slapd&#039;i seisma panema&#039;&#039;&#039;:&lt;br /&gt;
 /etc/init.d/slapd stop&lt;br /&gt;
 slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seadistusfailide taastamine&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
 tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
&#039;&#039;&#039;Kui seadistamise käigus ei küsitud LDAP administraatori parooli&#039;&#039;&#039;, siis tuleb see ise käsitsi lisada- ka korduval seadistamisel ei esitata seda võimalust. Selleks korrigeeri failides:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
 ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OpenLDAP serveri paigaldamisel ei looda baasiparameetrite&#039;&#039;&#039; faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (vaata alla poole), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
Õpiobjekti osaks on ka laboriülesande loomise ja lahenduse kontrollimise skripti esialgne varjant, mida tuleks parandada ja täiendada![http://enos.itcollege.ee/~kkarma/6piobjekti_skriptid.tar.bz2 skriptide pakk]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43930</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43930"/>
		<updated>2011-12-05T20:41:33Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Õpiobjekti kasutusjuhend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Juhend põhineb [http://kuutorvaja.eenet.ee/wiki/OpenLDAP_kasutamine_Debianiga kuutõrvaja wikil], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&amp;lt;br&amp;gt;&lt;br /&gt;
Paigaldada tuleb paketid: &amp;lt;br&amp;gt;&lt;br /&gt;
 libnss-ldap, libpam-ldap ja ldap-auth-config.&lt;br /&gt;
Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on &#039;&#039;&#039;soovitav vastus&#039;&#039;&#039; (tumedal taustal) ja sulgudes põhjendus:&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenLDAP serveri IP aadressi või masina nimi: &#039;&#039;&#039;ldap://localhost&#039;&#039;&#039; või &#039;&#039;&#039;ldap://127.0.0.1&#039;&#039;&#039; (OpenLDAP server asub samas virtuaalmasinas);&amp;lt;br&amp;gt;&lt;br /&gt;
*distinguished name (DN): &#039;&#039;&#039;dc=naide,dc=ee&#039;&#039;&#039; ( näiteülesande DN on selline);&amp;lt;br&amp;gt;&lt;br /&gt;
*LDAP versioon: &#039;&#039;&#039;3&#039;&#039;&#039; (uuem versioon);&amp;lt;br&amp;gt;&lt;br /&gt;
*kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: &#039;&#039;&#039;ei&#039;&#039;&#039; (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);&amp;lt;br&amp;gt;&lt;br /&gt;
*kas LDAP andmebaasile ligipääs nõuab sisselogimist: &#039;&#039;&#039;ei&#039;&#039;&#039; (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool olevate vastuste põhjal luuakse &#039;&#039;/etc/ldap.conf&#039;&#039; 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 &#039;&#039;/etc/pam.d/common-session&#039;&#039; faili lõppu, et süsteem ise puuduolevad kodukataloogid looks:&amp;lt;br&amp;gt;&lt;br /&gt;
 session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on &#039;&#039;&#039;kohustuslikud&#039;&#039;&#039; Linuxisse logivatel kasutajatel &#039;&#039;&#039;atribuudid&#039;&#039;&#039; (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja &#039;&#039;&#039;objektiklassid&#039;&#039;&#039; (account, posixaccount ja top)[http://quark.humbug.org.au/publications/ldap/ldap_tut.html]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine Wiki artiklil] ja [http://enos.itcollege.ee/~aandreim/linux/advanced_latest/6_Kerberos_ja_LDAP.pdf Antti Andreimann LDAP-i õppematerjalil].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph&lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&amp;lt;br&amp;gt;&lt;br /&gt;
 $DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;;&lt;br /&gt;
 $DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;;&lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
 /usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili  ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
 /usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
 /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif&lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
==== Teenuse varundamine ====&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&amp;lt;br&amp;gt;&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil]. &amp;lt;br&amp;gt;&lt;br /&gt;
Varukoopiate hoidmiseks loome kataloogid /var/backup/ldap/db ja /var/backup/ldap/db kataloogi järgmise käsuga:&lt;br /&gt;
 mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
 slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
 Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad &#039;&#039;/etc/ldap/ kataloogis&#039;&#039;, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
 tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
==== Teenuse taastamine ====&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil] &amp;lt;br&amp;gt; &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasi taastamine&#039;&#039;&#039; &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
 gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
Kuna tavatingimustes, on andmebaasid suured, siis kasutatakse taastamisel andmete importimiseks serveritööriista slapadd. Slapadd nagu ka teised kataloogiteenuse &#039;&#039;&#039;serveri tööriistad vajavad töötamiseks baasi ainukasutusõigust, selleks peab slapd&#039;i seisma panema&#039;&#039;&#039;:&lt;br /&gt;
 /etc/init.d/slapd stop&lt;br /&gt;
 slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seadistusfailide taastamine&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
 tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
&#039;&#039;&#039;Kui seadistamise käigus ei küsitud LDAP administraatori parooli&#039;&#039;&#039;, siis tuleb see ise käsitsi lisada- ka korduval seadistamisel ei esitata seda võimalust. Selleks korrigeeri failides:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
 ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OpenLDAP serveri paigaldamisel ei looda baasiparameetrite&#039;&#039;&#039; faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (vaata alla poole), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
Õpiobjekti osaks on ka laboriülesande loomise ja lahenduse kontrollimise skripti esialgne varjant, mida tuleks parandada ja täiendada![http://enos.itcollege.ee/~kkarma/6piobjekti_skriptid.tar.bz2 skriptide pakk]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43929</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43929"/>
		<updated>2011-12-05T20:39:46Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Skriptid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Juhend põhineb [http://kuutorvaja.eenet.ee/wiki/OpenLDAP_kasutamine_Debianiga kuutõrvaja wikil], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&amp;lt;br&amp;gt;&lt;br /&gt;
Paigaldada tuleb paketid: &amp;lt;br&amp;gt;&lt;br /&gt;
 libnss-ldap, libpam-ldap ja ldap-auth-config.&lt;br /&gt;
Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on &#039;&#039;&#039;soovitav vastus&#039;&#039;&#039; (tumedal taustal) ja sulgudes põhjendus:&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenLDAP serveri IP aadressi või masina nimi: &#039;&#039;&#039;ldap://localhost&#039;&#039;&#039; või &#039;&#039;&#039;ldap://127.0.0.1&#039;&#039;&#039; (OpenLDAP server asub samas virtuaalmasinas);&amp;lt;br&amp;gt;&lt;br /&gt;
*distinguished name (DN): &#039;&#039;&#039;dc=naide,dc=ee&#039;&#039;&#039; ( näiteülesande DN on selline);&amp;lt;br&amp;gt;&lt;br /&gt;
*LDAP versioon: &#039;&#039;&#039;3&#039;&#039;&#039; (uuem versioon);&amp;lt;br&amp;gt;&lt;br /&gt;
*kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: &#039;&#039;&#039;ei&#039;&#039;&#039; (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);&amp;lt;br&amp;gt;&lt;br /&gt;
*kas LDAP andmebaasile ligipääs nõuab sisselogimist: &#039;&#039;&#039;ei&#039;&#039;&#039; (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool olevate vastuste põhjal luuakse &#039;&#039;/etc/ldap.conf&#039;&#039; 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 &#039;&#039;/etc/pam.d/common-session&#039;&#039; faili lõppu, et süsteem ise puuduolevad kodukataloogid looks:&amp;lt;br&amp;gt;&lt;br /&gt;
 session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on &#039;&#039;&#039;kohustuslikud&#039;&#039;&#039; Linuxisse logivatel kasutajatel &#039;&#039;&#039;atribuudid&#039;&#039;&#039; (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja &#039;&#039;&#039;objektiklassid&#039;&#039;&#039; (account, posixaccount ja top)[http://quark.humbug.org.au/publications/ldap/ldap_tut.html]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine Wiki artiklil] ja [http://enos.itcollege.ee/~aandreim/linux/advanced_latest/6_Kerberos_ja_LDAP.pdf Antti Andreimann LDAP-i õppematerjalil].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph&lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&amp;lt;br&amp;gt;&lt;br /&gt;
 $DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;;&lt;br /&gt;
 $DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;;&lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
 /usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili  ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
 /usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
 /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif&lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
==== Teenuse varundamine ====&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&amp;lt;br&amp;gt;&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil]. &amp;lt;br&amp;gt;&lt;br /&gt;
Varukoopiate hoidmiseks loome kataloogid /var/backup/ldap/db ja /var/backup/ldap/db kataloogi järgmise käsuga:&lt;br /&gt;
 mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
 slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
 Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad &#039;&#039;/etc/ldap/ kataloogis&#039;&#039;, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
 tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
==== Teenuse taastamine ====&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil] &amp;lt;br&amp;gt; &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasi taastamine&#039;&#039;&#039; &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
 gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
Kuna tavatingimustes, on andmebaasid suured, siis kasutatakse taastamisel andmete importimiseks serveritööriista slapadd. Slapadd nagu ka teised kataloogiteenuse &#039;&#039;&#039;serveri tööriistad vajavad töötamiseks baasi ainukasutusõigust, selleks peab slapd&#039;i seisma panema&#039;&#039;&#039;:&lt;br /&gt;
 /etc/init.d/slapd stop&lt;br /&gt;
 slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seadistusfailide taastamine&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
 tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
&#039;&#039;&#039;Kui seadistamise käigus ei küsitud LDAP administraatori parooli&#039;&#039;&#039;, siis tuleb see ise käsitsi lisada- ka korduval seadistamisel ei esitata seda võimalust. Selleks korrigeeri failides:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
 ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OpenLDAP serveri paigaldamisel ei looda baasiparameetrite&#039;&#039;&#039; faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (vaata alla poole), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
Õpiobjekti osaks on ka laboriülesande loomise ja lahenduse kontrollimise skripti esialgne varjant, mida tuleks parandada ja täiendada![http://enos.itcollege.ee/~kkarma/6piobjekti_skriptid.tar.bz2 skriptide pakk]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43928</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43928"/>
		<updated>2011-12-05T20:24:32Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Läbikäidud probleemid- õpi teiste vigadest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Juhend põhineb [http://kuutorvaja.eenet.ee/wiki/OpenLDAP_kasutamine_Debianiga kuutõrvaja wikil], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&amp;lt;br&amp;gt;&lt;br /&gt;
Paigaldada tuleb paketid: &amp;lt;br&amp;gt;&lt;br /&gt;
 libnss-ldap, libpam-ldap ja ldap-auth-config.&lt;br /&gt;
Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on &#039;&#039;&#039;soovitav vastus&#039;&#039;&#039; (tumedal taustal) ja sulgudes põhjendus:&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenLDAP serveri IP aadressi või masina nimi: &#039;&#039;&#039;ldap://localhost&#039;&#039;&#039; või &#039;&#039;&#039;ldap://127.0.0.1&#039;&#039;&#039; (OpenLDAP server asub samas virtuaalmasinas);&amp;lt;br&amp;gt;&lt;br /&gt;
*distinguished name (DN): &#039;&#039;&#039;dc=naide,dc=ee&#039;&#039;&#039; ( näiteülesande DN on selline);&amp;lt;br&amp;gt;&lt;br /&gt;
*LDAP versioon: &#039;&#039;&#039;3&#039;&#039;&#039; (uuem versioon);&amp;lt;br&amp;gt;&lt;br /&gt;
*kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: &#039;&#039;&#039;ei&#039;&#039;&#039; (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);&amp;lt;br&amp;gt;&lt;br /&gt;
*kas LDAP andmebaasile ligipääs nõuab sisselogimist: &#039;&#039;&#039;ei&#039;&#039;&#039; (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool olevate vastuste põhjal luuakse &#039;&#039;/etc/ldap.conf&#039;&#039; 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 &#039;&#039;/etc/pam.d/common-session&#039;&#039; faili lõppu, et süsteem ise puuduolevad kodukataloogid looks:&amp;lt;br&amp;gt;&lt;br /&gt;
 session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on &#039;&#039;&#039;kohustuslikud&#039;&#039;&#039; Linuxisse logivatel kasutajatel &#039;&#039;&#039;atribuudid&#039;&#039;&#039; (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja &#039;&#039;&#039;objektiklassid&#039;&#039;&#039; (account, posixaccount ja top)[http://quark.humbug.org.au/publications/ldap/ldap_tut.html]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine Wiki artiklil] ja [http://enos.itcollege.ee/~aandreim/linux/advanced_latest/6_Kerberos_ja_LDAP.pdf Antti Andreimann LDAP-i õppematerjalil].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph&lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&amp;lt;br&amp;gt;&lt;br /&gt;
 $DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;;&lt;br /&gt;
 $DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;;&lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
 /usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili  ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
 /usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
 /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif&lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
==== Teenuse varundamine ====&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&amp;lt;br&amp;gt;&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil]. &amp;lt;br&amp;gt;&lt;br /&gt;
Varukoopiate hoidmiseks loome kataloogid /var/backup/ldap/db ja /var/backup/ldap/db kataloogi järgmise käsuga:&lt;br /&gt;
 mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
 slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
 Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad &#039;&#039;/etc/ldap/ kataloogis&#039;&#039;, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
 tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
==== Teenuse taastamine ====&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil] &amp;lt;br&amp;gt; &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasi taastamine&#039;&#039;&#039; &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
 gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
Kuna tavatingimustes, on andmebaasid suured, siis kasutatakse taastamisel andmete importimiseks serveritööriista slapadd. Slapadd nagu ka teised kataloogiteenuse &#039;&#039;&#039;serveri tööriistad vajavad töötamiseks baasi ainukasutusõigust, selleks peab slapd&#039;i seisma panema&#039;&#039;&#039;:&lt;br /&gt;
 /etc/init.d/slapd stop&lt;br /&gt;
 slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seadistusfailide taastamine&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
 tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
&#039;&#039;&#039;Kui seadistamise käigus ei küsitud LDAP administraatori parooli&#039;&#039;&#039;, siis tuleb see ise käsitsi lisada- ka korduval seadistamisel ei esitata seda võimalust. Selleks korrigeeri failides:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
 ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OpenLDAP serveri paigaldamisel ei looda baasiparameetrite&#039;&#039;&#039; faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (vaata alla poole), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43927</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43927"/>
		<updated>2011-12-05T20:23:40Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Läbikäidud probleemid- õpi teiste vigadest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Juhend põhineb [http://kuutorvaja.eenet.ee/wiki/OpenLDAP_kasutamine_Debianiga kuutõrvaja wikil], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&amp;lt;br&amp;gt;&lt;br /&gt;
Paigaldada tuleb paketid: &amp;lt;br&amp;gt;&lt;br /&gt;
 libnss-ldap, libpam-ldap ja ldap-auth-config.&lt;br /&gt;
Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on &#039;&#039;&#039;soovitav vastus&#039;&#039;&#039; (tumedal taustal) ja sulgudes põhjendus:&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenLDAP serveri IP aadressi või masina nimi: &#039;&#039;&#039;ldap://localhost&#039;&#039;&#039; või &#039;&#039;&#039;ldap://127.0.0.1&#039;&#039;&#039; (OpenLDAP server asub samas virtuaalmasinas);&amp;lt;br&amp;gt;&lt;br /&gt;
*distinguished name (DN): &#039;&#039;&#039;dc=naide,dc=ee&#039;&#039;&#039; ( näiteülesande DN on selline);&amp;lt;br&amp;gt;&lt;br /&gt;
*LDAP versioon: &#039;&#039;&#039;3&#039;&#039;&#039; (uuem versioon);&amp;lt;br&amp;gt;&lt;br /&gt;
*kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: &#039;&#039;&#039;ei&#039;&#039;&#039; (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);&amp;lt;br&amp;gt;&lt;br /&gt;
*kas LDAP andmebaasile ligipääs nõuab sisselogimist: &#039;&#039;&#039;ei&#039;&#039;&#039; (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool olevate vastuste põhjal luuakse &#039;&#039;/etc/ldap.conf&#039;&#039; 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 &#039;&#039;/etc/pam.d/common-session&#039;&#039; faili lõppu, et süsteem ise puuduolevad kodukataloogid looks:&amp;lt;br&amp;gt;&lt;br /&gt;
 session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on &#039;&#039;&#039;kohustuslikud&#039;&#039;&#039; Linuxisse logivatel kasutajatel &#039;&#039;&#039;atribuudid&#039;&#039;&#039; (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja &#039;&#039;&#039;objektiklassid&#039;&#039;&#039; (account, posixaccount ja top)[http://quark.humbug.org.au/publications/ldap/ldap_tut.html]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine Wiki artiklil] ja [http://enos.itcollege.ee/~aandreim/linux/advanced_latest/6_Kerberos_ja_LDAP.pdf Antti Andreimann LDAP-i õppematerjalil].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph&lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&amp;lt;br&amp;gt;&lt;br /&gt;
 $DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;;&lt;br /&gt;
 $DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;;&lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
 /usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili  ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
 /usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
 /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif&lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
==== Teenuse varundamine ====&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&amp;lt;br&amp;gt;&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil]. &amp;lt;br&amp;gt;&lt;br /&gt;
Varukoopiate hoidmiseks loome kataloogid /var/backup/ldap/db ja /var/backup/ldap/db kataloogi järgmise käsuga:&lt;br /&gt;
 mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
 slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
 Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad &#039;&#039;/etc/ldap/ kataloogis&#039;&#039;, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
 tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
==== Teenuse taastamine ====&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil] &amp;lt;br&amp;gt; &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasi taastamine&#039;&#039;&#039; &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
 gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
Kuna tavatingimustes, on andmebaasid suured, siis kasutatakse taastamisel andmete importimiseks serveritööriista slapadd. Slapadd nagu ka teised kataloogiteenuse &#039;&#039;&#039;serveri tööriistad vajavad töötamiseks baasi ainukasutusõigust, selleks peab slapd&#039;i seisma panema&#039;&#039;&#039;:&lt;br /&gt;
 /etc/init.d/slapd stop&lt;br /&gt;
 slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seadistusfailide taastamine&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
 tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
&#039;&#039;&#039;Kui seadistamise käigus ei küsitud LDAP administraatori parooli&#039;&#039;&#039;, siis tuleb see ise käsitsi lisada- ka korduval seadistamisel ei esitata seda võimalust. Selleks korrigeeri failides:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
 ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OpenLDAP serveri paigaldamisel ei looda baasiparameetrite&#039;&#039;&#039; faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43926</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43926"/>
		<updated>2011-12-05T20:13:57Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Varundamine ja taastamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Juhend põhineb [http://kuutorvaja.eenet.ee/wiki/OpenLDAP_kasutamine_Debianiga kuutõrvaja wikil], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&amp;lt;br&amp;gt;&lt;br /&gt;
Paigaldada tuleb paketid: &amp;lt;br&amp;gt;&lt;br /&gt;
 libnss-ldap, libpam-ldap ja ldap-auth-config.&lt;br /&gt;
Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on &#039;&#039;&#039;soovitav vastus&#039;&#039;&#039; (tumedal taustal) ja sulgudes põhjendus:&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenLDAP serveri IP aadressi või masina nimi: &#039;&#039;&#039;ldap://localhost&#039;&#039;&#039; või &#039;&#039;&#039;ldap://127.0.0.1&#039;&#039;&#039; (OpenLDAP server asub samas virtuaalmasinas);&amp;lt;br&amp;gt;&lt;br /&gt;
*distinguished name (DN): &#039;&#039;&#039;dc=naide,dc=ee&#039;&#039;&#039; ( näiteülesande DN on selline);&amp;lt;br&amp;gt;&lt;br /&gt;
*LDAP versioon: &#039;&#039;&#039;3&#039;&#039;&#039; (uuem versioon);&amp;lt;br&amp;gt;&lt;br /&gt;
*kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: &#039;&#039;&#039;ei&#039;&#039;&#039; (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);&amp;lt;br&amp;gt;&lt;br /&gt;
*kas LDAP andmebaasile ligipääs nõuab sisselogimist: &#039;&#039;&#039;ei&#039;&#039;&#039; (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool olevate vastuste põhjal luuakse &#039;&#039;/etc/ldap.conf&#039;&#039; 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 &#039;&#039;/etc/pam.d/common-session&#039;&#039; faili lõppu, et süsteem ise puuduolevad kodukataloogid looks:&amp;lt;br&amp;gt;&lt;br /&gt;
 session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on &#039;&#039;&#039;kohustuslikud&#039;&#039;&#039; Linuxisse logivatel kasutajatel &#039;&#039;&#039;atribuudid&#039;&#039;&#039; (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja &#039;&#039;&#039;objektiklassid&#039;&#039;&#039; (account, posixaccount ja top)[http://quark.humbug.org.au/publications/ldap/ldap_tut.html]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine Wiki artiklil] ja [http://enos.itcollege.ee/~aandreim/linux/advanced_latest/6_Kerberos_ja_LDAP.pdf Antti Andreimann LDAP-i õppematerjalil].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph&lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&amp;lt;br&amp;gt;&lt;br /&gt;
 $DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;;&lt;br /&gt;
 $DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;;&lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
 /usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili  ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
 /usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
 /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif&lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
==== Teenuse varundamine ====&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&amp;lt;br&amp;gt;&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil]. &amp;lt;br&amp;gt;&lt;br /&gt;
Varukoopiate hoidmiseks loome kataloogid /var/backup/ldap/db ja /var/backup/ldap/db kataloogi järgmise käsuga:&lt;br /&gt;
 mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
 slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
 Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad &#039;&#039;/etc/ldap/ kataloogis&#039;&#039;, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
 tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
==== Teenuse taastamine ====&lt;br /&gt;
Põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine EIK vikil] &amp;lt;br&amp;gt; &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Andmebaasi taastamine&#039;&#039;&#039; &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
 gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
Kuna tavatingimustes, on andmebaasid suured, siis kasutatakse taastamisel andmete importimiseks serveritööriista slapadd. Slapadd nagu ka teised kataloogiteenuse &#039;&#039;&#039;serveri tööriistad vajavad töötamiseks baasi ainukasutusõigust, selleks peab slapd&#039;i seisma panema&#039;&#039;&#039;:&lt;br /&gt;
 /etc/init.d/slapd stop&lt;br /&gt;
 slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Seadistusfailide taastamine&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
 tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43924</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43924"/>
		<updated>2011-12-05T19:03:40Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Juhend põhineb [http://kuutorvaja.eenet.ee/wiki/OpenLDAP_kasutamine_Debianiga kuutõrvaja wikil], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&amp;lt;br&amp;gt;&lt;br /&gt;
Paigaldada tuleb paketid: &amp;lt;br&amp;gt;&lt;br /&gt;
 libnss-ldap, libpam-ldap ja ldap-auth-config.&lt;br /&gt;
Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on &#039;&#039;&#039;soovitav vastus&#039;&#039;&#039; (tumedal taustal) ja sulgudes põhjendus:&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenLDAP serveri IP aadressi või masina nimi: &#039;&#039;&#039;ldap://localhost&#039;&#039;&#039; või &#039;&#039;&#039;ldap://127.0.0.1&#039;&#039;&#039; (OpenLDAP server asub samas virtuaalmasinas);&amp;lt;br&amp;gt;&lt;br /&gt;
*distinguished name (DN): &#039;&#039;&#039;dc=naide,dc=ee&#039;&#039;&#039; ( näiteülesande DN on selline);&amp;lt;br&amp;gt;&lt;br /&gt;
*LDAP versioon: &#039;&#039;&#039;3&#039;&#039;&#039; (uuem versioon);&amp;lt;br&amp;gt;&lt;br /&gt;
*kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: &#039;&#039;&#039;ei&#039;&#039;&#039; (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);&amp;lt;br&amp;gt;&lt;br /&gt;
*kas LDAP andmebaasile ligipääs nõuab sisselogimist: &#039;&#039;&#039;ei&#039;&#039;&#039; (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool olevate vastuste põhjal luuakse &#039;&#039;/etc/ldap.conf&#039;&#039; 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 &#039;&#039;/etc/pam.d/common-session&#039;&#039; faili lõppu, et süsteem ise puuduolevad kodukataloogid looks:&amp;lt;br&amp;gt;&lt;br /&gt;
 session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on &#039;&#039;&#039;kohustuslikud&#039;&#039;&#039; Linuxisse logivatel kasutajatel &#039;&#039;&#039;atribuudid&#039;&#039;&#039; (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja &#039;&#039;&#039;objektiklassid&#039;&#039;&#039; (account, posixaccount ja top)[http://quark.humbug.org.au/publications/ldap/ldap_tut.html]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb [https://wiki.itcollege.ee/index.php/OpenLDAP-i_seadistamine Wiki artiklil] ja [http://enos.itcollege.ee/~aandreim/linux/advanced_latest/6_Kerberos_ja_LDAP.pdf Antti Andreimann LDAP-i õppematerjalil].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph&lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&amp;lt;br&amp;gt;&lt;br /&gt;
 $DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;;&lt;br /&gt;
 $DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;;&lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
 /usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili  ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
 /usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
 /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif&lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43923</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43923"/>
		<updated>2011-12-05T18:54:50Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Juhend põhineb [http://kuutorvaja.eenet.ee/wiki/OpenLDAP_kasutamine_Debianiga kuutõrvaja wikil], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&amp;lt;br&amp;gt;&lt;br /&gt;
Paigaldada tuleb paketid: &amp;lt;br&amp;gt;&lt;br /&gt;
 libnss-ldap, libpam-ldap ja ldap-auth-config.&lt;br /&gt;
Paigaldamise käigus küsitakse järgmisi küsimusi, kooloni järel on &#039;&#039;&#039;soovitav vastus&#039;&#039;&#039; (tumedal taustal) ja sulgudes põhjendus:&amp;lt;br&amp;gt;&lt;br /&gt;
*OpenLDAP serveri IP aadressi või masina nimi: &#039;&#039;&#039;ldap://localhost&#039;&#039;&#039; või &#039;&#039;&#039;ldap://127.0.0.1&#039;&#039;&#039; (OpenLDAP server asub samas virtuaalmasinas);&amp;lt;br&amp;gt;&lt;br /&gt;
*distinguished name (DN): &#039;&#039;&#039;dc=naide,dc=ee&#039;&#039;&#039; ( näiteülesande DN on selline);&amp;lt;br&amp;gt;&lt;br /&gt;
*LDAP versioon: &#039;&#039;&#039;3&#039;&#039;&#039; (uuem versioon);&amp;lt;br&amp;gt;&lt;br /&gt;
*kohaliku masina root kasutajale LDAP andmebaasi administraatori õigus: &#039;&#039;&#039;ei&#039;&#039;&#039; (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);&amp;lt;br&amp;gt;&lt;br /&gt;
*kas LDAP andmebaasile ligipääs nõuab sisselogimist: &#039;&#039;&#039;ei&#039;&#039;&#039; (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelpool olevate vastuste põhjal luuakse &#039;&#039;/etc/ldap.conf&#039;&#039; 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 &#039;&#039;/etc/pam.d/common-session&#039;&#039; faili lõppu, et süsteem ise puuduolevad kodukataloogid looks:&amp;lt;br&amp;gt;&lt;br /&gt;
 session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on &#039;&#039;&#039;kohustuslikud&#039;&#039;&#039; Linuxisse logivatel kasutajatel &#039;&#039;&#039;atribuudid&#039;&#039;&#039; (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja &#039;&#039;&#039;objektiklassid&#039;&#039;&#039; (account, posixaccount ja top)[http://quark.humbug.org.au/publications/ldap/ldap_tut.html]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43856</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43856"/>
		<updated>2011-12-04T22:05:30Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43855</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43855"/>
		<updated>2011-12-04T22:05:00Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate andmeskeemide (schema) laadimine ==== &lt;br /&gt;
Andmeskeem on andmete hoidmise alusform, mis kirjeldab andmete kohta käivad andmed e. metaandmed ja andmetele sisestamise piirangud/reeglid.&lt;br /&gt;
Skeemiandmete 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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43853</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43853"/>
		<updated>2011-12-04T21:43:17Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Skeemifaili koostamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;#Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine ==== &lt;br /&gt;
&lt;br /&gt;
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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43852</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43852"/>
		<updated>2011-12-04T21:41:12Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Kirjete muutmine LDAP-is */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; vasakpoolset veergu tuleks vaadata kui muudatuse tegemise faili sisu ning parempoolset veergu kui seletust, mida antud rida failis tähendab. Vasakpoolses veerus olev rida &#039;&#039;changetype&#039;&#039; tähendab, et ühe muudatuskorral failis võib kuuluda vaid üks valik (&#039;&#039;add, delete, modrdn, moddn, newrdn&#039;&#039; või &#039;&#039;newsuperior&#039;&#039;).&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine ==== &lt;br /&gt;
&lt;br /&gt;
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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43851</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43851"/>
		<updated>2011-12-04T21:37:51Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Kirjete otsimine ja muutmine LDAP-is */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine ==== &lt;br /&gt;
&lt;br /&gt;
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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43850</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43850"/>
		<updated>2011-12-04T21:32:13Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Kirjete muutmine LDAP-is */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil [http://www.openldap.org/software/man.cgi?query=ldapmodify&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine ==== &lt;br /&gt;
&lt;br /&gt;
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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43849</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43849"/>
		<updated>2011-12-04T21:28:52Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Kirjete otsimine ja muutmine LDAP-is */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; W- küsitaks parooli; &amp;lt;br&amp;gt; &lt;br /&gt;
 &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine ==== &lt;br /&gt;
&lt;br /&gt;
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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43848</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43848"/>
		<updated>2011-12-04T21:24:09Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Kirjete otsimine ja muutmine LDAP-is */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil [http://www.openldap.org/software/man.cgi?query=ldapsearch&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenLDAP+2.4-Release&amp;amp;format=html man ldapsearch]. &amp;lt;br&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt;&lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- võimaldab pärigu tulemuses näha vaid soovitud atribuutide infot-eraldajaks tühik. &lt;br /&gt;
Vaata ka teisi võtmeid ja nende tähendust õpikeskkonnas kirjutades käsureale: 	&lt;br /&gt;
 man ldapsearch&lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine ==== &lt;br /&gt;
&lt;br /&gt;
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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43847</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43847"/>
		<updated>2011-12-04T21:19:12Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil[man ldapsearch].&lt;br /&gt;
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:&lt;br /&gt;
	ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt;&lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- 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 &lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine ==== &lt;br /&gt;
&lt;br /&gt;
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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43846</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43846"/>
		<updated>2011-12-04T21:10:33Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
 &#039;&#039;&#039;PILT PUUDU&#039;&#039;&#039;&lt;br /&gt;
[[Image:PhpLDAPadmin.jpg‎]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil[man ldapsearch].&lt;br /&gt;
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:&lt;br /&gt;
	ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt;&lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- 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 &lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine ==== &lt;br /&gt;
&lt;br /&gt;
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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:PhpLDAPadmin.jpg&amp;diff=43845</id>
		<title>File:PhpLDAPadmin.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:PhpLDAPadmin.jpg&amp;diff=43845"/>
		<updated>2011-12-04T21:07:04Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43844</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43844"/>
		<updated>2011-12-04T21:06:41Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
 &#039;&#039;&#039;PILT PUUDU&#039;&#039;&#039;&lt;br /&gt;
[[Image:]]&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil[man ldapsearch].&lt;br /&gt;
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:&lt;br /&gt;
	ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt;&lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- 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 &lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine ==== &lt;br /&gt;
&lt;br /&gt;
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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43843</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43843"/>
		<updated>2011-12-04T21:02:37Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
 &#039;&#039;&#039;PILT PUUDU&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil[man ldapsearch].&lt;br /&gt;
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:&lt;br /&gt;
	ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt;&lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- 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 &lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
    DESC &#039; eesnimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
    DESC &#039; perekonna nimi&#039; &lt;br /&gt;
    SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME ( &#039;telefoninumber&#039; )&lt;br /&gt;
    DESC &#039; telefoninumber&#039; &lt;br /&gt;
    EQUALITY telephoneNumberMatch &lt;br /&gt;
    SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
    DESC &#039;Mailbox&#039; &lt;br /&gt;
    EQUALITY caseIgnoreIA5Match &lt;br /&gt;
    SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME ( &#039;kirjeldus&#039; )&lt;br /&gt;
    DESC &#039;Lisainfo&#039; &lt;br /&gt;
    EQUALITY caseIgnoreMatch &lt;br /&gt;
    SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME ( &#039;telraamat&#039; )&lt;br /&gt;
    DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
    SUP top STRUCTURAL &lt;br /&gt;
    MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
    MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
Eelnev on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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 atribuutide ja objektiklasside nimed peaksid algama &amp;quot;x-&amp;quot; liitega.&lt;br /&gt;
 Trükkitähtedes olevad tähised tähendavad: &amp;lt;br&amp;gt;&lt;br /&gt;
 NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
 DESC (Description)- kirjeldus;&lt;br /&gt;
 SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
 EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
 SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
 SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&lt;br /&gt;
 MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
 MAY- täitmiseks vabatahtlike atribuutide nimistu.&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine ==== &lt;br /&gt;
&lt;br /&gt;
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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43841</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43841"/>
		<updated>2011-12-04T20:20:59Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
 &#039;&#039;&#039;PILT PUUDU&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil[man ldapsearch].&lt;br /&gt;
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:&lt;br /&gt;
	ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt;&lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- 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 &lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Faili sisu&lt;br /&gt;
! Seletus ja näide faili sisu kohta&lt;br /&gt;
|-&lt;br /&gt;
| #kommentaar&lt;br /&gt;
| #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
|-&lt;br /&gt;
| dn: &amp;lt;kirjenimetus (&#039;&#039;distinguished name&#039;&#039;)&amp;gt;&lt;br /&gt;
| dn: cn=Bjorn Jensen,dc=example,dc=com „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Add&lt;br /&gt;
| Kirje lisamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Delete&lt;br /&gt;
| Kirje kustutamiseks&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modrdn &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; moddn {reavahetus} &amp;lt;br&amp;gt;    [newrdn: &amp;lt;rdn&amp;gt; {reavahetus}&amp;lt;br&amp;gt;    deleteoldrdn: [0&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;1] newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
| Kirje DN ja RDN muutmiseks. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse. &amp;lt;br&amp;gt; Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
|-&lt;br /&gt;
| Changetype: Modify {reavahetus} &amp;lt;br&amp;gt; [add: &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; delete:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt; &amp;lt;br&amp;gt; &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; replace:&amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;]{reavahetus} &amp;lt;br&amp;gt; &amp;lt;atribuut&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
| Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(&#039;&#039;add&#039;&#039;), kustutada(&#039;&#039;delete&#039;&#039;), vahtada(&#039;&#039;replace&#039;&#039;). &amp;lt;br&amp;gt; &#039;&#039;&#039;NB! Oluline on, et reavahetused oleks õigetes kohtades!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 &#039;&#039;&#039;# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&#039;&#039;&#039;&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;# lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; kahe uuega;&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;# kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&#039;&#039;&#039;&lt;br /&gt;
 dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: postaddress&lt;br /&gt;
 postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: description&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 replace: telephonenumber&lt;br /&gt;
 telephonenumber: +1 408 555 1234&lt;br /&gt;
 telephonenumber: +1 408 555 5678&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 delete: facsimiletelephonenumber&lt;br /&gt;
 facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
==== Skeemifaili koostamine ====&lt;br /&gt;
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. &lt;br /&gt;
Lisas 15 on näidis lihtsa telefoniraamatu skeemi sisust, mis on koostatud autori poolt võttes aluseks core.schema skeemifaili ja ingliskeelse [http://www.openldap.org/doc/admin24/schema.html skeemide loomise õpetuse]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks. &amp;lt;br&amp;gt;&lt;br /&gt;
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: &amp;lt;br&amp;gt;&lt;br /&gt;
NAME- atribuudi/objektklassi nimi;&amp;lt;br&amp;gt;&lt;br /&gt;
DESC (Description)- kirjeldus;&amp;lt;br&amp;gt;&lt;br /&gt;
SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&amp;lt;br&amp;gt;&lt;br /&gt;
EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&amp;lt;br&amp;gt;&lt;br /&gt;
SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&amp;lt;br&amp;gt;&lt;br /&gt;
SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi;&amp;lt;br&amp;gt;&lt;br /&gt;
MUST- täitmiseks kohustuslike atribuutide nimistu;&amp;lt;br&amp;gt;&lt;br /&gt;
MAY- täitmiseks vabatahtlike atribuutide nimistu.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt [http://www.openldap.org/doc/admin24/schema.html OpenLDAP-i administraatori teejuhti].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine ==== &lt;br /&gt;
&lt;br /&gt;
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 järgida järgmist [http://www.linuxquestions.org/questions/linux-server-73/how-to-add-a-new-schema-to-openldap-2-4-11-a-700452/ juhendit]:&amp;lt;br&amp;gt;&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
 include /etc/ldap/schema/core.schema&lt;br /&gt;
 include /etc/ldap/schema/cosine.schema&lt;br /&gt;
 loetelu järgneb&amp;lt;br&amp;gt;&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
*2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Lihtsa telefoniraamatu skeemi näide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
        DESC &#039; eesnimi&#039; &lt;br /&gt;
        SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
         DESC &#039; perekonna nimi&#039; &lt;br /&gt;
         SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME &#039;telefoninumber&#039; &lt;br /&gt;
         DESC &#039; telefoninumber&#039; &lt;br /&gt;
         EQUALITY telephoneNumberMatch &lt;br /&gt;
         SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
         DESC &#039;Mailbox&#039; &lt;br /&gt;
     EQUALITY caseIgnoreIA5Match &lt;br /&gt;
     SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
     SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME &#039;kirjeldus&#039; &lt;br /&gt;
        DESC &#039;Lisainfo&#039; &lt;br /&gt;
        EQUALITY caseIgnoreMatch &lt;br /&gt;
        SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME &#039;telraamat&#039; &lt;br /&gt;
         DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
         SUP top STRUCTURAL &lt;br /&gt;
         MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
         MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:LDAP_teadmiste_omandamise_6ppematerjal.pdf&amp;diff=43780</id>
		<title>File:LDAP teadmiste omandamise 6ppematerjal.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:LDAP_teadmiste_omandamise_6ppematerjal.pdf&amp;diff=43780"/>
		<updated>2011-12-03T18:58:43Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: uploaded a new version of &amp;quot;File:LDAP teadmiste omandamise 6ppematerjal.pdf&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Põhiteadmiste materjal: mõisted; LDAP (puukujuline)struktuur; LDAP serverigaühendumine ja autentimine; LDIF; replikeerimine&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:LDAP_teadmiste_omandamise_%C3%B5ppematerjal.pdf&amp;diff=43779</id>
		<title>File:LDAP teadmiste omandamise õppematerjal.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:LDAP_teadmiste_omandamise_%C3%B5ppematerjal.pdf&amp;diff=43779"/>
		<updated>2011-12-03T18:52:24Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:LDAP_teadmiste_omandamise_6ppematerjal.pdf&amp;diff=43778</id>
		<title>File:LDAP teadmiste omandamise 6ppematerjal.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:LDAP_teadmiste_omandamise_6ppematerjal.pdf&amp;diff=43778"/>
		<updated>2011-12-03T18:02:26Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: uploaded a new version of &amp;quot;File:LDAP teadmiste omandamise 6ppematerjal.pdf&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Põhiteadmiste materjal: mõisted; LDAP (puukujuline)struktuur; LDAP serverigaühendumine ja autentimine; LDIF; replikeerimine&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43496</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43496"/>
		<updated>2011-12-01T11:54:05Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Õpiobjekti kasutusjuhend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend]&#039;&#039;&#039;see on vale link&#039;&#039;&#039;, et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
 &#039;&#039;&#039;PILT PUUDU&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil[man ldapsearch].&lt;br /&gt;
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:&lt;br /&gt;
	ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt;&lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- 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 &lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Tabel 2 LDIF faili kirje muudatusvorm sisu:&lt;br /&gt;
 Faili sisu&lt;br /&gt;
 Seletus ja näide faili sisu kohta&lt;br /&gt;
 #kommentaar&lt;br /&gt;
 #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
 dn: &amp;lt;kirjenimetus (distinguished name)&amp;gt;&lt;br /&gt;
 dn: cn=Bjorn Jensen,dc=example,dc=com&lt;br /&gt;
 „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
 Changetype: &lt;br /&gt;
 Add&lt;br /&gt;
 Kirje lisamiseks&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
 Delete&lt;br /&gt;
 Kirje kustutamiseks&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Modrdn | moddn {reavahetus}&lt;br /&gt;
 [newrdn: &amp;lt;rdn&amp;gt; {reavahe} deleteoldrdn: [0|1] &lt;br /&gt;
 | newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
 Kirje DN ja RDN muutmiseks. &lt;br /&gt;
 Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse.&lt;br /&gt;
 Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
 &lt;br /&gt;
 Modify {reavahetus}&lt;br /&gt;
 [add: &amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
 | delete:&amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
 | replace:&amp;lt;atribuut| objektiklass&amp;gt;]{reavahetus}&lt;br /&gt;
 &amp;lt;atribuut| objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
 Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(add), kustutada(delete), vahtada(replace).&lt;br /&gt;
 NB! Oluline on, et reavahetused oleks õigetes kohtades!&lt;br /&gt;
 -&lt;br /&gt;
 Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 # muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
&lt;br /&gt;
#lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; #kahe uuega; kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&lt;br /&gt;
dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: postaddress&lt;br /&gt;
postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
-&lt;br /&gt;
delete: description&lt;br /&gt;
-&lt;br /&gt;
replace: telephonenumber&lt;br /&gt;
telephonenumber: +1 408 555 1234&lt;br /&gt;
telephonenumber: +1 408 555 5678&lt;br /&gt;
-&lt;br /&gt;
delete: facsimiletelephonenumber&lt;br /&gt;
facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
Skeemifaili koostamine&lt;br /&gt;
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. &lt;br /&gt;
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[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks.&lt;br /&gt;
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:&lt;br /&gt;
NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
DESC (Description)- kirjeldus;&lt;br /&gt;
SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi. &lt;br /&gt;
MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
MAY- täitmiseks vabatahtlike atribuutide nimistu;&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt OpenLDAP-i administraatori teejuhti[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;].&lt;br /&gt;
LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine&lt;br /&gt;
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:&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
include /etc/ldap/schema/core.schema&lt;br /&gt;
include /etc/ldap/schema/cosine.schema&lt;br /&gt;
loetelu järgneb&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
Lihtsa telefoniraamatu skeemi&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
        DESC &#039; eesnimi&#039; &lt;br /&gt;
        SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
         DESC &#039; perekonna nimi&#039; &lt;br /&gt;
         SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME &#039;telefoninumber&#039; &lt;br /&gt;
         DESC &#039; telefoninumber&#039; &lt;br /&gt;
         EQUALITY telephoneNumberMatch &lt;br /&gt;
         SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
         DESC &#039;Mailbox&#039; &lt;br /&gt;
     EQUALITY caseIgnoreIA5Match &lt;br /&gt;
     SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
     SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME &#039;kirjeldus&#039; &lt;br /&gt;
        DESC &#039;Lisainfo&#039; &lt;br /&gt;
        EQUALITY caseIgnoreMatch &lt;br /&gt;
        SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME &#039;telraamat&#039; &lt;br /&gt;
         DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
         SUP top STRUCTURAL &lt;br /&gt;
         MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
         MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43490</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43490"/>
		<updated>2011-12-01T10:13:43Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend], et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
LDAP klienditööriistu seadistatakse /etc/ldap/ldap.conf failist. Serveri seadistamiseks on alates 2005-nda aasta juunist kaks võimalust: &lt;br /&gt;
* /etc/ldap/slapd.conf seadistusfail (kasutati kuni versioonini 2.4) või &lt;br /&gt;
* 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.&lt;br /&gt;
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.&lt;br /&gt;
&#039;&#039;&#039;Alates Ubuntu versioonist 8.10 on vaikeväärtusena kasutusel andmebaasis seadistuse hoidmise variant&#039;&#039;&#039;, kuid kasutajale on jäetud võimalus kasutada ka slapd.conf varianti, selleks tuleb teha muudatused /etc/default/slapd failis.[Ubuntu LDAPi leht]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
 Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
 # search result &lt;br /&gt;
 search: 2 &lt;br /&gt;
 &#039;&#039;&#039;result: 0 Success&#039;&#039;&#039; või &lt;br /&gt;
 &#039;&#039;&#039;result: 32 No such&#039;&#039;&#039; object&lt;br /&gt;
 &lt;br /&gt;
 result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
 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.&lt;br /&gt;
 ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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 &lt;br /&gt;
 cn=root,dc=naide,dc=vot enda konfiguratsioonile vastavaks, asendus tuleb teha reas:&lt;br /&gt;
 $servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
 &#039;&#039;&#039;PILT PUUDU&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil[man ldapsearch].&lt;br /&gt;
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:&lt;br /&gt;
	ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt;&lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- 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 &lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
 ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabeli 2&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Tabel 2 LDIF faili kirje muudatusvorm sisu:&lt;br /&gt;
 Faili sisu&lt;br /&gt;
 Seletus ja näide faili sisu kohta&lt;br /&gt;
 #kommentaar&lt;br /&gt;
 #(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
 dn: &amp;lt;kirjenimetus (distinguished name)&amp;gt;&lt;br /&gt;
 dn: cn=Bjorn Jensen,dc=example,dc=com&lt;br /&gt;
 „dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
 Changetype: &lt;br /&gt;
 Add&lt;br /&gt;
 Kirje lisamiseks&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
 Delete&lt;br /&gt;
 Kirje kustutamiseks&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Modrdn | moddn {reavahetus}&lt;br /&gt;
 [newrdn: &amp;lt;rdn&amp;gt; {reavahe} deleteoldrdn: [0|1] &lt;br /&gt;
 | newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
 Kirje DN ja RDN muutmiseks. &lt;br /&gt;
 Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse.&lt;br /&gt;
 Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
 &lt;br /&gt;
 Modify {reavahetus}&lt;br /&gt;
 [add: &amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
 | delete:&amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
 | replace:&amp;lt;atribuut| objektiklass&amp;gt;]{reavahetus}&lt;br /&gt;
 &amp;lt;atribuut| objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
 Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(add), kustutada(delete), vahtada(replace).&lt;br /&gt;
 NB! Oluline on, et reavahetused oleks õigetes kohtades!&lt;br /&gt;
 -&lt;br /&gt;
 Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
 # muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&lt;br /&gt;
 dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
 changetype: modrdn &lt;br /&gt;
 newrdn: ou=Product Development Accountants &lt;br /&gt;
 deleteoldrdn: 0 &lt;br /&gt;
 newsuperior: ou=Accounting, dc=airius, dc=com &lt;br /&gt;
&lt;br /&gt;
#lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; #kahe uuega; kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&lt;br /&gt;
dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: postaddress&lt;br /&gt;
postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
-&lt;br /&gt;
delete: description&lt;br /&gt;
-&lt;br /&gt;
replace: telephonenumber&lt;br /&gt;
telephonenumber: +1 408 555 1234&lt;br /&gt;
telephonenumber: +1 408 555 5678&lt;br /&gt;
-&lt;br /&gt;
delete: facsimiletelephonenumber&lt;br /&gt;
facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
Skeemifaili koostamine&lt;br /&gt;
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. &lt;br /&gt;
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[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks.&lt;br /&gt;
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:&lt;br /&gt;
NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
DESC (Description)- kirjeldus;&lt;br /&gt;
SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi. &lt;br /&gt;
MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
MAY- täitmiseks vabatahtlike atribuutide nimistu;&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt OpenLDAP-i administraatori teejuhti[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;].&lt;br /&gt;
LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine&lt;br /&gt;
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:&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
include /etc/ldap/schema/core.schema&lt;br /&gt;
include /etc/ldap/schema/cosine.schema&lt;br /&gt;
loetelu järgneb&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
Lihtsa telefoniraamatu skeemi&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
        DESC &#039; eesnimi&#039; &lt;br /&gt;
        SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
         DESC &#039; perekonna nimi&#039; &lt;br /&gt;
         SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME &#039;telefoninumber&#039; &lt;br /&gt;
         DESC &#039; telefoninumber&#039; &lt;br /&gt;
         EQUALITY telephoneNumberMatch &lt;br /&gt;
         SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
         DESC &#039;Mailbox&#039; &lt;br /&gt;
     EQUALITY caseIgnoreIA5Match &lt;br /&gt;
     SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
     SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME &#039;kirjeldus&#039; &lt;br /&gt;
        DESC &#039;Lisainfo&#039; &lt;br /&gt;
        EQUALITY caseIgnoreMatch &lt;br /&gt;
        SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME &#039;telraamat&#039; &lt;br /&gt;
         DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
         SUP top STRUCTURAL &lt;br /&gt;
         MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
         MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43440</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43440"/>
		<updated>2011-11-30T17:01:57Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Õpiobjekti kasutusjuhend =&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend], et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
# search result &lt;br /&gt;
search: 2 &lt;br /&gt;
result: 0 Success või result: 32 No such object&lt;br /&gt;
result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
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.&lt;br /&gt;
ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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:&lt;br /&gt;
$servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
 &#039;&#039;&#039;PILT PUUDU&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil[man ldapsearch].&lt;br /&gt;
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:&lt;br /&gt;
	ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt;&lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- 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 &lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
	ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tabel 2 LDIF faili kirje muudatusvorm sisu:&lt;br /&gt;
Faili sisu&lt;br /&gt;
Seletus ja näide faili sisu kohta&lt;br /&gt;
#kommentaar&lt;br /&gt;
#(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
dn: &amp;lt;kirjenimetus (distinguished name)&amp;gt;&lt;br /&gt;
dn: cn=Bjorn Jensen,dc=example,dc=com&lt;br /&gt;
„dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
Changetype: &lt;br /&gt;
Add&lt;br /&gt;
Kirje lisamiseks&lt;br /&gt;
&lt;br /&gt;
Delete&lt;br /&gt;
Kirje kustutamiseks&lt;br /&gt;
&lt;br /&gt;
Modrdn | moddn {reavahetus}&lt;br /&gt;
[newrdn: &amp;lt;rdn&amp;gt; {reavahe} deleteoldrdn: [0|1] &lt;br /&gt;
| newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
Kirje DN ja RDN muutmiseks. &lt;br /&gt;
Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse.&lt;br /&gt;
Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
&lt;br /&gt;
Modify {reavahetus}&lt;br /&gt;
[add: &amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
| delete:&amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
| replace:&amp;lt;atribuut| objektiklass&amp;gt;]{reavahetus}&lt;br /&gt;
&amp;lt;atribuut| objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(add), kustutada(delete), vahtada(replace).&lt;br /&gt;
NB! Oluline on, et reavahetused oleks õigetes kohtades!&lt;br /&gt;
-&lt;br /&gt;
Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&lt;br /&gt;
dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
changetype: modrdn &lt;br /&gt;
newrdn: ou=Product Development Accountants &lt;br /&gt;
deleteoldrdn: 0 &lt;br /&gt;
newsuperior: ou=Accounting, dc=airius, dc=com&lt;br /&gt;
&lt;br /&gt;
#lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; #kahe uuega; kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&lt;br /&gt;
dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: postaddress&lt;br /&gt;
postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
-&lt;br /&gt;
delete: description&lt;br /&gt;
-&lt;br /&gt;
replace: telephonenumber&lt;br /&gt;
telephonenumber: +1 408 555 1234&lt;br /&gt;
telephonenumber: +1 408 555 5678&lt;br /&gt;
-&lt;br /&gt;
delete: facsimiletelephonenumber&lt;br /&gt;
facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
Skeemifaili koostamine&lt;br /&gt;
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. &lt;br /&gt;
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[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks.&lt;br /&gt;
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:&lt;br /&gt;
NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
DESC (Description)- kirjeldus;&lt;br /&gt;
SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi. &lt;br /&gt;
MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
MAY- täitmiseks vabatahtlike atribuutide nimistu;&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt OpenLDAP-i administraatori teejuhti[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;].&lt;br /&gt;
LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine&lt;br /&gt;
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:&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
include /etc/ldap/schema/core.schema&lt;br /&gt;
include /etc/ldap/schema/cosine.schema&lt;br /&gt;
loetelu järgneb&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
Lihtsa telefoniraamatu skeemi&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
        DESC &#039; eesnimi&#039; &lt;br /&gt;
        SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
         DESC &#039; perekonna nimi&#039; &lt;br /&gt;
         SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME &#039;telefoninumber&#039; &lt;br /&gt;
         DESC &#039; telefoninumber&#039; &lt;br /&gt;
         EQUALITY telephoneNumberMatch &lt;br /&gt;
         SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
         DESC &#039;Mailbox&#039; &lt;br /&gt;
     EQUALITY caseIgnoreIA5Match &lt;br /&gt;
     SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
     SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME &#039;kirjeldus&#039; &lt;br /&gt;
        DESC &#039;Lisainfo&#039; &lt;br /&gt;
        EQUALITY caseIgnoreMatch &lt;br /&gt;
        SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME &#039;telraamat&#039; &lt;br /&gt;
         DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
         SUP top STRUCTURAL &lt;br /&gt;
         MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
         MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43439</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43439"/>
		<updated>2011-11-30T17:00:59Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Õpijuhis =&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti kasutusjuhend ==&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend], et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
# search result &lt;br /&gt;
search: 2 &lt;br /&gt;
result: 0 Success või result: 32 No such object&lt;br /&gt;
result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
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.&lt;br /&gt;
ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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:&lt;br /&gt;
$servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
 &#039;&#039;&#039;PILT PUUDU&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil[man ldapsearch].&lt;br /&gt;
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:&lt;br /&gt;
	ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt;&lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- 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 &lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
	ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tabel 2 LDIF faili kirje muudatusvorm sisu:&lt;br /&gt;
Faili sisu&lt;br /&gt;
Seletus ja näide faili sisu kohta&lt;br /&gt;
#kommentaar&lt;br /&gt;
#(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
dn: &amp;lt;kirjenimetus (distinguished name)&amp;gt;&lt;br /&gt;
dn: cn=Bjorn Jensen,dc=example,dc=com&lt;br /&gt;
„dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
Changetype: &lt;br /&gt;
Add&lt;br /&gt;
Kirje lisamiseks&lt;br /&gt;
&lt;br /&gt;
Delete&lt;br /&gt;
Kirje kustutamiseks&lt;br /&gt;
&lt;br /&gt;
Modrdn | moddn {reavahetus}&lt;br /&gt;
[newrdn: &amp;lt;rdn&amp;gt; {reavahe} deleteoldrdn: [0|1] &lt;br /&gt;
| newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
Kirje DN ja RDN muutmiseks. &lt;br /&gt;
Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse.&lt;br /&gt;
Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
&lt;br /&gt;
Modify {reavahetus}&lt;br /&gt;
[add: &amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
| delete:&amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
| replace:&amp;lt;atribuut| objektiklass&amp;gt;]{reavahetus}&lt;br /&gt;
&amp;lt;atribuut| objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(add), kustutada(delete), vahtada(replace).&lt;br /&gt;
NB! Oluline on, et reavahetused oleks õigetes kohtades!&lt;br /&gt;
-&lt;br /&gt;
Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&lt;br /&gt;
dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
changetype: modrdn &lt;br /&gt;
newrdn: ou=Product Development Accountants &lt;br /&gt;
deleteoldrdn: 0 &lt;br /&gt;
newsuperior: ou=Accounting, dc=airius, dc=com&lt;br /&gt;
&lt;br /&gt;
#lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; #kahe uuega; kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&lt;br /&gt;
dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: postaddress&lt;br /&gt;
postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
-&lt;br /&gt;
delete: description&lt;br /&gt;
-&lt;br /&gt;
replace: telephonenumber&lt;br /&gt;
telephonenumber: +1 408 555 1234&lt;br /&gt;
telephonenumber: +1 408 555 5678&lt;br /&gt;
-&lt;br /&gt;
delete: facsimiletelephonenumber&lt;br /&gt;
facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
Skeemifaili koostamine&lt;br /&gt;
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. &lt;br /&gt;
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[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks.&lt;br /&gt;
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:&lt;br /&gt;
NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
DESC (Description)- kirjeldus;&lt;br /&gt;
SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi. &lt;br /&gt;
MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
MAY- täitmiseks vabatahtlike atribuutide nimistu;&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt OpenLDAP-i administraatori teejuhti[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;].&lt;br /&gt;
LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine&lt;br /&gt;
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:&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
include /etc/ldap/schema/core.schema&lt;br /&gt;
include /etc/ldap/schema/cosine.schema&lt;br /&gt;
loetelu järgneb&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
Lihtsa telefoniraamatu skeemi&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
        DESC &#039; eesnimi&#039; &lt;br /&gt;
        SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
         DESC &#039; perekonna nimi&#039; &lt;br /&gt;
         SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME &#039;telefoninumber&#039; &lt;br /&gt;
         DESC &#039; telefoninumber&#039; &lt;br /&gt;
         EQUALITY telephoneNumberMatch &lt;br /&gt;
         SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
         DESC &#039;Mailbox&#039; &lt;br /&gt;
     EQUALITY caseIgnoreIA5Match &lt;br /&gt;
     SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
     SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME &#039;kirjeldus&#039; &lt;br /&gt;
        DESC &#039;Lisainfo&#039; &lt;br /&gt;
        EQUALITY caseIgnoreMatch &lt;br /&gt;
        SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME &#039;telraamat&#039; &lt;br /&gt;
         DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
         SUP top STRUCTURAL &lt;br /&gt;
         MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
         MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43438</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43438"/>
		<updated>2011-11-30T16:58:57Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Õpijuhis ==&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php/Ldap%27i_%C3%B5piobjekt#.C3.95piobjekti_kasutusjuhend õpilase kasutusjuhend]- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*[https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95pikeskkonna_loomine_ja_seadistamine õpikeskkonna loomise ja seadistamise juhend](sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf teoreetiline] ja [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal praktiline] õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti kasutusjuhend ==&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend], et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
# search result &lt;br /&gt;
search: 2 &lt;br /&gt;
result: 0 Success või result: 32 No such object&lt;br /&gt;
result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
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.&lt;br /&gt;
ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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:&lt;br /&gt;
$servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
 &#039;&#039;&#039;PILT PUUDU&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil[man ldapsearch].&lt;br /&gt;
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:&lt;br /&gt;
	ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt;&lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- 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 &lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
	ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tabel 2 LDIF faili kirje muudatusvorm sisu:&lt;br /&gt;
Faili sisu&lt;br /&gt;
Seletus ja näide faili sisu kohta&lt;br /&gt;
#kommentaar&lt;br /&gt;
#(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
dn: &amp;lt;kirjenimetus (distinguished name)&amp;gt;&lt;br /&gt;
dn: cn=Bjorn Jensen,dc=example,dc=com&lt;br /&gt;
„dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
Changetype: &lt;br /&gt;
Add&lt;br /&gt;
Kirje lisamiseks&lt;br /&gt;
&lt;br /&gt;
Delete&lt;br /&gt;
Kirje kustutamiseks&lt;br /&gt;
&lt;br /&gt;
Modrdn | moddn {reavahetus}&lt;br /&gt;
[newrdn: &amp;lt;rdn&amp;gt; {reavahe} deleteoldrdn: [0|1] &lt;br /&gt;
| newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
Kirje DN ja RDN muutmiseks. &lt;br /&gt;
Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse.&lt;br /&gt;
Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
&lt;br /&gt;
Modify {reavahetus}&lt;br /&gt;
[add: &amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
| delete:&amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
| replace:&amp;lt;atribuut| objektiklass&amp;gt;]{reavahetus}&lt;br /&gt;
&amp;lt;atribuut| objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(add), kustutada(delete), vahtada(replace).&lt;br /&gt;
NB! Oluline on, et reavahetused oleks õigetes kohtades!&lt;br /&gt;
-&lt;br /&gt;
Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&lt;br /&gt;
dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
changetype: modrdn &lt;br /&gt;
newrdn: ou=Product Development Accountants &lt;br /&gt;
deleteoldrdn: 0 &lt;br /&gt;
newsuperior: ou=Accounting, dc=airius, dc=com&lt;br /&gt;
&lt;br /&gt;
#lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; #kahe uuega; kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&lt;br /&gt;
dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: postaddress&lt;br /&gt;
postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
-&lt;br /&gt;
delete: description&lt;br /&gt;
-&lt;br /&gt;
replace: telephonenumber&lt;br /&gt;
telephonenumber: +1 408 555 1234&lt;br /&gt;
telephonenumber: +1 408 555 5678&lt;br /&gt;
-&lt;br /&gt;
delete: facsimiletelephonenumber&lt;br /&gt;
facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
Skeemifaili koostamine&lt;br /&gt;
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. &lt;br /&gt;
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[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks.&lt;br /&gt;
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:&lt;br /&gt;
NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
DESC (Description)- kirjeldus;&lt;br /&gt;
SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi. &lt;br /&gt;
MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
MAY- täitmiseks vabatahtlike atribuutide nimistu;&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt OpenLDAP-i administraatori teejuhti[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;].&lt;br /&gt;
LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine&lt;br /&gt;
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:&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
include /etc/ldap/schema/core.schema&lt;br /&gt;
include /etc/ldap/schema/cosine.schema&lt;br /&gt;
loetelu järgneb&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
Lihtsa telefoniraamatu skeemi&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
        DESC &#039; eesnimi&#039; &lt;br /&gt;
        SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
         DESC &#039; perekonna nimi&#039; &lt;br /&gt;
         SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME &#039;telefoninumber&#039; &lt;br /&gt;
         DESC &#039; telefoninumber&#039; &lt;br /&gt;
         EQUALITY telephoneNumberMatch &lt;br /&gt;
         SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
         DESC &#039;Mailbox&#039; &lt;br /&gt;
     EQUALITY caseIgnoreIA5Match &lt;br /&gt;
     SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
     SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME &#039;kirjeldus&#039; &lt;br /&gt;
        DESC &#039;Lisainfo&#039; &lt;br /&gt;
        EQUALITY caseIgnoreMatch &lt;br /&gt;
        SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME &#039;telraamat&#039; &lt;br /&gt;
         DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
         SUP top STRUCTURAL &lt;br /&gt;
         MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
         MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43437</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43437"/>
		<updated>2011-11-30T16:34:39Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Õpijuhis ==&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab ... õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*õpilase kasutusjuhend- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*õpikeskkonna loomise ja seadistamise juhend(sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- teoreetiline ja praktiline õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti kasutusjuhend ==&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend], et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#.C3.95piobjekti_komponendid õpiobjekti komponendid] . &lt;br /&gt;
&lt;br /&gt;
3. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php/File:LDAP_teadmiste_omandamise_6ppematerjal.pdf 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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Loe läbi ja püüa mõista [https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;amp;action=submit#Praktiline_.C3.B5ppematerjal 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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Praktiline õppematerjal =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
# search result &lt;br /&gt;
search: 2 &lt;br /&gt;
result: 0 Success või result: 32 No such object&lt;br /&gt;
result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
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.&lt;br /&gt;
ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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:&lt;br /&gt;
$servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
 &#039;&#039;&#039;PILT PUUDU&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil[man ldapsearch].&lt;br /&gt;
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:&lt;br /&gt;
	ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt;&lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- 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 &lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
	ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tabel 2 LDIF faili kirje muudatusvorm sisu:&lt;br /&gt;
Faili sisu&lt;br /&gt;
Seletus ja näide faili sisu kohta&lt;br /&gt;
#kommentaar&lt;br /&gt;
#(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
dn: &amp;lt;kirjenimetus (distinguished name)&amp;gt;&lt;br /&gt;
dn: cn=Bjorn Jensen,dc=example,dc=com&lt;br /&gt;
„dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
Changetype: &lt;br /&gt;
Add&lt;br /&gt;
Kirje lisamiseks&lt;br /&gt;
&lt;br /&gt;
Delete&lt;br /&gt;
Kirje kustutamiseks&lt;br /&gt;
&lt;br /&gt;
Modrdn | moddn {reavahetus}&lt;br /&gt;
[newrdn: &amp;lt;rdn&amp;gt; {reavahe} deleteoldrdn: [0|1] &lt;br /&gt;
| newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
Kirje DN ja RDN muutmiseks. &lt;br /&gt;
Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse.&lt;br /&gt;
Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
&lt;br /&gt;
Modify {reavahetus}&lt;br /&gt;
[add: &amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
| delete:&amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
| replace:&amp;lt;atribuut| objektiklass&amp;gt;]{reavahetus}&lt;br /&gt;
&amp;lt;atribuut| objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(add), kustutada(delete), vahtada(replace).&lt;br /&gt;
NB! Oluline on, et reavahetused oleks õigetes kohtades!&lt;br /&gt;
-&lt;br /&gt;
Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&lt;br /&gt;
dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
changetype: modrdn &lt;br /&gt;
newrdn: ou=Product Development Accountants &lt;br /&gt;
deleteoldrdn: 0 &lt;br /&gt;
newsuperior: ou=Accounting, dc=airius, dc=com&lt;br /&gt;
&lt;br /&gt;
#lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; #kahe uuega; kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&lt;br /&gt;
dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: postaddress&lt;br /&gt;
postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
-&lt;br /&gt;
delete: description&lt;br /&gt;
-&lt;br /&gt;
replace: telephonenumber&lt;br /&gt;
telephonenumber: +1 408 555 1234&lt;br /&gt;
telephonenumber: +1 408 555 5678&lt;br /&gt;
-&lt;br /&gt;
delete: facsimiletelephonenumber&lt;br /&gt;
facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
Skeemifaili koostamine&lt;br /&gt;
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. &lt;br /&gt;
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[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks.&lt;br /&gt;
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:&lt;br /&gt;
NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
DESC (Description)- kirjeldus;&lt;br /&gt;
SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi. &lt;br /&gt;
MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
MAY- täitmiseks vabatahtlike atribuutide nimistu;&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt OpenLDAP-i administraatori teejuhti[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;].&lt;br /&gt;
LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine&lt;br /&gt;
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:&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
include /etc/ldap/schema/core.schema&lt;br /&gt;
include /etc/ldap/schema/cosine.schema&lt;br /&gt;
loetelu järgneb&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
Lihtsa telefoniraamatu skeemi&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
        DESC &#039; eesnimi&#039; &lt;br /&gt;
        SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
         DESC &#039; perekonna nimi&#039; &lt;br /&gt;
         SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME &#039;telefoninumber&#039; &lt;br /&gt;
         DESC &#039; telefoninumber&#039; &lt;br /&gt;
         EQUALITY telephoneNumberMatch &lt;br /&gt;
         SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
         DESC &#039;Mailbox&#039; &lt;br /&gt;
     EQUALITY caseIgnoreIA5Match &lt;br /&gt;
     SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
     SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME &#039;kirjeldus&#039; &lt;br /&gt;
        DESC &#039;Lisainfo&#039; &lt;br /&gt;
        EQUALITY caseIgnoreMatch &lt;br /&gt;
        SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME &#039;telraamat&#039; &lt;br /&gt;
         DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
         SUP top STRUCTURAL &lt;br /&gt;
         MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
         MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43436</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43436"/>
		<updated>2011-11-30T15:29:37Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Õpijuhis ==&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*õpilase kasutusjuhend- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*õpikeskkonna loomise ja seadistamise juhend(sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- teoreetiline ja praktiline õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti kasutusjuhend ==&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
1. Loe läbi terve [https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf õpilase kasutajajuhend], et teada saada, mida ja millises järjekorras sa tegema pead, selleks et õpiobjekti teadmised ja oskused kinnistuksid parimal võimalikul viisil.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik õpiobjekti komponendid. Komponentide nimekiri on osaks käesolevast „õpilase kasutusjuhendist“. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;br /&gt;
&lt;br /&gt;
== OpenLDAP serveri ja klienditööristade paigaldamine ==&lt;br /&gt;
Kõigepealt paigalda OpenLDAP server, paketi nimeks Ubuntu paketihalduris &#039;slapd&#039;, klienditööriistad asuvad paketis &#039;ldap-utils&#039;, need on vajalikud, et kasutada klienditööriistu nagu näiteks: ldapsearch, ldapadd jne. Pakid paigaldatakse järgmise käsuga: &lt;br /&gt;
 apt-get install slapd ldap-utils &lt;br /&gt;
Paigaldamise ajal küsitakse seadistamiseks erinevaid küsimusi, mille vastamisega peab õppija iseseisvalt hakkama saama, kasutades õpitud teadmisi.&lt;br /&gt;
Kui paigaldamise käigus küsiti vaid administraatori parooli või soovid ennast parandada on abiks käsk:&lt;br /&gt;
 dpkg-reconfigure slapd &lt;br /&gt;
&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LDAP serveri ja klienditööriistade seadistamine&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Testime ====&lt;br /&gt;
Järgmiseks testi, kas saad tehtule ligi:&lt;br /&gt;
 ldapsearch -x -D &#039;cn=&amp;lt;rootDN&amp;gt;,cn=config&#039; -W&lt;br /&gt;
Võtmed: x- lihtne autentimine(ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli&lt;br /&gt;
Vastus võiks olla selline:&lt;br /&gt;
# search result &lt;br /&gt;
search: 2 &lt;br /&gt;
result: 0 Success või result: 32 No such object&lt;br /&gt;
result: 0 Success- tähendab, et päring LDAP andmebaasi jõudis kohale ja sealt saadi vastus.&lt;br /&gt;
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.&lt;br /&gt;
ldap_sasl_bind(SIMPLE): Can&#039;t contact LDAP server (-1)- ilmslt LDAP server seisab või ei saada baseDN-iga ühendust, vaata kas porti(389) kuulatakse, selleks sisesta terminali:&lt;br /&gt;
	netstat -anp|grep 389 &lt;br /&gt;
vajadusel restardi teenus:&lt;br /&gt;
	/etc/init.d/slapd restart &lt;br /&gt;
ja kontrolli, kas päringu vastus muutus, kui mitte siis põhjuse leiad /var/log/syslog failist.&lt;br /&gt;
&lt;br /&gt;
== LDAP serveri andmebaasi kirjete laadimine ==&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;quot;&amp;lt;kasutaja DN&amp;gt;&amp;quot; -w &amp;lt;parool&amp;gt; -f &amp;lt;fail&amp;gt; &lt;br /&gt;
 Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja DN; w- sisestatakse parool kohe; f- imporditav fail.&lt;br /&gt;
&lt;br /&gt;
== Veebipõhise LDAP haldusliidese paigaldamine ja seadistamine ==&lt;br /&gt;
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:&lt;br /&gt;
$servers-&amp;gt;setValue(&#039;login&#039;,&#039;bind_id&#039;,&#039;cn=root,dc=naide,dc=vot&#039;); &lt;br /&gt;
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.&lt;br /&gt;
 &#039;&#039;&#039;PILT PUUDU&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Kirjete otsimine ja muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapsearch juhendil[man ldapsearch].&lt;br /&gt;
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:&lt;br /&gt;
	ldapsearch -x -D &#039;cn=&amp;lt;kasutaja DN&amp;gt;&#039; -W &amp;lt;filtreeriv tingimus&amp;gt; &amp;lt;väljastatavad atribuudid&amp;gt;&lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; &amp;lt;filtreeriv tingimus&amp;gt;- võimaldab otsingut piirata; &amp;lt;väljastatavad atribuudid&amp;gt;- 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 &lt;br /&gt;
&lt;br /&gt;
== Kirjete muutmine LDAP-is ==&lt;br /&gt;
Põhineb OpenLDAP tööriista ldapmodify juhendil[man LDAPModify].&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W -f &amp;lt;faili asukoht&amp;gt; &lt;br /&gt;
	ldapmod -x -D &#039;cn=&amp;lt;rootDN&amp;gt;&#039; -W &lt;br /&gt;
Võtmed: x- lihtne autentimine (ühendust ei krüpteerita); D- kasutaja ja base DN; W- küsitaks parooli; -f sisendfaili asukoht.&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tabel 2 LDIF faili kirje muudatusvorm sisu:&lt;br /&gt;
Faili sisu&lt;br /&gt;
Seletus ja näide faili sisu kohta&lt;br /&gt;
#kommentaar&lt;br /&gt;
#(trellid) rea alguses võimaldab kommentaari lisada, programmid #alustatud rida ei loe!&lt;br /&gt;
dn: &amp;lt;kirjenimetus (distinguished name)&amp;gt;&lt;br /&gt;
dn: cn=Bjorn Jensen,dc=example,dc=com&lt;br /&gt;
„dn:..“ näitab kirje asukohta puus.&lt;br /&gt;
Changetype: &lt;br /&gt;
Add&lt;br /&gt;
Kirje lisamiseks&lt;br /&gt;
&lt;br /&gt;
Delete&lt;br /&gt;
Kirje kustutamiseks&lt;br /&gt;
&lt;br /&gt;
Modrdn | moddn {reavahetus}&lt;br /&gt;
[newrdn: &amp;lt;rdn&amp;gt; {reavahe} deleteoldrdn: [0|1] &lt;br /&gt;
| newsuperior: &amp;lt;dn&amp;gt;]&lt;br /&gt;
Kirje DN ja RDN muutmiseks. &lt;br /&gt;
Suvand Newrdn võimaldab kirje RDN&#039;i muuta. Newrdn kasutamisel tuleb ka deleteoldrdn suvandit kasutada valides väärtuseks: 0-vana rdn jäetakse alles; 1- vana RDN kustutatakse.&lt;br /&gt;
Newsuperior võimaldab kirje liigutada uue kataloogi alluvusse.&lt;br /&gt;
&lt;br /&gt;
Modify {reavahetus}&lt;br /&gt;
[add: &amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
| delete:&amp;lt;atribuut| objektiklass&amp;gt;&lt;br /&gt;
| replace:&amp;lt;atribuut| objektiklass&amp;gt;]{reavahetus}&lt;br /&gt;
&amp;lt;atribuut| objektiklass&amp;gt;: &amp;lt;uus väärtus&lt;br /&gt;
Võimaldab atribuuti, objektiklassi või mõnd muud kirje osa lisada(add), kustutada(delete), vahtada(replace).&lt;br /&gt;
NB! Oluline on, et reavahetused oleks õigetes kohtades!&lt;br /&gt;
-&lt;br /&gt;
Tähistab, et sama dn ja changetype&#039;i kasutatakse ka järgmise muudatuse puhul.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näited[RFC 2849]:&lt;br /&gt;
# muudetakse RDN ja tõstetakse kogu sisu uue kataloogi alluvusse.&lt;br /&gt;
dn: ou=PD Accountants, ou=Product Development, dc=airius, dc=com &lt;br /&gt;
changetype: modrdn &lt;br /&gt;
newrdn: ou=Product Development Accountants &lt;br /&gt;
deleteoldrdn: 0 &lt;br /&gt;
newsuperior: ou=Accounting, dc=airius, dc=com&lt;br /&gt;
&lt;br /&gt;
#lisatakse &#039;postaddress&#039;; kustutatakse &#039;description&#039;; asendatakse olemasolev(ad) &#039;telephonenumber&#039; #kahe uuega; kustutatakse see facsimiletelephonenumber mille väärtus on „+1 408 555 9876“.&lt;br /&gt;
dn: cn=Paula Jensen, ou=Product Development, dc=airius, dc=com&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: postaddress&lt;br /&gt;
postaddress: 123 Anystreet $ Sunnyvale, CA $ 94086&lt;br /&gt;
-&lt;br /&gt;
delete: description&lt;br /&gt;
-&lt;br /&gt;
replace: telephonenumber&lt;br /&gt;
telephonenumber: +1 408 555 1234&lt;br /&gt;
telephonenumber: +1 408 555 5678&lt;br /&gt;
-&lt;br /&gt;
delete: facsimiletelephonenumber&lt;br /&gt;
facsimiletelephonenumber: +1 408 555 9876&lt;br /&gt;
&lt;br /&gt;
== Skeemifaili koostamine ja LDAP andmebaasi laadimine ==&lt;br /&gt;
Skeemifaili koostamine&lt;br /&gt;
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. &lt;br /&gt;
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[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;]. Seda materjali soovitab autor lugeda ka õpilastel täiendava teadmise omandamiseks.&lt;br /&gt;
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:&lt;br /&gt;
NAME- atribuudi/objektklassi nimi;&lt;br /&gt;
DESC (Description)- kirjeldus;&lt;br /&gt;
SUP (Superior ObjectClass)- ülem objektklass, mille piiranguid atribuut/objektiklass kasutatab;&lt;br /&gt;
EQUALITY- reegel, mis kontrollib, et sisestatakse just seda tüüpi andmeid;&lt;br /&gt;
SUBSTR (SubString)- reegel, mis kontrollib, et sisestatav alamstring sisaldab määratud tüüpi andmeid;&lt;br /&gt;
SYNTAX- täidetava välja stringi numbriline väärtus, mis sisaldab välja süntaksi koodi. &lt;br /&gt;
MUST- täitmiseks kohustuslike atribuutide nimistu;&lt;br /&gt;
MAY- täitmiseks vabatahtlike atribuutide nimistu;&lt;br /&gt;
&lt;br /&gt;
Ebaselguse korral loe täiendavalt OpenLDAP-i administraatori teejuhti[&#039;&#039;&#039;OpenLDAP-Schema- VIIDE KORDA&#039;&#039;&#039;].&lt;br /&gt;
LDAP andmebaasi täiendavate skeemi (schema) andmete laadimine&lt;br /&gt;
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:&lt;br /&gt;
1.luua fail skeemi_konverteerimine.conf, mis sisaldab viidet kõigile neile skeemifailidele, mida LDAP server kasutab. Näiteks:&lt;br /&gt;
include /etc/ldap/schema/core.schema&lt;br /&gt;
include /etc/ldap/schema/cosine.schema&lt;br /&gt;
loetelu järgneb&lt;br /&gt;
2.loo kataloog, kuhu ajutiselt konverteeritud skeemifailid pannakse:&lt;br /&gt;
 mkdir /tmp/konverteeritud&lt;br /&gt;
3.kasutades slaptest tööriista konverteeri .schema failid ldif failideks käsuga:&lt;br /&gt;
 slaptest -f skeemi_konverteerimine.conf -F /tmp/konverteeritud&lt;br /&gt;
4.järgmiseks on vaja skeem andmebaasi laadida, selleks on kaks võimalust:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 ldapadd -x -D &amp;lt;administraatoriCN&amp;gt;,cn=config -W -f &amp;lt;faili asukoht&amp;gt;&lt;br /&gt;
2.kopeerida skeemi ldif-fail cn=config/cn=schema kataloogi, kus need peale serveri restarti kasutusele võetakse.&lt;br /&gt;
&lt;br /&gt;
Lihtsa telefoniraamatu skeemi&lt;br /&gt;
&lt;br /&gt;
 attributetype ( 1.1.2.1.1 NAME ( &#039;eesnimi&#039; ) &lt;br /&gt;
        DESC &#039; eesnimi&#039; &lt;br /&gt;
        SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.2 NAME ( &#039;perenimi&#039; ) &lt;br /&gt;
         DESC &#039; perekonna nimi&#039; &lt;br /&gt;
         SUP name ) &lt;br /&gt;
 attributetype ( 1.1.2.1.3 NAME &#039;telefoninumber&#039; &lt;br /&gt;
         DESC &#039; telefoninumber&#039; &lt;br /&gt;
         EQUALITY telephoneNumberMatch &lt;br /&gt;
         SUBSTR telephoneNumberSubstringsMatch &lt;br /&gt;
         SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.4 NAME ( &#039;mailiaadress&#039; ) &lt;br /&gt;
         DESC &#039;Mailbox&#039; &lt;br /&gt;
     EQUALITY caseIgnoreIA5Match &lt;br /&gt;
     SUBSTR caseIgnoreIA5SubstringsMatch &lt;br /&gt;
     SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) &lt;br /&gt;
 attributetype ( 1.1.2.1.5 NAME &#039;kirjeldus&#039; &lt;br /&gt;
        DESC &#039;Lisainfo&#039; &lt;br /&gt;
        EQUALITY caseIgnoreMatch &lt;br /&gt;
        SUBSTR caseIgnoreSubstringsMatch &lt;br /&gt;
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )&lt;br /&gt;
 objectclass ( 1.1.2.2.1 NAME &#039;telraamat&#039; &lt;br /&gt;
         DESC &#039;Telefoniraamat&#039; &lt;br /&gt;
         SUP top STRUCTURAL &lt;br /&gt;
         MUST ( eesnimi $ perenimi $ telefoninumber ) &lt;br /&gt;
         MAY ( mailiaadress $ kirjeldus ) )&lt;br /&gt;
&lt;br /&gt;
== LDAP-i õiguste mudel ja õiguste jagamine ==&lt;br /&gt;
Õppematerjal põhineb OpenLDAP administraatori teejuhi[LDAP Access Control] refereeringul.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Siin on tabelid sees, vaja pisut uurida, mismoodi neid üle kanda!! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine ==&lt;br /&gt;
Linux operatsioonisüsteemides LDAP-ga autentimise seadistamine&lt;br /&gt;
Juhend põhineb kuutõrvaja wikil[Kuutõrvaja wiki], mida on mõnevõrra kohandatud Ubuntu-ga kasutamiseks.&lt;br /&gt;
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:&lt;br /&gt;
OpenLDAP serveri IP aadressi või masina nimi: ldap://localhost või ldap://127.0.0.1 (OpenLDAP server asub samas virtuaalmasinas);&lt;br /&gt;
distinguished name (DN): dc=naide,dc=ee ( näiteülesande DN on selline);&lt;br /&gt;
LDAP versioon: 3 (uuem versioon);&lt;br /&gt;
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);&lt;br /&gt;
kas LDAP andmebaasile ligipääs nõuab sisselogimist: ei (antud õppematerjalis on andmebaasile ühendumine ilma autentimiseta);&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
	session required	pam_mkhomedir.so skel=/etc/skel/ umask=0066&lt;br /&gt;
&lt;br /&gt;
Lisaks on kohustuslikud Linuxisse logivatel kasutajatel atribuudid (uid, cn, loginshell, uidnumber, gidnumber, homedirectory, userpassword) ja objektiklassid (account, posixaccount ja top)[LDAP logimise objektiklass]&lt;br /&gt;
&lt;br /&gt;
== Linux ja UNIX operatsioonisüsteemide kasutajate migreerimine ==&lt;br /&gt;
Juhend põhineb EIK Wiki artiklil[EIK LDAPi wiki] ja Antti Andreimann LDAP-i õppematerjalil[EIK Linuxi Administeerimine LDAP-i õppematerjal].&lt;br /&gt;
Kasutajate ülekandmine lokaalsest kasutajate hoidlast OpenLDAPi Paigaldame migrationtools paketi. &lt;br /&gt;
 apt-get install migrationtools &lt;br /&gt;
Järgnevalt peame veidi muutma migrationtools-i seadistusfaili:&lt;br /&gt;
 /usr/share/perl5/migrate_common.ph &lt;br /&gt;
Kus tuleb asendada järgmised parameetrid enda LDAPi seadistusele vastavaks:&lt;br /&gt;
$DEFAULT_MAIL_DOMAIN = &amp;quot;naide.ee&amp;quot;; &lt;br /&gt;
$DEFAULT_BASE = &amp;quot;dc=naide,dc=ee&amp;quot;; &lt;br /&gt;
Kopeeri lokaalse masina kasutajaandmete andmed ajutisele pinnale, et neid saaks korrastada edaspidise tegevuse jaoks:&lt;br /&gt;
 cp /etc/passwd /tmp/&lt;br /&gt;
 cp /etc/group /tmp/&lt;br /&gt;
Redikeeri kopeeritud faile nii, et sinna jääks ainult nende kasutajate andmed, kes reaalselt võiksid soovida arvutisse sisse logida!&lt;br /&gt;
Tekita andmebaasi juurkataloog:&lt;br /&gt;
	/usr/share/migrationtools/migrate_base.pl &amp;gt; ~/base.ldif&lt;br /&gt;
Redikeeri faili ~/group.ldif nii, et sinna jääks alles ainult root, ou=People, &lt;br /&gt;
ou=Groups ja ou=Aliases !&lt;br /&gt;
Seejärel ekspordi uued väärtused käskudega: &lt;br /&gt;
	/usr/share/migrationtools/migrate_group.pl /tmp/group ~/group.ldif &lt;br /&gt;
	/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP-i databaasi kasutades järgmisi käske: &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/base.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/group.ldif &lt;br /&gt;
 ldapadd -x -D &amp;quot;cn=admin,dc=naide,dc=ee&amp;quot; -w parool -f ~/passwd.ldif &lt;br /&gt;
&lt;br /&gt;
== Varundamine ja taastamine == &lt;br /&gt;
Teenuse varundamine ja taastamine&lt;br /&gt;
Teenuse varundamine&lt;br /&gt;
Reeglina tehakse varukoopiaid eraldi seadistusfailidest ja andmetest. Neid hoitakse teis(t)el andmekandja(te)l ja teisaldatakse suuremates infosüsteemides automaatprotseduuridega.&lt;br /&gt;
Õpiobjekti raames kajastatakse varundamist vaid varundamist vajavate andmete kontekstis: seadistamisfailid ja andmebaas. &lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
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:&lt;br /&gt;
	mkdir -p /var/backups/ldap/db/ /var/backups/ldap/konf&lt;br /&gt;
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:&lt;br /&gt;
	slapcat | gzip &amp;gt; /var/backups/ldap/db/backup.`date &#039;+%Y%m%d&#039;`.ldif.gz&lt;br /&gt;
Käsu lõpus olev `date &#039;+%Y%m%d` võimaldab automaatselt luua käesoleva päeva andmed formaadis aasta.kuu.päev.&lt;br /&gt;
Seadistusfailid asuvad /etc/ldap/ kataloogis, need saab kokku pakitud ja kuupäeva infoga varustatud järgmise käsuga:&lt;br /&gt;
	tar czvf /var/backups/conf_backup.`date &#039;+%Y%m%d&#039;`.tgz /etc/ldap/*&lt;br /&gt;
&lt;br /&gt;
Teenuse taastamine&lt;br /&gt;
Põhineb EIK vikil[EIK LDAPi wiki]. &lt;br /&gt;
Teenuse taastamise vajaduse tekkides tuleb reageerida vastavalt olukorrale. Õpiobjekti raames kajastatakse teenuse taastamist vaid andmebaasi viimase varundatud andmete laadimise ja seadistusfailidest vigade otsimise kontekstis.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi taastamine &lt;br /&gt;
Pakime viimast andmebaasi varukoopiat sisaldava faili lahti, selleks sobib näiteks käsk:&lt;br /&gt;
gunzip -c /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif.gz &amp;gt; /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
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&#039;i seisma panema:&lt;br /&gt;
	/etc/init.d/slapd stop&lt;br /&gt;
	slapadd -b &amp;lt;suffix&amp;gt; -l /var/backups/ldap/backup.&amp;lt;kuupäev&amp;gt;.ldif &lt;br /&gt;
&lt;br /&gt;
Seadistusfailide taastamine &lt;br /&gt;
&lt;br /&gt;
Taastamiseks tuleb viimase seadistusfailide varukoopia fail lahti pakkida ning vastavalt olukorrale taastada vajalikud failid:&lt;br /&gt;
	tar xvf /var/backups/ldap/etc/conf_backup.&amp;lt;kuupäev&amp;gt;.tar&lt;br /&gt;
&lt;br /&gt;
==Läbikäidud probleemid- õpi teiste vigadest==&lt;br /&gt;
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:&lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif &lt;br /&gt;
	/etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif &lt;br /&gt;
ja tekita sinna pärast andmebaasi atribuuti (olcDBDirectory järgi) read: &lt;br /&gt;
olcRootDN: cn=admin,cn=config – sellega määratakse ära administraatori nimi ja skeem&lt;br /&gt;
olcRootPW: parool – administraatori parool, õppimiseks käib tekstiline parool ka, kuid töökeskkondades tuleks kasutada parooliräsi, selle saad käivitades:&lt;br /&gt;
	ldappasswd -s &amp;lt;parool&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenLDAP serveri paigaldamisel ei looda baasiparameetrite faili /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif. &lt;br /&gt;
On vaja õpilasel see ise luua.&lt;br /&gt;
Kõigepealt loome kataloogi kuhu server salvestab andmebaasi failid:&lt;br /&gt;
 mkdir /var/lib/ldap/naide &lt;br /&gt;
Turvalisuse huvides peab selle kataloogi omanikuks ja grupiks olema „openldap“ kasutaja:&lt;br /&gt;
 chown openldap:openldap /var/lib/ldap/naide/ &lt;br /&gt;
Loo fail, kuhu sisse kirjuta loodava baasi seaded (näidisfaili sisu Lisas x), näitefaili nimi koos asukohohaga:&lt;br /&gt;
 /etc/ldap/slapd.d/cn=config/olcDatabase={1}dbd.ldif &lt;br /&gt;
Kui kasutajate baasi konfiguratsioon on loodud peab LDAP serverile tegema taaskäivituse ja peale seda kontrolli kas porti kuulatakse, selleks sisesta terminali:&lt;br /&gt;
teenuse restartimiseks:&lt;br /&gt;
 /etc/init.d/slapd restart&lt;br /&gt;
kontrolli, kas porti(389) kuulatakse:&lt;br /&gt;
 netstat -anp|grep 389&lt;br /&gt;
&lt;br /&gt;
== LDAP bdb baasi näidis konfiguratsioon ==&lt;br /&gt;
 dn: olcDatabase={1}bdb &lt;br /&gt;
 objectClass: olcBdbConfig &lt;br /&gt;
 objectClass: top &lt;br /&gt;
 olcDatabase: {1}bdb &lt;br /&gt;
 olcDbDirectory: /var/lib/ldap/naide/ &lt;br /&gt;
 olcSuffix: dc=naide,dc=ee &lt;br /&gt;
 olcRootDN: cn=admin,dc=naide,dc=ee &lt;br /&gt;
 olcRootPW: parool &lt;br /&gt;
 olcLogLevel: 256 &lt;br /&gt;
 structuralObjectClass: olcBdbConfig &lt;br /&gt;
 olcDbCheckpoint: 128 10 &lt;br /&gt;
 olcDbIDLcacheSize: 1500 &lt;br /&gt;
 olcDbDNcacheSize: 500 &lt;br /&gt;
 olcDbConfig: {0}set_cachesize 0 33554432 0 &lt;br /&gt;
 olcDbConfig: {1}set_lg_bsize 2097512 &lt;br /&gt;
 olcDbConfig: {2}set_flags DB_LOG_AUTOREMOVE &lt;br /&gt;
 olcMonitoring: FALSE &lt;br /&gt;
 olcDbIndex: cn,sn pres,eq,sub &lt;br /&gt;
 olcDbIndex: entryCSN eq &lt;br /&gt;
 olcDbCacheFree: 300 &lt;br /&gt;
&lt;br /&gt;
== Skriptid ==&lt;br /&gt;
&#039;&#039;&#039;Manusesse&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43435</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43435"/>
		<updated>2011-11-30T14:54:45Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Õpijuhis ==&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*õpilase kasutusjuhend- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*õpikeskkonna loomise ja seadistamise juhend(sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- teoreetiline ja praktiline õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti kasutusjuhend ==&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik õpiobjekti komponendid. Komponentide nimekiri on osaks käesolevast „õpilase kasutusjuhendist“. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [https://wiki.itcollege.ee/images/f/f3/Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf juhendis].&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf&amp;diff=43434</id>
		<title>File:Virtuaalmasina importimise ja esmase seadistamise juhend.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Virtuaalmasina_importimise_ja_esmase_seadistamise_juhend.pdf&amp;diff=43434"/>
		<updated>2011-11-30T14:53:12Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43433</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43433"/>
		<updated>2011-11-30T14:52:54Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Õpijuhis ==&lt;br /&gt;
&lt;br /&gt;
Õ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&#039;&#039;&#039;(EIK kasutab õppekeskonda)&#039;&#039;&#039;. Õppekeskkonnana kasutatakse Ubuntu 11.04 Server operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
Õpiobjektiga töötamise eeltingimused:&lt;br /&gt;
*õ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;&lt;br /&gt;
*õpiobjekti kasutaja teab arvutivõrkude alusmõisteid; &lt;br /&gt;
*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. &#039;&#039;&#039;Seda eeltingimust ei rakendata, kuna kasutatakse teist õpikeskkonda!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti komponendid ==&lt;br /&gt;
Õpiobjekti komponendid on:&lt;br /&gt;
*õpijuhis- õpiobjekti üldine sissejuhatav tekst;&lt;br /&gt;
*õpetaja kasutusjuhend- juhend õpetajale või auditoorset/e-õpet korraldavale isikule, mis sisaldab teavet keskkonna ettevalmistamise kohta;&lt;br /&gt;
*õpilase kasutusjuhend- juhend õpilasele, mis sisaldab täpsemaid tegevusjuhendeid õppetöö läbijale;&lt;br /&gt;
*õpikeskkonna loomise ja seadistamise juhend(sh. õpikeskkond ise)- juhend, mis õpetab õpiobjekti osaks olevat virtuaalkeskkonda looma ja seadistama Oracle VM VirtualBox programmi kasutades;&lt;br /&gt;
*õppematerjal(id)- teoreetiline ja praktiline õppematerjal, kus õpilane saab teadmised ja oskused;&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpiobjekti kasutusjuhend ==&lt;br /&gt;
Käesolev õpilase kasutusjuhend on loodud teejuhiks õpiobjekti kasutamisel. &lt;br /&gt;
&lt;br /&gt;
Õpilase tegevuste loetelu nende õiges järjekorras:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
2. Kontrolli, et sinu kasutada oleks kõik õpiobjekti komponendid. Komponentide nimekiri on osaks käesolevast „õpilase kasutusjuhendist“. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &#039;&#039;&#039;EIK tudengitel on õpikeskkond ette loodud!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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! &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Õpikeskkonna loomine ja seadistamine ==&lt;br /&gt;
Õ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 [Link title juhendis].&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43432</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43432"/>
		<updated>2011-11-30T14:21:17Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LDAP_teadmiste_omandamise_6ppematerjal asub siin [[File:https://wiki.itcollege.ee/images/2/23/LDAP_teadmiste_omandamise_6ppematerjal.pdf]]&lt;br /&gt;
[[Media:LDAP_teadmiste_omandamise_6ppematerjal]]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:LDAP_teadmiste_omandamise_6ppematerjal.pdf&amp;diff=43430</id>
		<title>File:LDAP teadmiste omandamise 6ppematerjal.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:LDAP_teadmiste_omandamise_6ppematerjal.pdf&amp;diff=43430"/>
		<updated>2011-11-30T14:19:36Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: Põhiteadmiste materjal: mõisted; LDAP (puukujuline)struktuur; LDAP serverigaühendumine ja autentimine; LDIF; replikeerimine&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Põhiteadmiste materjal: mõisted; LDAP (puukujuline)struktuur; LDAP serverigaühendumine ja autentimine; LDIF; replikeerimine&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43364</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43364"/>
		<updated>2011-11-29T09:39:35Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;proovin [[File:/media/55a18259-8d01-4403-b704-34e7561563c0/vanast/Dropbox/Dropbox/L6put88/l6put88_loo_ylesanne.sh]]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43362</id>
		<title>Ldap&#039;i õpiobjekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ldap%27i_%C3%B5piobjekt&amp;diff=43362"/>
		<updated>2011-11-29T09:34:20Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: Created page with &amp;#039;proovin&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;proovin&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Labor2_E-post&amp;diff=1591</id>
		<title>Labor2 E-post</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Labor2_E-post&amp;diff=1591"/>
		<updated>2009-12-18T08:16:26Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Varundamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Legend=&lt;br /&gt;
&lt;br /&gt;
Ver. 0.00, 03.11.2009&amp;lt;br&amp;gt;&lt;br /&gt;
Ver. 0.01, 14.12.2009&amp;lt;br&amp;gt;&lt;br /&gt;
Ver. 0.02, 17.12.2009&amp;lt;br&amp;gt;&lt;br /&gt;
Ver. 0.03, 18.12.2009&lt;br /&gt;
&lt;br /&gt;
=Tegijad=&lt;br /&gt;
&lt;br /&gt;
Sander Surva&amp;lt;br&amp;gt;&lt;br /&gt;
Ken Karma&amp;lt;br&amp;gt;&lt;br /&gt;
Lauri Võsandi&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Meil on kaks domeeni, kus on mailiserverid ja osapooled saavad omavahel e-posti teel suhelda. ssurva.ee ja kkarma.ee. kkarma.ee peale on seadistatud nii spämmifilter kui ja viirusetõrje sissetulevate mailide jaoks. Mõlemad domeenid samas logivad logiteateid eraldi faili.&lt;br /&gt;
&lt;br /&gt;
=Nõuded=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# domeenid kkarma ja ssurva&lt;br /&gt;
# d1 viirusetõrjega&lt;br /&gt;
# d1 spammifilter&lt;br /&gt;
# logima syslog-i + eraldi faili&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  +----+           +----+&lt;br /&gt;
  | D1 |   ------&amp;gt; | D2 |&lt;br /&gt;
  +----+           +----+&lt;br /&gt;
&lt;br /&gt;
=Eeldused=&lt;br /&gt;
Operatsioonisüsteemiks peab olema Ubuntu Server, mis jookseb kernelil 2.6.28-11&lt;br /&gt;
&lt;br /&gt;
Enne vaja seadistada DNS&lt;br /&gt;
&lt;br /&gt;
kasutame BIND-i, põhjalikuma leheküle leiab: [https://wiki.itcollege.ee/index.php/Nimeserveri_seadistamine_BIND9_n%C3%A4itel]&lt;br /&gt;
  apt-get install bind9&lt;br /&gt;
&lt;br /&gt;
kohalikud domeenid kkarma ja ssurva paigutame faili /etc/bind/named.conf.local&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;6.168.192.in-addr.arpa&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.6.168.192.in-addr.arpa&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
zone &amp;quot;ssurva.ee&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.ssurva.ee&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
zone &amp;quot;kkarma.ee&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.kkarma.ee&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /etc/bind/db.ssurva.ee&lt;br /&gt;
nano /etc/bind/db.kkarma.ee&lt;br /&gt;
nano /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nende failide sisu muuta järgmiselt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; BIND data file for ssurva.ee&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN ssurva.ee.&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     ns.ssurva.ee. root.ssurva.ee. (&lt;br /&gt;
                              3         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
ssurva.ee. IN      NS      ns.ssurva.ee.&lt;br /&gt;
ssurva.ee. IN      MX      10 mail.ssurva.ee.&lt;br /&gt;
ns.ssurva.ee.      IN      A       192.168.6.88&lt;br /&gt;
mail.ssurva.ee.    IN      A       192.168.6.88&lt;br /&gt;
www.ssurva.ee.     IN      CNAME       ssurva.ee.&lt;br /&gt;
ssurva.ee. IN      A   192.168.6.88&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; BIND data file for kkarma.ee&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN kkarma.ee.&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     ns.kkarma.ee. root.too.ee. (&lt;br /&gt;
                              3         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
kkarma.ee. IN      NS      ns.kkarma.ee.&lt;br /&gt;
kkarma.ee. IN      MX      10 mail.kkarma.ee.&lt;br /&gt;
ns.kkarma.ee.      IN      A       192.168.6.87&lt;br /&gt;
mail.kkarma.ee.    IN      A       192.168.6.87&lt;br /&gt;
www.kkarma.ee.     IN      CNAME       kkarma.ee.&lt;br /&gt;
kkarma.ee. IN      A   192.168.6.87&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                               3         ; Serial&lt;br /&gt;
                          604800         ; Refresh&lt;br /&gt;
                           86400         ; Retry&lt;br /&gt;
                         2419200         ; Expire&lt;br /&gt;
                          604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 6.168.192.in-addr.arpa.       IN     NS     ns.ssurva.ee.&lt;br /&gt;
 88.6.168.192.in-addr.arpa.    IN     PTR    ns.ssurva.ee.&lt;br /&gt;
 88.6.168.192.in-addr.arpa.    IN     PTR    mail.ssurva.ee.&lt;br /&gt;
 87.6.168.192.in-addr.arpa.    IN     PTR    mail.kkarma.ee.&lt;br /&gt;
&lt;br /&gt;
=E-posti tarkvara paigaldus=&lt;br /&gt;
&lt;br /&gt;
Kõik installeerimised on tehtud root kasutaja alt, kui toiminguid tehakse mõne muu kasutaja alt &#039;&#039;&#039;siis tuleb iga käsu ette lisada sudo&#039;&#039;&#039; ! &lt;br /&gt;
&lt;br /&gt;
MTA ehk Mail Transfer Agent on Postfix:&lt;br /&gt;
  apt-get install postfix&lt;br /&gt;
Rämpspostifilter SpamAssassin:&lt;br /&gt;
  apt-get install spamassassin&lt;br /&gt;
Antiviirus ClamSMTP:&lt;br /&gt;
  apt-get install clamsmtp&lt;br /&gt;
MDA ehk Mail Delivery Agent on Courier:&lt;br /&gt;
  apt-get install courier-imap&lt;br /&gt;
SASL autentimiseks:&lt;br /&gt;
  apt-get install libsasl2-2 sasl2-bin&lt;br /&gt;
&lt;br /&gt;
=Kirjade vastuvõtmine=&lt;br /&gt;
Postfix kuulab pordil 25 ning saadab kirjad edasi 10030 pordile, kus ClamSMTP teeb viirusetõrjet. Peale seda ClamSMTP saadab need edasi 10025 pordile, kus Postfix nad uuesti vastu võtab ja teeb rämpsposti filtreerimist. Kirjad mis on läbinud sellise ahela paigutatakse ~/Maildir alla.&lt;br /&gt;
&lt;br /&gt;
==Postfix==&lt;br /&gt;
Postfix võtab vastu posti ka väljastpoolt ning salvestab vaikmisi /var/mail alla, selleks et kasutada uuemat Maildir formaati, mille korral paigutatakse kirjad ~/Maildir alla, ava &#039;&#039;&#039;/etc/postfix/main.cf&#039;&#039;&#039; ja lisa sinna:&lt;br /&gt;
 home_mailbox = Maildir/&lt;br /&gt;
 #Selleks, et võimaldada ITK tudengitele meile saata muuda relayhost selliseks- siis saad sisev6rgus olles sinna kirju saata: &lt;br /&gt;
 relayhost = earl.itcollege.ee&lt;br /&gt;
&lt;br /&gt;
Tee kindlaks et &#039;&#039;&#039;mydestination&#039;&#039;&#039; viitaks kohalikule masinale (et pingida saaks):&lt;br /&gt;
 mydestination = kkarma.ee,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peale seda ava Postfixi peamine seadistusfail /etc/postfix/master.cf ja tee kindlaks et seal on sellised read:&lt;br /&gt;
 smtp      inet  n       -       -       -       -       smtpd # Kuula pordil 25&lt;br /&gt;
   -o content_filter=clamav:127.0.0.1:10030                    # Saada edasi kohaliku masia pordile 10030&lt;br /&gt;
 10025     inet  n       -       -       -       -       smtpd # Kuula pordil 10025&lt;br /&gt;
   -o content_filter=spamassassin                              # Saada läbi SpamAssassini UNIX socketi (vt allpool)&lt;br /&gt;
 smtps     inet  n       -       -       -       -       smtpd # Kuula TLS&#039;iga krüpteeritud ühendusi pordil 465&lt;br /&gt;
   -o smtpd_sasl_auth_enable=yes                               # Luba autentimine läbi SASL+PAM&lt;br /&gt;
&lt;br /&gt;
Sama faili lõppu tuleks veel lisada filtri definitsioon:&lt;br /&gt;
 spamassassin unix -     n       n       -       -       pipe&lt;br /&gt;
         user=nobody argv=/usr/bin/spamc -f -e&lt;br /&gt;
         /usr/sbin/sendmail -oi -f ${sender} ${recipient}&lt;br /&gt;
 &lt;br /&gt;
 clamav      unix  -       -       n       -       16      smtp&lt;br /&gt;
         -o smtp_send_xforward_command=yes&lt;br /&gt;
&lt;br /&gt;
Peale seadistuste muutmist tuleks Postfix&#039;i deemon uuesti laadida:&lt;br /&gt;
 /etc/init.d/postfix reload&lt;br /&gt;
&lt;br /&gt;
==SASL seadistamine==&lt;br /&gt;
Tuleb lisada kasutaja &#039;&#039;&#039;postfix&#039;&#039;&#039; gruppi &#039;&#039;&#039;sasl&#039;&#039;&#039;:&lt;br /&gt;
 sudo adduser postfix sasl&lt;br /&gt;
&lt;br /&gt;
Ava /etc/postfix/sasl/smtpd.conf:&lt;br /&gt;
 pwcheck_method: saslauthd&lt;br /&gt;
 saslauthd_path: /etc/mux&lt;br /&gt;
 mech_list: login plain&lt;br /&gt;
&lt;br /&gt;
Ava SASL seadistuste fail: /etc/default/saslauthd:&lt;br /&gt;
 START=yes&lt;br /&gt;
 MECHANISMS=&amp;quot;pam&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-c -m /var/spool/postfix/etc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Peale seda tuleks SASL teenus taaskäivitada:&lt;br /&gt;
 sudo /etc/init.d/saslauthd restart&lt;br /&gt;
&lt;br /&gt;
==ClamSMTP seadistamine==&lt;br /&gt;
Ava /etc/clamsmtpd.conf ja muuda selle sisu selliseks&lt;br /&gt;
 # Port kuhu edasi suunata meilid&lt;br /&gt;
 OutAddress: 10025&lt;br /&gt;
 &lt;br /&gt;
 # Kuula SMTP ühendusi kohaliku masina pordil 10030&lt;br /&gt;
 Listen: 127.0.0.1:10030&lt;br /&gt;
 &lt;br /&gt;
 # ClamAV deemon laetakse üks kord mällu ning ta kuulab clamd.ctl UNIX socketil&lt;br /&gt;
 # ClamSMTPD on lihtsalt üks ClamAV deemoni &amp;quot;klientidest&amp;quot; mis ühendub sinna socketisse&lt;br /&gt;
 # Iga meili jaoks ClavAV andmebaasi laadimine oleks lihtsalt väga aeglane&lt;br /&gt;
 ClamAddress: /var/run/clamav/clamd.ctl&lt;br /&gt;
 &lt;br /&gt;
 # Kasutaja kellena ClamSMTPD jookseb&lt;br /&gt;
 User: clamsmtp&lt;br /&gt;
 &lt;br /&gt;
 TempDirectory: /var/spool/clamsmtp&lt;br /&gt;
 PidFile: /var/run/clamsmtp/clamsmtpd.pid&lt;br /&gt;
 &lt;br /&gt;
 #MaxConnections: 64&lt;br /&gt;
 #TimeOut: 180&lt;br /&gt;
 #Header: X-AV-Checked: ClamAV using ClamSMTP&lt;br /&gt;
 #Bounce: off&lt;br /&gt;
 #Quarantine: off&lt;br /&gt;
 #TransparentProxy: off&lt;br /&gt;
&lt;br /&gt;
Peale seadistuste muutmist tuleks ClamSMTP deemon uuesti laadida:&lt;br /&gt;
 /etc/init.d/clamsmtp reload&lt;br /&gt;
&lt;br /&gt;
==SpamAssassin==&lt;br /&gt;
Kõigepeal veendu, et /etc/default/spamassassin failis oleks, siis saab Postfix käivitada spamc rakenduse!&lt;br /&gt;
 ENABLED=1&lt;br /&gt;
&lt;br /&gt;
Tasub veel teada et pordil 783 kuulab SpamAssassin&#039;i deemon, mille kaudu saab suvalist teksti filtreerida. Postfix kutsub välja käsurearakendust &#039;&#039;&#039;spamc&#039;&#039;&#039;, mis ühendub nimetatud pordile ning filtreerib kirju. Deemoni kinnipanemiseks või käivitamiseks võib kasutada käsku:&lt;br /&gt;
 /etc/init.d/spamassassin start|stop&lt;br /&gt;
&lt;br /&gt;
=Testimine=&lt;br /&gt;
==Saatmine SMTP&#039;ga==&lt;br /&gt;
Selleks, et oleks lihtne testida teeme sellise faili, mille sisuks on:&lt;br /&gt;
 import smtplib&lt;br /&gt;
 fromaddr = &amp;quot;&#039;&#039;&#039;[saatja@aadress]&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 toaddrs  = &amp;quot;&#039;&#039;&#039;[siht@aadress]&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 msg = &amp;quot;&#039;&#039;&#039;[Sõnumisisu]&#039;&#039;&#039;?\n&amp;quot;&lt;br /&gt;
 server = smtplib.SMTP(&#039;localhost&#039;)&lt;br /&gt;
 server.sendmail(fromaddr, toaddrs, msg)&lt;br /&gt;
 server.quit()&lt;br /&gt;
&lt;br /&gt;
Seejärel käivitame selle Python rakenduse:&lt;br /&gt;
 python &amp;lt;eelpool loodud faili nimi&amp;gt;&lt;br /&gt;
==Lugemine IMAP&#039;iga==&lt;br /&gt;
Järgnev Python programm püüab kohalikku masinasse sisse logida IMAP kaudu ning püüab tõmmata viimast e-kirja. Samas kontrollib, kas e-kirjale tehti viirusetõrjet ning rämpspostikontrolli:&lt;br /&gt;
 # -*- coding: utf-8 -*-&lt;br /&gt;
 import getpass, imaplib, sys&lt;br /&gt;
 def main():&lt;br /&gt;
   M = imaplib.IMAP4(&amp;quot;localhost&amp;quot;, 143)&lt;br /&gt;
   print &amp;quot;Username: &amp;quot;,&lt;br /&gt;
   username = sys.stdin.readline().strip()&lt;br /&gt;
   password =  getpass.getpass()&lt;br /&gt;
   M.login(username, password)&lt;br /&gt;
   status, value = M.select()&lt;br /&gt;
   if status != &amp;quot;OK&amp;quot;:&lt;br /&gt;
     print &amp;quot;Failed to log in&amp;quot;&lt;br /&gt;
     return&lt;br /&gt;
   mails = value[0]&lt;br /&gt;
   status, data = M.fetch( mails,&#039;(RFC822)&#039;)&lt;br /&gt;
   if status != &amp;quot;OK&amp;quot;:&lt;br /&gt;
     print &amp;quot;Failed to fetch mail!&amp;quot;&lt;br /&gt;
     return&lt;br /&gt;
   content = data[0][1]&lt;br /&gt;
   print content&lt;br /&gt;
   print &amp;quot;\nConclusion:&amp;quot;&lt;br /&gt;
   if &amp;quot;X-Virus-Scanned: ClamAV using ClamSMTP&amp;quot; in content:&lt;br /&gt;
     print &amp;quot;* Virus scan performed&amp;quot;&lt;br /&gt;
   else:&lt;br /&gt;
     print &amp;quot;* NO Virus scan performed!!!&amp;quot;&lt;br /&gt;
   if &amp;quot;X-Spam-Checker-Version: SpamAssassin&amp;quot; in content:&lt;br /&gt;
     print &amp;quot;* Spam check performed&amp;quot;&lt;br /&gt;
   else:&lt;br /&gt;
     print &amp;quot;* NO Spam check performed!!!&amp;quot;&lt;br /&gt;
   M.close()&lt;br /&gt;
   M.logout()&lt;br /&gt;
 main()&lt;br /&gt;
&lt;br /&gt;
Seejärel käivitame selle Python rakenduse:&lt;br /&gt;
 python &amp;lt;eelpool loodud faili nimi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kontrolli kas kõik sõlmed läbitakse, seda saab kirja päisest-HEADERS&#039;ist==&lt;br /&gt;
Näide:&lt;br /&gt;
 &lt;br /&gt;
 Return-Path: &amp;lt;testing@kkarma.localdomain&amp;gt;&lt;br /&gt;
 X-Original-To: root@localhost&lt;br /&gt;
 Delivered-To: root@localhost&lt;br /&gt;
 Received: by kkarma.localdomain (Postfix, from userid 65534)&lt;br /&gt;
        id DD69C17E20; Thu, 17 Dec 2009 19:31:18 +0200 (EET)&lt;br /&gt;
 &#039;&#039;&#039;X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on kkarma.ee&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;X-Spam-Level: **&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;X-Spam-Status: No, score=2.7 required=5.0 tests=ALL_TRUSTED,MISSING_SUBJECT,&lt;br /&gt;
        TVD_SPACE_RATIO autolearn=no version=3.2.5&#039;&#039;&#039;&lt;br /&gt;
 Received: from kkarma.localdomain (localhost [127.0.0.1])&lt;br /&gt;
        by kkarma.localdomain (Postfix) with ESMTP id 0F5BC17E1B&lt;br /&gt;
        for &amp;lt;root@localhost&amp;gt;; Thu, 17 Dec 2009 19:31:18 +0200 (EET)&lt;br /&gt;
 Received: from kkarma.ee (localhost [127.0.0.1])&lt;br /&gt;
        by kkarma.localdomain (Postfix) with ESMTP id CCCFC17DFD&lt;br /&gt;
        for &amp;lt;root@localhost&amp;gt;; Thu, 17 Dec 2009 19:31:17 +0200 (EET)&lt;br /&gt;
 Message-Id: &amp;lt;20091217173117.CCCFC17DFD@kkarma.localdomain&amp;gt;&lt;br /&gt;
 Date: Thu, 17 Dec 2009 19:31:17 +0200 (EET)&lt;br /&gt;
 From: testing@kkarma.localdomain&lt;br /&gt;
 To: undisclosed-recipients:;&lt;br /&gt;
 &#039;&#039;&#039;X-Virus-Scanned: ClamAV using ClamSMTP&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tumendatud trükis olev kiri käib Spammiroboti ja viirusetõrje töötamise kohta!&lt;br /&gt;
&lt;br /&gt;
=Varundamine=&lt;br /&gt;
&lt;br /&gt;
Varundada tuleb kõik seadistusfailid, mida muudeti:&lt;br /&gt;
&lt;br /&gt;
 /etc/postfix/main.cf&lt;br /&gt;
 /etc/postfix/master.cf&lt;br /&gt;
 /etc/default/spamassassin &lt;br /&gt;
 /etc/clamsmtpd.conf&lt;br /&gt;
&lt;br /&gt;
Postfix, SpamAssassini ja ClamSMTP seadistuste varundamine, et oleks hea näha millal varundamine tehti lisame sellele varundamise kuupäeva, selline kuupäevaformaat(AastaKuuPäev)võimaldab kiirelt viimase faili leida:&lt;br /&gt;
 tar cvf varundamine.`date &#039;+%Y%m%d&#039;`.tar /etc/postfix/* /etc/default/spamassassin /etc/clamsmtpd.conf&lt;br /&gt;
&lt;br /&gt;
=Taastamine=&lt;br /&gt;
Järgneva käsuga saab kõik seaded taastada varemsalvestatud &#039;&#039;tarball&#039;&#039;ist&lt;br /&gt;
 cd / &amp;amp;&amp;amp; tar xvf varundamine.tar&lt;br /&gt;
&lt;br /&gt;
=Kasutatud kirjandus=&lt;br /&gt;
http://v6sa.itcollege.ee/wiki/?page=email&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Labor2_E-post&amp;diff=1590</id>
		<title>Labor2 E-post</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Labor2_E-post&amp;diff=1590"/>
		<updated>2009-12-18T08:15:29Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Legend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Legend=&lt;br /&gt;
&lt;br /&gt;
Ver. 0.00, 03.11.2009&amp;lt;br&amp;gt;&lt;br /&gt;
Ver. 0.01, 14.12.2009&amp;lt;br&amp;gt;&lt;br /&gt;
Ver. 0.02, 17.12.2009&amp;lt;br&amp;gt;&lt;br /&gt;
Ver. 0.03, 18.12.2009&lt;br /&gt;
&lt;br /&gt;
=Tegijad=&lt;br /&gt;
&lt;br /&gt;
Sander Surva&amp;lt;br&amp;gt;&lt;br /&gt;
Ken Karma&amp;lt;br&amp;gt;&lt;br /&gt;
Lauri Võsandi&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Meil on kaks domeeni, kus on mailiserverid ja osapooled saavad omavahel e-posti teel suhelda. ssurva.ee ja kkarma.ee. kkarma.ee peale on seadistatud nii spämmifilter kui ja viirusetõrje sissetulevate mailide jaoks. Mõlemad domeenid samas logivad logiteateid eraldi faili.&lt;br /&gt;
&lt;br /&gt;
=Nõuded=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# domeenid kkarma ja ssurva&lt;br /&gt;
# d1 viirusetõrjega&lt;br /&gt;
# d1 spammifilter&lt;br /&gt;
# logima syslog-i + eraldi faili&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  +----+           +----+&lt;br /&gt;
  | D1 |   ------&amp;gt; | D2 |&lt;br /&gt;
  +----+           +----+&lt;br /&gt;
&lt;br /&gt;
=Eeldused=&lt;br /&gt;
Operatsioonisüsteemiks peab olema Ubuntu Server, mis jookseb kernelil 2.6.28-11&lt;br /&gt;
&lt;br /&gt;
Enne vaja seadistada DNS&lt;br /&gt;
&lt;br /&gt;
kasutame BIND-i, põhjalikuma leheküle leiab: [https://wiki.itcollege.ee/index.php/Nimeserveri_seadistamine_BIND9_n%C3%A4itel]&lt;br /&gt;
  apt-get install bind9&lt;br /&gt;
&lt;br /&gt;
kohalikud domeenid kkarma ja ssurva paigutame faili /etc/bind/named.conf.local&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;6.168.192.in-addr.arpa&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.6.168.192.in-addr.arpa&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
zone &amp;quot;ssurva.ee&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.ssurva.ee&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
zone &amp;quot;kkarma.ee&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.kkarma.ee&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /etc/bind/db.ssurva.ee&lt;br /&gt;
nano /etc/bind/db.kkarma.ee&lt;br /&gt;
nano /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nende failide sisu muuta järgmiselt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; BIND data file for ssurva.ee&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN ssurva.ee.&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     ns.ssurva.ee. root.ssurva.ee. (&lt;br /&gt;
                              3         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
ssurva.ee. IN      NS      ns.ssurva.ee.&lt;br /&gt;
ssurva.ee. IN      MX      10 mail.ssurva.ee.&lt;br /&gt;
ns.ssurva.ee.      IN      A       192.168.6.88&lt;br /&gt;
mail.ssurva.ee.    IN      A       192.168.6.88&lt;br /&gt;
www.ssurva.ee.     IN      CNAME       ssurva.ee.&lt;br /&gt;
ssurva.ee. IN      A   192.168.6.88&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; BIND data file for kkarma.ee&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN kkarma.ee.&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     ns.kkarma.ee. root.too.ee. (&lt;br /&gt;
                              3         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
kkarma.ee. IN      NS      ns.kkarma.ee.&lt;br /&gt;
kkarma.ee. IN      MX      10 mail.kkarma.ee.&lt;br /&gt;
ns.kkarma.ee.      IN      A       192.168.6.87&lt;br /&gt;
mail.kkarma.ee.    IN      A       192.168.6.87&lt;br /&gt;
www.kkarma.ee.     IN      CNAME       kkarma.ee.&lt;br /&gt;
kkarma.ee. IN      A   192.168.6.87&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                               3         ; Serial&lt;br /&gt;
                          604800         ; Refresh&lt;br /&gt;
                           86400         ; Retry&lt;br /&gt;
                         2419200         ; Expire&lt;br /&gt;
                          604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 6.168.192.in-addr.arpa.       IN     NS     ns.ssurva.ee.&lt;br /&gt;
 88.6.168.192.in-addr.arpa.    IN     PTR    ns.ssurva.ee.&lt;br /&gt;
 88.6.168.192.in-addr.arpa.    IN     PTR    mail.ssurva.ee.&lt;br /&gt;
 87.6.168.192.in-addr.arpa.    IN     PTR    mail.kkarma.ee.&lt;br /&gt;
&lt;br /&gt;
=E-posti tarkvara paigaldus=&lt;br /&gt;
&lt;br /&gt;
Kõik installeerimised on tehtud root kasutaja alt, kui toiminguid tehakse mõne muu kasutaja alt &#039;&#039;&#039;siis tuleb iga käsu ette lisada sudo&#039;&#039;&#039; ! &lt;br /&gt;
&lt;br /&gt;
MTA ehk Mail Transfer Agent on Postfix:&lt;br /&gt;
  apt-get install postfix&lt;br /&gt;
Rämpspostifilter SpamAssassin:&lt;br /&gt;
  apt-get install spamassassin&lt;br /&gt;
Antiviirus ClamSMTP:&lt;br /&gt;
  apt-get install clamsmtp&lt;br /&gt;
MDA ehk Mail Delivery Agent on Courier:&lt;br /&gt;
  apt-get install courier-imap&lt;br /&gt;
SASL autentimiseks:&lt;br /&gt;
  apt-get install libsasl2-2 sasl2-bin&lt;br /&gt;
&lt;br /&gt;
=Kirjade vastuvõtmine=&lt;br /&gt;
Postfix kuulab pordil 25 ning saadab kirjad edasi 10030 pordile, kus ClamSMTP teeb viirusetõrjet. Peale seda ClamSMTP saadab need edasi 10025 pordile, kus Postfix nad uuesti vastu võtab ja teeb rämpsposti filtreerimist. Kirjad mis on läbinud sellise ahela paigutatakse ~/Maildir alla.&lt;br /&gt;
&lt;br /&gt;
==Postfix==&lt;br /&gt;
Postfix võtab vastu posti ka väljastpoolt ning salvestab vaikmisi /var/mail alla, selleks et kasutada uuemat Maildir formaati, mille korral paigutatakse kirjad ~/Maildir alla, ava &#039;&#039;&#039;/etc/postfix/main.cf&#039;&#039;&#039; ja lisa sinna:&lt;br /&gt;
 home_mailbox = Maildir/&lt;br /&gt;
 #Selleks, et võimaldada ITK tudengitele meile saata muuda relayhost selliseks- siis saad sisev6rgus olles sinna kirju saata: &lt;br /&gt;
 relayhost = earl.itcollege.ee&lt;br /&gt;
&lt;br /&gt;
Tee kindlaks et &#039;&#039;&#039;mydestination&#039;&#039;&#039; viitaks kohalikule masinale (et pingida saaks):&lt;br /&gt;
 mydestination = kkarma.ee,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peale seda ava Postfixi peamine seadistusfail /etc/postfix/master.cf ja tee kindlaks et seal on sellised read:&lt;br /&gt;
 smtp      inet  n       -       -       -       -       smtpd # Kuula pordil 25&lt;br /&gt;
   -o content_filter=clamav:127.0.0.1:10030                    # Saada edasi kohaliku masia pordile 10030&lt;br /&gt;
 10025     inet  n       -       -       -       -       smtpd # Kuula pordil 10025&lt;br /&gt;
   -o content_filter=spamassassin                              # Saada läbi SpamAssassini UNIX socketi (vt allpool)&lt;br /&gt;
 smtps     inet  n       -       -       -       -       smtpd # Kuula TLS&#039;iga krüpteeritud ühendusi pordil 465&lt;br /&gt;
   -o smtpd_sasl_auth_enable=yes                               # Luba autentimine läbi SASL+PAM&lt;br /&gt;
&lt;br /&gt;
Sama faili lõppu tuleks veel lisada filtri definitsioon:&lt;br /&gt;
 spamassassin unix -     n       n       -       -       pipe&lt;br /&gt;
         user=nobody argv=/usr/bin/spamc -f -e&lt;br /&gt;
         /usr/sbin/sendmail -oi -f ${sender} ${recipient}&lt;br /&gt;
 &lt;br /&gt;
 clamav      unix  -       -       n       -       16      smtp&lt;br /&gt;
         -o smtp_send_xforward_command=yes&lt;br /&gt;
&lt;br /&gt;
Peale seadistuste muutmist tuleks Postfix&#039;i deemon uuesti laadida:&lt;br /&gt;
 /etc/init.d/postfix reload&lt;br /&gt;
&lt;br /&gt;
==SASL seadistamine==&lt;br /&gt;
Tuleb lisada kasutaja &#039;&#039;&#039;postfix&#039;&#039;&#039; gruppi &#039;&#039;&#039;sasl&#039;&#039;&#039;:&lt;br /&gt;
 sudo adduser postfix sasl&lt;br /&gt;
&lt;br /&gt;
Ava /etc/postfix/sasl/smtpd.conf:&lt;br /&gt;
 pwcheck_method: saslauthd&lt;br /&gt;
 saslauthd_path: /etc/mux&lt;br /&gt;
 mech_list: login plain&lt;br /&gt;
&lt;br /&gt;
Ava SASL seadistuste fail: /etc/default/saslauthd:&lt;br /&gt;
 START=yes&lt;br /&gt;
 MECHANISMS=&amp;quot;pam&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-c -m /var/spool/postfix/etc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Peale seda tuleks SASL teenus taaskäivitada:&lt;br /&gt;
 sudo /etc/init.d/saslauthd restart&lt;br /&gt;
&lt;br /&gt;
==ClamSMTP seadistamine==&lt;br /&gt;
Ava /etc/clamsmtpd.conf ja muuda selle sisu selliseks&lt;br /&gt;
 # Port kuhu edasi suunata meilid&lt;br /&gt;
 OutAddress: 10025&lt;br /&gt;
 &lt;br /&gt;
 # Kuula SMTP ühendusi kohaliku masina pordil 10030&lt;br /&gt;
 Listen: 127.0.0.1:10030&lt;br /&gt;
 &lt;br /&gt;
 # ClamAV deemon laetakse üks kord mällu ning ta kuulab clamd.ctl UNIX socketil&lt;br /&gt;
 # ClamSMTPD on lihtsalt üks ClamAV deemoni &amp;quot;klientidest&amp;quot; mis ühendub sinna socketisse&lt;br /&gt;
 # Iga meili jaoks ClavAV andmebaasi laadimine oleks lihtsalt väga aeglane&lt;br /&gt;
 ClamAddress: /var/run/clamav/clamd.ctl&lt;br /&gt;
 &lt;br /&gt;
 # Kasutaja kellena ClamSMTPD jookseb&lt;br /&gt;
 User: clamsmtp&lt;br /&gt;
 &lt;br /&gt;
 TempDirectory: /var/spool/clamsmtp&lt;br /&gt;
 PidFile: /var/run/clamsmtp/clamsmtpd.pid&lt;br /&gt;
 &lt;br /&gt;
 #MaxConnections: 64&lt;br /&gt;
 #TimeOut: 180&lt;br /&gt;
 #Header: X-AV-Checked: ClamAV using ClamSMTP&lt;br /&gt;
 #Bounce: off&lt;br /&gt;
 #Quarantine: off&lt;br /&gt;
 #TransparentProxy: off&lt;br /&gt;
&lt;br /&gt;
Peale seadistuste muutmist tuleks ClamSMTP deemon uuesti laadida:&lt;br /&gt;
 /etc/init.d/clamsmtp reload&lt;br /&gt;
&lt;br /&gt;
==SpamAssassin==&lt;br /&gt;
Kõigepeal veendu, et /etc/default/spamassassin failis oleks, siis saab Postfix käivitada spamc rakenduse!&lt;br /&gt;
 ENABLED=1&lt;br /&gt;
&lt;br /&gt;
Tasub veel teada et pordil 783 kuulab SpamAssassin&#039;i deemon, mille kaudu saab suvalist teksti filtreerida. Postfix kutsub välja käsurearakendust &#039;&#039;&#039;spamc&#039;&#039;&#039;, mis ühendub nimetatud pordile ning filtreerib kirju. Deemoni kinnipanemiseks või käivitamiseks võib kasutada käsku:&lt;br /&gt;
 /etc/init.d/spamassassin start|stop&lt;br /&gt;
&lt;br /&gt;
=Testimine=&lt;br /&gt;
==Saatmine SMTP&#039;ga==&lt;br /&gt;
Selleks, et oleks lihtne testida teeme sellise faili, mille sisuks on:&lt;br /&gt;
 import smtplib&lt;br /&gt;
 fromaddr = &amp;quot;&#039;&#039;&#039;[saatja@aadress]&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 toaddrs  = &amp;quot;&#039;&#039;&#039;[siht@aadress]&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 msg = &amp;quot;&#039;&#039;&#039;[Sõnumisisu]&#039;&#039;&#039;?\n&amp;quot;&lt;br /&gt;
 server = smtplib.SMTP(&#039;localhost&#039;)&lt;br /&gt;
 server.sendmail(fromaddr, toaddrs, msg)&lt;br /&gt;
 server.quit()&lt;br /&gt;
&lt;br /&gt;
Seejärel käivitame selle Python rakenduse:&lt;br /&gt;
 python &amp;lt;eelpool loodud faili nimi&amp;gt;&lt;br /&gt;
==Lugemine IMAP&#039;iga==&lt;br /&gt;
Järgnev Python programm püüab kohalikku masinasse sisse logida IMAP kaudu ning püüab tõmmata viimast e-kirja. Samas kontrollib, kas e-kirjale tehti viirusetõrjet ning rämpspostikontrolli:&lt;br /&gt;
 # -*- coding: utf-8 -*-&lt;br /&gt;
 import getpass, imaplib, sys&lt;br /&gt;
 def main():&lt;br /&gt;
   M = imaplib.IMAP4(&amp;quot;localhost&amp;quot;, 143)&lt;br /&gt;
   print &amp;quot;Username: &amp;quot;,&lt;br /&gt;
   username = sys.stdin.readline().strip()&lt;br /&gt;
   password =  getpass.getpass()&lt;br /&gt;
   M.login(username, password)&lt;br /&gt;
   status, value = M.select()&lt;br /&gt;
   if status != &amp;quot;OK&amp;quot;:&lt;br /&gt;
     print &amp;quot;Failed to log in&amp;quot;&lt;br /&gt;
     return&lt;br /&gt;
   mails = value[0]&lt;br /&gt;
   status, data = M.fetch( mails,&#039;(RFC822)&#039;)&lt;br /&gt;
   if status != &amp;quot;OK&amp;quot;:&lt;br /&gt;
     print &amp;quot;Failed to fetch mail!&amp;quot;&lt;br /&gt;
     return&lt;br /&gt;
   content = data[0][1]&lt;br /&gt;
   print content&lt;br /&gt;
   print &amp;quot;\nConclusion:&amp;quot;&lt;br /&gt;
   if &amp;quot;X-Virus-Scanned: ClamAV using ClamSMTP&amp;quot; in content:&lt;br /&gt;
     print &amp;quot;* Virus scan performed&amp;quot;&lt;br /&gt;
   else:&lt;br /&gt;
     print &amp;quot;* NO Virus scan performed!!!&amp;quot;&lt;br /&gt;
   if &amp;quot;X-Spam-Checker-Version: SpamAssassin&amp;quot; in content:&lt;br /&gt;
     print &amp;quot;* Spam check performed&amp;quot;&lt;br /&gt;
   else:&lt;br /&gt;
     print &amp;quot;* NO Spam check performed!!!&amp;quot;&lt;br /&gt;
   M.close()&lt;br /&gt;
   M.logout()&lt;br /&gt;
 main()&lt;br /&gt;
&lt;br /&gt;
Seejärel käivitame selle Python rakenduse:&lt;br /&gt;
 python &amp;lt;eelpool loodud faili nimi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kontrolli kas kõik sõlmed läbitakse, seda saab kirja päisest-HEADERS&#039;ist==&lt;br /&gt;
Näide:&lt;br /&gt;
 &lt;br /&gt;
 Return-Path: &amp;lt;testing@kkarma.localdomain&amp;gt;&lt;br /&gt;
 X-Original-To: root@localhost&lt;br /&gt;
 Delivered-To: root@localhost&lt;br /&gt;
 Received: by kkarma.localdomain (Postfix, from userid 65534)&lt;br /&gt;
        id DD69C17E20; Thu, 17 Dec 2009 19:31:18 +0200 (EET)&lt;br /&gt;
 &#039;&#039;&#039;X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on kkarma.ee&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;X-Spam-Level: **&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;X-Spam-Status: No, score=2.7 required=5.0 tests=ALL_TRUSTED,MISSING_SUBJECT,&lt;br /&gt;
        TVD_SPACE_RATIO autolearn=no version=3.2.5&#039;&#039;&#039;&lt;br /&gt;
 Received: from kkarma.localdomain (localhost [127.0.0.1])&lt;br /&gt;
        by kkarma.localdomain (Postfix) with ESMTP id 0F5BC17E1B&lt;br /&gt;
        for &amp;lt;root@localhost&amp;gt;; Thu, 17 Dec 2009 19:31:18 +0200 (EET)&lt;br /&gt;
 Received: from kkarma.ee (localhost [127.0.0.1])&lt;br /&gt;
        by kkarma.localdomain (Postfix) with ESMTP id CCCFC17DFD&lt;br /&gt;
        for &amp;lt;root@localhost&amp;gt;; Thu, 17 Dec 2009 19:31:17 +0200 (EET)&lt;br /&gt;
 Message-Id: &amp;lt;20091217173117.CCCFC17DFD@kkarma.localdomain&amp;gt;&lt;br /&gt;
 Date: Thu, 17 Dec 2009 19:31:17 +0200 (EET)&lt;br /&gt;
 From: testing@kkarma.localdomain&lt;br /&gt;
 To: undisclosed-recipients:;&lt;br /&gt;
 &#039;&#039;&#039;X-Virus-Scanned: ClamAV using ClamSMTP&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tumendatud trükis olev kiri käib Spammiroboti ja viirusetõrje töötamise kohta!&lt;br /&gt;
&lt;br /&gt;
=Varundamine=&lt;br /&gt;
&lt;br /&gt;
Varundada tuleb kõik seadistusfailid, mida muudeti:&lt;br /&gt;
&lt;br /&gt;
 /etc/postfix/main.cf&lt;br /&gt;
 /etc/postfix/master.cf&lt;br /&gt;
 /etc/default/spamassassin &lt;br /&gt;
 /etc/clamsmtpd.conf&lt;br /&gt;
&lt;br /&gt;
Postfix, SpamAssassini ja ClamSMTP seadistuste varundamine, et oleks hea näha millal varundamine tehti lisame sellele varundamise kuupäeva, selline kuupäevaformaat(AastaKuuPäev)võimaldab kiirelt viimase faili leida:&lt;br /&gt;
 tar cvf varundamine.tar.`date &#039;+%Y%m%d&#039;` /etc/postfix/* /etc/default/spamassassin /etc/clamsmtpd.conf&lt;br /&gt;
&lt;br /&gt;
=Taastamine=&lt;br /&gt;
Järgneva käsuga saab kõik seaded taastada varemsalvestatud &#039;&#039;tarball&#039;&#039;ist&lt;br /&gt;
 cd / &amp;amp;&amp;amp; tar xvf varundamine.tar&lt;br /&gt;
&lt;br /&gt;
=Kasutatud kirjandus=&lt;br /&gt;
http://v6sa.itcollege.ee/wiki/?page=email&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Labor2_E-post&amp;diff=1589</id>
		<title>Labor2 E-post</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Labor2_E-post&amp;diff=1589"/>
		<updated>2009-12-17T18:32:32Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Varundamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Legend=&lt;br /&gt;
&lt;br /&gt;
Ver. 0.00, 03.11.2009&amp;lt;br&amp;gt;&lt;br /&gt;
Ver. 0.01, 14.12.2009&lt;br /&gt;
&lt;br /&gt;
=Tegijad=&lt;br /&gt;
&lt;br /&gt;
Sander Surva&amp;lt;br&amp;gt;&lt;br /&gt;
Ken Karma&amp;lt;br&amp;gt;&lt;br /&gt;
Lauri Võsandi&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Meil on kaks domeeni, kus on mailiserverid ja osapooled saavad omavahel e-posti teel suhelda. ssurva.ee ja kkarma.ee. kkarma.ee peale on seadistatud nii spämmifilter kui ja viirusetõrje sissetulevate mailide jaoks. Mõlemad domeenid samas logivad logiteateid eraldi faili.&lt;br /&gt;
&lt;br /&gt;
=Nõuded=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# domeenid kkarma ja ssurva&lt;br /&gt;
# d1 viirusetõrjega&lt;br /&gt;
# d1 spammifilter&lt;br /&gt;
# logima syslog-i + eraldi faili&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  +----+           +----+&lt;br /&gt;
  | D1 |   ------&amp;gt; | D2 |&lt;br /&gt;
  +----+           +----+&lt;br /&gt;
&lt;br /&gt;
=Eeldused=&lt;br /&gt;
Operatsioonisüsteemiks peab olema Ubuntu Server, mis jookseb kernelil 2.6.28-11&lt;br /&gt;
&lt;br /&gt;
Enne vaja seadistada DNS&lt;br /&gt;
&lt;br /&gt;
kasutame BIND-i, põhjalikuma leheküle leiab: [https://wiki.itcollege.ee/index.php/Nimeserveri_seadistamine_BIND9_n%C3%A4itel]&lt;br /&gt;
  apt-get install bind9&lt;br /&gt;
&lt;br /&gt;
kohalikud domeenid kkarma ja ssurva paigutame faili /etc/bind/named.conf.local&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;6.168.192.in-addr.arpa&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.6.168.192.in-addr.arpa&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
zone &amp;quot;ssurva.ee&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.ssurva.ee&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
zone &amp;quot;kkarma.ee&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.kkarma.ee&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /etc/bind/db.ssurva.ee&lt;br /&gt;
nano /etc/bind/db.kkarma.ee&lt;br /&gt;
nano /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nende failide sisu muuta järgmiselt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; BIND data file for ssurva.ee&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN ssurva.ee.&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     ns.ssurva.ee. root.ssurva.ee. (&lt;br /&gt;
                              3         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
ssurva.ee. IN      NS      ns.ssurva.ee.&lt;br /&gt;
ssurva.ee. IN      MX      10 mail.ssurva.ee.&lt;br /&gt;
ns.ssurva.ee.      IN      A       192.168.6.88&lt;br /&gt;
mail.ssurva.ee.    IN      A       192.168.6.88&lt;br /&gt;
www.ssurva.ee.     IN      CNAME       ssurva.ee.&lt;br /&gt;
ssurva.ee. IN      A   192.168.6.88&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; BIND data file for kkarma.ee&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN kkarma.ee.&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     ns.kkarma.ee. root.too.ee. (&lt;br /&gt;
                              3         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
kkarma.ee. IN      NS      ns.kkarma.ee.&lt;br /&gt;
kkarma.ee. IN      MX      10 mail.kkarma.ee.&lt;br /&gt;
ns.kkarma.ee.      IN      A       192.168.6.87&lt;br /&gt;
mail.kkarma.ee.    IN      A       192.168.6.87&lt;br /&gt;
www.kkarma.ee.     IN      CNAME       kkarma.ee.&lt;br /&gt;
kkarma.ee. IN      A   192.168.6.87&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                               3         ; Serial&lt;br /&gt;
                          604800         ; Refresh&lt;br /&gt;
                           86400         ; Retry&lt;br /&gt;
                         2419200         ; Expire&lt;br /&gt;
                          604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 6.168.192.in-addr.arpa.       IN     NS     ns.ssurva.ee.&lt;br /&gt;
 88.6.168.192.in-addr.arpa.    IN     PTR    ns.ssurva.ee.&lt;br /&gt;
 88.6.168.192.in-addr.arpa.    IN     PTR    mail.ssurva.ee.&lt;br /&gt;
 87.6.168.192.in-addr.arpa.    IN     PTR    mail.kkarma.ee.&lt;br /&gt;
&lt;br /&gt;
=E-posti tarkvara paigaldus=&lt;br /&gt;
&lt;br /&gt;
Kõik installeerimised on tehtud root kasutaja alt, kui toiminguid tehakse mõne muu kasutaja alt &#039;&#039;&#039;siis tuleb iga käsu ette lisada sudo&#039;&#039;&#039; ! &lt;br /&gt;
&lt;br /&gt;
MTA ehk Mail Transfer Agent on Postfix:&lt;br /&gt;
  apt-get install postfix&lt;br /&gt;
Rämpspostifilter SpamAssassin:&lt;br /&gt;
  apt-get install spamassassin&lt;br /&gt;
Antiviirus ClamSMTP:&lt;br /&gt;
  apt-get install clamsmtp&lt;br /&gt;
MDA ehk Mail Delivery Agent on Courier:&lt;br /&gt;
  apt-get install courier-imap&lt;br /&gt;
SASL autentimiseks:&lt;br /&gt;
  apt-get install libsasl2-2 sasl2-bin&lt;br /&gt;
&lt;br /&gt;
=Kirjade vastuvõtmine=&lt;br /&gt;
Postfix kuulab pordil 25 ning saadab kirjad edasi 10030 pordile, kus ClamSMTP teeb viirusetõrjet. Peale seda ClamSMTP saadab need edasi 10025 pordile, kus Postfix nad uuesti vastu võtab ja teeb rämpsposti filtreerimist. Kirjad mis on läbinud sellise ahela paigutatakse ~/Maildir alla.&lt;br /&gt;
&lt;br /&gt;
==Postfix==&lt;br /&gt;
Postfix võtab vastu posti ka väljastpoolt ning salvestab vaikmisi /var/mail alla, selleks et kasutada uuemat Maildir formaati, mille korral paigutatakse kirjad ~/Maildir alla, ava &#039;&#039;&#039;/etc/postfix/main.cf&#039;&#039;&#039; ja lisa sinna:&lt;br /&gt;
 home_mailbox = Maildir/&lt;br /&gt;
 #Selleks, et võimaldada ITK tudengitele meile saata muuda relayhost selliseks- siis saad sisev6rgus olles sinna kirju saata: &lt;br /&gt;
 relayhost = earl.itcollege.ee&lt;br /&gt;
&lt;br /&gt;
Tee kindlaks et &#039;&#039;&#039;mydestination&#039;&#039;&#039; viitaks kohalikule masinale (et pingida saaks):&lt;br /&gt;
 mydestination = kkarma.ee,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peale seda ava Postfixi peamine seadistusfail /etc/postfix/master.cf ja tee kindlaks et seal on sellised read:&lt;br /&gt;
 smtp      inet  n       -       -       -       -       smtpd # Kuula pordil 25&lt;br /&gt;
   -o content_filter=clamav:127.0.0.1:10030                    # Saada edasi kohaliku masia pordile 10030&lt;br /&gt;
 10025     inet  n       -       -       -       -       smtpd # Kuula pordil 10025&lt;br /&gt;
   -o content_filter=spamassassin                              # Saada läbi SpamAssassini UNIX socketi (vt allpool)&lt;br /&gt;
 smtps     inet  n       -       -       -       -       smtpd # Kuula TLS&#039;iga krüpteeritud ühendusi pordil 465&lt;br /&gt;
   -o smtpd_sasl_auth_enable=yes                               # Luba autentimine läbi SASL+PAM&lt;br /&gt;
&lt;br /&gt;
Sama faili lõppu tuleks veel lisada filtri definitsioon:&lt;br /&gt;
 spamassassin unix -     n       n       -       -       pipe&lt;br /&gt;
         user=nobody argv=/usr/bin/spamc -f -e&lt;br /&gt;
         /usr/sbin/sendmail -oi -f ${sender} ${recipient}&lt;br /&gt;
 &lt;br /&gt;
 clamav      unix  -       -       n       -       16      smtp&lt;br /&gt;
         -o smtp_send_xforward_command=yes&lt;br /&gt;
&lt;br /&gt;
Peale seadistuste muutmist tuleks Postfix&#039;i deemon uuesti laadida:&lt;br /&gt;
 /etc/init.d/postfix reload&lt;br /&gt;
&lt;br /&gt;
==SASL seadistamine==&lt;br /&gt;
Tuleb lisada kasutaja &#039;&#039;&#039;postfix&#039;&#039;&#039; gruppi &#039;&#039;&#039;sasl&#039;&#039;&#039;:&lt;br /&gt;
 sudo adduser postfix sasl&lt;br /&gt;
&lt;br /&gt;
Ava /etc/postfix/sasl/smtpd.conf:&lt;br /&gt;
 pwcheck_method: saslauthd&lt;br /&gt;
 saslauthd_path: /etc/mux&lt;br /&gt;
 mech_list: login plain&lt;br /&gt;
&lt;br /&gt;
Ava SASL seadistuste fail: /etc/default/saslauthd:&lt;br /&gt;
 START=yes&lt;br /&gt;
 MECHANISMS=&amp;quot;pam&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-c -m /var/spool/postfix/etc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Peale seda tuleks SASL teenus taaskäivitada:&lt;br /&gt;
 sudo /etc/init.d/saslauthd restart&lt;br /&gt;
&lt;br /&gt;
==ClamSMTP seadistamine==&lt;br /&gt;
Ava /etc/clamsmtpd.conf ja muuda selle sisu selliseks&lt;br /&gt;
 # Port kuhu edasi suunata meilid&lt;br /&gt;
 OutAddress: 10025&lt;br /&gt;
 &lt;br /&gt;
 # Kuula SMTP ühendusi kohaliku masina pordil 10030&lt;br /&gt;
 Listen: 127.0.0.1:10030&lt;br /&gt;
 &lt;br /&gt;
 # ClamAV deemon laetakse üks kord mällu ning ta kuulab clamd.ctl UNIX socketil&lt;br /&gt;
 # ClamSMTPD on lihtsalt üks ClamAV deemoni &amp;quot;klientidest&amp;quot; mis ühendub sinna socketisse&lt;br /&gt;
 # Iga meili jaoks ClavAV andmebaasi laadimine oleks lihtsalt väga aeglane&lt;br /&gt;
 ClamAddress: /var/run/clamav/clamd.ctl&lt;br /&gt;
 &lt;br /&gt;
 # Kasutaja kellena ClamSMTPD jookseb&lt;br /&gt;
 User: clamsmtp&lt;br /&gt;
 &lt;br /&gt;
 TempDirectory: /var/spool/clamsmtp&lt;br /&gt;
 PidFile: /var/run/clamsmtp/clamsmtpd.pid&lt;br /&gt;
 &lt;br /&gt;
 #MaxConnections: 64&lt;br /&gt;
 #TimeOut: 180&lt;br /&gt;
 #Header: X-AV-Checked: ClamAV using ClamSMTP&lt;br /&gt;
 #Bounce: off&lt;br /&gt;
 #Quarantine: off&lt;br /&gt;
 #TransparentProxy: off&lt;br /&gt;
&lt;br /&gt;
Peale seadistuste muutmist tuleks ClamSMTP deemon uuesti laadida:&lt;br /&gt;
 /etc/init.d/clamsmtp reload&lt;br /&gt;
&lt;br /&gt;
==SpamAssassin==&lt;br /&gt;
Kõigepeal veendu, et /etc/default/spamassassin failis oleks, siis saab Postfix käivitada spamc rakenduse!&lt;br /&gt;
 ENABLED=1&lt;br /&gt;
&lt;br /&gt;
Tasub veel teada et pordil 783 kuulab SpamAssassin&#039;i deemon, mille kaudu saab suvalist teksti filtreerida. Postfix kutsub välja käsurearakendust &#039;&#039;&#039;spamc&#039;&#039;&#039;, mis ühendub nimetatud pordile ning filtreerib kirju. Deemoni kinnipanemiseks või käivitamiseks võib kasutada käsku:&lt;br /&gt;
 /etc/init.d/spamassassin start|stop&lt;br /&gt;
&lt;br /&gt;
=Testimine=&lt;br /&gt;
==Saatmine SMTP&#039;ga==&lt;br /&gt;
Selleks, et oleks lihtne testida teeme sellise faili, mille sisuks on:&lt;br /&gt;
 import smtplib&lt;br /&gt;
 fromaddr = &amp;quot;&#039;&#039;&#039;[saatja@aadress]&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 toaddrs  = &amp;quot;&#039;&#039;&#039;[siht@aadress]&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 msg = &amp;quot;&#039;&#039;&#039;[Sõnumisisu]&#039;&#039;&#039;?\n&amp;quot;&lt;br /&gt;
 server = smtplib.SMTP(&#039;localhost&#039;)&lt;br /&gt;
 server.sendmail(fromaddr, toaddrs, msg)&lt;br /&gt;
 server.quit()&lt;br /&gt;
&lt;br /&gt;
Seejärel käivitame selle Python rakenduse:&lt;br /&gt;
 python &amp;lt;eelpool loodud faili nimi&amp;gt;&lt;br /&gt;
==Lugemine IMAP&#039;iga==&lt;br /&gt;
Järgnev Python programm püüab kohalikku masinasse sisse logida IMAP kaudu ning püüab tõmmata viimast e-kirja. Samas kontrollib, kas e-kirjale tehti viirusetõrjet ning rämpspostikontrolli:&lt;br /&gt;
 # -*- coding: utf-8 -*-&lt;br /&gt;
 import getpass, imaplib, sys&lt;br /&gt;
 def main():&lt;br /&gt;
   M = imaplib.IMAP4(&amp;quot;localhost&amp;quot;, 143)&lt;br /&gt;
   print &amp;quot;Username: &amp;quot;,&lt;br /&gt;
   username = sys.stdin.readline().strip()&lt;br /&gt;
   password =  getpass.getpass()&lt;br /&gt;
   M.login(username, password)&lt;br /&gt;
   status, value = M.select()&lt;br /&gt;
   if status != &amp;quot;OK&amp;quot;:&lt;br /&gt;
     print &amp;quot;Failed to log in&amp;quot;&lt;br /&gt;
     return&lt;br /&gt;
   mails = value[0]&lt;br /&gt;
   status, data = M.fetch( mails,&#039;(RFC822)&#039;)&lt;br /&gt;
   if status != &amp;quot;OK&amp;quot;:&lt;br /&gt;
     print &amp;quot;Failed to fetch mail!&amp;quot;&lt;br /&gt;
     return&lt;br /&gt;
   content = data[0][1]&lt;br /&gt;
   print content&lt;br /&gt;
   print &amp;quot;\nConclusion:&amp;quot;&lt;br /&gt;
   if &amp;quot;X-Virus-Scanned: ClamAV using ClamSMTP&amp;quot; in content:&lt;br /&gt;
     print &amp;quot;* Virus scan performed&amp;quot;&lt;br /&gt;
   else:&lt;br /&gt;
     print &amp;quot;* NO Virus scan performed!!!&amp;quot;&lt;br /&gt;
   if &amp;quot;X-Spam-Checker-Version: SpamAssassin&amp;quot; in content:&lt;br /&gt;
     print &amp;quot;* Spam check performed&amp;quot;&lt;br /&gt;
   else:&lt;br /&gt;
     print &amp;quot;* NO Spam check performed!!!&amp;quot;&lt;br /&gt;
   M.close()&lt;br /&gt;
   M.logout()&lt;br /&gt;
 main()&lt;br /&gt;
&lt;br /&gt;
Seejärel käivitame selle Python rakenduse:&lt;br /&gt;
 python &amp;lt;eelpool loodud faili nimi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kontrolli kas kõik sõlmed läbitakse, seda saab kirja päisest-HEADERS&#039;ist==&lt;br /&gt;
Näide:&lt;br /&gt;
 &lt;br /&gt;
 Return-Path: &amp;lt;testing@kkarma.localdomain&amp;gt;&lt;br /&gt;
 X-Original-To: root@localhost&lt;br /&gt;
 Delivered-To: root@localhost&lt;br /&gt;
 Received: by kkarma.localdomain (Postfix, from userid 65534)&lt;br /&gt;
        id DD69C17E20; Thu, 17 Dec 2009 19:31:18 +0200 (EET)&lt;br /&gt;
 &#039;&#039;&#039;X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on kkarma.ee&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;X-Spam-Level: **&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;X-Spam-Status: No, score=2.7 required=5.0 tests=ALL_TRUSTED,MISSING_SUBJECT,&lt;br /&gt;
        TVD_SPACE_RATIO autolearn=no version=3.2.5&#039;&#039;&#039;&lt;br /&gt;
 Received: from kkarma.localdomain (localhost [127.0.0.1])&lt;br /&gt;
        by kkarma.localdomain (Postfix) with ESMTP id 0F5BC17E1B&lt;br /&gt;
        for &amp;lt;root@localhost&amp;gt;; Thu, 17 Dec 2009 19:31:18 +0200 (EET)&lt;br /&gt;
 Received: from kkarma.ee (localhost [127.0.0.1])&lt;br /&gt;
        by kkarma.localdomain (Postfix) with ESMTP id CCCFC17DFD&lt;br /&gt;
        for &amp;lt;root@localhost&amp;gt;; Thu, 17 Dec 2009 19:31:17 +0200 (EET)&lt;br /&gt;
 Message-Id: &amp;lt;20091217173117.CCCFC17DFD@kkarma.localdomain&amp;gt;&lt;br /&gt;
 Date: Thu, 17 Dec 2009 19:31:17 +0200 (EET)&lt;br /&gt;
 From: testing@kkarma.localdomain&lt;br /&gt;
 To: undisclosed-recipients:;&lt;br /&gt;
 &#039;&#039;&#039;X-Virus-Scanned: ClamAV using ClamSMTP&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tumendatud trükis olev kiri käib Spammiroboti ja viirusetõrje töötamise kohta!&lt;br /&gt;
&lt;br /&gt;
=Varundamine=&lt;br /&gt;
&lt;br /&gt;
Varundada tuleb kõik seadistusfailid, mida muudeti:&lt;br /&gt;
&lt;br /&gt;
 /etc/postfix/main.cf&lt;br /&gt;
 /etc/postfix/master.cf&lt;br /&gt;
 /etc/default/spamassassin &lt;br /&gt;
 /etc/clamsmtpd.conf&lt;br /&gt;
&lt;br /&gt;
Postfix, SpamAssassini ja ClamSMTP seadistuste varundamine, et oleks hea näha millal varundamine tehti lisame sellele varundamise kuupäeva, selline kuupäevaformaat(AastaKuuPäev)võimaldab kiirelt viimase faili leida:&lt;br /&gt;
 tar cvf varundamine.tar.`date &#039;+%Y%m%d&#039;` /etc/postfix/* /etc/default/spamassassin /etc/clamsmtpd.conf&lt;br /&gt;
&lt;br /&gt;
=Taastamine=&lt;br /&gt;
Järgneva käsuga saab kõik seaded taastada varemsalvestatud &#039;&#039;tarball&#039;&#039;ist&lt;br /&gt;
 cd / &amp;amp;&amp;amp; tar xvf varundamine.tar&lt;br /&gt;
&lt;br /&gt;
=Kasutatud kirjandus=&lt;br /&gt;
http://v6sa.itcollege.ee/wiki/?page=email&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Labor2_E-post&amp;diff=1588</id>
		<title>Labor2 E-post</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Labor2_E-post&amp;diff=1588"/>
		<updated>2009-12-17T18:20:48Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Testimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Legend=&lt;br /&gt;
&lt;br /&gt;
Ver. 0.00, 03.11.2009&amp;lt;br&amp;gt;&lt;br /&gt;
Ver. 0.01, 14.12.2009&lt;br /&gt;
&lt;br /&gt;
=Tegijad=&lt;br /&gt;
&lt;br /&gt;
Sander Surva&amp;lt;br&amp;gt;&lt;br /&gt;
Ken Karma&amp;lt;br&amp;gt;&lt;br /&gt;
Lauri Võsandi&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Meil on kaks domeeni, kus on mailiserverid ja osapooled saavad omavahel e-posti teel suhelda. ssurva.ee ja kkarma.ee. kkarma.ee peale on seadistatud nii spämmifilter kui ja viirusetõrje sissetulevate mailide jaoks. Mõlemad domeenid samas logivad logiteateid eraldi faili.&lt;br /&gt;
&lt;br /&gt;
=Nõuded=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# domeenid kkarma ja ssurva&lt;br /&gt;
# d1 viirusetõrjega&lt;br /&gt;
# d1 spammifilter&lt;br /&gt;
# logima syslog-i + eraldi faili&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  +----+           +----+&lt;br /&gt;
  | D1 |   ------&amp;gt; | D2 |&lt;br /&gt;
  +----+           +----+&lt;br /&gt;
&lt;br /&gt;
=Eeldused=&lt;br /&gt;
Operatsioonisüsteemiks peab olema Ubuntu Server, mis jookseb kernelil 2.6.28-11&lt;br /&gt;
&lt;br /&gt;
Enne vaja seadistada DNS&lt;br /&gt;
&lt;br /&gt;
kasutame BIND-i, põhjalikuma leheküle leiab: [https://wiki.itcollege.ee/index.php/Nimeserveri_seadistamine_BIND9_n%C3%A4itel]&lt;br /&gt;
  apt-get install bind9&lt;br /&gt;
&lt;br /&gt;
kohalikud domeenid kkarma ja ssurva paigutame faili /etc/bind/named.conf.local&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;6.168.192.in-addr.arpa&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.6.168.192.in-addr.arpa&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
zone &amp;quot;ssurva.ee&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.ssurva.ee&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
zone &amp;quot;kkarma.ee&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.kkarma.ee&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /etc/bind/db.ssurva.ee&lt;br /&gt;
nano /etc/bind/db.kkarma.ee&lt;br /&gt;
nano /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nende failide sisu muuta järgmiselt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; BIND data file for ssurva.ee&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN ssurva.ee.&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     ns.ssurva.ee. root.ssurva.ee. (&lt;br /&gt;
                              3         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
ssurva.ee. IN      NS      ns.ssurva.ee.&lt;br /&gt;
ssurva.ee. IN      MX      10 mail.ssurva.ee.&lt;br /&gt;
ns.ssurva.ee.      IN      A       192.168.6.88&lt;br /&gt;
mail.ssurva.ee.    IN      A       192.168.6.88&lt;br /&gt;
www.ssurva.ee.     IN      CNAME       ssurva.ee.&lt;br /&gt;
ssurva.ee. IN      A   192.168.6.88&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; BIND data file for kkarma.ee&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN kkarma.ee.&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     ns.kkarma.ee. root.too.ee. (&lt;br /&gt;
                              3         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
kkarma.ee. IN      NS      ns.kkarma.ee.&lt;br /&gt;
kkarma.ee. IN      MX      10 mail.kkarma.ee.&lt;br /&gt;
ns.kkarma.ee.      IN      A       192.168.6.87&lt;br /&gt;
mail.kkarma.ee.    IN      A       192.168.6.87&lt;br /&gt;
www.kkarma.ee.     IN      CNAME       kkarma.ee.&lt;br /&gt;
kkarma.ee. IN      A   192.168.6.87&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                               3         ; Serial&lt;br /&gt;
                          604800         ; Refresh&lt;br /&gt;
                           86400         ; Retry&lt;br /&gt;
                         2419200         ; Expire&lt;br /&gt;
                          604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 6.168.192.in-addr.arpa.       IN     NS     ns.ssurva.ee.&lt;br /&gt;
 88.6.168.192.in-addr.arpa.    IN     PTR    ns.ssurva.ee.&lt;br /&gt;
 88.6.168.192.in-addr.arpa.    IN     PTR    mail.ssurva.ee.&lt;br /&gt;
 87.6.168.192.in-addr.arpa.    IN     PTR    mail.kkarma.ee.&lt;br /&gt;
&lt;br /&gt;
=E-posti tarkvara paigaldus=&lt;br /&gt;
&lt;br /&gt;
Kõik installeerimised on tehtud root kasutaja alt, kui toiminguid tehakse mõne muu kasutaja alt &#039;&#039;&#039;siis tuleb iga käsu ette lisada sudo&#039;&#039;&#039; ! &lt;br /&gt;
&lt;br /&gt;
MTA ehk Mail Transfer Agent on Postfix:&lt;br /&gt;
  apt-get install postfix&lt;br /&gt;
Rämpspostifilter SpamAssassin:&lt;br /&gt;
  apt-get install spamassassin&lt;br /&gt;
Antiviirus ClamSMTP:&lt;br /&gt;
  apt-get install clamsmtp&lt;br /&gt;
MDA ehk Mail Delivery Agent on Courier:&lt;br /&gt;
  apt-get install courier-imap&lt;br /&gt;
SASL autentimiseks:&lt;br /&gt;
  apt-get install libsasl2-2 sasl2-bin&lt;br /&gt;
&lt;br /&gt;
=Kirjade vastuvõtmine=&lt;br /&gt;
Postfix kuulab pordil 25 ning saadab kirjad edasi 10030 pordile, kus ClamSMTP teeb viirusetõrjet. Peale seda ClamSMTP saadab need edasi 10025 pordile, kus Postfix nad uuesti vastu võtab ja teeb rämpsposti filtreerimist. Kirjad mis on läbinud sellise ahela paigutatakse ~/Maildir alla.&lt;br /&gt;
&lt;br /&gt;
==Postfix==&lt;br /&gt;
Postfix võtab vastu posti ka väljastpoolt ning salvestab vaikmisi /var/mail alla, selleks et kasutada uuemat Maildir formaati, mille korral paigutatakse kirjad ~/Maildir alla, ava &#039;&#039;&#039;/etc/postfix/main.cf&#039;&#039;&#039; ja lisa sinna:&lt;br /&gt;
 home_mailbox = Maildir/&lt;br /&gt;
 #Selleks, et võimaldada ITK tudengitele meile saata muuda relayhost selliseks- siis saad sisev6rgus olles sinna kirju saata: &lt;br /&gt;
 relayhost = earl.itcollege.ee&lt;br /&gt;
&lt;br /&gt;
Tee kindlaks et &#039;&#039;&#039;mydestination&#039;&#039;&#039; viitaks kohalikule masinale (et pingida saaks):&lt;br /&gt;
 mydestination = kkarma.ee,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peale seda ava Postfixi peamine seadistusfail /etc/postfix/master.cf ja tee kindlaks et seal on sellised read:&lt;br /&gt;
 smtp      inet  n       -       -       -       -       smtpd # Kuula pordil 25&lt;br /&gt;
   -o content_filter=clamav:127.0.0.1:10030                    # Saada edasi kohaliku masia pordile 10030&lt;br /&gt;
 10025     inet  n       -       -       -       -       smtpd # Kuula pordil 10025&lt;br /&gt;
   -o content_filter=spamassassin                              # Saada läbi SpamAssassini UNIX socketi (vt allpool)&lt;br /&gt;
 smtps     inet  n       -       -       -       -       smtpd # Kuula TLS&#039;iga krüpteeritud ühendusi pordil 465&lt;br /&gt;
   -o smtpd_sasl_auth_enable=yes                               # Luba autentimine läbi SASL+PAM&lt;br /&gt;
&lt;br /&gt;
Sama faili lõppu tuleks veel lisada filtri definitsioon:&lt;br /&gt;
 spamassassin unix -     n       n       -       -       pipe&lt;br /&gt;
         user=nobody argv=/usr/bin/spamc -f -e&lt;br /&gt;
         /usr/sbin/sendmail -oi -f ${sender} ${recipient}&lt;br /&gt;
 &lt;br /&gt;
 clamav      unix  -       -       n       -       16      smtp&lt;br /&gt;
         -o smtp_send_xforward_command=yes&lt;br /&gt;
&lt;br /&gt;
Peale seadistuste muutmist tuleks Postfix&#039;i deemon uuesti laadida:&lt;br /&gt;
 /etc/init.d/postfix reload&lt;br /&gt;
&lt;br /&gt;
==SASL seadistamine==&lt;br /&gt;
Tuleb lisada kasutaja &#039;&#039;&#039;postfix&#039;&#039;&#039; gruppi &#039;&#039;&#039;sasl&#039;&#039;&#039;:&lt;br /&gt;
 sudo adduser postfix sasl&lt;br /&gt;
&lt;br /&gt;
Ava /etc/postfix/sasl/smtpd.conf:&lt;br /&gt;
 pwcheck_method: saslauthd&lt;br /&gt;
 saslauthd_path: /etc/mux&lt;br /&gt;
 mech_list: login plain&lt;br /&gt;
&lt;br /&gt;
Ava SASL seadistuste fail: /etc/default/saslauthd:&lt;br /&gt;
 START=yes&lt;br /&gt;
 MECHANISMS=&amp;quot;pam&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-c -m /var/spool/postfix/etc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Peale seda tuleks SASL teenus taaskäivitada:&lt;br /&gt;
 sudo /etc/init.d/saslauthd restart&lt;br /&gt;
&lt;br /&gt;
==ClamSMTP seadistamine==&lt;br /&gt;
Ava /etc/clamsmtpd.conf ja muuda selle sisu selliseks&lt;br /&gt;
 # Port kuhu edasi suunata meilid&lt;br /&gt;
 OutAddress: 10025&lt;br /&gt;
 &lt;br /&gt;
 # Kuula SMTP ühendusi kohaliku masina pordil 10030&lt;br /&gt;
 Listen: 127.0.0.1:10030&lt;br /&gt;
 &lt;br /&gt;
 # ClamAV deemon laetakse üks kord mällu ning ta kuulab clamd.ctl UNIX socketil&lt;br /&gt;
 # ClamSMTPD on lihtsalt üks ClamAV deemoni &amp;quot;klientidest&amp;quot; mis ühendub sinna socketisse&lt;br /&gt;
 # Iga meili jaoks ClavAV andmebaasi laadimine oleks lihtsalt väga aeglane&lt;br /&gt;
 ClamAddress: /var/run/clamav/clamd.ctl&lt;br /&gt;
 &lt;br /&gt;
 # Kasutaja kellena ClamSMTPD jookseb&lt;br /&gt;
 User: clamsmtp&lt;br /&gt;
 &lt;br /&gt;
 TempDirectory: /var/spool/clamsmtp&lt;br /&gt;
 PidFile: /var/run/clamsmtp/clamsmtpd.pid&lt;br /&gt;
 &lt;br /&gt;
 #MaxConnections: 64&lt;br /&gt;
 #TimeOut: 180&lt;br /&gt;
 #Header: X-AV-Checked: ClamAV using ClamSMTP&lt;br /&gt;
 #Bounce: off&lt;br /&gt;
 #Quarantine: off&lt;br /&gt;
 #TransparentProxy: off&lt;br /&gt;
&lt;br /&gt;
Peale seadistuste muutmist tuleks ClamSMTP deemon uuesti laadida:&lt;br /&gt;
 /etc/init.d/clamsmtp reload&lt;br /&gt;
&lt;br /&gt;
==SpamAssassin==&lt;br /&gt;
Kõigepeal veendu, et /etc/default/spamassassin failis oleks, siis saab Postfix käivitada spamc rakenduse!&lt;br /&gt;
 ENABLED=1&lt;br /&gt;
&lt;br /&gt;
Tasub veel teada et pordil 783 kuulab SpamAssassin&#039;i deemon, mille kaudu saab suvalist teksti filtreerida. Postfix kutsub välja käsurearakendust &#039;&#039;&#039;spamc&#039;&#039;&#039;, mis ühendub nimetatud pordile ning filtreerib kirju. Deemoni kinnipanemiseks või käivitamiseks võib kasutada käsku:&lt;br /&gt;
 /etc/init.d/spamassassin start|stop&lt;br /&gt;
&lt;br /&gt;
=Testimine=&lt;br /&gt;
==Saatmine SMTP&#039;ga==&lt;br /&gt;
Selleks, et oleks lihtne testida teeme sellise faili, mille sisuks on:&lt;br /&gt;
 import smtplib&lt;br /&gt;
 fromaddr = &amp;quot;&#039;&#039;&#039;[saatja@aadress]&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 toaddrs  = &amp;quot;&#039;&#039;&#039;[siht@aadress]&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 msg = &amp;quot;&#039;&#039;&#039;[Sõnumisisu]&#039;&#039;&#039;?\n&amp;quot;&lt;br /&gt;
 server = smtplib.SMTP(&#039;localhost&#039;)&lt;br /&gt;
 server.sendmail(fromaddr, toaddrs, msg)&lt;br /&gt;
 server.quit()&lt;br /&gt;
&lt;br /&gt;
Seejärel käivitame selle Python rakenduse:&lt;br /&gt;
 python &amp;lt;eelpool loodud faili nimi&amp;gt;&lt;br /&gt;
==Lugemine IMAP&#039;iga==&lt;br /&gt;
Järgnev Python programm püüab kohalikku masinasse sisse logida IMAP kaudu ning püüab tõmmata viimast e-kirja. Samas kontrollib, kas e-kirjale tehti viirusetõrjet ning rämpspostikontrolli:&lt;br /&gt;
 # -*- coding: utf-8 -*-&lt;br /&gt;
 import getpass, imaplib, sys&lt;br /&gt;
 def main():&lt;br /&gt;
   M = imaplib.IMAP4(&amp;quot;localhost&amp;quot;, 143)&lt;br /&gt;
   print &amp;quot;Username: &amp;quot;,&lt;br /&gt;
   username = sys.stdin.readline().strip()&lt;br /&gt;
   password =  getpass.getpass()&lt;br /&gt;
   M.login(username, password)&lt;br /&gt;
   status, value = M.select()&lt;br /&gt;
   if status != &amp;quot;OK&amp;quot;:&lt;br /&gt;
     print &amp;quot;Failed to log in&amp;quot;&lt;br /&gt;
     return&lt;br /&gt;
   mails = value[0]&lt;br /&gt;
   status, data = M.fetch( mails,&#039;(RFC822)&#039;)&lt;br /&gt;
   if status != &amp;quot;OK&amp;quot;:&lt;br /&gt;
     print &amp;quot;Failed to fetch mail!&amp;quot;&lt;br /&gt;
     return&lt;br /&gt;
   content = data[0][1]&lt;br /&gt;
   print content&lt;br /&gt;
   print &amp;quot;\nConclusion:&amp;quot;&lt;br /&gt;
   if &amp;quot;X-Virus-Scanned: ClamAV using ClamSMTP&amp;quot; in content:&lt;br /&gt;
     print &amp;quot;* Virus scan performed&amp;quot;&lt;br /&gt;
   else:&lt;br /&gt;
     print &amp;quot;* NO Virus scan performed!!!&amp;quot;&lt;br /&gt;
   if &amp;quot;X-Spam-Checker-Version: SpamAssassin&amp;quot; in content:&lt;br /&gt;
     print &amp;quot;* Spam check performed&amp;quot;&lt;br /&gt;
   else:&lt;br /&gt;
     print &amp;quot;* NO Spam check performed!!!&amp;quot;&lt;br /&gt;
   M.close()&lt;br /&gt;
   M.logout()&lt;br /&gt;
 main()&lt;br /&gt;
&lt;br /&gt;
Seejärel käivitame selle Python rakenduse:&lt;br /&gt;
 python &amp;lt;eelpool loodud faili nimi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kontrolli kas kõik sõlmed läbitakse, seda saab kirja päisest-HEADERS&#039;ist==&lt;br /&gt;
Näide:&lt;br /&gt;
 &lt;br /&gt;
 Return-Path: &amp;lt;testing@kkarma.localdomain&amp;gt;&lt;br /&gt;
 X-Original-To: root@localhost&lt;br /&gt;
 Delivered-To: root@localhost&lt;br /&gt;
 Received: by kkarma.localdomain (Postfix, from userid 65534)&lt;br /&gt;
        id DD69C17E20; Thu, 17 Dec 2009 19:31:18 +0200 (EET)&lt;br /&gt;
 &#039;&#039;&#039;X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on kkarma.ee&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;X-Spam-Level: **&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;X-Spam-Status: No, score=2.7 required=5.0 tests=ALL_TRUSTED,MISSING_SUBJECT,&lt;br /&gt;
        TVD_SPACE_RATIO autolearn=no version=3.2.5&#039;&#039;&#039;&lt;br /&gt;
 Received: from kkarma.localdomain (localhost [127.0.0.1])&lt;br /&gt;
        by kkarma.localdomain (Postfix) with ESMTP id 0F5BC17E1B&lt;br /&gt;
        for &amp;lt;root@localhost&amp;gt;; Thu, 17 Dec 2009 19:31:18 +0200 (EET)&lt;br /&gt;
 Received: from kkarma.ee (localhost [127.0.0.1])&lt;br /&gt;
        by kkarma.localdomain (Postfix) with ESMTP id CCCFC17DFD&lt;br /&gt;
        for &amp;lt;root@localhost&amp;gt;; Thu, 17 Dec 2009 19:31:17 +0200 (EET)&lt;br /&gt;
 Message-Id: &amp;lt;20091217173117.CCCFC17DFD@kkarma.localdomain&amp;gt;&lt;br /&gt;
 Date: Thu, 17 Dec 2009 19:31:17 +0200 (EET)&lt;br /&gt;
 From: testing@kkarma.localdomain&lt;br /&gt;
 To: undisclosed-recipients:;&lt;br /&gt;
 &#039;&#039;&#039;X-Virus-Scanned: ClamAV using ClamSMTP&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tumendatud trükis olev kiri käib Spammiroboti ja viirusetõrje töötamise kohta!&lt;br /&gt;
&lt;br /&gt;
=Varundamine=&lt;br /&gt;
&lt;br /&gt;
Varundada tuleb kõik seadistusfailid, mida muudeti:&lt;br /&gt;
&lt;br /&gt;
 /etc/postfix/main.cf&lt;br /&gt;
 /etc/postfix/master.cf&lt;br /&gt;
 /etc/default/spamassassin &lt;br /&gt;
 /etc/clamsmtpd.conf&lt;br /&gt;
&lt;br /&gt;
Postfix, SpamAssassini ja ClamSMTP seadistuste varundamine, et oleks hea näha millal varundamine tehti lisame sellele varundamise kuupäeva, selline kuupäevaformaat(AastaKuuPäev)võimaldab kiirelt viimase faili leida:&lt;br /&gt;
 tar cvf varundamine.tar`date &#039;+%Y%m%d&#039;` /etc/postfix/* /etc/default/spamassassin /etc/clamsmtpd.conf&lt;br /&gt;
&lt;br /&gt;
=Taastamine=&lt;br /&gt;
Järgneva käsuga saab kõik seaded taastada varemsalvestatud &#039;&#039;tarball&#039;&#039;ist&lt;br /&gt;
 cd / &amp;amp;&amp;amp; tar xvf varundamine.tar&lt;br /&gt;
&lt;br /&gt;
=Kasutatud kirjandus=&lt;br /&gt;
http://v6sa.itcollege.ee/wiki/?page=email&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Labor2_E-post&amp;diff=1587</id>
		<title>Labor2 E-post</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Labor2_E-post&amp;diff=1587"/>
		<updated>2009-12-17T17:28:01Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Postfix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Legend=&lt;br /&gt;
&lt;br /&gt;
Ver. 0.00, 03.11.2009&amp;lt;br&amp;gt;&lt;br /&gt;
Ver. 0.01, 14.12.2009&lt;br /&gt;
&lt;br /&gt;
=Tegijad=&lt;br /&gt;
&lt;br /&gt;
Sander Surva&amp;lt;br&amp;gt;&lt;br /&gt;
Ken Karma&amp;lt;br&amp;gt;&lt;br /&gt;
Lauri Võsandi&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Meil on kaks domeeni, kus on mailiserverid ja osapooled saavad omavahel e-posti teel suhelda. ssurva.ee ja kkarma.ee. kkarma.ee peale on seadistatud nii spämmifilter kui ja viirusetõrje sissetulevate mailide jaoks. Mõlemad domeenid samas logivad logiteateid eraldi faili.&lt;br /&gt;
&lt;br /&gt;
=Nõuded=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# domeenid kkarma ja ssurva&lt;br /&gt;
# d1 viirusetõrjega&lt;br /&gt;
# d1 spammifilter&lt;br /&gt;
# logima syslog-i + eraldi faili&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  +----+           +----+&lt;br /&gt;
  | D1 |   ------&amp;gt; | D2 |&lt;br /&gt;
  +----+           +----+&lt;br /&gt;
&lt;br /&gt;
=Eeldused=&lt;br /&gt;
Operatsioonisüsteemiks peab olema Ubuntu Server, mis jookseb kernelil 2.6.28-11&lt;br /&gt;
&lt;br /&gt;
Enne vaja seadistada DNS&lt;br /&gt;
&lt;br /&gt;
kasutame BIND-i, põhjalikuma leheküle leiab: [https://wiki.itcollege.ee/index.php/Nimeserveri_seadistamine_BIND9_n%C3%A4itel]&lt;br /&gt;
  apt-get install bind9&lt;br /&gt;
&lt;br /&gt;
kohalikud domeenid kkarma ja ssurva paigutame faili /etc/bind/named.conf.local&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;6.168.192.in-addr.arpa&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.6.168.192.in-addr.arpa&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
zone &amp;quot;ssurva.ee&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.ssurva.ee&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
zone &amp;quot;kkarma.ee&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.kkarma.ee&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /etc/bind/db.ssurva.ee&lt;br /&gt;
nano /etc/bind/db.kkarma.ee&lt;br /&gt;
nano /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nende failide sisu muuta järgmiselt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; BIND data file for ssurva.ee&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN ssurva.ee.&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     ns.ssurva.ee. root.ssurva.ee. (&lt;br /&gt;
                              3         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
ssurva.ee. IN      NS      ns.ssurva.ee.&lt;br /&gt;
ssurva.ee. IN      MX      10 mail.ssurva.ee.&lt;br /&gt;
ns.ssurva.ee.      IN      A       192.168.6.88&lt;br /&gt;
mail.ssurva.ee.    IN      A       192.168.6.88&lt;br /&gt;
www.ssurva.ee.     IN      CNAME       ssurva.ee.&lt;br /&gt;
ssurva.ee. IN      A   192.168.6.88&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; BIND data file for kkarma.ee&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN kkarma.ee.&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     ns.kkarma.ee. root.too.ee. (&lt;br /&gt;
                              3         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
kkarma.ee. IN      NS      ns.kkarma.ee.&lt;br /&gt;
kkarma.ee. IN      MX      10 mail.kkarma.ee.&lt;br /&gt;
ns.kkarma.ee.      IN      A       192.168.6.87&lt;br /&gt;
mail.kkarma.ee.    IN      A       192.168.6.87&lt;br /&gt;
www.kkarma.ee.     IN      CNAME       kkarma.ee.&lt;br /&gt;
kkarma.ee. IN      A   192.168.6.87&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                               3         ; Serial&lt;br /&gt;
                          604800         ; Refresh&lt;br /&gt;
                           86400         ; Retry&lt;br /&gt;
                         2419200         ; Expire&lt;br /&gt;
                          604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 6.168.192.in-addr.arpa.       IN     NS     ns.ssurva.ee.&lt;br /&gt;
 88.6.168.192.in-addr.arpa.    IN     PTR    ns.ssurva.ee.&lt;br /&gt;
 88.6.168.192.in-addr.arpa.    IN     PTR    mail.ssurva.ee.&lt;br /&gt;
 87.6.168.192.in-addr.arpa.    IN     PTR    mail.kkarma.ee.&lt;br /&gt;
&lt;br /&gt;
=E-posti tarkvara paigaldus=&lt;br /&gt;
&lt;br /&gt;
Kõik installeerimised on tehtud root kasutaja alt, kui toiminguid tehakse mõne muu kasutaja alt &#039;&#039;&#039;siis tuleb iga käsu ette lisada sudo&#039;&#039;&#039; ! &lt;br /&gt;
&lt;br /&gt;
MTA ehk Mail Transfer Agent on Postfix:&lt;br /&gt;
  apt-get install postfix&lt;br /&gt;
Rämpspostifilter SpamAssassin:&lt;br /&gt;
  apt-get install spamassassin&lt;br /&gt;
Antiviirus ClamSMTP:&lt;br /&gt;
  apt-get install clamsmtp&lt;br /&gt;
MDA ehk Mail Delivery Agent on Courier:&lt;br /&gt;
  apt-get install courier-imap&lt;br /&gt;
SASL autentimiseks:&lt;br /&gt;
  apt-get install libsasl2-2 sasl2-bin&lt;br /&gt;
&lt;br /&gt;
=Kirjade vastuvõtmine=&lt;br /&gt;
Postfix kuulab pordil 25 ning saadab kirjad edasi 10030 pordile, kus ClamSMTP teeb viirusetõrjet. Peale seda ClamSMTP saadab need edasi 10025 pordile, kus Postfix nad uuesti vastu võtab ja teeb rämpsposti filtreerimist. Kirjad mis on läbinud sellise ahela paigutatakse ~/Maildir alla.&lt;br /&gt;
&lt;br /&gt;
==Postfix==&lt;br /&gt;
Postfix võtab vastu posti ka väljastpoolt ning salvestab vaikmisi /var/mail alla, selleks et kasutada uuemat Maildir formaati, mille korral paigutatakse kirjad ~/Maildir alla, ava &#039;&#039;&#039;/etc/postfix/main.cf&#039;&#039;&#039; ja lisa sinna:&lt;br /&gt;
 home_mailbox = Maildir/&lt;br /&gt;
 #Selleks, et võimaldada ITK tudengitele meile saata muuda relayhost selliseks- siis saad sisev6rgus olles sinna kirju saata: &lt;br /&gt;
 relayhost = earl.itcollege.ee&lt;br /&gt;
&lt;br /&gt;
Tee kindlaks et &#039;&#039;&#039;mydestination&#039;&#039;&#039; viitaks kohalikule masinale (et pingida saaks):&lt;br /&gt;
 mydestination = kkarma.ee,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peale seda ava Postfixi peamine seadistusfail /etc/postfix/master.cf ja tee kindlaks et seal on sellised read:&lt;br /&gt;
 smtp      inet  n       -       -       -       -       smtpd # Kuula pordil 25&lt;br /&gt;
   -o content_filter=clamav:127.0.0.1:10030                    # Saada edasi kohaliku masia pordile 10030&lt;br /&gt;
 10025     inet  n       -       -       -       -       smtpd # Kuula pordil 10025&lt;br /&gt;
   -o content_filter=spamassassin                              # Saada läbi SpamAssassini UNIX socketi (vt allpool)&lt;br /&gt;
 smtps     inet  n       -       -       -       -       smtpd # Kuula TLS&#039;iga krüpteeritud ühendusi pordil 465&lt;br /&gt;
   -o smtpd_sasl_auth_enable=yes                               # Luba autentimine läbi SASL+PAM&lt;br /&gt;
&lt;br /&gt;
Sama faili lõppu tuleks veel lisada filtri definitsioon:&lt;br /&gt;
 spamassassin unix -     n       n       -       -       pipe&lt;br /&gt;
         user=nobody argv=/usr/bin/spamc -f -e&lt;br /&gt;
         /usr/sbin/sendmail -oi -f ${sender} ${recipient}&lt;br /&gt;
 &lt;br /&gt;
 clamav      unix  -       -       n       -       16      smtp&lt;br /&gt;
         -o smtp_send_xforward_command=yes&lt;br /&gt;
&lt;br /&gt;
Peale seadistuste muutmist tuleks Postfix&#039;i deemon uuesti laadida:&lt;br /&gt;
 /etc/init.d/postfix reload&lt;br /&gt;
&lt;br /&gt;
==SASL seadistamine==&lt;br /&gt;
Tuleb lisada kasutaja &#039;&#039;&#039;postfix&#039;&#039;&#039; gruppi &#039;&#039;&#039;sasl&#039;&#039;&#039;:&lt;br /&gt;
 sudo adduser postfix sasl&lt;br /&gt;
&lt;br /&gt;
Ava /etc/postfix/sasl/smtpd.conf:&lt;br /&gt;
 pwcheck_method: saslauthd&lt;br /&gt;
 saslauthd_path: /etc/mux&lt;br /&gt;
 mech_list: login plain&lt;br /&gt;
&lt;br /&gt;
Ava SASL seadistuste fail: /etc/default/saslauthd:&lt;br /&gt;
 START=yes&lt;br /&gt;
 MECHANISMS=&amp;quot;pam&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-c -m /var/spool/postfix/etc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Peale seda tuleks SASL teenus taaskäivitada:&lt;br /&gt;
 sudo /etc/init.d/saslauthd restart&lt;br /&gt;
&lt;br /&gt;
==ClamSMTP seadistamine==&lt;br /&gt;
Ava /etc/clamsmtpd.conf ja muuda selle sisu selliseks&lt;br /&gt;
 # Port kuhu edasi suunata meilid&lt;br /&gt;
 OutAddress: 10025&lt;br /&gt;
 &lt;br /&gt;
 # Kuula SMTP ühendusi kohaliku masina pordil 10030&lt;br /&gt;
 Listen: 127.0.0.1:10030&lt;br /&gt;
 &lt;br /&gt;
 # ClamAV deemon laetakse üks kord mällu ning ta kuulab clamd.ctl UNIX socketil&lt;br /&gt;
 # ClamSMTPD on lihtsalt üks ClamAV deemoni &amp;quot;klientidest&amp;quot; mis ühendub sinna socketisse&lt;br /&gt;
 # Iga meili jaoks ClavAV andmebaasi laadimine oleks lihtsalt väga aeglane&lt;br /&gt;
 ClamAddress: /var/run/clamav/clamd.ctl&lt;br /&gt;
 &lt;br /&gt;
 # Kasutaja kellena ClamSMTPD jookseb&lt;br /&gt;
 User: clamsmtp&lt;br /&gt;
 &lt;br /&gt;
 TempDirectory: /var/spool/clamsmtp&lt;br /&gt;
 PidFile: /var/run/clamsmtp/clamsmtpd.pid&lt;br /&gt;
 &lt;br /&gt;
 #MaxConnections: 64&lt;br /&gt;
 #TimeOut: 180&lt;br /&gt;
 #Header: X-AV-Checked: ClamAV using ClamSMTP&lt;br /&gt;
 #Bounce: off&lt;br /&gt;
 #Quarantine: off&lt;br /&gt;
 #TransparentProxy: off&lt;br /&gt;
&lt;br /&gt;
Peale seadistuste muutmist tuleks ClamSMTP deemon uuesti laadida:&lt;br /&gt;
 /etc/init.d/clamsmtp reload&lt;br /&gt;
&lt;br /&gt;
==SpamAssassin==&lt;br /&gt;
Kõigepeal veendu, et /etc/default/spamassassin failis oleks, siis saab Postfix käivitada spamc rakenduse!&lt;br /&gt;
 ENABLED=1&lt;br /&gt;
&lt;br /&gt;
Tasub veel teada et pordil 783 kuulab SpamAssassin&#039;i deemon, mille kaudu saab suvalist teksti filtreerida. Postfix kutsub välja käsurearakendust &#039;&#039;&#039;spamc&#039;&#039;&#039;, mis ühendub nimetatud pordile ning filtreerib kirju. Deemoni kinnipanemiseks või käivitamiseks võib kasutada käsku:&lt;br /&gt;
 /etc/init.d/spamassassin start|stop&lt;br /&gt;
&lt;br /&gt;
=Testimine=&lt;br /&gt;
==Saatmine SMTP&#039;ga==&lt;br /&gt;
Selleks, et oleks lihtne testida teeme sellise faili, mille sisuks on:&lt;br /&gt;
 import smtplib&lt;br /&gt;
 fromaddr = &amp;quot;&#039;&#039;&#039;[saatja@aadress]&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 toaddrs  = &amp;quot;&#039;&#039;&#039;[siht@aadress]&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 msg = &amp;quot;&#039;&#039;&#039;[Sõnumisisu]&#039;&#039;&#039;?\n&amp;quot;&lt;br /&gt;
 server = smtplib.SMTP(&#039;localhost&#039;)&lt;br /&gt;
 server.sendmail(fromaddr, toaddrs, msg)&lt;br /&gt;
 server.quit()&lt;br /&gt;
&lt;br /&gt;
Seejärel käivitame selle Python rakenduse:&lt;br /&gt;
 python &amp;lt;eelpool loodud faili nimi&amp;gt;&lt;br /&gt;
==Lugemine IMAP&#039;iga==&lt;br /&gt;
Järgnev Python programm püüab kohalikku masinasse sisse logida IMAP kaudu ning püüab tõmmata viimast e-kirja. Samas kontrollib, kas e-kirjale tehti viirusetõrjet ning rämpspostikontrolli:&lt;br /&gt;
 # -*- coding: utf-8 -*-&lt;br /&gt;
 import getpass, imaplib, sys&lt;br /&gt;
 def main():&lt;br /&gt;
   M = imaplib.IMAP4(&amp;quot;localhost&amp;quot;, 143)&lt;br /&gt;
   print &amp;quot;Username: &amp;quot;,&lt;br /&gt;
   username = sys.stdin.readline().strip()&lt;br /&gt;
   password =  getpass.getpass()&lt;br /&gt;
   M.login(username, password)&lt;br /&gt;
   status, value = M.select()&lt;br /&gt;
   if status != &amp;quot;OK&amp;quot;:&lt;br /&gt;
     print &amp;quot;Failed to log in&amp;quot;&lt;br /&gt;
     return&lt;br /&gt;
   mails = value[0]&lt;br /&gt;
   status, data = M.fetch( mails,&#039;(RFC822)&#039;)&lt;br /&gt;
   if status != &amp;quot;OK&amp;quot;:&lt;br /&gt;
     print &amp;quot;Failed to fetch mail!&amp;quot;&lt;br /&gt;
     return&lt;br /&gt;
   content = data[0][1]&lt;br /&gt;
   print content&lt;br /&gt;
   print &amp;quot;\nConclusion:&amp;quot;&lt;br /&gt;
   if &amp;quot;X-Virus-Scanned: ClamAV using ClamSMTP&amp;quot; in content:&lt;br /&gt;
     print &amp;quot;* Virus scan performed&amp;quot;&lt;br /&gt;
   else:&lt;br /&gt;
     print &amp;quot;* NO Virus scan performed!!!&amp;quot;&lt;br /&gt;
   if &amp;quot;X-Spam-Checker-Version: SpamAssassin&amp;quot; in content:&lt;br /&gt;
     print &amp;quot;* Spam check performed&amp;quot;&lt;br /&gt;
   else:&lt;br /&gt;
     print &amp;quot;* NO Spam check performed!!!&amp;quot;&lt;br /&gt;
   M.close()&lt;br /&gt;
   M.logout()&lt;br /&gt;
 main()&lt;br /&gt;
&lt;br /&gt;
Seejärel käivitame selle Python rakenduse:&lt;br /&gt;
 python &amp;lt;eelpool loodud faili nimi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Varundamine=&lt;br /&gt;
&lt;br /&gt;
Varundada tuleb kõik seadistusfailid, mida muudeti:&lt;br /&gt;
&lt;br /&gt;
 /etc/postfix/main.cf&lt;br /&gt;
 /etc/postfix/master.cf&lt;br /&gt;
 /etc/default/spamassassin &lt;br /&gt;
 /etc/clamsmtpd.conf&lt;br /&gt;
&lt;br /&gt;
Postfix, SpamAssassini ja ClamSMTP seadistuste varundamine, et oleks hea näha millal varundamine tehti lisame sellele varundamise kuupäeva, selline kuupäevaformaat(AastaKuuPäev)võimaldab kiirelt viimase faili leida:&lt;br /&gt;
 tar cvf varundamine.tar`date &#039;+%Y%m%d&#039;` /etc/postfix/* /etc/default/spamassassin /etc/clamsmtpd.conf&lt;br /&gt;
&lt;br /&gt;
=Taastamine=&lt;br /&gt;
Järgneva käsuga saab kõik seaded taastada varemsalvestatud &#039;&#039;tarball&#039;&#039;ist&lt;br /&gt;
 cd / &amp;amp;&amp;amp; tar xvf varundamine.tar&lt;br /&gt;
&lt;br /&gt;
=Kasutatud kirjandus=&lt;br /&gt;
http://v6sa.itcollege.ee/wiki/?page=email&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Labor2_E-post&amp;diff=1586</id>
		<title>Labor2 E-post</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Labor2_E-post&amp;diff=1586"/>
		<updated>2009-12-17T17:17:33Z</updated>

		<summary type="html">&lt;p&gt;Kkarma: /* Varundamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Legend=&lt;br /&gt;
&lt;br /&gt;
Ver. 0.00, 03.11.2009&amp;lt;br&amp;gt;&lt;br /&gt;
Ver. 0.01, 14.12.2009&lt;br /&gt;
&lt;br /&gt;
=Tegijad=&lt;br /&gt;
&lt;br /&gt;
Sander Surva&amp;lt;br&amp;gt;&lt;br /&gt;
Ken Karma&amp;lt;br&amp;gt;&lt;br /&gt;
Lauri Võsandi&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Meil on kaks domeeni, kus on mailiserverid ja osapooled saavad omavahel e-posti teel suhelda. ssurva.ee ja kkarma.ee. kkarma.ee peale on seadistatud nii spämmifilter kui ja viirusetõrje sissetulevate mailide jaoks. Mõlemad domeenid samas logivad logiteateid eraldi faili.&lt;br /&gt;
&lt;br /&gt;
=Nõuded=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# domeenid kkarma ja ssurva&lt;br /&gt;
# d1 viirusetõrjega&lt;br /&gt;
# d1 spammifilter&lt;br /&gt;
# logima syslog-i + eraldi faili&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  +----+           +----+&lt;br /&gt;
  | D1 |   ------&amp;gt; | D2 |&lt;br /&gt;
  +----+           +----+&lt;br /&gt;
&lt;br /&gt;
=Eeldused=&lt;br /&gt;
Operatsioonisüsteemiks peab olema Ubuntu Server, mis jookseb kernelil 2.6.28-11&lt;br /&gt;
&lt;br /&gt;
Enne vaja seadistada DNS&lt;br /&gt;
&lt;br /&gt;
kasutame BIND-i, põhjalikuma leheküle leiab: [https://wiki.itcollege.ee/index.php/Nimeserveri_seadistamine_BIND9_n%C3%A4itel]&lt;br /&gt;
  apt-get install bind9&lt;br /&gt;
&lt;br /&gt;
kohalikud domeenid kkarma ja ssurva paigutame faili /etc/bind/named.conf.local&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;6.168.192.in-addr.arpa&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.6.168.192.in-addr.arpa&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
zone &amp;quot;ssurva.ee&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.ssurva.ee&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
zone &amp;quot;kkarma.ee&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.kkarma.ee&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /etc/bind/db.ssurva.ee&lt;br /&gt;
nano /etc/bind/db.kkarma.ee&lt;br /&gt;
nano /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nende failide sisu muuta järgmiselt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; BIND data file for ssurva.ee&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN ssurva.ee.&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     ns.ssurva.ee. root.ssurva.ee. (&lt;br /&gt;
                              3         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
ssurva.ee. IN      NS      ns.ssurva.ee.&lt;br /&gt;
ssurva.ee. IN      MX      10 mail.ssurva.ee.&lt;br /&gt;
ns.ssurva.ee.      IN      A       192.168.6.88&lt;br /&gt;
mail.ssurva.ee.    IN      A       192.168.6.88&lt;br /&gt;
www.ssurva.ee.     IN      CNAME       ssurva.ee.&lt;br /&gt;
ssurva.ee. IN      A   192.168.6.88&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; BIND data file for kkarma.ee&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN kkarma.ee.&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     ns.kkarma.ee. root.too.ee. (&lt;br /&gt;
                              3         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
kkarma.ee. IN      NS      ns.kkarma.ee.&lt;br /&gt;
kkarma.ee. IN      MX      10 mail.kkarma.ee.&lt;br /&gt;
ns.kkarma.ee.      IN      A       192.168.6.87&lt;br /&gt;
mail.kkarma.ee.    IN      A       192.168.6.87&lt;br /&gt;
www.kkarma.ee.     IN      CNAME       kkarma.ee.&lt;br /&gt;
kkarma.ee. IN      A   192.168.6.87&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                               3         ; Serial&lt;br /&gt;
                          604800         ; Refresh&lt;br /&gt;
                           86400         ; Retry&lt;br /&gt;
                         2419200         ; Expire&lt;br /&gt;
                          604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 6.168.192.in-addr.arpa.       IN     NS     ns.ssurva.ee.&lt;br /&gt;
 88.6.168.192.in-addr.arpa.    IN     PTR    ns.ssurva.ee.&lt;br /&gt;
 88.6.168.192.in-addr.arpa.    IN     PTR    mail.ssurva.ee.&lt;br /&gt;
 87.6.168.192.in-addr.arpa.    IN     PTR    mail.kkarma.ee.&lt;br /&gt;
&lt;br /&gt;
=E-posti tarkvara paigaldus=&lt;br /&gt;
&lt;br /&gt;
Kõik installeerimised on tehtud root kasutaja alt, kui toiminguid tehakse mõne muu kasutaja alt &#039;&#039;&#039;siis tuleb iga käsu ette lisada sudo&#039;&#039;&#039; ! &lt;br /&gt;
&lt;br /&gt;
MTA ehk Mail Transfer Agent on Postfix:&lt;br /&gt;
  apt-get install postfix&lt;br /&gt;
Rämpspostifilter SpamAssassin:&lt;br /&gt;
  apt-get install spamassassin&lt;br /&gt;
Antiviirus ClamSMTP:&lt;br /&gt;
  apt-get install clamsmtp&lt;br /&gt;
MDA ehk Mail Delivery Agent on Courier:&lt;br /&gt;
  apt-get install courier-imap&lt;br /&gt;
SASL autentimiseks:&lt;br /&gt;
  apt-get install libsasl2-2 sasl2-bin&lt;br /&gt;
&lt;br /&gt;
=Kirjade vastuvõtmine=&lt;br /&gt;
Postfix kuulab pordil 25 ning saadab kirjad edasi 10030 pordile, kus ClamSMTP teeb viirusetõrjet. Peale seda ClamSMTP saadab need edasi 10025 pordile, kus Postfix nad uuesti vastu võtab ja teeb rämpsposti filtreerimist. Kirjad mis on läbinud sellise ahela paigutatakse ~/Maildir alla.&lt;br /&gt;
&lt;br /&gt;
==Postfix==&lt;br /&gt;
Postfix võtab vastu posti ka väljastpoolt ning salvestab vaikmisi /var/mail alla, selleks et kasutada uuemat Maildir formaati, mille korral paigutatakse kirjad ~/Maildir alla, ava &#039;&#039;&#039;/etc/postfix/main.cf&#039;&#039;&#039; ja lisa sinna:&lt;br /&gt;
 home_mailbox = Maildir/&lt;br /&gt;
&lt;br /&gt;
Tee kindlaks et &#039;&#039;&#039;mydestination&#039;&#039;&#039; viitaks kohalikule masinale (et pingida saaks):&lt;br /&gt;
 mydestination = kkarma.ee,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peale seda ava Postfixi peamine seadistusfail /etc/postfix/master.cf ja tee kindlaks et seal on sellised read:&lt;br /&gt;
 smtp      inet  n       -       -       -       -       smtpd # Kuula pordil 25&lt;br /&gt;
   -o content_filter=clamav:127.0.0.1:10030                    # Saada edasi kohaliku masia pordile 10030&lt;br /&gt;
 10025     inet  n       -       -       -       -       smtpd # Kuula pordil 10025&lt;br /&gt;
   -o content_filter=spamassassin                              # Saada läbi SpamAssassini UNIX socketi (vt allpool)&lt;br /&gt;
 smtps     inet  n       -       -       -       -       smtpd # Kuula TLS&#039;iga krüpteeritud ühendusi pordil 465&lt;br /&gt;
   -o smtpd_sasl_auth_enable=yes                               # Luba autentimine läbi SASL+PAM&lt;br /&gt;
&lt;br /&gt;
Sama faili lõppu tuleks veel lisada filtri definitsioon:&lt;br /&gt;
 spamassassin unix -     n       n       -       -       pipe&lt;br /&gt;
         user=nobody argv=/usr/bin/spamc -f -e&lt;br /&gt;
         /usr/sbin/sendmail -oi -f ${sender} ${recipient}&lt;br /&gt;
 &lt;br /&gt;
 clamav      unix  -       -       n       -       16      smtp&lt;br /&gt;
         -o smtp_send_xforward_command=yes&lt;br /&gt;
&lt;br /&gt;
Peale seadistuste muutmist tuleks Postfix&#039;i deemon uuesti laadida:&lt;br /&gt;
 /etc/init.d/postfix reload&lt;br /&gt;
&lt;br /&gt;
==SASL seadistamine==&lt;br /&gt;
Tuleb lisada kasutaja &#039;&#039;&#039;postfix&#039;&#039;&#039; gruppi &#039;&#039;&#039;sasl&#039;&#039;&#039;:&lt;br /&gt;
 sudo adduser postfix sasl&lt;br /&gt;
&lt;br /&gt;
Ava /etc/postfix/sasl/smtpd.conf:&lt;br /&gt;
 pwcheck_method: saslauthd&lt;br /&gt;
 saslauthd_path: /etc/mux&lt;br /&gt;
 mech_list: login plain&lt;br /&gt;
&lt;br /&gt;
Ava SASL seadistuste fail: /etc/default/saslauthd:&lt;br /&gt;
 START=yes&lt;br /&gt;
 MECHANISMS=&amp;quot;pam&amp;quot;&lt;br /&gt;
 OPTIONS=&amp;quot;-c -m /var/spool/postfix/etc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Peale seda tuleks SASL teenus taaskäivitada:&lt;br /&gt;
 sudo /etc/init.d/saslauthd restart&lt;br /&gt;
&lt;br /&gt;
==ClamSMTP seadistamine==&lt;br /&gt;
Ava /etc/clamsmtpd.conf ja muuda selle sisu selliseks&lt;br /&gt;
 # Port kuhu edasi suunata meilid&lt;br /&gt;
 OutAddress: 10025&lt;br /&gt;
 &lt;br /&gt;
 # Kuula SMTP ühendusi kohaliku masina pordil 10030&lt;br /&gt;
 Listen: 127.0.0.1:10030&lt;br /&gt;
 &lt;br /&gt;
 # ClamAV deemon laetakse üks kord mällu ning ta kuulab clamd.ctl UNIX socketil&lt;br /&gt;
 # ClamSMTPD on lihtsalt üks ClamAV deemoni &amp;quot;klientidest&amp;quot; mis ühendub sinna socketisse&lt;br /&gt;
 # Iga meili jaoks ClavAV andmebaasi laadimine oleks lihtsalt väga aeglane&lt;br /&gt;
 ClamAddress: /var/run/clamav/clamd.ctl&lt;br /&gt;
 &lt;br /&gt;
 # Kasutaja kellena ClamSMTPD jookseb&lt;br /&gt;
 User: clamsmtp&lt;br /&gt;
 &lt;br /&gt;
 TempDirectory: /var/spool/clamsmtp&lt;br /&gt;
 PidFile: /var/run/clamsmtp/clamsmtpd.pid&lt;br /&gt;
 &lt;br /&gt;
 #MaxConnections: 64&lt;br /&gt;
 #TimeOut: 180&lt;br /&gt;
 #Header: X-AV-Checked: ClamAV using ClamSMTP&lt;br /&gt;
 #Bounce: off&lt;br /&gt;
 #Quarantine: off&lt;br /&gt;
 #TransparentProxy: off&lt;br /&gt;
&lt;br /&gt;
Peale seadistuste muutmist tuleks ClamSMTP deemon uuesti laadida:&lt;br /&gt;
 /etc/init.d/clamsmtp reload&lt;br /&gt;
&lt;br /&gt;
==SpamAssassin==&lt;br /&gt;
Kõigepeal veendu, et /etc/default/spamassassin failis oleks, siis saab Postfix käivitada spamc rakenduse!&lt;br /&gt;
 ENABLED=1&lt;br /&gt;
&lt;br /&gt;
Tasub veel teada et pordil 783 kuulab SpamAssassin&#039;i deemon, mille kaudu saab suvalist teksti filtreerida. Postfix kutsub välja käsurearakendust &#039;&#039;&#039;spamc&#039;&#039;&#039;, mis ühendub nimetatud pordile ning filtreerib kirju. Deemoni kinnipanemiseks või käivitamiseks võib kasutada käsku:&lt;br /&gt;
 /etc/init.d/spamassassin start|stop&lt;br /&gt;
&lt;br /&gt;
=Testimine=&lt;br /&gt;
==Saatmine SMTP&#039;ga==&lt;br /&gt;
Selleks, et oleks lihtne testida teeme sellise faili, mille sisuks on:&lt;br /&gt;
 import smtplib&lt;br /&gt;
 fromaddr = &amp;quot;&#039;&#039;&#039;[saatja@aadress]&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 toaddrs  = &amp;quot;&#039;&#039;&#039;[siht@aadress]&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 msg = &amp;quot;&#039;&#039;&#039;[Sõnumisisu]&#039;&#039;&#039;?\n&amp;quot;&lt;br /&gt;
 server = smtplib.SMTP(&#039;localhost&#039;)&lt;br /&gt;
 server.sendmail(fromaddr, toaddrs, msg)&lt;br /&gt;
 server.quit()&lt;br /&gt;
&lt;br /&gt;
Seejärel käivitame selle Python rakenduse:&lt;br /&gt;
 python &amp;lt;eelpool loodud faili nimi&amp;gt;&lt;br /&gt;
==Lugemine IMAP&#039;iga==&lt;br /&gt;
Järgnev Python programm püüab kohalikku masinasse sisse logida IMAP kaudu ning püüab tõmmata viimast e-kirja. Samas kontrollib, kas e-kirjale tehti viirusetõrjet ning rämpspostikontrolli:&lt;br /&gt;
 # -*- coding: utf-8 -*-&lt;br /&gt;
 import getpass, imaplib, sys&lt;br /&gt;
 def main():&lt;br /&gt;
   M = imaplib.IMAP4(&amp;quot;localhost&amp;quot;, 143)&lt;br /&gt;
   print &amp;quot;Username: &amp;quot;,&lt;br /&gt;
   username = sys.stdin.readline().strip()&lt;br /&gt;
   password =  getpass.getpass()&lt;br /&gt;
   M.login(username, password)&lt;br /&gt;
   status, value = M.select()&lt;br /&gt;
   if status != &amp;quot;OK&amp;quot;:&lt;br /&gt;
     print &amp;quot;Failed to log in&amp;quot;&lt;br /&gt;
     return&lt;br /&gt;
   mails = value[0]&lt;br /&gt;
   status, data = M.fetch( mails,&#039;(RFC822)&#039;)&lt;br /&gt;
   if status != &amp;quot;OK&amp;quot;:&lt;br /&gt;
     print &amp;quot;Failed to fetch mail!&amp;quot;&lt;br /&gt;
     return&lt;br /&gt;
   content = data[0][1]&lt;br /&gt;
   print content&lt;br /&gt;
   print &amp;quot;\nConclusion:&amp;quot;&lt;br /&gt;
   if &amp;quot;X-Virus-Scanned: ClamAV using ClamSMTP&amp;quot; in content:&lt;br /&gt;
     print &amp;quot;* Virus scan performed&amp;quot;&lt;br /&gt;
   else:&lt;br /&gt;
     print &amp;quot;* NO Virus scan performed!!!&amp;quot;&lt;br /&gt;
   if &amp;quot;X-Spam-Checker-Version: SpamAssassin&amp;quot; in content:&lt;br /&gt;
     print &amp;quot;* Spam check performed&amp;quot;&lt;br /&gt;
   else:&lt;br /&gt;
     print &amp;quot;* NO Spam check performed!!!&amp;quot;&lt;br /&gt;
   M.close()&lt;br /&gt;
   M.logout()&lt;br /&gt;
 main()&lt;br /&gt;
&lt;br /&gt;
Seejärel käivitame selle Python rakenduse:&lt;br /&gt;
 python &amp;lt;eelpool loodud faili nimi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Varundamine=&lt;br /&gt;
&lt;br /&gt;
Varundada tuleb kõik seadistusfailid, mida muudeti:&lt;br /&gt;
&lt;br /&gt;
 /etc/postfix/main.cf&lt;br /&gt;
 /etc/postfix/master.cf&lt;br /&gt;
 /etc/default/spamassassin &lt;br /&gt;
 /etc/clamsmtpd.conf&lt;br /&gt;
&lt;br /&gt;
Postfix, SpamAssassini ja ClamSMTP seadistuste varundamine, et oleks hea näha millal varundamine tehti lisame sellele varundamise kuupäeva, selline kuupäevaformaat(AastaKuuPäev)võimaldab kiirelt viimase faili leida:&lt;br /&gt;
 tar cvf varundamine.tar`date &#039;+%Y%m%d&#039;` /etc/postfix/* /etc/default/spamassassin /etc/clamsmtpd.conf&lt;br /&gt;
&lt;br /&gt;
=Taastamine=&lt;br /&gt;
Järgneva käsuga saab kõik seaded taastada varemsalvestatud &#039;&#039;tarball&#039;&#039;ist&lt;br /&gt;
 cd / &amp;amp;&amp;amp; tar xvf varundamine.tar&lt;br /&gt;
&lt;br /&gt;
=Kasutatud kirjandus=&lt;br /&gt;
http://v6sa.itcollege.ee/wiki/?page=email&lt;br /&gt;
&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Kkarma</name></author>
	</entry>
</feed>