OpenLDAP Ubuntu Serveril: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Tsuurmag (talk | contribs)
No edit summary
Tsuurmag (talk | contribs)
 
(42 intermediate revisions by 3 users not shown)
Line 1: Line 1:
work in progress
<div style="float:right">__TOC__</div>


=Sissejuhatus OpenLDAP=
=Sissejuhatus OpenLDAP=
Käesolev juhend aitab paigaldada Ubuntu serveri baasil lihtsa OpenLDAP serveri ning näitab ka ära, kuidas saab konfigureerida klientmasinaid kasutama seda LDAP serverit autentimiseks. Töö lõpuks peaks olema võimalik kasutajaid hallata tsentraalselt läbi LDAP serveri ja klientmasinad käivad ise sealt kaudu autentimas.


=Sissejuhatus tegevustikku ja süsteemi nõuded=
=Sissejuhatus tegevustikku ja süsteemi nõuded=


=OpenLDAP installeerimine=
Töö jaoks oletame, et administraator on juba paigaldanud nii Ubuntu serveri versiooni, kui ka klient (desktop) versiooni. Lisaks on tähtis, et nende masinate vaheline võrguühendus töötaks.
 
=OpenLDAP'i installeerimine=


Siseneme root kasutajana.
Lähme root kasutaja režiimi
<pre>sudo -i</pre>
<pre>sudo -i</pre>


Teeme tarkvara uuenduse.
Tõmbame alla uute pakkide nimekirjad
<pre>apt-get update</pre>
<pre>apt-get update</pre>


Line 16: Line 20:
<pre>apt-get install slapd ldap-utils</pre>
<pre>apt-get install slapd ldap-utils</pre>


=OpenLDAP seadistamine=
=Serveri seadistamine=


Esmase installeerimise käigus küsitakse LDAP admini parooli, seadke see vastavalt oma soovile.
Esmase installeerimise käigus küsitakse LDAP admini parooli, seadke see vastavalt oma soovile. Näites on kasutatud paroolina: password


Administrator password: password
<b>Administrator password: password


