Benutzer:Dorn/doku/ldap.txt

Aus Delixs
Version vom 18. März 2009, 08:20 Uhr von Harry (Diskussion | Beiträge) (Die Seite wurde neu angelegt: <pre> ==== Installation des LDAP ============= 1. wir stellen das samba.schema bereit (wer das schon gemacht hatte, dann kann das nat�rlich jetzt entfallen) ...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
==== Installation des LDAP =============

1. wir stellen das samba.schema bereit (wer das schon gemacht hatte,
    dann kann das nat�rlich jetzt entfallen)

     aptitude install samba-doc

     cd /usr/share/doc/samba-doc/examples/LDAP
     gunzip samba.schema.gz



2. aptitude install slapd

     --|Konfiguriere slapd|--

     Administrator-Passwort:                     geheim



3. aptitude install ldap-utils libsasl2-modules




4. aptitude install libnss-ldap

     --|Konfiguriere libnss-ldap|--

     URI des LDAP-Servers verlangt:               ldap://127.0.0.1:389/


     Eindeutiger Name (DN - ...) der Suchbasis:   dc=delixs-schule,dc=de

     Benutzte LDAP-Version:                       3

     LDAP-Zugang f�r Root:                cn=admin,dc=delixs-schule,dc=de

     Passwort des LDAP-Zugangs f�r Root:        geheim




5. aptitude install libpam-ldap
    (Aufruf entf�llt, da gleich bei 3. automatisch mit installiert wurde)

     --|Konfiguriere libpam-ldap|--

     Lokaler root zum Datenbank-Administrator machen:        Ja

     Ben�tigt die LDAP-Datenbank eine Anmeldung             Nein

     LDAP-Zugang f�r Root:               cn=admin,dc=delixs-schule,dc=de

     Passwort des LDAP-Zugangs f�r root:                    geheim




6. die /etc/ldap/ldap.conf                                   (Datei im Paket)

      BASE dc=delixs-schule,dc=de
      URI  ldap://localhost

      SIZELIMIT       12
      TIMELIMIT       15
      DEREF           always




7. die /etc/ldap/slapd.conf                                  (Datei im Paket)

    das samba-Schema wurde schon am Anfang kopiert, jetzt einbinden:

      include /etc/ldap/schema/samba.schema
                               (*hinter* den anderen Zeilen eintragen)

      loglevel   384   (wenn Entwicklung abgeschlossen, auf 0 setzen)
      sizelimit 3000
      backend hdb               gelassen

      rootdn      "cn=admin,dc=delixs-schule,dc=de"
      rootpw      wieder erg�nzt, da in der Literatur so angegeben
                  erstellt mit:

                     cd /etc/ldap
                     slappasswd -u >> slapd.conf

              (versch�sselte Passwort angehangen, mit mcedit verschieben)




8. /etc/libnss-ldap.conf                                    (Datei im Paket)

     Anm. von Harry: Bevor man irgendwas mit NSS und/oder PAM testen oder
      konfigurieren will, muss der nscd ausgeschaltet werden:

        /etc/init.d/nscd stop

      Die /etc/libnss-ldap.conf  wurde folgenderma�en abge�ndert

        base dc=delixs-schule,dc=de
        deref   always
        uri ldap://127.0.0.1/
        ldap_version 3
        rootbinddn  cn=admin,dc=delixs-schule,dc=de
        scope sub
        bind_timelimit 30
        bind_policy soft
        nss_connect_policy persist

     /etc/init.d/nscd start




9. Neustart des slapd

      /etc/init.d/slapd restart




10. Test

      'slapcat'  sollte 2 Entries anzeigen
        Wenn man die Ausgabe umleitet mit 'slapcat > test.ldif', dann
        kommen 2 Warnungen




11. diese Warnungen beseitigen               (entf�llt bei der Datei im Paket)

     in /etc/ldap/slapd.conf  m�ssen folgende Zeilen (105, 128*)
     bearbeitet werden:

       access to attrs=userPassword,shadowLastChange
          by dn="cn=admin,dc=delixs-schule,dc=de" write
          by anonymous auth
          by self write
          by * none

       access to *
          by dn="cn=admin,dc=delixs-schule,dc=de" write
          by * read

   jeweils die 2. Zeile (also 'by dn="cn=admin,dc=delixs-schule,dc=de"
   write') muss rausgel�scht werden (nicht nur auskommentiert!)




12. Initialisierung des LDAPs

   Da die smbldap-tools davon ausgehen, dass alle Gruppen unter einer 'ou'
   zu finden sind, wird nun doch diese sehr einfache Struktur gew�hlt.


             .----- ou=groups
            /
           /
          /                   .------ ou=people
         /                   /
LDAPBASE -------- ou=accounts
         \                   \
          \                   `------ ou=machines
           \
            \
             `----- cn=admin


Anmerkung: die Eintr�ge f�r sambaDomain und f�r DHCP kommen sp�ter
            die Eintr�ge f�r LDAPBASE und cn=admin sind schon drin


das LDIF-File http://www.arktur.th.schule.de/initldap.ldif   (Datei im Paket)

wird so eingespielt:

   ldapadd -x -D "cn=admin,dc=delixs-schule,dc=de" -W -f /root/initldap.ldif

r�ckg�ngig gemacht werden kann es mit dem passenden Killfile    (Datei im Paket)
http://www.arktur.th.schule.de/killinitldap.del

   ldapdelete -x -D cn=admin,dc=delixs-schule,dc=de -W -f /root/killinitldap.del




13. Konfiguration von NSS

/etc/nsswitch.conf                                        (Datei im Paket)
-------------------

passwd:      compat ldap
shadow:      compat ldap
group:       compat ldap




14. Konfiguration von PAM

als root eine 2. Konsole aufgemacht!

/etc/pam_ldap.conf                                         (Datei im Paket)
------------------
base dc=delixs-schule,dc=de
uri ldap://127.0.0.1/                         # ge�ndert
ldap_version 3
rootbinddn cn=admin,dc=delixs-schule,dc=de
scope sub                                     # ge�ndert
bind_policy soft                              # ge�ndert
pam_password exop                             # ge�ndert

Anm.: wo ge�ndert steht, da musste ich den Eintrag erstellen.
Die zwei anderen Eintr�ge waren schon so.

/etc/pam.d/common-account                                  (Datei im Paket)
-------------------------
account [success=1 default=ignore]  pam_unix.so
account required                    pam_ldap.so
account required                    pam_permit.so

/etc/pam.d/common-auth                                      (Datei im Paket)
----------------------
auth    [success=1 default=ignore]  pam_unix.so
auth    required      pam_ldap.so use_first_pass ignore_authinfo_unavail
auth    required                    pam_permit.so

/etc/pam.d/common-password                                  (Datei im Paket)
--------------------------
password    [success=1 default=ignore]  pam_unix.so nullok obscure min=4 max=8 md5
password    required         pam_ldap.so try_first_pass
password    required         pam_smbpass.so nullok use_authtok try_first_pass
password    required         pam_permit.so

/etc/pam.d/common-session    (im Paket)
-------------------------
session     required          pam_unix.so
session     required          pam_mkhomedir.so skel=/etc/skel umask=0022



15. Erg�nzungen an der /etc/ldap/slapd.conf               (Datei im Paket)

folgende indexe sollten angelegt werden:

#index   default                            eq
index   objectClass                         eq
index   uidNumber                           eq
index   gidNumber                           eq
index   uid,displayName                     eq
index   cn,sn                               pres,eq,sub
index   memberUid                           eq
index   sambaSID                            eq
index   sambaPrimaryGroupSID                eq
index   sambaDomainName                     eq

bei den ACLs kommentieren wir diese aus:
(Anm.: beim Testen unter Samba ging search nicht)

    access to dn.base="" by * read



16. Neustart des LDAP

   /etc/init.d/slapd restart



17. Testen der PAM-Konfiguration

die Datei unter

   http://www.arktur.th.schule.de/mmustermann.ldif              (Datei im Paket)

in den LDAP einspielen mit

    ldapadd -x -D "cn=admin,dc=delixs-schule,dc=de" -W -f /root/mmustermann.ldif

    damit automatisch das Homeverzeichnis erstellt werden kann, legen
    wir noch das Verzeichnis /home/students/ an


jetzt sollte der Aufruf von

a) anmelden auf einer weiteren Console mit 'mmustermann' und dem Passwort 'geheim'

b) 'getent passwd mmustermann'  liefert

  mmustermann:x:2000:102:Manfred Mustermann,testklasse:/home/schueler/mmustermann:/bin/bash

c) 'id mmustermann' liefert

     uid=2000(mmustermann) gid=1002(crontab) Gruppen=1002(crontab)

d)  mit 'passwd mmustermann' kann man das Passwort �ndern

Es ging hier nur um den Test der PAM-Konfiguration, also diesen User
wieder l�schen.  (eine lange Zeile!)

    ldapdelete -x -D "cn=admin,dc=delixs-schule,dc=de" -W "uid=mmustermann,ou=people,ou=accounts,dc=delixs-schule,dc=de"