[[PageOutline]] = 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=` hinzugefügt werden. Alternative: Stattdessen kann offenbar auch das Tool `smbldap-usermod` verwendet werden: {{{ smbldap-usermod -G }}} 3. **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 }}} angelegt. Die nächste Freie Unix-ID wird dabei automatisch ermittelt (das scheint aber momentan nicht zu funktionieren, siehe comment:2:ticket:751 Punkt 1). Mit der Option `-g` kann die Gruppen-ID vorgegeben werden: {{{ smbldap-groupadd -g }}} === 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 -g -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 }}} == Externe Links == - http://www.openldap.org/