Benutzer:Dorn/doku/ldap.txt: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
(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) ...)
 
K (Umlaute koorigiert)
Zeile 3: Zeile 3:


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


     aptitude install samba-doc
     aptitude install samba-doc
Zeile 36: Zeile 36:
     Benutzte LDAP-Version:                      3
     Benutzte LDAP-Version:                      3


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


     Passwort des LDAP-Zugangs f�r Root:        geheim
     Passwort des LDAP-Zugangs für Root:        geheim




Zeile 44: Zeile 44:


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


     --|Konfiguriere libpam-ldap|--
     --|Konfiguriere libpam-ldap|--
Zeile 50: Zeile 50:
     Lokaler root zum Datenbank-Administrator machen:        Ja
     Lokaler root zum Datenbank-Administrator machen:        Ja


     Ben�tigt die LDAP-Datenbank eine Anmeldung            Nein
     Benötigt die LDAP-Datenbank eine Anmeldung            Nein


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


     Passwort des LDAP-Zugangs f�r root:                    geheim
     Passwort des LDAP-Zugangs für root:                    geheim




Zeile 83: Zeile 83:


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


Zeile 89: Zeile 89:
                     slappasswd -u >> slapd.conf
                     slappasswd -u >> slapd.conf


               (versch�sselte Passwort angehangen, mit mcedit verschieben)
               (verschlüsselte Passwort angehangen, mit mcedit verschieben)




Zeile 101: Zeile 101:
         /etc/init.d/nscd stop
         /etc/init.d/nscd stop


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


         base dc=delixs-schule,dc=de
         base dc=delixs-schule,dc=de
Zeile 134: Zeile 134:




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


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


Zeile 150: Zeile 150:


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




Zeile 158: Zeile 158:


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




Zeile 174: Zeile 174:




Anmerkung: die Eintr�ge f�r sambaDomain und f�r DHCP kommen sp�ter
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
             die Einträge für LDAPBASE und cn=admin sind schon drin




Zeile 184: Zeile 184:
   ldapadd -x -D "cn=admin,dc=delixs-schule,dc=de" -W -f /root/initldap.ldif
   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)
rückgängig gemacht werden kann es mit dem passenden Killfile    (Datei im Paket)
http://www.arktur.th.schule.de/killinitldap.del
http://www.arktur.th.schule.de/killinitldap.del


Zeile 211: Zeile 211:
------------------
------------------
base dc=delixs-schule,dc=de
base dc=delixs-schule,dc=de
uri ldap://127.0.0.1/                        # ge�ndert
uri ldap://127.0.0.1/                        # geändert
ldap_version 3
ldap_version 3
rootbinddn cn=admin,dc=delixs-schule,dc=de
rootbinddn cn=admin,dc=delixs-schule,dc=de
scope sub                                    # ge�ndert
scope sub                                    # geändert
bind_policy soft                              # ge�ndert
bind_policy soft                              # geändert
pam_password exop                            # ge�ndert
pam_password exop                            # geändert


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


/etc/pam.d/common-account                                  (Datei im Paket)
/etc/pam.d/common-account                                  (Datei im Paket)
Zeile 247: Zeile 247:




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


folgende indexe sollten angelegt werden:
folgende indexe sollten angelegt werden:
Zeile 301: Zeile 301:
     uid=2000(mmustermann) gid=1002(crontab) Gruppen=1002(crontab)
     uid=2000(mmustermann) gid=1002(crontab) Gruppen=1002(crontab)


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


Es ging hier nur um den Test der PAM-Konfiguration, also diesen User
Es ging hier nur um den Test der PAM-Konfiguration, also diesen User
wieder l�schen.  (eine lange Zeile!)
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"
     ldapdelete -x -D "cn=admin,dc=delixs-schule,dc=de" -W "uid=mmustermann,ou=people,ou=accounts,dc=delixs-schule,dc=de"

Version vom 18. März 2009, 08:52 Uhr

==== 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

              (verschlü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"