OpenLDAP Ubuntu Serveril: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Tsannik (talk | contribs)
Tsannik (talk | contribs)
V2
Line 141: Line 141:
# numEntries: 2
# numEntries: 2
</pre>
</pre>
=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>


=Kasutajate klassifitseerimine=
=Kasutajate klassifitseerimine=
Line 190: Line 185:
</pre>
</pre>


=Kasutajakonto lisamine=
=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.


Loome faili uue kasutajakonto lisamiseks, nimega '''lisa_kasutaja.ldif'''
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


Käsk
dn: cn=paevaope,ou=paevaope,ou=tudengid,dc=planet,dc=zz
<pre>
objectClass: posixGroup
nano lisa_kasutaja.ldif
objectClass: top
cn: paevaope
gidNumber: 10001
</pre>
</pre>


Lisame lisa_kasutaja.ldif faili järgneva info:
Failis määratud '''gidNumber''' näitab ära selle grupi ID numbri.
 
Seejärel loome kasutajate ldif faili nimega '''unix_users.ldif''':


<pre>
<pre>
dn: cn=Juhan Jaan,ou=kaugope,ou=tudengid,dc=planet,dc=zz
dn: uid=jaan,ou=kaugope,ou=tudengid,dc=planet,dc=zz
cn: Juhan Jaan
cn: Juhan Jaan
sn: Jaan
givenName: Juhan
objectclass: top
objectclass: top
objectClass: inetOrgPerson
objectClass: account
objectClass: organizationalPerson
objectClass: posixAccount
objectclass: person
objectClass: shadowAccount
userPassword: Test123
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>
</pre>


===Kasutaja parooliräsi genereerimine===
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.


'''Slappasswd''' on utiliit, millega saame kasutaja parooli krüpteerida. Seda kasutatakse sobiva userPassword väärtuse genereerimiseks erinevates OpenLDAP konfiguratsioonifailides.
Nagu juba kombeks, impordime need failid andmebaasi:
 
Kasutus:
<pre>
<pre>
slappasswd -s <parool>
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>
</pre>


Väljastatud parooliräsi:
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:
<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.200/ (LDAP serveri aadress)
 
<b>Distinguished name of the search base:</b> dc=planet,dc=zz (baas DN)
 
<b>LDAP version to use:</b> 3 (LDAP versioon)
 
<b>Make local root Database admin:</b> No
 
<b>Does the LDAP database require login?</b> No
 
Seejärel seadistame klientmasina kasutama LDAP-i autentimiseks:
<pre>auth-client-config -t nss -p lac_ldap</pre>
 
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>
<pre>
{SSHA}xxd6J/WaKKAO3HKoKUmnHVzpU6BeDB71
Name: Activate PAM mkhomedir module
Default: yes
Priority: 900
Session-Type: Additional
Session:
        required                        pam_mkhomedir.so umask=0022 skel=/etc/skel
</pre>
</pre>


Failis lisa_kasutaja.ldif, asenda userPassword väli genereeritud parooliräsiga
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:
<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>
<pre>
userPassword: {SSHA}xxd6J/WaKKAO3HKoKUmnHVzpU6BeDB71
Name: Activate PAM group module
Default: yes
Priority: 900
Auth-Type: Primary
Auth:
        required                        pam_group.so use_first_pass
</pre>
</pre>


=Kasutaja sisestamine LDAP andmebaasi=
Muudatuste rakendamiseks käivitame utiliidi ''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.


Impordime kasutaja meie LDAP-i kasutajabaasi
Nüüd peaks kasutajate autentimine täielikult töötama. Autentimise testimiseks ühendasin üle SSH LDAP serverist klientmasinasse:
<pre>
<pre>
ldapadd -cxWD cn=admin,dc=planet,dc=zz -f lisa_kasutaja.ldif
# ssh peeter@192.168.56.200
peeter@192.168.56.200's password:
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.
 
peeter@ubuntu:~$ groups
paevaope dialout cdrom floppy audio users
peeter@ubuntu:~$ ls
examples.desktop
</pre>
</pre>


=Kasutaja kustutamine LDAP andmebaasist=
=Kirjete kustutamine LDAP andmebaasist=


<pre>
<pre>
Line 246: Line 339:
</pre>
</pre>


=Kasutaja info muutmine LDAP andmebaasis=
=Kirjete muutmine LDAP andmebaasis=


Loome faili ''muuda_kasutaja.txt''
Loome faili ''muuda_kasutaja.txt''
Line 271: Line 364:
  </pre>
  </pre>


Lisame muudatused käsuga
Rakendame muudatused käsuga


<pre>
<pre>
Line 277: Line 370:
</pre>
</pre>


=Graafilineliides LDAP andmebaasist andmete küsimiseks=
=Graafiline liides LDAP andmebaasist andmete küsimiseks (LUMA)=


Paigalda programm Luma masinasse, millel on ligipääs sinu LDAP serverile
Paigalda programm Luma masinasse, millel on ligipääs sinu LDAP serverile
Line 301: Line 394:


[[File:LUMA Browse.png]]
[[File:LUMA Browse.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=

Revision as of 17:51, 7 January 2013

work in progress

Sissejuhatus OpenLDAP

Sissejuhatus tegevustikku ja süsteemi nõuded

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

parooli seadistamine


Konfigureerime LDAP serveri

dpkg-reconfigure slapd

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

Omit OpenLDAP server configuration? No

serveri configuration


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

dns


Organization name: planet

organisatsiooni nimi


Administrators password: password

parooli seadistamine


Confirm password: password

parool uuesti


Database backend to use: BDB

database backend


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

purge


Move old database? Yes

database


Allow LDAPv2 protocol? No

LDAPv2 protocol


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


  • Loome faili lisa_directory.ldiff

Käsk

nano lisa_directory.ldiff

Lisame faili 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 _lisadirectory.ldiff -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.200/ (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 - 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:

# ssh peeter@192.168.56.200
peeter@192.168.56.200's password:
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.

peeter@ubuntu:~$ groups
paevaope dialout cdrom floppy audio users
peeter@ubuntu:~$ ls
examples.desktop

Kirjete kustutamine LDAP andmebaasist

ldapdelete -D "cn=admin,dc=planet,dc=zz" -w <admin LDAP parool> "cn=Juhan Jaan,dc=planet,dc=zz"

Kirjete muutmine LDAP andmebaasis

Loome faili muuda_kasutaja.txt

nano muuda_kasutaja.txt

Lisame faili muuda_kasutaja info, mida soovime muuta

          dn: cn=Juhan Jaan,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 Juhan Jaan 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

Autorid

Tarmo Suurmägi A31

Taavi Sannik A31

Uuendas: Harri Uljas AK31