Anpassungsmöglichkeiten: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) |
Fabian (Diskussion | Beiträge) |
||
(21 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 11: | Zeile 11: | ||
Grundsätzlich wird das Script /usr/share/cranix/tools/check_password_complexity.sh ausgeführt um die Qualität der Benutzerpasswörter zu überprüfen. Sowohl samba als auch cranix-api verwendet dieses Script. Das Verhalten dieses Scripts kann man durch die System-Variablen CHECK_PASSWORD_QUALITY, MINIMAL_PASSWORD_LENGTH und MAXIMAL_PASSWORD_LENGTH steuern. Ist CHECK_PASSWORD_QUALITY auf ‘’’yes’’’ gesetzt, gelten folgende Regeln: | Grundsätzlich wird das Script /usr/share/cranix/tools/check_password_complexity.sh ausgeführt um die Qualität der Benutzerpasswörter zu überprüfen. Sowohl samba als auch cranix-api verwendet dieses Script. Das Verhalten dieses Scripts kann man durch die System-Variablen CHECK_PASSWORD_QUALITY, MINIMAL_PASSWORD_LENGTH und MAXIMAL_PASSWORD_LENGTH steuern. Ist CHECK_PASSWORD_QUALITY auf ‘’’yes’’’ gesetzt, gelten folgende Regeln: | ||
* MINIMAL_PASSWORD_LENGTH und MAXIMAL_PASSWORD_LENGTH müssen eingehalten sein. | * MINIMAL_PASSWORD_LENGTH und MAXIMAL_PASSWORD_LENGTH müssen eingehalten sein. | ||
− | * Passwort muss mindestens | + | * Passwort muss mindestens einen Großbuchstaben enthalten. |
− | * Passwort muss mindestens | + | * Passwort muss mindestens einen Kleinbuchstaben enthalten. |
− | * Passwort muss mindestens | + | * Passwort muss mindestens eine Ziffer enthalten. |
* /usr/sbin/cracklib-check muss das Passwort gut finden. | * /usr/sbin/cracklib-check muss das Passwort gut finden. | ||
Zeile 19: | Zeile 19: | ||
Ist das Passwort nicht in Ordnung muss das Script den Grund in STDOUT liefern. Sonst darf keine Ausgabe erfolgen. | Ist das Passwort nicht in Ordnung muss das Script den Grund in STDOUT liefern. Sonst darf keine Ausgabe erfolgen. | ||
− | Auch wenn CHECK_PASSWORD_QUALITY auf no steht oder eigene | + | Auch wenn CHECK_PASSWORD_QUALITY auf no steht oder eigene Regeln gelten, muss ein Passwort mindestens 6 Zeichen erhalten. |
− | ==Gruppenrichtlinien | + | ==Gruppenrichtlinien mit CRANIX verteilen== |
− | Seit | + | <div class=warningbox>Damit die auf dem Server gespeicherten Gruppenrichtlinien auf Windows-Domainmitgliedsrechnern aktiviert werden können, muss auf allen Clients der lokale Benutzer '''Administrator''' aktiviert werden.</div> |
+ | Seit Version 4 ist der CRANIX Server ein (fast) vollwertiger AD-Server. Als solcher speichert er für Windows-Domänen, Gruppenrichtlinien und verteilt diese automatisch an Domänenmitglieder (Windows-Clients). Gruppenrichtlinien ermöglichen es, spezifische Konfigurationen für Benutzer und Computer zu implementieren. Der CRANIX-Server selbst bietet keine Möglichkeiten GPO-s zu erstellen bzw. zu bearbeiten. Diese Arbeit muss als Domänenadministrator von einem Windows-Client aus erledigt werden. Das dazu nötige Programm wird mit jedem Windows 10 Education oder Professional mitgeliefert muss jedoch als optionales Feature aktiviert werden. Melden Sie sich dazu als lokaler Benutzer Administrator an einem Windows-Domainmitgliedsrechner an und führen Sie folgende Schritte aus: | ||
<gallery> | <gallery> | ||
Apps-und-Features-Staren.png|Apps und Features starten | Apps-und-Features-Staren.png|Apps und Features starten | ||
Apps-und-Features-Optionale-Features.png|Optionale Features | Apps-und-Features-Optionale-Features.png|Optionale Features | ||
Features-zufügen.png|Features zufügen | Features-zufügen.png|Features zufügen | ||
− | RSAT-Tools-zur-Gruppenrichtlinienverwaltung.png| | + | RSAT-Tools-zur-Gruppenrichtlinienverwaltung.png|Gruppenrichtlinien-verwaltung installieren |
</gallery> | </gallery> | ||
− | <b>Wichtig</b> Um optionale Features aktivieren zu | + | <b>Wichtig</b> Um optionale Features aktivieren zu können muss der Windowsupdate-Service laufen. Bitte beachten Sie, dass dieser Dienst auf CRANIX-Clients durch SALT beim Hochfahren ausgeschaltet wird, wenn die globale Variable '''ALLOW_WINDOWS_UPDATES''' auf '''no''' gestellt ist. Sie können den Dienst von der Konsole des Servers mit folgendem Befehl starten: |
− | <b> | + | <b>salt "FQHN-des-Clients" crx_client.enableUpdates</b> |
− | === | + | ===Ein Gruppenrichtlinienobjekt erstellen=== |
− | Wie man | + | Wie man ein [[Anpassungsmöglichkeiten#Gruppenrichtlinien_mit_CRANIX_verteilen|Gruppenrichtlinienobjekt]] erstellt, zeigen wir Ihnen an einem konkreten Beispiel. Im Juli 2016 hat Microsoft ein Update veröffentlicht, um Sicherheitsprobleme im Windows-Druckspooler zu beheben. Dieses Update ändert das Verhalten und schränkt Unterstützung für nicht paketfähige Druckertreiber ein. Im Oktober 2016 hat Microsoft ein Update veröffentlicht, um diese Probleme in einer AD-Umgebung zu entschärfen. Weitere Einzelheiten finden Sie unter [https://support.microsoft.com/en-us/help/3170005/ms16-087-security-update-for-windows-print-spooler-components-july-12,-2016 MS16-087]. Dieser Abschnitt beschreibt das Verfahren zur Umgehung dieses Problems. Diese GPO muss auf jedem CRANIX Server erstellt werden, damit der Server für Windows-Clients Druckertreiber verteilen kann. |
+ | Es muss ein neues Gruppenrichtlinienobjekt mit zwei Gruppenrichtlinien (Point-and-Print-Einschränkungen und Point-and-Print-Pakete-Genehmigte-Server) in folgenden Schritten erstellt werden: | ||
+ | # Starten Sie die <b>Gruppenrichtlinienverwaltung</b>: | ||
+ | # Öffnen Sie den Pfad Gruppenrichtlinienverwaltung -> Gesamstruktur -> Domänen -> Domänenname. | ||
+ | # Durch Rechtsklick auf den Domänenname öffnet sich ein Kontextmenü. <code>Gruppenrichtlinienobjekt hier erstellen und verknüpfen...</code> wählen. | ||
+ | # Als Name für das neue Gruppenrichtlinienobjekt <b>Legacy Printer Driver Policy</b> eintragen. | ||
+ | # Durch Rechtsklick auf den neuen Eintrag <b>Legacy Printer Driver Policy</b> öffnet sich ein Kontextmenü. Wählen Sie hier bearbeiten um eine neue Gruppenrichtlinie zu erstellen. Dadurch wird der Gruppenrichtlinieneditor gestartet. | ||
+ | # Öffnen Sie den Pfad Computerkonfiguration -> Richtlinien -> Administrative Vorlagen -> Drucker | ||
+ | # Doppelklick auf den Eintrag <code>Point-and-Print-Einschränkungen</code>. Folgende Einstellungen müssen vorgenommen werden: | ||
+ | ## <code>Aktiviert</code> | ||
+ | ## <code>Benutzer können Point-and-Print nur mit folgenden Server verwenden:</code> anhacken. | ||
+ | ## Vollqualifizierte Servernamen eingeben. Hier <b>printserver.<IHR-DOMAINNAME></b> eingetragen. | ||
+ | ## <code>Beim Installieren von Treibern für eine neue Verbindung</code> -> <b>Warnung oder Anhebungsaufforderung nicht anzeigen</b>. | ||
+ | ## <code>Beim Aktualisieren von Treibern für eine vorhanden Verbindung</code> -> <b>Warnung oder Anhebungsaufforderung nicht anzeigen</b>. | ||
+ | ## <code>OK</code> drücken. | ||
+ | # Doppelklick auf den Eintrag <code>Point-and-Print für Pakete - Genehmigte Server</code> und nehmen Sie folgende Einstellungen vor: | ||
+ | ## <code>Aktiviert</code> | ||
+ | ## <code>Vollqualifizierte Servernamen eingeben</code> Hier <b>printserver.<IHR-DOMAINNAME></b> eintragen. | ||
+ | ## <code>OK</code> drücken. | ||
+ | # Doppelklick auf den Eintrag <code>Beschränkt die Installation von Druckertreiber auf Administratoren</code> | ||
+ | ## <code>Deaktiviert</code> | ||
+ | ## <code>OK</code> drücken. | ||
+ | # Ab Win11 H22: | ||
+ | ## Die Einstellung <code>Konfigurieren von RPC-Verbindungseinstellungen</code> -> Aktivieren | ||
+ | ## Die Einstellung <code>Für ausgehende RPC-Verbindungen zu verwendendes Protokoll</code> -> <code>RPC über benannte Pipes</code> | ||
+ | # Gruppenrichtlinieneditor beenden | ||
+ | # Gruppenrichtlinienverwaltung beenden | ||
+ | <gallery> | ||
+ | Start-Gruppenrichtlinienverwaltung.png|Gruppenrichtlinienverwaltung starten | ||
+ | Neue-Gruppenrichtlinie-Erstellen.png|Neues GPO Erstellen | ||
+ | Neue-Gruppenrichtlinie-Erstellen-name.png|Name des neuen GPO | ||
+ | Point-and-Print-Einschänkungen.png|Point-and-Print-Einschränkungen | ||
+ | Point-and-Print-Einschänkungen-Einstellungen.png|Point-and-Print-Einschränkungen Einstellungen | ||
+ | Point-and-Print-Pakete-GEnehmigte-Server.png|Point-and-Print-Pakete - Genehmigte Server | ||
+ | Point-and-Print-Pakete-GEnehmigte-Server-eintragen.png|Point-and-Print für Pakete - Genehmigte Server eintragen | ||
+ | Beschränkt-die-Installation-von-Druckertreiber-auf-Administratoren.png|Beschränkt die Installation von Druckertreiber auf Administratoren | ||
+ | Beschränkt-die-Installation-von-Druckertreiber-auf-Administratoren-deaktiviert.png|Beschränkung deaktivieren | ||
+ | </gallery> | ||
+ | Nun wird das neue Gruppenrichtlinienobjekt auf dem Server in Sysvol geschrieben. Diese Richtlinie wird nach einer gewisser Zeit auf allen laufenden Rechner in der Domäne automatisch aktiviert. Um die neue Richtlinien sofort zu aktualisieren, | ||
+ | * müssen die Clients neu starten | ||
+ | * oder der Domänen-Administrator muss auf dem Client folgenden Befehl ausführen: | ||
+ | gpupdate /force | ||
+ | * Sie können den Befehl allerdings auch an alle salt-minions ausliefern: | ||
+ | salt '*' cmd.run 'gpupdate /force' | ||
==Pluginskripten== | ==Pluginskripten== | ||
− | Bei | + | Bei verschiedenen Aktionen werden sog. Pluginscripte am CRANIX gestartet. Solche Aktionen sind das Erstellen, Ändern und Löschen von verschiedenen Objekten über die Adminoberfläche, der Auf- und Abbau von Verbindungen zu den verschiedenen Freigaben des CRANIX-Server bzw. das Starten von Clients die als salt-Minion am CRANIX angemeldet sind. |
− | Die | + | Die Pluginskripte befinden sich auf dem CRANIX unter /usr/share/cranix/plugins in verschiedenen Verzeichnissen. |
− | Der CRANIX selbst liefert einige Plugins die zur Funktionsfähigkeit des Server zwingend erforderlich sind. Diese Scripte | + | Der CRANIX selbst liefert einige Plugins die zur Funktionsfähigkeit des Server zwingend erforderlich sind. Diese Scripte sollte man weder löschen noch ändern, da diese bei Updates neu erstellt werden. Die von CRANIX gelieferten Pluginskripte fangen immer mit "100" an. Will man selbst Skripten kann man den Ausführungszeitpunkt durch den Namen steuern. Möchte man ein eigenes Skript nach dem vom CRANIX ausführen lassen, muss dieses Script mit einer Zahl größer als 100 anfangen. |
===Objekt-Plugins=== | ===Objekt-Plugins=== | ||
− | Die Objekt- | + | Die Objekt-Pluginscripte werden durch das Programm /usr/share/cranix/plugins/plugin_handler.sh aufgerufen und liegen in Ordnern mit den Namen der Objektaktionen. |
− | Für folgende Objektaktionen existieren | + | Für folgende Objektaktionen existieren Pluginscripte: |
* add_device | * add_device | ||
* add_group | * add_group | ||
+ | * add_printer_queue | ||
+ | * add_room | ||
* add_user | * add_user | ||
+ | * change_member | ||
+ | * delete_device | ||
+ | * delete_group | ||
+ | * delete_hwconf | ||
+ | * delete_printer_queue | ||
+ | * delete_room | ||
+ | * delete_user | ||
+ | * manage_printer_queue | ||
* modify_device | * modify_device | ||
* modify_group | * modify_group | ||
* modify_user | * modify_user | ||
− | * | + | * reset_device |
− | + | Die Scripte lesen die Daten aus dem STDIN. Die Daten haben folgendes Format: | |
− | |||
− | |||
− | Die | ||
<parameter1>: <value1> | <parameter1>: <value1> | ||
<parameter2>: <value2> | <parameter2>: <value2> | ||
Zeile 61: | Zeile 112: | ||
===Share-Plugins=== | ===Share-Plugins=== | ||
− | Die | + | Die Pluginscripte für die Freigaben befinden sich im Verzeichnis /usr/share/cranix/plugins/shares/ und werden in folgender Weise sortiert: |
/usr/share/cranix/plugins/shares/<Share-Name>/<Aktion> | /usr/share/cranix/plugins/shares/<Share-Name>/<Aktion> | ||
− | Es gibt zwei Aktionen: '''open''' oder '''close'''. Die Share- | + | Es gibt zwei Aktionen: '''open''' oder '''close'''. Die Share-Pluginscripte werden mit folgenden Argumenten aufgerufen: |
# Uid des Benutzers | # Uid des Benutzers | ||
# IP-Adresse des Clients | # IP-Adresse des Clients | ||
Zeile 74: | Zeile 125: | ||
===Client-Plugins=== | ===Client-Plugins=== | ||
Die Client-Pluginskripten befinden sich im Verzeichnissen | Die Client-Pluginskripten befinden sich im Verzeichnissen | ||
− | /usr/share/cranix/plugins/clients/< | + | /usr/share/cranix/plugins/clients/<Aktion> |
− | Wobei Aktion ''lost'' ''start'' ''present'' sein kann. Die Client- | + | Wobei Aktion ''lost'' ''start'' ''present'' sein kann. Die Client-Pluginskripte werden mit dem Minionnamen (normaler Weise ist das der FQHN des Clients) als Argument aufgerufen. |
==Automatische Konfiguration mit Salt== | ==Automatische Konfiguration mit Salt== | ||
Zeile 81: | Zeile 132: | ||
''Environment'' namens '''base'''. Es ist möglich, ein zweites, völlig unabhängiges | ''Environment'' namens '''base'''. Es ist möglich, ein zweites, völlig unabhängiges | ||
''Environment'' namens z.B. '''schule''' aufzusetzen und in diesem ''Environment'' | ''Environment'' namens z.B. '''schule''' aufzusetzen und in diesem ''Environment'' | ||
− | die automatische Konfiguration von Client-Rechnern | + | die automatische Konfiguration von Client-Rechnern für die eigene Schule durchzuführen. |
===Eigenes Salt-''Environment''=== | ===Eigenes Salt-''Environment''=== | ||
Die Datei | Die Datei | ||
/etc/salt/master.d/crx.conf | /etc/salt/master.d/crx.conf | ||
− | enthält die Variable '''file_roots''', die | + | enthält die Variable '''file_roots''', die für das eigene ''Environment'' um diese Zeilen |
ergänzt werden muss: | ergänzt werden muss: | ||
file_roots: | file_roots: |
Aktuelle Version vom 5. November 2024, 22:39 Uhr
Wie in früheren Versionen bietet der CRANIX verschieden Anpassungsmöglichkeiten.
Inhaltsverzeichnis
1 Netzwerkkonfiugration anpassen
Die Netzwerkkonfiugration des Transportnetzes kann man einfach mit dem yast2 lan modul oder durch die Anpassung der Konfigurationsdateien in /etc/sysconfig/network/ erledigen. Auf einem CRANIX-Server müssen jedoch noch folgende Änderungen durchgeführt werden:
- /etc/hosts extip-Eintrag muss geändert werden.
- /etc/sysconfig/cranix Folgende Variablen müssen angepasst werden: CRANIX_SERVER_EXT_GW, CRANIX_SERVER_EXT_IP, CRANIX_SERVER_EXT_NETMASK
- Anschließend apache2 neu starten: systemctl restart apache2
Die Änderung der Konfiguration des internen Netzwerks kann mit einfachen Handgriffen überhaupt nicht bewerkstelligt werden. Wenn es doch erforderlich sein sollte, können Sie uns mit der Durchführung beauftragen.
2 Passwortüberprüfung
Grundsätzlich wird das Script /usr/share/cranix/tools/check_password_complexity.sh ausgeführt um die Qualität der Benutzerpasswörter zu überprüfen. Sowohl samba als auch cranix-api verwendet dieses Script. Das Verhalten dieses Scripts kann man durch die System-Variablen CHECK_PASSWORD_QUALITY, MINIMAL_PASSWORD_LENGTH und MAXIMAL_PASSWORD_LENGTH steuern. Ist CHECK_PASSWORD_QUALITY auf ‘’’yes’’’ gesetzt, gelten folgende Regeln:
- MINIMAL_PASSWORD_LENGTH und MAXIMAL_PASSWORD_LENGTH müssen eingehalten sein.
- Passwort muss mindestens einen Großbuchstaben enthalten.
- Passwort muss mindestens einen Kleinbuchstaben enthalten.
- Passwort muss mindestens eine Ziffer enthalten.
- /usr/sbin/cracklib-check muss das Passwort gut finden.
Möchte man völlig andere Regel verwenden, muss eine Ausführbare Datei namens /usr/share/cranix/tools/custom_check_password_complexity.sh erstellt werden, welche das zu überprüfende Passwort vom STDIN liest. Ist das Passwort nicht in Ordnung muss das Script den Grund in STDOUT liefern. Sonst darf keine Ausgabe erfolgen.
Auch wenn CHECK_PASSWORD_QUALITY auf no steht oder eigene Regeln gelten, muss ein Passwort mindestens 6 Zeichen erhalten.
3 Gruppenrichtlinien mit CRANIX verteilen
Seit Version 4 ist der CRANIX Server ein (fast) vollwertiger AD-Server. Als solcher speichert er für Windows-Domänen, Gruppenrichtlinien und verteilt diese automatisch an Domänenmitglieder (Windows-Clients). Gruppenrichtlinien ermöglichen es, spezifische Konfigurationen für Benutzer und Computer zu implementieren. Der CRANIX-Server selbst bietet keine Möglichkeiten GPO-s zu erstellen bzw. zu bearbeiten. Diese Arbeit muss als Domänenadministrator von einem Windows-Client aus erledigt werden. Das dazu nötige Programm wird mit jedem Windows 10 Education oder Professional mitgeliefert muss jedoch als optionales Feature aktiviert werden. Melden Sie sich dazu als lokaler Benutzer Administrator an einem Windows-Domainmitgliedsrechner an und führen Sie folgende Schritte aus:
Wichtig Um optionale Features aktivieren zu können muss der Windowsupdate-Service laufen. Bitte beachten Sie, dass dieser Dienst auf CRANIX-Clients durch SALT beim Hochfahren ausgeschaltet wird, wenn die globale Variable ALLOW_WINDOWS_UPDATES auf no gestellt ist. Sie können den Dienst von der Konsole des Servers mit folgendem Befehl starten:
salt "FQHN-des-Clients" crx_client.enableUpdates
3.1 Ein Gruppenrichtlinienobjekt erstellen
Wie man ein Gruppenrichtlinienobjekt erstellt, zeigen wir Ihnen an einem konkreten Beispiel. Im Juli 2016 hat Microsoft ein Update veröffentlicht, um Sicherheitsprobleme im Windows-Druckspooler zu beheben. Dieses Update ändert das Verhalten und schränkt Unterstützung für nicht paketfähige Druckertreiber ein. Im Oktober 2016 hat Microsoft ein Update veröffentlicht, um diese Probleme in einer AD-Umgebung zu entschärfen. Weitere Einzelheiten finden Sie unter MS16-087. Dieser Abschnitt beschreibt das Verfahren zur Umgehung dieses Problems. Diese GPO muss auf jedem CRANIX Server erstellt werden, damit der Server für Windows-Clients Druckertreiber verteilen kann. Es muss ein neues Gruppenrichtlinienobjekt mit zwei Gruppenrichtlinien (Point-and-Print-Einschränkungen und Point-and-Print-Pakete-Genehmigte-Server) in folgenden Schritten erstellt werden:
- Starten Sie die Gruppenrichtlinienverwaltung:
- Öffnen Sie den Pfad Gruppenrichtlinienverwaltung -> Gesamstruktur -> Domänen -> Domänenname.
- Durch Rechtsklick auf den Domänenname öffnet sich ein Kontextmenü.
Gruppenrichtlinienobjekt hier erstellen und verknüpfen...
wählen. - Als Name für das neue Gruppenrichtlinienobjekt Legacy Printer Driver Policy eintragen.
- Durch Rechtsklick auf den neuen Eintrag Legacy Printer Driver Policy öffnet sich ein Kontextmenü. Wählen Sie hier bearbeiten um eine neue Gruppenrichtlinie zu erstellen. Dadurch wird der Gruppenrichtlinieneditor gestartet.
- Öffnen Sie den Pfad Computerkonfiguration -> Richtlinien -> Administrative Vorlagen -> Drucker
- Doppelklick auf den Eintrag
Point-and-Print-Einschränkungen
. Folgende Einstellungen müssen vorgenommen werden:Aktiviert
Benutzer können Point-and-Print nur mit folgenden Server verwenden:
anhacken.- Vollqualifizierte Servernamen eingeben. Hier printserver.<IHR-DOMAINNAME> eingetragen.
Beim Installieren von Treibern für eine neue Verbindung
-> Warnung oder Anhebungsaufforderung nicht anzeigen.Beim Aktualisieren von Treibern für eine vorhanden Verbindung
-> Warnung oder Anhebungsaufforderung nicht anzeigen.OK
drücken.
- Doppelklick auf den Eintrag
Point-and-Print für Pakete - Genehmigte Server
und nehmen Sie folgende Einstellungen vor:Aktiviert
Vollqualifizierte Servernamen eingeben
Hier printserver.<IHR-DOMAINNAME> eintragen.OK
drücken.
- Doppelklick auf den Eintrag
Beschränkt die Installation von Druckertreiber auf Administratoren
Deaktiviert
OK
drücken.
- Ab Win11 H22:
- Die Einstellung
Konfigurieren von RPC-Verbindungseinstellungen
-> Aktivieren - Die Einstellung
Für ausgehende RPC-Verbindungen zu verwendendes Protokoll
->RPC über benannte Pipes
- Die Einstellung
- Gruppenrichtlinieneditor beenden
- Gruppenrichtlinienverwaltung beenden
Nun wird das neue Gruppenrichtlinienobjekt auf dem Server in Sysvol geschrieben. Diese Richtlinie wird nach einer gewisser Zeit auf allen laufenden Rechner in der Domäne automatisch aktiviert. Um die neue Richtlinien sofort zu aktualisieren,
- müssen die Clients neu starten
- oder der Domänen-Administrator muss auf dem Client folgenden Befehl ausführen:
gpupdate /force
- Sie können den Befehl allerdings auch an alle salt-minions ausliefern:
salt '*' cmd.run 'gpupdate /force'
4 Pluginskripten
Bei verschiedenen Aktionen werden sog. Pluginscripte am CRANIX gestartet. Solche Aktionen sind das Erstellen, Ändern und Löschen von verschiedenen Objekten über die Adminoberfläche, der Auf- und Abbau von Verbindungen zu den verschiedenen Freigaben des CRANIX-Server bzw. das Starten von Clients die als salt-Minion am CRANIX angemeldet sind.
Die Pluginskripte befinden sich auf dem CRANIX unter /usr/share/cranix/plugins in verschiedenen Verzeichnissen.
Der CRANIX selbst liefert einige Plugins die zur Funktionsfähigkeit des Server zwingend erforderlich sind. Diese Scripte sollte man weder löschen noch ändern, da diese bei Updates neu erstellt werden. Die von CRANIX gelieferten Pluginskripte fangen immer mit "100" an. Will man selbst Skripten kann man den Ausführungszeitpunkt durch den Namen steuern. Möchte man ein eigenes Skript nach dem vom CRANIX ausführen lassen, muss dieses Script mit einer Zahl größer als 100 anfangen.
4.1 Objekt-Plugins
Die Objekt-Pluginscripte werden durch das Programm /usr/share/cranix/plugins/plugin_handler.sh aufgerufen und liegen in Ordnern mit den Namen der Objektaktionen. Für folgende Objektaktionen existieren Pluginscripte:
- add_device
- add_group
- add_printer_queue
- add_room
- add_user
- change_member
- delete_device
- delete_group
- delete_hwconf
- delete_printer_queue
- delete_room
- delete_user
- manage_printer_queue
- modify_device
- modify_group
- modify_user
- reset_device
Die Scripte lesen die Daten aus dem STDIN. Die Daten haben folgendes Format:
<parameter1>: <value1> <parameter2>: <value2> usw.
Die Pluginscripte für die Freigaben befinden sich im Verzeichnis /usr/share/cranix/plugins/shares/ und werden in folgender Weise sortiert:
/usr/share/cranix/plugins/shares/<Share-Name>/<Aktion>
Es gibt zwei Aktionen: open oder close. Die Share-Pluginscripte werden mit folgenden Argumenten aufgerufen:
- Uid des Benutzers
- IP-Adresse des Clients
- Arhitektur des Clients
- Hostname des Clients
- Kerberos/AD Realm
4.3 Client-Plugins
Die Client-Pluginskripten befinden sich im Verzeichnissen
/usr/share/cranix/plugins/clients/<Aktion>
Wobei Aktion lost start present sein kann. Die Client-Pluginskripte werden mit dem Minionnamen (normaler Weise ist das der FQHN des Clients) als Argument aufgerufen.
5 Automatische Konfiguration mit Salt
Salt wird vom CRANIX u.a. für die Softwareverteilung benutzt und ist daher auf dem System vorhanden und vorkonfiguriert. Das vorhandene System beruht auf einem sogenannten Environment namens base. Es ist möglich, ein zweites, völlig unabhängiges Environment namens z.B. schule aufzusetzen und in diesem Environment die automatische Konfiguration von Client-Rechnern für die eigene Schule durchzuführen.
5.1 Eigenes Salt-Environment
Die Datei
/etc/salt/master.d/crx.conf
enthält die Variable file_roots, die für das eigene Environment um diese Zeilen ergänzt werden muss:
file_roots: base: - /srv/salt - /srv/salt/packages schule: - /srv/salt/schule
Damit das neue Environment auch korrekt verwendet wird, muss noch in der Datei
/etc/salt/master
die Zeile
top_file_merging_strategy: merge_all
eingebaut werden. Diese Zeile ist vorhanden, aber auskommentiert.
Nach einem Neustart des salt-master ist das System einsatzbereit.
systemctl restart salt-master systemctl restart crx_salt_event_watcher
5.2 Verwendung des eigenen Environments
Im folgenden wird beschrieben, wie das Environment zur Konfiguration von Linux-Clients verwendet werden kann.