Confirm password: password
Confirm password: password
</b>
Konfigureerime LDAP serveri
<pre>dpkg-reconfigure slapd</pre>
Järgnevalt küsitakse järgmised küsimused, vastake nii:
<b>Omit OpenLDAP server configuration? No </b>
<b>DNS domain name: planet.zz</b> (sisestada tuleks enda domeeninimi)
<b>Organization name: planet </b>
<b>Administrators password: password</b>
<b>Confirm password: password</b>
<b>Database backend to use: BDB</b>
<b>Do you want the database to be removed when slapd is purged? No</b>
<b>Move old database? Yes</b>
<b>Allow LDAPv2 protocol? No</b>
Järgnevalt peame muutma OpenLDAP'i konfiguratsioonifaili. Selleks peame kasutama vabalt valitud tekstiredaktorit. Näites kasutame programmi nano.
Avame faili /etc/ldap/ldap.conf
<pre>nano /etc/ldap/ldap.conf</pre>
Failis muudame konfiguratsioonifaili vastavalt näite alguses kasutatud andmetele. Seejuures algses konfiguratsioonifailis on antud read välja kommenteeritud, kindlasti kustutada # rea algusest.
<pre>
BASE dc=planet,dc=zz
URI ldap://localhost
</pre>
Algseadistus on nüüdseks valmis. Kasutaja admin koos parooliga (password) on loodud.
Teenuse töötamiseks on vaja teha OpenLDAP serveri taaslaadimine.
<pre>/etc/init.d/slapd restart</pre>
Kui kõik on õigesti seadistatud peaks tulema vastus.
<pre>
* Stopping OpenLDAP slapd                                              [ OK ]
* Starting OpenLDAP slapd                                              [ OK ]
</pre>
=Serveri töö kontroll=
Käsuga ''ldapsearch'' saame küsida LDAP serverist andmeid. Järgnev käsk peaks kuvama kogu meie LDAP serveri sisu:
<pre>ldapsearch -x -b dc=planet,dc=zz</pre>
Kui kõik on õigesti seadistatud peaks tulema sarnane vastus:
<pre>
# extended LDIF
#
# LDAPv3
# base <dc=planet,dc=zz> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# planet.zz
dn: dc=planet,dc=zz
objectClass: top
objectClass: dcObject
objectClass: organization
o: planet.zz
dc: planet
# admin, planet.zz
dn: cn=admin,dc=planet,dc=zz
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2
</pre>
=Kasutajate klassifitseerimine=
Täiendame enda OpenLDAP kasutajatebaasi kolme ''Organizational Unit (OU)''ga.
Kasutajate jagunemine
[[File:Ou objektid.png|550px]]
Lisame OpenLDAP andmebaasi alampuuharu '''tudengid''', mis oma korda hargnevad '''kaugope''' ja '''paevaope''' alamorganisatsiooni osadeks
Lisame faili ''lisa_directory.ldif'' järgneva info:
<pre>
dn:    ou=tudengid, dc=planet, dc=zz
objectClass:    top
objectClass:    organizationalUnit
ou:    tudengid
dn:    ou=kaugope, ou=tudengid, dc=planet, dc=zz
objectClass:    top
objectClass:    organizationalUnit
ou:    kaugope
dn:    ou=paevaope, ou=tudengid, dc=planet, dc=zz
objectClass:    top
objectClass:    organizationalUnit
ou:    paevaope
</pre>
Impordime selle faili meie LDAP andmebaasi
<pre>
ldapadd -x -f lisa_directory.ldif -D "cn=admin,dc=planet,dc=zz" -W
</pre>
=Unix kasutajate ja gruppide lisamine andmebaasi=
Järgnevalt lisame LDAP andmebaasi Linux kasutajagrupid ja kasutajad. Siinkohal on tähtis ära märkida, et kasutajate ja gruppide ID-d peaksid olema valitud selliselt, et need ei läheks kokku klientarvutite enda süsteemsete kontodega - vastasel juhul tekib suur segadus ning kasutajad võivad hakkama kattuda. Järgnevalt kasutasime näites gruppide ja kasutajate ID-sid alates 10000.
Kõige pealt lisame LDAP andmebaasi grupid, selleks loome faili '''unix_groups.ldif''' ja kirjutame sinna sisse:
<pre>
dn: cn=kaugope,ou=kaugope,ou=tudengid,dc=planet,dc=zz
objectClass: posixGroup
objectClass: top
cn: kaugope
gidNumber: 10000
dn: cn=paevaope,ou=paevaope,ou=tudengid,dc=planet,dc=zz
objectClass: posixGroup
objectClass: top
cn: paevaope
gidNumber: 10001
</pre>
Failis määratud '''gidNumber''' näitab ära selle grupi ID numbri.
Seejärel loome kasutajate ldif faili nimega '''unix_users.ldif''':
<pre>
dn: uid=jaan,ou=kaugope,ou=tudengid,dc=planet,dc=zz
cn: Juhan Jaan
objectclass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
userPassword: {SSHA}zTujw0UNgI5KxbHDHtencuidfwcYN+m4
shadowLastChange: 15140
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 10000
gidNumber: 10000
homeDirectory: /home/jaan
dn: uid=peeter,ou=paevaope,ou=tudengid,dc=planet,dc=zz
cn: Peeter Paan
objectclass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
userPassword: {SSHA}IDYvmsQGxHK3samkWpExSrNW4YD0e8f9
shadowLastChange: 15140
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 10001
gidNumber: 10001
homeDirectory: /home/peeter
</pre>
Väljad '''uidNumber''' ja '''gidNumber''' näitavad ära kasutajate ja gruppide ID-d. '''userPassword''' määrab ära kasutaja parooli - siinkohal on need lisatud räsitud kujul. Parooli hashimiseks kasutasime '''slappasswd''' utiliiti, mille käima pannes küsib ta parooli ja peale sisestamist kuvab kohe räsitud parooli.


