Univention Corporate Server (UCS) » Univention Directory Manager (UDM)

ID #1027

Verknüpfung von LDAP-Richtlinien an der UDM Kommandozeile

Problem:

In einer UCS Umgebung besteht die Möglichkeit, Einstellungen in LDAP-Richtlinien festzulegen. Über diese Richtlinien werden die Einstellungen an alle mit ihr verbundenen Objekte weitergegeben. Werden Richtlinien an Container gebunden, vererben diese ihre Richtlinien an Objekte, die sich in diesem oder in weiteren Unter-Containern befinden. So lassen sich z.B. die Bildschirmeinstellungen für alle Rechner mit demselben Bildschirm in einer Bildschirmrichtlinie festlegen und zentral zuweisen. Im Univention Directory Manager (UDM) Web-Frontend können Richtlinien sehr einfach in einem Drop-Down Menü an Objekten gesetzt werden. In der UDM Kommandozeile ist das Anlegen von Richtlinien ebenfalls möglich.

Lösung:

Beispiel1: Neue Richtlinien erstellen

Mit UCS werden eine Reihe von Standardrichtlinien ausgeliefert. Eine Liste aller Module, mit denen Richtlinien verwaltet werden können, liefert der Befehl:
neueradmin@master:~$ univention-directory-manager modules | grep policies

Diese Module entsprechen jeweils einem Richtlinientyp, der definierte Attribute enthält, über welche Einstellungen zugewiesen werden können. Es besteht die Möglichkeit, für jeden Typ eine Richtlinie zu erstellen, deren Attribute mit eigenen Werten belegt sind. In der Ausgabe des letzten Befehls findet sich das Modul ''policies/pwhistory''. Dort ist die Standardpassworttrichtlinie definiert. Wenn eine eigene Passwortrichtlinie verwendet werden soll, z.B. für eine Gruppe von Benutzern, deren Passwort aus Sicherheitsgründen 14 Zeichen lang sein soll, kann diese selbst erzeugt werden. Die Attribute, welche zu setzen sind, gibt der folgende Befehl aus:
neueradmin@master:~$ univention-directory-manager policies/pwhistory create

policies/pwhistory variables:
General:
name (*) Name
length History length
expiryInterval Expiry Interval
pwLength Password Length
Object:
requiredObjectClasses ([]) Required Object Classes
prohibitedObjectClasses ([]) Prohibited Object Classes
fixedAttributes ([]) Fixed Attributes
emptyAttributes ([]) Empty Attributes

Es ist generell möglich, Richtlinien überall im LDAP-Verzeichins abzulegen, es empfiehlt sich der Übersicht halber allerdings die Richtlinien nach Typen zu sammeln. Um die neu zu erzeugende Richtlinie in dem Container ''pwhistory'' zu erstellen, wird zunächst der DN ermittelt:
neueradmin@master:~$ ldapsearch -x cn=pwhistory dn

# pwhistory, users, policies, firma.com
dn: cn=pwhistory,cn=users,cn=policies,dc=firma,dc=com

Um die Richtlinie anzulegen, benutzt man die gesammelten Informationen mit folgendem Befehl:
univention-directory-manager policies/pwhistory create \(ein Objekt in policies/pwhistory erstellen)
--position=“cn=pwhistory,cn=users,cn=policies,dc=firma,dc=com“ \(an der Position im LDAP)
--set name=gruppePWlang \ (Attribut:Name derRichtlinie)
--set pwLength=14 (Attribut:Passwortlänge)

Die Richtlinie kann nun an das Objekt der Gruppe gebunden werden. Sie wurde als Objekt im Container "cn=pwhistory,cn=users,cn=policies,dc=firma,dc=com" erstellt.

Beispiel2: Zuweisung einer bestehenden Richtlinie an ein Benutzerobjekt

Soll ein Benutzer Administrationsaufgaben übernehmen, wird der Administrator diesen in die Gruppe ''Domain Admins'' aufnehmen. Normale Benutzer haben eine eingeschränkte UDM-Ansicht. Die Standardrichtlinie ''default-users'' für Benutzer gestattet die Ansicht einiger persönlicher Einstellungen im UDM Webfrontend. Die vollständige Ansicht erhalten Benutzer, denen die Richtlinie ''default-admins'' zugewiesen wurde. Diese Richtlinie erhält standardmäßig nur der Benutzer Administrator. Der Benutzer mit den neuen Aufgaben braucht nun also noch die vollständige UDM Web-Frontend Ansicht. Die benötigte Richtlinienzuweisung kann entweder der Administrator im UDM Web-Frontend oder der Benutzer selbst im UDM Kommandozeilen-Interface bearbeiten, da er dort durch die Mitgliedschaft in der Gruppe ''Domain Admins'' über die notwendigen Berechtigungen verfügt.

