Beitritt eines UCS Systems zur Domäne

UCS verwendet ein Domänenkonzept. Eine UCS Domäne stellt einen Vertrauenskontext dar, in dem Mitglieder der Domäne Ressourcen anbieten und auf Ressourcen von den Mitgliedern zugegriffen werden kann. Bevor ein UCS System Resourcen der Domäne nutzen (Zugriff auf gemeinsame Benutzerdatenbank) oder Resourcen in der Domäne bereitstellen kann, muss es der Domäne beitreten.

Ein Bestandteil des UCS Domänenkonzepts sind die unterschiedlichen Systemrollen. Über die Systemrolle eines UCS Systems wird seine Funktion
innerhalb der Domäne festgelegt. Die unterschiedlichen Systemrollen sind im aktuellen Handbuch im Kapitel “Systemrollen” beschrieben.

Die zentrale Systemrolle innerhalb der UCS Domäne ist der Domaincontroller Master. Auf diesem System wird Univention Admin als Bestandteil des Univention Managementsystems ausgeführt. Alle Informationen, die in der Domäne verwendet werden (Benutzerkonten, Rechnerkonten, Dienste auf den Systemen der Domäne) werden auf dem Domaincontroller Master verwaltet, also zentral gespeichert und an andere Systemrollen weitergegeben. Der Beitritt eines Systems zur UCS Domäne wird daher zwischen dem beitretenden System und dem Domaincontroller Master abgewickelt.

Der Beitritt zur UCS Domäne wird in der Regel zum Abschluss der Installation eines UCS Systems automatisch vorgenommen. (Alternativ kann der Beitritt zur UCS Domäne auch später erfolgen, in diesem Fall muss als Benutzer ‘root’ das Kommando univention-join ausführen - der Ablauf ist identisch.) Der Beitritt zur Domäne kann im laufenden Betrieb jederzeit erneut angestoßen werden. Dies kann nach seltenen, zentralen Änderungen erforderlich sein, wie zum Beispiel nach der Ändeurng der LDAP-Basis oder nach Änderung von LDAP-ACLs.

Der Beitritt zur UCS Domäne ist in mehrere einzelne Schritte unterteilt:
[ul]
[li] Die IP-Adresse des Domaincontroller Master wird über eine DNS Abfrage bestimmt. Der DNS Name des Domaincontroller Master wird über den DNS Service Record _domaincontroller_master._tcp.<DNS Domänenname> aufgelöst. Kann dieser Service-Record nicht gefunden werden, z.B. weil der in den Einstellungen angegebene DNS Server den Service Record nicht kennt, scheitert der Beitritt zur Domäne. Alternativ kann der Rechnername des Domaincontroller Master über einen Aufrufparameter von univention-join angegeben werden (Alle Aufrufparameter und ihre Verwendung werden von univention-join --help ausgegeben).
[/li]
[li] Vom beitretenden System werden folgende Informationen zum Domaincontroller Master übertragen, die den Rechner im Netz eindeutig bestimmen:

  • der Rechnername
  • die MAC-Adresse
  • die IP-Adresse
  • die Systemrolle
    Mit diesen Informationen wird im Managementsystem ein Rechner-Account (Objekt im Verzeichnisdienst) für den beitretenden Rechner erzeugt. Je nach Systemrolle wird das Objekt in einem anderen Pfad des Verzeichnisdienstes angelegt.
    [/li]
    [li] Auf dem Domaincontroller Master wird für den beitretenden Rechner ein SSL Zertifikat erzeugt, signiert und in der Zertifikatsinfrastruktur des Domaincontroller Master abgelegt. Dieses Zertifikat wird bei der Verwendung von verschlüsselten Netzwerkverbindungen (Protokolle https oder ldaps, werden z.B. beim Listener-Notifier Mechanismus verwendet) zum beitretenden Rechner verwendet.
    [/li]
    [li] Auf dem Domaincontroller Master wird für den Rechneraccount ein Passwort erzeugt. Dieses wird im Verzeichnisdienst als Account-Passwort gespeichert und auf den beitretenden Rechner kopiert (/etc/machine.secret). Dieses Passwort wird im späteren Betrieb zur Authentisierung des Rechners beim Zugriff auf den Verzeichnisdienst verwendet, es wird in Intervallen automatisch durch ein neu erzeugtes Passwort ersetzt.
    [/li]
    [li] Nachdem der Rechner-Account mit Passwort und das SSL-Zertifikat angelegt wurden, werden die bei der Installation ausgewählten UCS Komponenten initialisiert. Eine UCS Komponente bringt neben den relevanten Software-Paketen, die den eigentlichen Dienst bereitstellen, Skripte mit, die Anpassungen im Univention Managementsystem vornehmen können. Diese Skripte werden Join-Skripte genannt, sie können nur dann erfolgreich ausgeführt werden, wenn auch die vorigen Schritte des Beitritts zur Domäne erfolgreich waren. Die Join-Skripte sind in /usr/lib/univention-install abgelegt. Sie werden in aufsteigender Reihenfolge beim Beitritt zur Domäne ausgeführt.