[[image:slapd1.png|250px|parooli seadistamine]]
Nagu juba kombeks, impordime need failid andmebaasi:
<pre>
ldapadd -x -f unix_groups.ldif -D "cn=admin,dc=planet,dc=zz" -W
ldapadd -x -f unix_users.ldif -D "cn=admin,dc=planet,dc=zz" -W
</pre>


Kui see õnnestus, siis on meie LDAP server autentimise päringute vastuvõtmiseks. Järgnevalt tuleb seadistada Ubuntu klientarvuti kasutamaks meie LDAP serverit.


Sisestame käsu, et alustada OpenLDAP'i seadistamisega.
=Klientarvuti seadistamine LDAP autentimiseks=
<pre>dpkg-reconfigure slapd</pre>
 
Kõige pealt paigaldamine klientarvutile LDAP autentimise kliendi ja nsc deemoni:
<pre>apt-get install ldap-auth-client nscd</pre>
Paigaldamise keskel küsitakse meie käest informatsiooni LDAP seadistuste kohta:
 
<b>LDAP server Uniform Resource Identifier:</b> ldap://192.168.56.101/ (LDAP serveri aadress)


Järgnevalt küsitakse järgmised küsimused, vastake nii:
<b>Distinguished name of the search base:</b> dc=planet,dc=zz (baas DN)


Omit OpenLDAP server configuration? No
<b>LDAP version to use:</b> 3 (LDAP versioon)


[[image:slapd2.png|250px|serveri configuration]]
<b>Make local root Database admin:</b> No


<b>Does the LDAP database require login?</b> No


DNS domain name: planet.zz
Seejärel seadistame klientmasina kasutama LDAP-i autentimiseks:
<pre>auth-client-config -t nss -p lac_ldap</pre>


[[image:slapd3.png|250px|dns]]
Nüüd juba põhimõtteliselt peaks LDAP kliendile seadistatud olema, küll aga tuleks teha mõned lisamuudatused klientmasinale, et LDAP kasutajatel oleks rohkem õigusi masinas.


Esimene probleem on see, et kuigi kasutaja on olemas, ei ole temale loodud kodukataloogi. Selleks tuleb lisada PAM konfiguratsiooni ''mkhomedir'' moodul, mis ise loob kataloogi kui kasutajaga autenditakse. Mooduli seadistamiseks tuleb luua fail ''/usr/share/pam-configs/my_mkhomedir'' ja kirjutada sinna:
<pre>
Name: Activate PAM mkhomedir module
Default: yes
Priority: 900
Session-Type: Additional
Session:
        required                        pam_mkhomedir.so umask=0022 skel=/etc/skel
</pre>


Organization name: planet
Teine probleem on see, et kuigi LDAP kasutajal on masinale üldine ligipääs olemas, puudub tal õigus kasutada seadmeid klientmasinas (nt heli). Selleks peab kasutaja olema lisatud vastavatesse gruppidesse.


[[image:slapd4.png|250px|organisatsiooni nimi]]
Selleks tuleb PAM group mooduli konfiguratsioonifailis ära määrata, et kõik autenditud kasutajad oleksid automaatselt mingites vaikimisi gruppides. Selleks lisame ''/etc/security/group.conf'' faili järgmise rea:
<pre>*;*;*;Al0000-2400;audio,cdrom,dialout,floppy,users</pre>


Seejärel aktiveerime PAM ''group'' mooduli sarnaselt nagu ''mkhomedir'' mooduligi. Kirjutame faili ''/usr/share/pam-configs/my_groups'' järgneva sisu:
<pre>
Name: Activate PAM group module
Default: yes
Priority: 900
Auth-Type: Primary
Auth:
        required                        pam_group.so use_first_pass
</pre>


Administrators password: password
Muudatuste rakendamiseks käivitame utiliidi ''pam-auth-update''.


