OpenLDAP-i seadistamine

From ICO wiki
Jump to navigationJump to search

Autorid

  • Mauno Pihelgas
  • Kristjan Mölder

Sissejuhatus

LDAP (Lightweight Directory Access Protocol) on iseenesest protokoll ning üks selle prokolli implementatsioon on OpenLDAP http://www.openldap.org/, mis sisaldab üldiselt nelja komponenti

   * slapd - stand-alone LDAP daemon (server)
   * slurpd - stand-alone LDAP update replication daemon
   * teegid - implementeerivad LDAP protokolli
   * utiliidid - abiprogrammid ja näidised erinevate tegevuste sooritamiseks

OpenLDAP kasutamise muudab praktiliseks asjaolu, et ta on üsna paljude rakendustega (nt PAM) integreeritud ning OpenLDAP kasutamiseks on vajalikud teegid olemas mitmetes programmeerimiskeeltes (nt Java, Perl, PHP). OpenLDAP toetab suures ulatuses LDAP v2 ja v3 versioone; võimaldab andmevahetust üle TLS/SSL.

Antud wiki artiklis saab ülevaate LDAP-i installeerimisest ja seadistamisest. Töötavat LDAP'i testitakse SAMBA peal, seega saame väikse ülevaate ka selle instaleerimisest ja seadistamisest LDAP'i jaoks.

Eeldused

  • Töötav UbuntuServer 9.4LTS(testitud) LDAP-i serveriks.
  • Testimiseks veel Kliendi masin.

Nõuded

Seadistamiseks ei pea olema geenius, aga sellest on abi!


Installeerimine

Esiteks tuleks tarkvara nimekirja uuendada.

sudo apt-get update

Logime ennast root kasutajaks ning käivitame vajalikud toimingud. Kuna sudo-t sel juhul enam vaja ei lähe, hoiad selle arvelt pisut aega kokku. Samas on aga tunduvalt lihtsam midagi ära rikkuda, sest KÕIK käsud käivitatakse root kasutaja õigustes!

sudo -i

Paigaldame slapd, ldap-utils ja migrationtools paketid.

apt-get install slapd ldap-utils migrationtools

