\section{Univention System Setup-Event-Registrierung}

Für Standard-Systemeigenschaften eines \ucsUCS{}-Systems werden bei Änderung
einer Systemeigenschaft bereits notwendige Änderungen durchgeführt. Für
lokale Erweiterungen gibt es die Möglichkeit, Shell-Skripte zu
hinterlegen, die von \ucsUSS{} ausgeführt werden, wenn eine
Systemeigenschaft geändert wird.

Skripte in folgenden Verzeichnissen werden vor oder nach dem Ändern einer 
Systemeigenschaft in alphabetischer Reihenfolge ausgeführt: 


\begin{longtable}{|p{.6\textwidth}|p{.3\textwidth}|}
\hline
 /var/lib/univention-system-setup/hostname.pre & Rechnername\\
\hline
 /var/lib/univention-system-setup/hostname.post & Rechnername \\
\hline
 /var/lib/univention-system-setup/domainname.pre & Domänenname \\ 
\hline
 /var/lib/univention-system-setup/domainname.post & Domänenname  \\ 
\hline
 /var/lib/univention-system-setup/ldapbase.pre & LDAP-Basis \\ 
\hline
 /var/lib/univention-system-setup/ldapbase.post & LDAP-Basis \\ 
\hline
 /var/lib/univention-system-setup/windowsdomain.pre & Windows-Domäne \\ 
\hline
 /var/lib/univention-system-setup/windowsdomain.post & Windows-Domäne \\ 
\hline
 /var/lib/univention-system-setup/interfaces.post & Netzwerkeigenschaften\\ 
\hline
 /var/lib/univention-system-setup/gateway.post & Netzwerkgateway\\ 
\hline
 /var/lib/univention-setup/nameserver.post & Nameserver \\ 
\hline
 /var/lib/univention-setup/dnsforwarder.post & DNS-Forwarder \\ 
\hline
 /var/lib/univention-setup/httpproxy.post & HTTP-Proxy \\ 
\hline
\end{longtable}

Skripte, deren Dateiname auf \emph{pre} endet, werden vor dem Umsetzung der
Änderung ausgeführt, Skripte mit \emph{post} danach. Die Dateinamen der
Skripte dürfen keine zusätzlichen Punkte enthalten.
 
An das jeweilige Shell-Skript wird der alte Wert als erster und der neue
Wert als zweiter Parameter übergeben. Bei einigen Modulen müssen mehrere
Werte an die Skripte übergeben werden. Diese werden in einer speziellen
Syntax zu einem Wert zusammengefasst.

Für Netz-Interfaces lautet die Syntax 
\begin{verbatim}
#DEVICE-IP-NETWORK-NETMASK(..)
\end{verbatim}
Wird beispielsweise durch den Benutzer die IP-Adresse der ersten
Netzwerkkarte \emph{eth0} bei gleich bleibenden Netzwerkeigenschaften
von \emph{10.200.3.100} auf \emph{10.200.3.200} geändert, so würden an
das Shell-Skript die
Parameter \emph{\#eth0-10.200.3.100-10.200.100.0-255.255.255}
und \emph{\#eth0-10.200.3.200-10.200.100.0-255.255.255} übergeben.

Für Forwarder und 
Nameserver lautet die Syntax: \begin{verbatim}
#SERVER1#SERVER2#SERVER3
\end{verbatim}

Werden beispielsweise zwei Nameserver für ein System konfiguriert, so würde an
das Shell-Skript der Wert \emph{\#nameserver1.firma.com\#nameserver2.firma.com}
übergeben.