[[image:slapd5.png|250px|parooli seadistamine]]
<pre>pam-auth-update</pre>


See küsib üle, millised seadistusi kasutada. Tähtis on, et "Activate PAM mkhomedir module" ja "Activate PAM group module" oleks valitud.


Confirm password: password
Nüüd peaks kasutajate autentimine täielikult töötama. Autentimise testimiseks ühendasin üle SSH LDAP serverist klientmasinasse:
 
Käsk: (kasutame loodud kasutajat ning ip aadressi vastavalt kliendi masinale)
 
<pre>ssh peeter@192.168.56.200</pre>
 
Edukas sisselogimine:
 
<pre>
Creating directory '/home/peeter'.
Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-32-generic x86_64)


[[image:slapd6.png|250px|parool uuesti]]
* Documentation: https://help.ubuntu.com/


  System information as of Mon Jan  7 17:40:30 EET 2013


Database backend to use: BDB
  System load: 0.67              Processes:          124
  Usage of /:  46.7% of 7.38GB  Users logged in:    1
  Memory usage: 23%              IP address for eth5: 10.0.2.15
  Swap usage:  3%                IP address for eth4: 192.168.56.200


[[image:slapd7.png|250px|database backend]]
  => There are 3 zombie processes.


  Graph this data and manage this system at https://landscape.canonical.com/


Do you want the database to be removed when slapd is purged? No


[[image:slapd8.png|250px|purge]]
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.


Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.


Move old database? Yes
</pre>


[[image:slapd9.png|250px|database]]
Käsk:


<pre>groups</pre>


Allow LDAPv2 protocol? No
Vastus:


[[image:slapd10.png|250px|LDAPv2 protocol]]
<pre>paevaope dialout cdrom floppy audio users</pre>


Siit on näha, et sisselogimine õnnestus ja mingid vaikimisi grupid on ka meile antud.


Järgnevalt peame muutma OpenLDAP'i konfiguratsioonifaili. Selleks peame kasutama vabalt valitud tekstiredaktorit. Näites kasutame programmi nano.
Nüüd tasuks aga seadistada Ubuntu graafiline liides nii, et ta sisselogimisakna juures küsiks eraldi kasutajanime, mitte ei laseks nimekirjast valida (paljude kasutajatega läheks keeruliseks). Seda saab teha järgmise käsuga:
<pre>/usr/lib/lightdm/lightdm-set-defaults --hide-users true --show-manual-login true</pre>


Avame faili /etc/ldap/ldap.conf
Ning peale klientmasina restarti peaks avanema järgmine pilt:


<pre>nano /etc/ldap/ldap.conf</pre>
[[image:OpenLDAP_auth1.png|500px|Sisselogimine]]
[[image:OpenLDAP_auth2.png|500px|Sisselogituna]]


Failis muudame konfiguratsioonifaili vastavalt näite alguses kasutatud andmetele. Seejuures algses konfiguratsioonifailis on antud read välja kommenteeritud, kindlasti kustutada # rea algusest.
=Kirjete kustutamine LDAP andmebaasist=


<pre>
<pre>
BASE dc=planet,dc=zz
ldapdelete -D "cn=admin,dc=planet,dc=zz" -W "cn=Juhan Jaan,dc=planet,dc=zz"
URI ldap://localhost
</pre>
</pre>


Algseadistus on nüüdseks valmis. Kasutaja admin koos parooliga (password) on loodud.
=Kirjete muutmine LDAP andmebaasis=
Teenuse töötamiseks on vaja teha taaslaadimine.
 
Loome faili ''muuda_kasutaja.txt''
 
Lisame faili muuda_kasutaja info, mida soovime muuta
<pre>
dn: uid=jaan,ou=kaugope,ou=tudengid,dc=planet,dc=zz
changetype: modify
replace: mail
mail: jjaan@planet.zz
-
add: title
title: Grand Poobah
-
add: jpegPhoto
jpegPhoto:< file:///tmp/jjaan.jpeg
-
delete: description
-
</pre>
 