Damit sich der Benutzer ''neueradmin'' in der Domäne ''firma.com'' die Richtlinie ''default-admins'' zuweisen kann, wird der eigene Benutzer DN und der DN der Richtlinie, die zugewiesen werden soll, benötigt. Die Richtlinien liegen standarmäßig unter dem DN

cn=policies,dc=firma,dc=com

Mit dem Befehl ldapsearch kann das LDAP-Verzeichnis durchsucht und der Benutzer DN sowie der DN der Richtlinie ermittelt werden.
neueradmin@master:~$ ldapsearch -x uid=neueradmin dn

# neueradmin, users, firma.com
dn: uid=neueradmin,cn=users,dc=firma,dc=com

neueradmin@master:~$ ldapsearch -x cn=default-admins dn   

# default-admins, admin-settings, users, policies, firma.com
dn: cn=default-admins,cn=admin-settings,cn=users,cn=policies,dc=firma,dc=com


Zur Überprüfung auf schon bestehende Richtlinien am Benutzerobjekt dient der Befehl:
neueradmin@master:~$ ldapsearch -x uid=neueradmin univentionPolicyReference

Wenn in der Ausgabe des Befehls eine Zeile wie
univentionPolicyReference: cn=default-users,cn=admin-settings,cn=users,cn=policies,dc=firma,dc=com

enthalten ist, muss diese Richtlinie entfernt werden, da jeweils nur eine Richtlinie eines Typs an das Objekt gebunden werden darf. Dazu führt ''neueradmin'' den folgenden Befehl mit den gesammelten Informationen aus (Da das Programm univention-directory-manager nur vom Benutzer ''root'' auf dem Domaincontroller Master ohne Angabe eines Passwortes aufgerufen werden kann, muss sich ein anderer Benutzer aus der Gruppe ''Domain Admins'' der Optionen --binddn und --bindpw bedienen, um univention-directory nutzen zu können.):
neueradmin@master:~$ univention-directory-manager users/user modify \ (die option modify auf ein Objekt in users/user anwenden)
--dn="uid=neueradmin,cn=users,dc=firma,dc=com"  \    (dn des Benutzerobjekts)
--policy-dereference=\ (eine Richtlinie entfernen)"cn=default-admins,cn=adminsettings,cn=users,\
cn=policies,dc=firma,dc=com" \(dn der Richtlinie)
--binddn uid=neueradmin,cn=users,dc=firma,dc=com  (dn des Benutzers)
--bindpw secret (passwort Benutzer)

Die neue Richtline wird gesetzt mit:
neueradmin@master:~$ univention-directory-manager users/user modify \ (die option modify auf ein Objekt in users/user anwenden)
--dn="uid=neueradmin,cn=users,dc=firma,dc=com"  \    (dn des Benutzerobjekts)
--policy-reference=\ (eine Richtlinie zuweisen)
"cn=default-admins,cn=adminsettings,cn=users,\
cn=policies,dc=firma,dc=com" \(dn der Richtlinie)
--binddn uid=neueradmin,cn=users,dc=firma,dc=com  (dn des Benutzers)
--bindpw secret (passwort des Benutzers)

Zur Überprüfung wird mit dem Befehl:
neueradmin@master:~$ univention-policy-result uid=neueradmin,cn=users,dc=firma,dc=com

ermittelt, ob die Zeile
Policy: cn=default-admins,cn=admin-settings,cn=users,cn=policies,dc=firma,dc=com

ausgegeben wird. Ist dies der Fall, wurde die Richtlinie erfolgreich an das Benutzerobjekt gebunden.
Bei der nächsten Anmeldung am UDM Web-Frontend steht die vollständige Ansicht zur Verfügung.

Tags: Richtlinie Kommandozeile UDM

Verwandte Artikel:

Letzte Änderung der FAQ: 2011-01-24 16:32
Autor: Ingo Steuwer
Revision: 1.3

Digg it! Share on Facebook FAQ ausdrucken FAQ weiterempfehlen Als PDF-Datei anzeigen
Übersetzungsvorschlag für Übersetzungsvorschlag für
Bewertung der Nützlichkeit dieser FAQ:

Durchschnittliche Bewertung: 0 (0 Abstimmungen)

vollkommen überflüssig 1 2 3 4 5 sehr wertvoll

Kommentieren nicht möglich