Entwicklungsumgebung/LDAP Einrichtung

Aus Delixs
Zur Navigation springen Zur Suche springen
Uberarbeiten Diese Seite sollte nochmals überarbeitet werden. Eine Begründung befindet sich in der Regel unter Diskussion (oben).


Konfiguration von SAMBA (Teil 2 - SAMBA-LDAP-Einrichtung)

Nach der Installation und Grundeinrichtung des LDAP nach der Beschreibung unter: Entwicklungsumgebung/LDAP und der Installation und Grundeinrichtung von SAMBA nach der Beschreibung unter: Entwicklungsumgebung/Samba erfolgt nun die Konfiguration zu einem Schulserver:


Die Datei /etc/ldap/ldap.conf

     BASE dc=delixs-schule,dc=de
     URI  ldap://localhost
     SIZELIMIT       12
     TIMELIMIT       15
     DEREF           always


Die Datei /etc/ldap/slapd.conf

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 wird angehangen, mit mcedit verschieben)


Die Datei /etc/libnss-ldap.conf

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

Nach erfolgter Änderung kann der nscd wieder eingeschaltet werden.

    /etc/init.d/nscd start

Neustart des slapd

     /etc/init.d/slapd restart


Test

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

Diese Warnungen beseitigen

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!)


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 nun 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) oder http://www.arktur.th.schule.de/killinitldap.del

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


Konfiguration von NSS

Die datei /etc/nsswitch.conf

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


Konfiguration von PAM

als root eine 2. Konsole aufgemacht!

Die datei /etc/pam_ldap.conf

 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.


Die Datei /etc/pam.d/common-account

 account [success=1 default=ignore]  pam_unix.so
 account required                    pam_ldap.so
 account required                    pam_permit.so

Die Datei /etc/pam.d/common-auth

 auth    [success=1 default=ignore]  pam_unix.so
 auth    required      pam_ldap.so use_first_pass ignore_authinfo_unavail
 auth    required                    pam_permit.so

Die Datei /etc/pam.d/common-password

 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

Die Datei /etc/pam.d/common-session

 session     required          pam_unix.so
 session     required          pam_mkhomedir.so skel=/etc/skel umask=0022


Ergänzungen an der /etc/ldap/slapd.conf

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

Neustart des LDAP

  /etc/init.d/slapd restart

Testen der PAM-Konfiguration

Speichern Sie zum Test den folgenden Text in die Datei mit dem Namen "mmustermann.ldif" ab und legen diese auf dem Server unter "/root" ab.

#
# Login: mmustermann
# Passwort: geheim
#
dn: uid=mmustermann,ou=people,ou=accounts,dc=delixs-schule,dc=de
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSamAccount
cn: mmustermann
sn: mmustermann
givenName: mmustermann
uid: mmustermann
uidNumber: 2000
gidNumber: 1002
homeDirectory: /home/students/mmustermann
loginShell: /bin/bash
gecos: Schueler
displayName: mmustermann
sambaSID: S-1-5-21-22721786-4218643269-2274238902-3002
sambaAcctFlags: [U          ]
sambaNTPassword: C2AE1FE6E648846352453E816F2AEB93
userPassword:: e1NTSEF9dGpzaVNabEVaYXBiTW1PZ0JHdXlWR09xYlJLVFRJdTk=

Damit das Homeverzeichnis automatisch erstellt werden kann, legen Sie noch das Verzeichnis "/home/students" an:

 mkdir /home/students


Jetzt spielen Sie diese Date in den LDAP ein mit dem Befehl:

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


Nun sollte folgendes funktionieren:

  • anmelden auf einer weiteren Console mit 'mmustermann' und dem Passwort 'geheim'
  • 'getent passwd mmustermann' liefert
  mmustermann:x:2000:102:Manfred Mustermann,testklasse:/home/students/mmustermann:/bin/bash
  • 'id mmustermann' liefert
    uid=2000(mmustermann) gid=1002(crontab) Gruppen=1002(crontab)
  • mit 'passwd mmustermann' kann man das Passwort ändern


Es ging hier nur um den Test der PAM-Konfiguration, also können Sie diesen User wieder löschen. Dazu geben Sie diesen Befehl in einer einzigen langen Zeile ein:

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



Weblinks



zurück | Hauptseite