Opsi (open pc server integration)

From Univention Wiki

Revision as of 14:02, 28 October 2010 by Gulden (talk | contribs) (Installation auf OPSI 4.0 für UCS 2.4 aktualisiert)
Jump to: navigation, search

Allgemeines

OPSI ist eine Softwareverteilung für Windows Arbeitsplätze und Server, veröffentlicht unter der GPL. Mit "opsi4ucs" steht eine Integration in das UCS Managementsystem zur Verfügung, die das LDAP von UCS als Backend nutzt.

Installation

Die folgenden Schritte sind auf allen Servern, auf denen OPSI-Pakete installiert werden sollen, durchzuführen.

UCS sollte Zugriff auf das "unmaintained"-Repository haben:

ucr set repository/online/unmaintained=yes

Für die Nutzung von OPSI sind weitere Pakete notwendig. Somit wird für die Nutzung von UCS 2.4 die Komponente "backports4opsi" benötigt:

ucr set repository/online/component/backports4opsi=yes \
 repository/online/component/backports4opsi/server=apt.univention.de \
 repository/online/component/backports4opsi/parts=unmaintained

In die Datei "/etc/apt/sources.list" muss mit folgendem Befehl um einen Eintrag für den Zugriff auf das UIB-Repository ergänzt werden:

echo "deb http://download.opensuse.org/repositories/home:/uibmz:/opsi:/opsi40/ucs2.4 ./" >> /etc/apt/sources.list

UCS Master

Auf dem UCS Master muss immer die OPSI Schemaerweiterung installiert werden:

univention-install opsi4ucs-ldap-schema

OPSI Server

Der erste installierte OPSI-Server wird immer zum Config-Server definiert, der auch Depo-Server ist. Weitere Server können dann als reine Depotserver installiert werden.

Die Schritte zur Installation:

univention-install opsi4ucs opsipxeconfd
univention-run-join-scripts

Hinweise / Ergänzungen

UCS TCS / UCS Netinstaller

Der von OPSI für PXE-Installationen von Windows-Systemen genutzte PXE-Dienst kollidiert mit dem von UCS für Thin Clients und PXE Serverinstallationen eingesetzten "atftp". Die Dienste müssen daher auf unterschiedlichen Serversysytemen der UCS-Umgebung installiert werden. Sollte auf einem Server der Dienst nicht mehr benötigt werden, kann er während der Installation von OPSI entfernt werden.

univention-install opsi4ucs opsipxeconfd atftpd-

pcpatch-Passwort ändern

Wenn das Passwort des Benutzers pcpatch geändert werden soll, ist neben der Änderung im UDM (bzw. kpasswd, oder Samba) die Änderung im opsi-admin durchzuführen. Der Befehl hierzu ist auf dem ConfigServer auszuführen und lautet:

opsi-admin -d task setPcpatchPassword

OPSI Hostkey

OPSI verwendet intern einen eindeutigen HostKey zur Identifikation von Rechnern. Dieser ist auch am Recherobjetk im LDAP abgespeichert, wird aber von den Standard-Integrationspaketen nicht angezeigt.

Wird OPSI nachträglich für bestehende UCS-Umgebungen installiert erfolgt der Rollout des OPSI Prelogin-Loaders auf bestehenden Windows-Rechnern meist manuell. Im Laufe der Installation kontaktiert der Windows-Rechner dann den OPSI Config-Server, dabei wird auch der HostKey generiert.

Möchte man aber in UCS bestehende Systeme über OPSI neu installieren muss diesen ein OPSI Hostkey zugeordnet werden. Dazu kann der HostKey über ein Extended Attribute im UDM angezeigt werden:

eval $(ucr shell)
# Host ID (wurde in einigen OPSI-Versionen bereits angelegt)
univention-directory-manager settings/extended_attribute create \
              --ignore_exists \
              --position "cn=custom attributes,cn=univention,$ldap_base" \
              --set "name=opsiHostId" --set "module=computers/windows" \
              --set "objectClass=opsiClient" --set "shortDescription=opsi id" \
              --set "CLIName=opsiHostId" --set "tabName=opsi" \
              --set "mayChange=1" \
              --set "ldapMapping=opsiHostId"
# Host Key
univention-directory-manager settings/extended_attribute create \
              --ignore_exists \
              --position "cn=custom attributes,cn=univention,$ldap_base" \
              --set "name=opsiHostKey" --set "module=computers/windows" \
              --set "objectClass=opsiClient" --set "shortDescription=opsi key" \
              --set "CLIName=opsiHostKey" --set "tabName=opsi" \
              --set "mayChange=1" \
              --set "ldapMapping=opsiHostKey"

Damit können dann HostKey und HostID im UDM geprüft werden. Der UDM erlaubt auch ein Modifizieren, dies sollte immer OPSI-Konform (im Zweifel also über die Admin-Tools von OPSI) erfolgen. Als Beispiel kann für Rechner mit bestehender OpsiId ein fehlender OpsiHostKey gesetzt werden, das Generieren des HostKey wird dabei durch den opsi-admin ausgeführt:

eval $(ucr shell)
ldapsearch -x "(&(opsiHostId=*)(!(opsiHostKey=*)))" dn | \
   grep ^dn |sed -e 's|dn: ||' | xargs -n 1 \
   udm computers/windows modify \
       --set opsiHostKey=`opsi-admin -d method generateOpsiHostKey|sed -e 's|"||g'` \
       --dn

Alle Windows Rechner ohne Opsi HostId und HostKey können über folgendes Beispiel modifiziert werden:

eval $(ucr shell)
ldapsearch -x "(&(objectClass=univentionWindows)(&(!(opsiHostId=*))(!(opsiHostKey=*))))" cn | \
  grep ^cn|sed -e 's|cn:||' | while read hostname; do \
    dn=`ldapsearch -x "(&(cn=$hostname)(objectClass=univentionWindows))" dn | grep ^dn | sed -e 's|dn: ||'`; \
    udm computers/windows modify --dn "$dn" \
        --set opsiHostId="$hostname.$domainname"\
        --set opsiHostKey=`opsi-admin -d method generateOpsiHostKey|sed -e 's|"||g'`; \
  done

Links

Personal tools