LDAP-Richtlinien mit der Univention-Admin Kommandozeile

Dieser Artikel wir in der Univention Supportdatenbank weiter gepflegt: http://sdb.univention.de/

LDAP-Richtlinien Verwaltung mit der Univention-Admin Kommandozeile

In einer UCS Umgebung besteht die Möglichkeit, Einstellungen in 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 Admin Web-Frontend können Richtlinien sehr einfach in einem Drop-Down Menü an Objekten gesetzt werden. In der Univention-Admin Kommandozeile ist das Anlegen von Richtlinien ebenfalls möglich.

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 Admin-Ansicht. Die Standardrichtlinie ‘‘default-users’’ für Benutzer gestattet die Ansicht einiger persönlicher Einstellungen im Univention-Admin 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 Univention Admin Web-Frontend Ansicht. Die benötigte Richtlinienzuweisung kann entweder der Administrator im Univention Admin Web-Frontend oder der Benutzer selbst im Univention Admin 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-admin 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-admin nutzen zu können.):

neueradmin@master:~$ univention-admin 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-admin 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 Univention Admin Web-Frontend steht die vollständige Ansicht zur Verfügung.

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-admin 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-admin 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-admin 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.

Mastodon