Auf dem beitretenden System soll beispielsweise die Komponente Univention Printserver installiert werden. Die entsprechenden CUPS-Pakete wurden während der Installation eingerichtet. Beim Beitritt zur Domäne wird /usr/lib/univention-install/79univention-printserver.inst ausgeführt.
Dieses Skript veranlasst über Aufrufe von univention-admin, dass im Managementsystem auf dem Domaincontroller Master verschiedene Objekte angelegt werden. Die Skripte werden mit den Berechtigung des Benutzers ausgeführt, der im entsprechenden Dialog als “Domain Root Account” mit zugehörigem Passwort angegeben wurde:

  • Der beitretende Rechner wird in die Liste der Server aufgenommen, auf denen Drucker-Queues angelegt werden können.
  • Falls noch kein anderer Printserver angelegt wurde, werden für jedes verfügbare Druckermodell entsprechende Einträge mit Referenzen auf die zu
    verwendenden Treiber angelegt.
    [/li]
    [li] Nach dem abschließenden Reboot des Rechners können die Resourcen der Domäne genutzt werden und auf Resourcen dieses Rechners innerhalb der Domäne zugegriffen werden.[/li][/ul]

Die Ausgabe von univention-join, aufgerufen im laufenden Betrieb eines Domaincontroller Slave:

root@slave102:~# univention-join
univention-join: joins a computer to an univention domain
copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Univention GmbH, Germany

Insert DC Master Account : root
Insert DC Master Password:

Search DC Master:                                          done
Check DC Master:                                           done
Stop LDAP Server:                                          done
Search ldap/base                                           done
Start LDAP Server:                                         done
Search LDAP binddn                                         done
Sync time                                                  done
Join Computer Account:                                     done
Sync ldap-backup.secret:                                   done
Download host certificate                                  done
Restart LDAP Server:                                       done
Sync Kerberos settings:                                    done
shutdown univention-ldap-listener . done
Configure 01univention-ldap-server-init.inst               done
Configure 03univention-ldap-listener.inst                  done
Configure 04univention-ldap-client.inst                    done
Configure 05univention-bind.inst                           done
Configure 10univention-ldap-server.inst                    done
Configure 11univention-heimdal-init.inst                   done
Configure 15univention-heimdal-kdc.inst                    done
Configure 20univention-ldap-policy.inst                    done
Configure 25univention-dhcp.inst                           done
Configure 26univention-samba.inst                          done
Configure 30univention-shares.inst                         done
Configure 77univention-debmirror.inst                      done
Configure 79univention-printserver.inst                    done
Configure 80univention-printquota.inst                     done
Configure 81univention-nfs-server.inst                     done
Configure 81univention-printquotadb.inst                   done
Configure 90univention-bind-proxy.inst                     done
Configure 91univention-join.inst                           done
Configure 98univention-pkgdb-tools.inst                    done
Mastodon