4.6. Befehlszeilenschnittstelle für die Domänenverwaltung#
udm ist die Befehlszeilenschnittstelle für die Domänenverwaltung in Univention Directory Manager (UDM). Verwenden Sie UDM, um administrative Aufgaben in Skripten zu automatisieren und die Domänenverwaltung in andere Programme zu integrieren. Sie ist eine Alternative zur webbasierten Management UI und ihren Verwaltungsmodulen.
Führen Sie den Befehl als Benutzer root auf dem Primary Directory Node mit dem Befehl univention-directory-manager aus oder verwenden Sie die Kurzform udm.
UDM und die Weboberfläche verwenden dieselben Module für die Domänenverwaltung. Daher bietet die Befehlszeilenschnittstelle dieselben Funktionen wie die Weboberfläche.
Siehe auch
- Referenz für Verwaltungsmodule
im Nubus Handbuch 1.x [4] für die Referenz der webbasierten Verwaltungsmodule von UDM in der Management UI.
4.6.1. Parameter der Befehlszeilenschnittstelle#
Führen Sie den in Listing 4.17 gezeigten Befehl mit dem Parameter modules aus, um alle verfügbaren Module aufzulisten.
$ univention-directory-manager modules
Available Modules are:
computers/computer
computers/domaincontroller_backup
computers/domaincontroller_master
computers/domaincontroller_slave
[...]
Jedes Modul hat die folgenden Operationen:
- list, lookup#
Listet alle vorhandenen Objekte dieses Typs auf.
- create, new#
Erstellt ein neues Objekt.
- modify, edit#
Ändert ein vorhandenes Objekt.
- remove, delete#
Löscht ein Objekt.
- move#
Verschiebt ein Objekt an eine andere Position im LDAP-Verzeichnis.
- restore#
Stellt ein Objekt aus dem Papierkorb wieder her.
Führen Sie den in Listing 4.18 gezeigten Befehl mit dem Modulnamen und der Operation aus, um die Optionen und Operationen für ein UDM Modul anzuzeigen.
$ univention-directory-manager users/user move
[...]
general options:
--binddn bind DN
--bindpwd bind password (deprecated, use --bindpwdfile instead)
--bindpwdfile file containing bind password
[...]
create options:
--position Set position in tree
--set Set variable to value, e.g. foo=bar
[...]
modify options:
--dn Edit object with DN
--set Set variable to value, e.g. foo=bar
[...]
remove options:
--dn Remove object with DN
--superordinate Use superordinate module
[...]
list options:
--filter Lookup filter
--position Search underneath of position in tree
[...]
move options:
--dn Move object with DN
--position Move to position in tree
[...]
Führen Sie den in Listing 4.19 gezeigten Befehl aus, um alle Operationen, Optionen und Attribute für ein Modul anzuzeigen. Ersetzen Sie category/modulename durch den Modulpfad, zum Beispiel users/user.
$ univention-directory-manager [category/modulename]
Wenn Sie die Operation udm create verwenden, müssen Sie alle mit * markierten Attribute angeben.
Einige Attribute können mehr als einen Wert haben, zum Beispiel E-Mailadressen für Benutzerobjekte. Die Markierung [] hinter einem Attributnamen kennzeichnet ein Feld mit mehreren Werten. Einige Attribute erfordern bestimmte Optionen für das Objekt. Geben Sie den Optionsnamen ein, um eine Option für ein einzelnes Attribut zu setzen, wie in Listing 4.20 gezeigt.
users/user variables:
General:
username (*) Username
[...]
Contact:
e-mail (person,[]) E-Mail Address
Hier bedeutet username (*), dass Sie dieses Attribut beim Erstellen von Benutzerobjekten immer setzen müssen. Wenn Sie die Option person für das Benutzerkonto aktivieren, was die Standardeinstellung ist, können Sie den Kontaktdaten eine oder mehrere E-Mailadressen hinzufügen.
Die folgenden allgemeinen Parameter sind abhängig von der Operation verfügbar:
- --binddn#
Verwenden Sie diesen Parameter, um die Bind-DN für die LDAP-Verbindung anzugeben.
Wichtig
Normalerweise benötigen Sie
--binddnnicht, wenn Sie udm alsrootauf einem Nubus für UCS-System ausführen. In diesem Fall versucht UDM automatisch, lokale Systemanmeldedaten zu verwenden.Geben Sie
--binddnan, wenn Sie sich als ein anderes LDAP-Konto authentifizieren möchten oder wenn die lokalen Standardanmeldedaten nicht verfügbar sind oder nicht die erforderlichen Berechtigungen haben.
- --bindpwd#
Verwenden Sie diesen Parameter, um das Bind-Passwort für die LDAP-Verbindung anzugeben.
Veraltet ab Version 5.2-4:
--bindpwdist veraltet. Verwenden Sie stattdessen--bindpwdfile.
- --bindpwdfile#
Verwenden Sie diesen Parameter, um eine Datei anzugeben, die das Bind-Passwort für
--binddnenthält.Wichtig
Normalerweise benötigen Sie
--bindpwdfilenicht, wenn Sie udm alsrootauf einem UCS-System ausführen. Wenn Sie keine Bind-Anmeldedaten angeben, versucht UDM, lokale Systemanmeldedaten zu verwenden, etwa das Konto für den Administrator oder das Rechnerkonto.Geben Sie
--bindpwdfilezusammen mit--binddnan, wenn Sie sich ausdrücklich authentifizieren möchten oder wenn die automatische lokale Authentifizierung nicht verfügbar ist.
- --logfile#
Verwenden Sie diesen Parameter, um den Pfad der Logdatei für den Befehl anzugeben. Wenn Sie
--logfilenicht angeben, schreibt UDM nach/var/log/univention/directory-manager-cmd.log.
- --tls#
Verwenden Sie diesen Parameter, um StartTLS für die LDAP-Verbindung zu steuern.
0Verwendet kein StartTLS.
1Versucht es mit StartTLS.
2Erfordern StartTLS. Dies ist das Standardverhalten, wenn Sie
--tlsnicht angeben.
- --dn#
Verwenden Sie diesen Parameter, um den Distinguished Name (DN) des Objekts anzugeben, wenn Sie es ändern, löschen, verschieben oder wiederherstellen. Geben Sie den vollständigen DN ein, wie in Listing 4.21 gezeigt.
$ univention-directory-manager users/user remove \ --dn "uid=ldapadmin,cn=users,dc=company,dc=example"
- --position#
Verwenden Sie diesen Parameter, um eine LDAP-Position anzugeben.
In der Operation
udm creategibt dieser Parameter an, wo UDM das Objekt erstellt. Wenn Sie--positionnicht angeben, erstellt UDM das Objekt unterhalb der Standard-LDAP-Basis des Moduls. Wenn Sie--superordinateohne--positionverwenden, nutzt UDM den übergeordneten DN als Position.In der Operation
udm listbegrenzt dieser Parameter die Suche auf Objekte unterhalb der angegebenen LDAP-Position.In der Operation
udm movegibt dieser Parameter die Zielposition an, wie in Listing 4.22 gezeigt.$ univention-directory-manager computers/ipmanagedclient move \ --dn "cn=desk01,cn=management,cn=computers,dc=company,dc=com" \ --position "cn=finance,cn=computers,dc=company,dc=example"
- --set#
Verwenden Sie diesen Parameter, um dem folgenden Attribut den angegebenen Wert zuzuweisen. Verwenden Sie einen Parameter
--setfür jedes Attribut-Wert-Paar, wie in Listing 4.23 gezeigt.$ univention-directory-manager users/user create \ --position "cn=users,dc=company,dc=example" \ --set username="jsmith" \ --set firstname="John" \ --set lastname="Smith" \ --set password="12345678"
- --append, --remove#
Verwenden Sie
--appendoder--remove, um einen Wert zu einem Feld mit mehreren Werten hinzuzufügen oder daraus zu entfernen, wie in Listing 4.24 gezeigt.$ univention-directory-manager groups/group modify \ --dn "cn=staff,cn=groups,dc=company,dc=example" \ --append users="uid=smith,cn=users,dc=company,dc=example" \ --remove users="uid=miller,cn=users,dc=company,dc=example"
- --option#
Verwenden Sie diesen Parameter, um die LDAP-Objektklassen für ein Objekt zu definieren. Wenn Sie zum Beispiel für ein Benutzerobjekt nur die Option
pkiangeben, können SiemailPrimaryAddressnicht angeben, weil dieses Attribut zur Optionmailgehört.
- --append-option, --remove-option#
Verwenden Sie
--append-option, um dem aktuellen Optionssatz eine Moduloption hinzuzufügen.Verwenden Sie
--remove-option, um eine Moduloption aus dem aktuellen Optionssatz zu entfernen.Diese Parameter sind nützlich, wenn ein Modul Standardoptionen bereitstellt und Sie diese für einen Befehl anpassen möchten.
- --superordinate#
Verwenden Sie
--superordinate, wenn ein Objekt den DN eines übergeordneten Objekts benötigt. Beispielsweise benötigt ein DHCP-Objekt ein DHCP-Serviceobjekt. Übergeben Sie den DN dieses Objekts mit der Option--superordinate.Für Listenoperationen können Sie
--superordinateauch verwenden, um den Suchkontext für abhängige Objekte zu begrenzen.
- --policy-reference#
Verwenden Sie den Parameter
--policy-reference, um einem Objekt eine Richtlinie zuzuweisen. Wenn Sie eine Richtlinie mit einem Objekt verknüpfen, verwendet das Objekt die Richtlinieneinstellungen, wie in Listing 4.25 gezeigt. Ersetzen Siecategory/modulenamedurch den Modulpfad und ersetzen SieOperationdurch die Operation, die Sie ausführen möchten.Wiederholen Sie den Parameter, um mehr als eine Richtlinie zuzuweisen.
$ univention-directory-manager [category/modulename] [Operation] \ --policy-reference "cn=sales,cn=pwhistory,cn=users,cn=policies,dc=company,dc=example"
- --policy-dereference#
Verwenden Sie den Parameter
--policy-dereference, um eine Richtlinie von einem Objekt zu entfernen.Wiederholen Sie den Parameter, um mehr als eine Richtlinienreferenz zu entfernen.
- --ignore_exists#
Der Parameter
--ignore_existsüberspringt vorhandene Objekte. Wenn das Objekt bereits existiert, gibt UDM trotzdem den Fehlercode0für keinen Fehler zurück.
- --ignore_not_exists#
Verwenden Sie diesen Parameter mit der Operation
udm modifyoderudm remove, um fehlende Objekte zu ignorieren. Wenn das Objekt nicht existiert, meldet UDM keinen Fehler.
- --remove_referring#
Verwenden Sie diesen Parameter mit der Operation
udm remove, um referenzierende Objekte während der Bereinigung zu entfernen, wenn das Modul diese Bereinigung unterstützt.
- --filter#
Verwenden Sie diesen Parameter, um Objekte mit einem LDAP-Filter auszuwählen.
Mit der Operation
udm listlistet UDM passende Objekte auf.Mit der Operation
udm removeentfernt UDM das passende Objekt im ausgewählten Kontext. Sie können--filtermit--dnoder--positionkombinieren.
- --policies#
Verwenden Sie diesen Parameter mit der Operation
udm list, um richtlinienbasierte Einstellungen anzuzeigen.Wenn Sie
--policiesnicht angeben, zeigt UDM keine richtlinienbasierten Einstellungen an.0Eine Kurzform anzeigen.
1Eine Langform anzeigen, die den DN der Richtlinie enthält.
- --properties#
Verwenden Sie diesen Parameter mit der Operation
udm list, um die Ausgabe auf bestimmte Eigenschaften zu begrenzen.Wiederholen Sie den Parameter für jede Eigenschaft, die Sie anzeigen möchten. Wenn Sie
--propertiesnicht angeben, zeigt UDM alle Eigenschaften an, die für die Listenausgabe konfiguriert sind.
4.6.2. Beispiele für die Befehlszeilenschnittstelle#
Verwenden Sie diese Beispiele als Vorlagen für Ihre eigenen Skripte.
4.6.2.1. Benutzer#
Dieser Abschnitt enthält Beispiele für die Verwendung von udm mit dem Benutzer Modul.
Führen Sie den in Listing 4.26 gezeigten Befehl
udm createaus, um einen Benutzer im Standard-Benutzercontainer zu erstellen.$ univention-directory-manager users/user create \ --position "cn=users,dc=example,dc=com" \ --set username="user01" \ --set firstname="Random" \ --set lastname="User" \ --set organisation="Example company LLC" \ --set mailPrimaryAddress="mail@example.com" \ --set password="secretpassword"
Führen Sie den in Listing 4.27 gezeigten Befehl
udm modifyaus, um einem vorhandenen Benutzer eine Postanschrift hinzuzufügen.$ univention-directory-manager users/user modify \ --dn "uid=user01,cn=users,dc=example,dc=com" \ --set street="Exemplary Road 42" \ --set postcode="28239" \ --set city="Bremen"
Führen Sie den in Listing 4.28 gezeigten Befehl
udm listaus, um alle Benutzer aufzulisten, deren Benutzername mituserbeginnt.$ univention-directory-manager users/user list \ --filter uid='user*'
Führen Sie den in Listing 4.29 gezeigten Befehl
udm listaus, um die Suche auf eine bestimmte LDAP-Position zu begrenzen. Dieses Beispiel listet alle Benutzer im Containercn=bremen,cn=users,dc=example,dc=comauf.$ univention-directory-manager users/user list \ --filter uid="user*" \ --position "cn=bremen,cn=users,dc=example,dc=com"
Führen Sie den in Listing 4.30 gezeigten Befehl
udm removeaus, um den Benutzeruser04zu entfernen.$ univention-directory-manager users/user remove \ --dn "uid=user04,cn=users,dc=example,dc=com"
Wenn Ihre Organisation zwei Standorte mit getrennten Containern hat, können Sie einen Benutzer aus dem Container
Hamburgin den ContainerBremenverschieben. Führen Sie den in Listing 4.31 gezeigten Befehludm moveaus.$ univention-directory-manager users/user move \ --dn "uid=user03,cn=hamburg,cn=users,dc=example,dc=com" \ --position "cn=bremen,cn=users,dc=example,dc=com"
Siehe auch
- Benutzer Modul
im Nubus Handbuch 1.x [4] für Informationen über das Verwaltungsmodul Benutzer.
4.6.2.2. Gruppen#
Dieser Abschnitt enthält Beispiele für die Verwendung von udm mit dem Gruppen Verwaltungsmodul.
Führen Sie den in Listing 4.32 gezeigten Befehl
udm createaus, um die GruppeExample Userszu erstellen und den Benutzeruser01hinzuzufügen.$ univention-directory-manager groups/group create \ --position "cn=groups,dc=example,dc=com" \ --set name="Example Users" \ --set users="uid=user01,cn=users,dc=example,dc=com"
Führen Sie den in Listing 4.33 gezeigten Befehl
udm modifyaus, um den Benutzeruser02zur vorhandenen Gruppe hinzuzufügen.$ univention-directory-manager groups/group modify \ --dn "cn=Example Users,cn=groups,dc=example,dc=com" \ --append users="uid=user02,cn=users,dc=example,dc=com"
Vorsicht
Ein
--setfür das Attributusersüberschreibt im Gegensatz zu--appenddie Liste der Gruppenmitglieder.Führen Sie den in Listing 4.34 gezeigten Befehl
udm modifyaus, um den Benutzeruser01aus der Gruppe zu entfernen.$ univention-directory-manager groups/group modify \ --dn "cn=Example Users,cn=groups,dc=example,dc=com" \ --remove users="uid=user01,cn=users,dc=example,dc=com"
Siehe auch
- Gruppen Verwaltungsmodul
im Nubus Handbuch 1.x [4] für Informationen über das Verwaltungsmodul Gruppen.
4.6.2.3. Container#
Führen Sie den in Listing 4.35 gezeigten Befehl udm create aus, um den Container cn=Bremen unterhalb von cn=computers für Computer am Standort Bremen zu erstellen. Die Option computerPath registriert diesen Container außerdem als Standardcontainer für Computerobjekte. Weitere Informationen finden Sie unter Benutzerdefinierte LDAP-Strukturen im Nubus Handbuch 1.x [4].
$ univention-directory-manager container/cn create \
--position "cn=computers,dc=example,dc=com" \
--set name="bremen" \
--set computerPath=1
Siehe auch
- LDAP Verzeichnis Modul
im Nubus Handbuch 1.x [4] für Informationen über das Verwaltungsmodul LDAP-Verzeichnis.
4.6.2.4. Richtlinien#
Dieser Abschnitt enthält Beispiele für die Verwendung von udm mit dem Richtlinien Modul.
Führen Sie den in Listing 4.36 gezeigten Befehl
udm createaus, um eine Benutzerquoten-Richtlinie zu erstellen.$ univention-directory-manager policies/share_userquota create \ --position "cn=policies,dc=example,dc=com" \ --set name="Default quota" \ --set softLimitSpace=5GB \ --set hardLimitSpace=10GB
Führen Sie den in Listing 4.37 gezeigten Befehl
udm modifyaus, um diese Richtlinie mit dem Benutzercontainercn=userszu verknüpfen.$ univention-directory-manager container/cn modify \ --dn "cn=users,dc=example,dc=com" \ --policy-reference "cn=Default quota,cn=policies,dc=example,dc=com"
Führen Sie den in Listing 4.38 gezeigten Befehl
udm createaus, um eine Richtlinie für die Univention Configuration Registry zu erstellen, die die Aufbewahrungszeit für Logdateien auf ein Jahr setzt. Verwenden Sie ein Leerzeichen, um den Variablennamen von seinem Wert zu trennen.$ univention-directory-manager policies/registry create \ --position "cn=config-registry,cn=policies,dc=example,dc=com" \ --set name="default UCR settings" \ --set registry="logrotate/rotate/count 52"
Führen Sie den in Listing 4.39 gezeigten Befehl
udm modifyaus, um der UCR-Richtlinie einen weiteren Wert hinzuzufügen.$ univention-directory-manager policies/registry modify \ --dn "cn=default UCR settings,cn=config-registry,cn=policies,dc=example,dc=com" \ --append registry='"logrotate/compress" "no"'
Siehe auch
- Richtlinien Modul
im Nubus Handbuch 1.x [4] für Informationen über das Verwaltungsmodul Richtlinien.
4.6.2.5. Computer#
Führen Sie den in Listing 4.40 gezeigten Befehl udm create aus, um ein Konto für einen Windows-Client zu erstellen. Wenn der Client später der Samba-Domäne beitritt, wie in Windows Domänenbeitritte beschrieben, verwendet der Domänenbeitritt dieses Computerkonto automatisch:
$ univention-directory-manager computers/windows create \
--position "cn=computers,dc=example,dc=com" \
--set name=WinClient01 \
--set mac=aa:bb:cc:aa:bb:cc \
--set ip=192.0.2.10
Siehe auch
- Rechner Modul
im Nubus Handbuch 1.x [4] für Informationen über das Verwaltungsmodul Computer.
4.6.2.7. Drucker#
Führen Sie den in Listing 4.42 gezeigten Befehl udm create aus, um die Druckerfreigabe LaserPrinter01 auf dem Druckserver printserver.example.com zu erstellen. Die PPD-Datei definiert die Druckereigenschaften. Geben Sie den Namen für die PPD-Datei relativ zu /usr/share/ppd/ an. Stellen Sie sicher, dass der Drucker über das Netzwerk erreichbar ist und das IPP-Protokoll unterstützt.
Bemerkung
Fügen Sie im Parameter uri ein Leerzeichen zwischen dem Druckprotokoll und dem Zielpfad ein. Eine Liste der Druckprotokolle finden Sie unter Protokoll und Ziel im Nubus Handbuch 1.x [4].
Sie können Drucker in einer Druckergruppe zusammenfassen, um die Verwaltung zu vereinfachen. Weitere Informationen zu Druckergruppen finden Sie unter Druckergruppen. Stellen Sie vor dem Erstellen einer Druckergruppe sicher, dass die Druckerfreigaben, die Sie hinzufügen möchten, bereits existieren. Führen Sie den in Listing 4.43 gezeigten Befehl udm create aus, um eine Druckergruppe zu erstellen.
$ univention-directory-manager shares/printergroup create \
--position "cn=printers,dc=example,dc=com" \
--set name=LaserPrinters \
--set spoolHost="printserver.example.com" \
--append groupMember=LaserPrinter01 \
--append groupMember=LaserPrinter02
Siehe auch
- Drucker-Modul
im Nubus Handbuch 1.x [4] für Informationen über das Verwaltungsmodul Drucker.
4.6.2.8. DNS und DHCP#
Führen Sie den in Listing 4.44 gezeigten Befehl aus, um eine IP-Zuweisung über DHCP zu konfigurieren und dafür einen DHCP-Computereintrag für die MAC-Adresse zu registrieren. Weitere Informationen über DHCP finden Sie unter IP-Vergabe über DHCP.
$ univention-directory-manager dhcp/host create \
--superordinate "cn=example.com,cn=dhcp,dc=example,dc=com" \
--set host="Client222" \
--set fixedaddress="192.0.2.110" \
--set hwaddress="ethernet 00:11:22:33:44:55"
Verwenden Sie die in Listing 4.45 und Listing 4.46 gezeigten Befehle, um einen Computernamen über DNS aufzulösen und dafür die Vorwärtsauflösung mit einem Rechner-Eintrag und die Rückwärtsauflösung mit einem DNS Pointer Eintrag zu konfigurieren. Weitere Informationen über DNS finden Sie unter Verwaltung von DNS-Daten mit BIND.
$ univention-directory-manager dns/host_record create \
--superordinate "zoneName=example.com,cn=dns,dc=example,dc=com" \
--set name="Client222" \
--set a="192.0.2.110"
$ univention-directory-manager dns/ptr_record create \
--superordinate "zoneName=0.168.192.in-addr.arpa,cn=dns,dc=example,dc=com" \
--set address="110" \
--set ptr_record="Client222.example.com."
Siehe auch
- DHCP Modul
im Nubus Handbuch 1.x [4] für Informationen über das Verwaltungsmodul DHCP.
- DNS Modul
im Nubus Handbuch 1.x [4] für Informationen über das Verwaltungsmodul DNS.
4.6.2.9. Erweiterte Attribute#
Verwenden Sie erweiterte Attribute, um Felder zu Verwaltungsmodulen in der Management UI hinzuzufügen. Weitere Informationen finden Sie unter Verwaltungsmodule erweitern. Führen Sie den in Listing 4.47 gezeigten Befehl udm create aus, um ein neues Attribut hinzuzufügen, das für jeden Benutzer das Kennzeichen eines Firmenwagens speichert. Die Objektklasse univentionFreeAttributes speichert diese Werte.
$ univention-directory-manager settings/extended_attribute create \
--position "cn=custom attributes,cn=univention,dc=example,dc=com" \
--set name="CarLicense" \
--set module="users/user" \
--set ldapMapping="univentionFreeAttribute1" \
--set objectClass="univentionFreeAttributes" \
--set longDescription="License plate number of the company car" \
--set tabName="Company car" \
--set multivalue=0 \
--set syntax="string" \
--set shortDescription="Car license"
Siehe auch
- Verwaltungsmodule erweitern
im Nubus Handbuch 1.x [4] für Informationen darüber, wie Sie Verwaltungsmodule erweitern.