slapd installi ajal sisestatud LDAP admini parool: 'root' (hiljem kirjutatakse see dpkg-reconfigure' ajal üle)

  • ldap-utils - sisaldab ütiliite LDAP kataloogiga suhtlemiseks, nt ldapsearch päringute tegemiseks; 'dpkg -L ldap-utils | grep bin' näitab programmide nimekirja, reeglina algavad nende nimed 'ldap*' järgnevusega
  • slapd - sisaldab OpenLDAP serverit ning utiliite LDAP kataloogile vastavate failidega tegelemiseks, nt slapcat esitab kogu kataloogi sisu nn ldif formaadis; 'dpkg -L slapd | grep bin' esitab programmide nimekirja, reeglina algavad nimed 'slap*' järgnevusega

Seadistamine

Answer the questions and then reconfigure slapd in order to have dpkg ask us a few more questions

dpkg-reconfigure slapd

Vastused mida võiks vastata:

Omit OpenLDAP server configuration? No
DNS domain name: ... debuntu.local
Name of your organization: ITK
Admin Password: 'root2'
Confirm Password: 'root2'
Database backend to use: BDB
Do you want your database to be removed when slapd is purged?: No
Move old database?: Yes
Allow LDAPv2 Protocol?: No 

step1 step2 step3 step4 step5 step6 step7 step8 step9

Nüüd on meie domeen ning ka kasutaja "admin"(administraator) loodud.

Nüüd testi kas pääsed LDAP'i serverile ligi:

ldapsearch -x -b dc=infra2009,dc=teenused

Kui saad errori: "dap_bind: Can't contact LDAP server (-1)", siis tõenäoliselt LDAP veel ei tööta. Käivita see käsuga:

/etc/init.d/slapd start



Kasutajate ja gruppide lisamine LDAP-i andmebaasi

"Migrationtools'i" abiga on meil võimalik oma kohalikust süsteemist kiiresti importida olemasolevad kasutajad ja grupid LTAP'i.


Antud UbuntuServer LTS'i nöol tulid esile ka distributsiooni vead:

Viga(BUG)!!!!! Ubuntu Server LTS'i puhul installitakse migrate_common.ph fail valesse kausta.

Lisalugemist vea kohta leiad siit!


Katsetuste käigus selgus, et kui muuda faili nn VALES kohas ära, siis maagiliselt asi ikka töötab. Seega hetkel see Ubuntu viga meid ei häiri.


Järgnevalt peame veidi muutma migrationtools'i conf faili "migrate_common.ph". Ava nano-ga see conf'i fail...

nano /usr/share/perl5/migrate_common.ph

...ja asenda näidatud parameetrid uute nimedega:

# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "infra2009.teenused";

# Default base
$DEFAULT_BASE = "dc=infra2009,dc=teenused";


Seejärel ekspordi uued väärtused käskudega:

/usr/share/migrationtools/migrate_group.pl /etc/group ~/group.ldif
/usr/share/migrationtools/migrate_passwd.pl /etc/passwd ~/passwd.ldif

OU'de loomine: Unfortunately, the script does not create the Group and People nodes, so we need to create it. Loo uus fail nimega ~/people_group.ldif:

nano ~/people_group.ldif

... ja täida see järgneva sisuga:

dn: ou=People, dc=infra2009, dc=teenused
ou: People
objectclass: organizationalUnit

dn: ou=Group, dc=infra2009, dc=teenused
ou: Group
objectclass: organizationalUnit


Nüüd on meil kasutajad ja grupid konverditud LDAP ldif formaati. Need omakorda tuleb importida LDAP'i databaasi: (Iga käsu järel küsitakse LDAP-i parooli. Sisesta parool, mis ldap-i dpkg-reconfigure käigus selleks määrasid.)

ldapadd -x -W -D "cn=admin,dc=infra2009,dc=teenused" -f ~/people_group.ldif
ldapadd -x -W -D "cn=admin,dc=infra2009,dc=teenused" -f ~/group.ldif
ldapadd -x -W -D "cn=admin,dc=infra2009,dc=teenused" -f ~/passwd.ldif

Key-dest lähemalt:


   *-x - ldap serverisse logimine toimub simple authenticationi abil -anonüümne sisselogimine
   *-D - serveri poole pöördutakse serveri administraatorina, nö kasutajanimega 'cn=admin,dc=infra2009,dc=teenused'
   *-w - pöördumisel kasutatakse parooli
   *-f - serverisse laaditakse ette antud failist andmed


Nüüd peaks server olema valmis kasutajaid vastu võtma


Samba Installeerimine

Paigaldame vajaminevad samba, sambafs, samba-doc, smbldap-tools, libpam-smbpass, smbclient, libnss-ldap, ldapscripts ja libtalloc1 paketid.

sudo apt-get install samba sambafs samba-doc smbldap-tools libpam-smbpass smbclient libnss-ldap ldapscripts libtalloc1

Kopeerime samba.schema.gz faili LDAP'i schema kausta:

 
sudo cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz /etc/ldap/schema/

Pakime lahti eelnevalt kopeeritud faili:

sudo gzip -d /etc/ldap/schema/samba.schema.gz


Ava slapd.conf fail...:

sudo nano /etc/ldap/slapd.conf

... ja lisa sinna conf faili rida:

*include		/etc/ldap/schema/samba.schema

Muuda smb.conf faili sisu...

nano /etc/samba/smb.conf

...alloleva näite järgi. Täielik smb.conf faili sisu:


[global]
        display charset = UTF-8
        unix charset = UTF-8
        workgroup = UBUNTU2
        server string = %h server (Samba, Ubuntu)
        interfaces = lo, eth0
        bind interfaces only = Yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        log level = 3
        syslog = 3
        log file = /var/log/samba/log.%m
        max log size = 1000
        dns proxy = No
        guest account = nobody

        #Ldap settings
        passdb backend = ldapsam:ldap://localhost
        ldap admin dn = "cn=admin,dc=infra2009,dc=teenused"
        ldap group suffix = ou=Groups
        ldap idmap suffix = ou=Idmap
        ldap machine suffix = ou=Computers
        ldap replication sleep = 2000
        ldap suffix = dc=infra2009,dc=teenused
        ldap ssl = no
        ldap timeout = 300
        ldap user suffix = ou=People
        usershare allow guests = Yes
        panic action = /usr/share/samba/panic-action %d

        #Do not show hidden files.
        veto files = /.*/

[homes]
        comment = Home Directories
        valid users = %S
        create mask = 0700
        directory mask = 0700
        browseable = No
        read only = No
#Folder lab is shared to group 'users' (id = 100)
[lab]
        comment = Labori kaust
        path = /var/data/lab
        valid users = @users
        read list = @users
        write list = @users
        force group = users
        read only = No
        create mask = 0664
        directory mask = 0770

Kliendi seadistamine

Ühendumine serveriga

Testimine

Testimiseks proovida näiteks kohalikus kliendi masinas, millel on installitud ldap-utils, käsku:

ldapsearch -x -b dc=infra2009,dc=teenused


Teenuse varundamine

Kuna kõik vajalikud seadistusfailid on /etc/... ja /usr/local/bin kataloogis, siis piisab nende kataloogide varundamisest. Antud kataloogidest teha kord päevas täielik varukoopia ja kõik failid salvestada.

Teenuse taastamine

Kui teenusega ilmneb probleeme tuleb seadistusfailid üle vaadata ja vajadusel taastada. Kontrollida...

Versioon

6% valmis

Viimase muutmise aeg

11.12.2009 19:20

Kasutatud materjal

LDAP server and linux LDAP client LDAPsearch Open LDAP kasutamine Debianiga