Diskussion:Entwicklungsumgebung/LDAP Einrichtung: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
(verschoben nach Diskussion:Entwicklungsumgebung/Userverwaltung)
(Punkte 1 bis 16 werden im wiki)
Zeile 2: Zeile 2:
=== Installation des LDAP (E-Mail von Hans-Dietrich Kirmse) ===
=== Installation des LDAP (E-Mail von Hans-Dietrich Kirmse) ===


1. wir stellen das samba.schema bereit (wer das schon gemacht hatte, dann kann das natürlich jetzt entfallen)
Die Punkte 1 bis 16 werden im wiki komplett abgearbeitet und daher hier aus der Diskussion entfernt, siehe auch die Quelle der Pakete http://www.arktur.th.schule.de/delixs-ldap.zip


aptitude install samba-doc


cd /usr/share/doc/samba-doc/examples/LDAP
===  Punkt 17. Testen der PAM-Konfiguration ===
 
gunzip samba.schema.gz
 
cp samba.schema /etc/ldap/schema/
 
 
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
 
Nachtrag zu PAM: --Harry 2009/03/29 in DD
 
Problem: smbldap-passwd nimmt nur den Namen als Parameter an, die Krücke
 
  'echo -e "geheim\ngehein\n" | smbldap-passwd mmustermann'
 
als Konstruktion mag mir gar nicht so gefallen im Skript!
 
Eigentlich ist nur ein "passwd user" erforderlich. Den Rest kann PAM erledigen. Auch das
erstellten der NT & LM hashes :-)
 
  alias cgrep='grep -Ev '\''(^$|^[[:space:]]*#|^[[:space:]]*;)'\'''
  cgrep /etc/pam.d/common-password
 
<pre>
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
</pre>
 
und ein
 
  aptitude install libpam-smbpass
 
6. die /etc/ldap/ldap.conf                                  (Datei im Paket http://www.arktur.th.schule.de/delixs-ldap.zip)
 
      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
die Datei unter

Version vom 10. Juli 2009, 17:33 Uhr

Weitere Konfiguration des LDAP hier:

Installation des LDAP (E-Mail von Hans-Dietrich Kirmse)

Die Punkte 1 bis 16 werden im wiki komplett abgearbeitet und daher hier aus der Diskussion entfernt, siehe auch die Quelle der Pakete http://www.arktur.th.schule.de/delixs-ldap.zip


Punkt 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:1002: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"

Aus DD-Mails von Hans-Dietrich Kirmse 04./05.02.09