Rakendame muudatused käsuga
 
<pre>
ldapmodify -f muuda_kasutaja.txt
</pre>


<pre>/etc/init.d/slapd restart</pre>
=Graafiline liides LDAP andmebaasist andmete küsimiseks (LUMA)=


Kui kõik on õigesti seadistatud peaks tulema vastus.
Paigalda programm Luma masinasse, millel on ligipääs sinu LDAP serverile
<pre>
apt-get install luma
</pre>


Käivita programm
<pre>
<pre>
* Stopping OpenLDAP slapd                                              [ OK ]
luma
* Starting OpenLDAP slapd                                              [ OK ]
</pre>
</pre>


=OpenLDAP'i kontroll=
Lisa OpenLDAP server järgneva seadistusega
 
*Server Address: <OpenLDAP Server IP>:389
*Bind As: Anonymous
*Encryption: None
*BaseDN: Automatic
 
Kasutaja info vaatamiseks vali vasakult menüüst '''Browse'''.
 
Näeme, et eelnevalt lisatud kasutaja Peeter Paan asub õiges OU-s
 
[[File:OpenLDAP_auth3.png]]
 
=OpenLDAP serveri eemaldamine=
Eemaldamine kustutab ka konfiguratsioonifailid. Annab võimaluse otsast peale alustada. Kustutab OpenLDAP'i ja lisa utiliidid.
 
<pre>apt-get remove --purge slapd ldap-utils</pre>


=Kasutatud allikad=
=Kasutatud allikad=
OpenLDAPServer. https://help.ubuntu.com/community/OpenLDAPServer
LDAPClientAuthentication. https://help.ubuntu.com/community/LDAPClientAuthentication
HowTO: Setup an LDAP server and Client CentOS 6.2. http://www.overclockers.com/forums/showthread.php?t=707070
LightDM. https://wiki.ubuntu.com/LightDM#Configuration_and_Tweaks


=Autorid=
=Autorid=
Line 111: Line 400:


[mailto:taavi.sannik@itcollege.ee Taavi Sannik A31]
[mailto:taavi.sannik@itcollege.ee Taavi Sannik A31]
Uuendas: [mailto:harri.uljas@itcollege.ee Harri Uljas AK31]

Latest revision as of 11:10, 8 January 2013

Sissejuhatus OpenLDAP

Käesolev juhend aitab paigaldada Ubuntu serveri baasil lihtsa OpenLDAP serveri ning näitab ka ära, kuidas saab konfigureerida klientmasinaid kasutama seda LDAP serverit autentimiseks. Töö lõpuks peaks olema võimalik kasutajaid hallata tsentraalselt läbi LDAP serveri ja klientmasinad käivad ise sealt kaudu autentimas.

Sissejuhatus tegevustikku ja süsteemi nõuded

Töö jaoks oletame, et administraator on juba paigaldanud nii Ubuntu serveri versiooni, kui ka klient (desktop) versiooni. Lisaks on tähtis, et nende masinate vaheline võrguühendus töötaks.

OpenLDAP'i installeerimine

Lähme root kasutaja režiimi

sudo -i

Tõmbame alla uute pakkide nimekirjad

apt-get update

Paigaldamine OpenLDAP'i ning vajaminevad utiliidid.

apt-get install slapd ldap-utils

Serveri seadistamine

Esmase installeerimise käigus küsitakse LDAP admini parooli, seadke see vastavalt oma soovile. Näites on kasutatud paroolina: password

Administrator password: password

Confirm password: password

Konfigureerime LDAP serveri

dpkg-reconfigure slapd

Järgnevalt küsitakse järgmised küsimused, vastake nii:

Omit OpenLDAP server configuration? No

DNS domain name: planet.zz (sisestada tuleks enda domeeninimi)

Organization name: planet

Administrators password: password

