wiki:AdminLdap
close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Version 10 (modified by Rüdiger Kupper, 13 years ago) ( diff )

--

LDAP-Server

Unser LDAP-Server läuft auf dem paedml-Rechner. Er authentifiziert alle Nutzer, die ein Account unter der PaedML-Musterlösung haben, also alle am Gymnasium aktiven Schüler und Lehrer.

Wenn Änderungen am LDAP vorgenommen wurden sollte auch der samba neu gestartet werden, da sich in letzter Zeit vermehrt Probleme mit dem Domänenanmeldedienst nach einer Änderung am LDAP ergaben.

LDAP in der Linux-Musterlösung

Informationen zum LDAP finden sich unter ​http://www.linuxmuster.net / Stichwort LDAP.

Common-Name-(dc)-Attribute

Bei uns müssen die dc-Attribute angegeben werden als:

dc=kg-fds, dc=de

Achtung!
dc=paedml darf nicht angegeben werden!

LDAP-Gruppen

Wir verwenden die Einstellungen der PaedML. Dort gibt es eine Gruppe für die Lehrer, die Schüler sind aber etwas komisch erfasst. Allerdings gilt: Entweder bist du Lehrer oder eben Schüler :-)

Recht gut ist die Abfrage einer LDAP-Gruppe hier beschrieben:
​http://www.linuxmuster.net/version3:webverzeichnisse_schuetzen_mit_.htaccess-dateien?s[]=ldap

dort steht:

# Prototyp einer .htaccess für die LML 4.0
AuthType? Basic
AuthName? "Interner Bereich"
AuthBasicProvider? ldap
AuthLDAPUrl ldap://10.16.1.1/dc=linuxmuster,dc=local?uid
AuthLDAPGroupAttributeIsDN off
AuthLDAPGroupAttribute memberUid
Require ldap-group cn=teachers,ou=groups,dc=linuxmuster,dc=local

Die dc's am Ende müssen bei uns dc=kg-fds, dc=de heißen.

Achtung!
dc=paedml darf nicht angegeben werden!

Für ein funktionierendes Beispiel siehe AdminApache#Trac.

Testfall: Nutzer test

Nutzer test ist nicht in der LDAP-Gruppe teachers.

Nutzer in eine LDAP-Gruppe aufnehmen

  1. Die LDAP-Gruppen stehen unterhalb der organizational unit ou=groups.
  2. Den dortigen LDAP-Datensätzen muss ein weiterer Eintrag memberUID=<uid> hinzugefügt werden.

Alternative: Stattdessen kann offenbar auch das Tool smbldap-usermod verwendet werden:

smbldap-usermod -G <group> <uid>
  1. wichtig: damit diese Änderung sofort Effekt zeigt, muss der name service caching deamon nscd über die Änderung informiert werden. Das geht mittels
    nscd --invalidate group
    
    Sonst wirkt sich die Änderung erst aus, wenn der nscd regulär die LDAP-Konfiguration neu einliest.

Neue LDAP-Gruppe anlegen

Eine neue LDAP-Gruppe wird mit dem Befehl

smbldap-groupadd <group>

angelegt. Die nächste Freie Unix-ID wird dabei automatisch ermittelt.

Hinweis
Bei der Linuxmusterlösung funktioniert obiger Befehl nicht, weil in dem LDAP-Baum, den sophomorix erzeugt, der Eintrag der nächsten freien Unix-ID fehlt, siehe comment:2:ticket:751 Punkt 1). Stattdessen kann hier folgender Befehl verwendet werden. Dann weiß auch sophomorix über die neue Gruppe bescheid:
sophomorix-groupadd --local --unix-group <group> --nt-group <group>

Mit der Option -g kann die Gruppen-ID vorgegeben werden:

smbldap-groupadd <group> -g <GID>

Existierende lokale Gruppe über LDAP verfügbar machen

Soll lediglich ein LDAP-Eintrag für eine Gruppe angelegt werden, die bereits existiert (z.B. lokale oder Systemgruppen), so muss zusätzlich die Option -o gesetzt werden:

smbldap-groupadd <group> -g <existing-GID> -o

Beispiel: Mit der folgenden Sequenz habe ich die auf allen Rechnern lokal existierende Gruppe video (GID 44) ins LDAP aufgenommen und Nutzer kup hinzugefügt:

root@paedml:~# smbldap-groupadd -g 44 -o video
root@paedml:~# smbldap-usermod  -G +video kup
Note: See TracWiki for help on using the wiki.