| Version 12 (modified by , 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=paedmldarf 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=paedmldarf 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
- Die LDAP-Gruppen stehen unterhalb der organizational unit
ou=groups. - 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>
- Hinweis
- Wenn auch die Benutzerverwaltung
sophomorixder Linuxmusterlösung über diese Zugehörigkeit informiert sein soll (wichtig, wenn der LDAP-Baum einmal neu erzeugt werden muss), stattdessen diesen Befehl verwenden:sophomorix-teacher --teacher <uid> --add <group>
(Zum Anlegen neuer Gruppen konsistent mirsophomorix, siehe unten.)
- wichtig: damit diese Änderung sofort Effekt zeigt, muss der name service caching deamon
nscdüber die Änderung informiert werden. Das geht mittelsnscd --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