Confirm password: password

Database backend to use: BDB

Do you want the database to be removed when slapd is purged? No

Move old database? Yes

Allow LDAPv2 protocol? No

Järgnevalt peame muutma OpenLDAP'i konfiguratsioonifaili. Selleks peame kasutama vabalt valitud tekstiredaktorit. Näites kasutame programmi nano.

Avame faili /etc/ldap/ldap.conf

nano /etc/ldap/ldap.conf

Failis muudame konfiguratsioonifaili vastavalt näite alguses kasutatud andmetele. Seejuures algses konfiguratsioonifailis on antud read välja kommenteeritud, kindlasti kustutada # rea algusest.

BASE dc=planet,dc=zz
URI ldap://localhost

Algseadistus on nüüdseks valmis. Kasutaja admin koos parooliga (password) on loodud. Teenuse töötamiseks on vaja teha OpenLDAP serveri taaslaadimine.

/etc/init.d/slapd restart

Kui kõik on õigesti seadistatud peaks tulema vastus.

 * Stopping OpenLDAP slapd                                               [ OK ] 
 * Starting OpenLDAP slapd                                               [ OK ]

Serveri töö kontroll

Käsuga ldapsearch saame küsida LDAP serverist andmeid. Järgnev käsk peaks kuvama kogu meie LDAP serveri sisu:

ldapsearch -x -b dc=planet,dc=zz

Kui kõik on õigesti seadistatud peaks tulema sarnane vastus:

# extended LDIF
#
# LDAPv3
# base <dc=planet,dc=zz> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# planet.zz
dn: dc=planet,dc=zz
objectClass: top
objectClass: dcObject
objectClass: organization
o: planet.zz
dc: planet

# admin, planet.zz
dn: cn=admin,dc=planet,dc=zz
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

Kasutajate klassifitseerimine

Täiendame enda OpenLDAP kasutajatebaasi kolme Organizational Unit (OU)ga.

Kasutajate jagunemine

Lisame OpenLDAP andmebaasi alampuuharu tudengid, mis oma korda hargnevad kaugope ja paevaope alamorganisatsiooni osadeks

Lisame faili lisa_directory.ldif järgneva info:

dn:     ou=tudengid, dc=planet, dc=zz
objectClass:    top
objectClass:    organizationalUnit
ou:     tudengid

dn:     ou=kaugope, ou=tudengid, dc=planet, dc=zz
objectClass:    top
objectClass:    organizationalUnit
ou:     kaugope

dn:     ou=paevaope, ou=tudengid, dc=planet, dc=zz
objectClass:    top
objectClass:    organizationalUnit
ou:     paevaope

Impordime selle faili meie LDAP andmebaasi

ldapadd -x -f lisa_directory.ldif -D "cn=admin,dc=planet,dc=zz" -W

Unix kasutajate ja gruppide lisamine andmebaasi

Järgnevalt lisame LDAP andmebaasi Linux kasutajagrupid ja kasutajad. Siinkohal on tähtis ära märkida, et kasutajate ja gruppide ID-d peaksid olema valitud selliselt, et need ei läheks kokku klientarvutite enda süsteemsete kontodega - vastasel juhul tekib suur segadus ning kasutajad võivad hakkama kattuda. Järgnevalt kasutasime näites gruppide ja kasutajate ID-sid alates 10000.

Kõige pealt lisame LDAP andmebaasi grupid, selleks loome faili unix_groups.ldif ja kirjutame sinna sisse:

dn: cn=kaugope,ou=kaugope,ou=tudengid,dc=planet,dc=zz
objectClass: posixGroup
objectClass: top
cn: kaugope
gidNumber: 10000

dn: cn=paevaope,ou=paevaope,ou=tudengid,dc=planet,dc=zz
objectClass: posixGroup
objectClass: top
cn: paevaope
gidNumber: 10001

Failis määratud gidNumber näitab ära selle grupi ID numbri.

