Administration von Unix-Rechnern mit cfengine
Einführung
Was ist cfengine?
- Programmiersprache für die Verwaltung und Konfiguration von TCP/IP-vernetzten Unix-Systemen
- Autor: Mark Burgess (Oslo College, Norwegen)
- unterliegt der GNU-Lizenz , ist also kostenfrei zu benutzen
- aktuelle Version (zur Zeit der Überarbeitung dieser Unterlagen): 1.4.13b6
- Download: ftp://ftp.iu.hioslo.no/pub/cfengine/
Was leistet cfengine?
- Unterstützung des Administrators bei der einheitlichen Verwaltung undKonfiguration von Unix-Systemen und Netzdiensten (Schlagwort: zero administration client)
- Automatisierung der administrativen Systemeingriffe
- Übertragung der Aufgaben an verschiedene Personen ohne Weitergabe von root-Rechten
- Berücksichtigung von Abhänigkeiten (z.B. Signalisierung von Server-Prozessen bei Austausch des Konfigurationsfiles)
Konzepte und Eigenschaften
- cfengine ist eine Programmiersprache auf sehr hohem Sprachniveau: einzelne Anweisungen können Hunderte von Aktionen auslösen
- Arbeitsweise
-
- ein cfengine-Programm beschreibt die Konfiguration eines, mehrerer oder sogar aller Rechner im Verantwortungsbereich
- der cfengine-Interpreter arbeitet das Programm auf jeder betreffenden Maschine ab und vergleicht die Konfiguration des Systems mit dem cfengine-Programm
- dabei festgestellte Unterschiede werden im System korrigiert
- cfengine kommt ohne klassische Steuerstrukturen einer Programmiersprache aus (if-then-else, ...), statt dessen Klassen-basierte Entscheidungsstrukturen
- Klassen dienen der Klassifizierung von
-
- Maschinen entsprechend
-
- dem eingesetzen Betriebssystem
- dem Einsatzzweck (Pool-Maschine, Arbeitsplatz-Maschine, Fax-Server, NFS-Server, ...)
- zeit- oder ereignisabhängig auszuführenden Aktionen
- ein cfengine-Programm kann
-
- ACSII-Files editieren
- Files kopieren
- symbolische Links prüfen und einrichten
- Zugriffsrechte und Eigentümerangaben von Files prüfen und setzen
- Files löschen
- Shell-Scripte und Kommandos ausführen
- Signale an Prozesse schicken
- Netz-Schnittstellen prüfen und konfigurieren
- NFS-Filesysteme automatisch montieren
27. November 1997, überarbeitet: 30. November 1998
Thomas Müller, TU Chemnitz, URZ