Seejärel loome kasutajate ldif faili nimega unix_users.ldif:

dn: uid=jaan,ou=kaugope,ou=tudengid,dc=planet,dc=zz
cn: Juhan Jaan
objectclass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
userPassword: {SSHA}zTujw0UNgI5KxbHDHtencuidfwcYN+m4
shadowLastChange: 15140
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 10000
gidNumber: 10000
homeDirectory: /home/jaan

dn: uid=peeter,ou=paevaope,ou=tudengid,dc=planet,dc=zz
cn: Peeter Paan
objectclass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
userPassword: {SSHA}IDYvmsQGxHK3samkWpExSrNW4YD0e8f9
shadowLastChange: 15140
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 10001
gidNumber: 10001
homeDirectory: /home/peeter

Väljad uidNumber ja gidNumber näitavad ära kasutajate ja gruppide ID-d. userPassword määrab ära kasutaja parooli - siinkohal on need lisatud räsitud kujul. Parooli hashimiseks kasutasime slappasswd utiliiti, mille käima pannes küsib ta parooli ja peale sisestamist kuvab kohe räsitud parooli.

Nagu juba kombeks, impordime need failid andmebaasi:

ldapadd -x -f unix_groups.ldif -D "cn=admin,dc=planet,dc=zz" -W
ldapadd -x -f unix_users.ldif -D "cn=admin,dc=planet,dc=zz" -W

Kui see õnnestus, siis on meie LDAP server autentimise päringute vastuvõtmiseks. Järgnevalt tuleb seadistada Ubuntu klientarvuti kasutamaks meie LDAP serverit.

Klientarvuti seadistamine LDAP autentimiseks

Kõige pealt paigaldamine klientarvutile LDAP autentimise kliendi ja nsc deemoni:

apt-get install ldap-auth-client nscd

Paigaldamise keskel küsitakse meie käest informatsiooni LDAP seadistuste kohta:

LDAP server Uniform Resource Identifier: ldap://192.168.56.101/ (LDAP serveri aadress)

Distinguished name of the search base: dc=planet,dc=zz (baas DN)

LDAP version to use: 3 (LDAP versioon)

Make local root Database admin: No

Does the LDAP database require login? No

Seejärel seadistame klientmasina kasutama LDAP-i autentimiseks:

auth-client-config -t nss -p lac_ldap

Nüüd juba põhimõtteliselt peaks LDAP kliendile seadistatud olema, küll aga tuleks teha mõned lisamuudatused klientmasinale, et LDAP kasutajatel oleks rohkem õigusi masinas.

Esimene probleem on see, et kuigi kasutaja on olemas, ei ole temale loodud kodukataloogi. Selleks tuleb lisada PAM konfiguratsiooni mkhomedir moodul, mis ise loob kataloogi kui kasutajaga autenditakse. Mooduli seadistamiseks tuleb luua fail /usr/share/pam-configs/my_mkhomedir ja kirjutada sinna:

Name: Activate PAM mkhomedir module
Default: yes
Priority: 900
Session-Type: Additional
Session:
        required                        pam_mkhomedir.so umask=0022 skel=/etc/skel

Teine probleem on see, et kuigi LDAP kasutajal on masinale üldine ligipääs olemas, puudub tal õigus kasutada seadmeid klientmasinas (nt heli). Selleks peab kasutaja olema lisatud vastavatesse gruppidesse.

Selleks tuleb PAM group mooduli konfiguratsioonifailis ära määrata, et kõik autenditud kasutajad oleksid automaatselt mingites vaikimisi gruppides. Selleks lisame /etc/security/group.conf faili järgmise rea:

*;*;*;Al0000-2400;audio,cdrom,dialout,floppy,users

Seejärel aktiveerime PAM group mooduli sarnaselt nagu mkhomedir mooduligi. Kirjutame faili /usr/share/pam-configs/my_groups järgneva sisu:

Name: Activate PAM group module
Default: yes
Priority: 900
Auth-Type: Primary
Auth:
        required                        pam_group.so use_first_pass

Muudatuste rakendamiseks käivitame utiliidi pam-auth-update.

pam-auth-update

See küsib üle, millised seadistusi kasutada. Tähtis on, et "Activate PAM mkhomedir module" ja "Activate PAM group module" oleks valitud.

Nüüd peaks kasutajate autentimine täielikult töötama. Autentimise testimiseks ühendasin üle SSH LDAP serverist klientmasinasse:

Käsk: (kasutame loodud kasutajat ning ip aadressi vastavalt kliendi masinale)

ssh peeter@192.168.56.200

Edukas sisselogimine:

Creating directory '/home/peeter'.
Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-32-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Mon Jan  7 17:40:30 EET 2013

  System load:  0.67              Processes:           124
  Usage of /:   46.7% of 7.38GB   Users logged in:     1
  Memory usage: 23%               IP address for eth5: 10.0.2.15
  Swap usage:   3%                IP address for eth4: 192.168.56.200

  => There are 3 zombie processes.

  Graph this data and manage this system at https://landscape.canonical.com/


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

Käsk:

groups

Vastus:

paevaope dialout cdrom floppy audio users

Siit on näha, et sisselogimine õnnestus ja mingid vaikimisi grupid on ka meile antud.

Nüüd tasuks aga seadistada Ubuntu graafiline liides nii, et ta sisselogimisakna juures küsiks eraldi kasutajanime, mitte ei laseks nimekirjast valida (paljude kasutajatega läheks keeruliseks). Seda saab teha järgmise käsuga:

/usr/lib/lightdm/lightdm-set-defaults --hide-users true --show-manual-login true

Ning peale klientmasina restarti peaks avanema järgmine pilt:

Sisselogimine Sisselogituna

Kirjete kustutamine LDAP andmebaasist

ldapdelete -D "cn=admin,dc=planet,dc=zz" -W "cn=Juhan Jaan,dc=planet,dc=zz"

Kirjete muutmine LDAP andmebaasis

Loome faili muuda_kasutaja.txt

Lisame faili muuda_kasutaja info, mida soovime muuta

dn: uid=jaan,ou=kaugope,ou=tudengid,dc=planet,dc=zz
changetype: modify
replace: mail
mail: jjaan@planet.zz
-
add: title
title: Grand Poobah
-
add: jpegPhoto
jpegPhoto:< file:///tmp/jjaan.jpeg
-
delete: description
-
 

Rakendame muudatused käsuga

ldapmodify -f muuda_kasutaja.txt

Graafiline liides LDAP andmebaasist andmete küsimiseks (LUMA)

Paigalda programm Luma masinasse, millel on ligipääs sinu LDAP serverile

apt-get install luma

Käivita programm

luma

Lisa OpenLDAP server järgneva seadistusega

  • Server Address: <OpenLDAP Server IP>:389
  • Bind As: Anonymous
  • Encryption: None
  • BaseDN: Automatic

Kasutaja info vaatamiseks vali vasakult menüüst Browse.

Näeme, et eelnevalt lisatud kasutaja Peeter Paan asub õiges OU-s

OpenLDAP serveri eemaldamine

Eemaldamine kustutab ka konfiguratsioonifailid. Annab võimaluse otsast peale alustada. Kustutab OpenLDAP'i ja lisa utiliidid.

apt-get remove --purge slapd ldap-utils

Kasutatud allikad

OpenLDAPServer. https://help.ubuntu.com/community/OpenLDAPServer

LDAPClientAuthentication. https://help.ubuntu.com/community/LDAPClientAuthentication

HowTO: Setup an LDAP server and Client CentOS 6.2. http://www.overclockers.com/forums/showthread.php?t=707070

LightDM. https://wiki.ubuntu.com/LightDM#Configuration_and_Tweaks

Autorid

Tarmo Suurmägi A31

Taavi Sannik A31

Uuendas: Harri Uljas AK31