| Red Hat Enterprise Linux 4: Einführung in die System-Administration | ||
|---|---|---|
| Zurück | Kapitel 1. Philosophie der Systemadministration | Nach vorne |
Dieser Abschnitt behandelt die Informationen, die sich auf die Philosophie der Systemadministration beziehen und speziell für Red Hat Enterprise Linux gelten.
Die Automatisierung von häufig vorkommenden Aufgaben unter Red Hat Enterprise Linux verlangt Wissen über verschiedene Technologien. Zuallererst benötigen Sie die Befehle, die das Timing der Ausführung von Befehlen oder Skripten steuern. Die Befehle cron und at sind die dazu am häufigsten verwendeten Befehle.
Durch ein einfach zu verstehendes und dennoch leistungsstarkes zeitgesteuertes System kann cron die Ausführung von Befehlen oder Skripten in periodischen Abständen von Minuten bis hin zu Monaten steuern. Der Befehl crontab wird zur Manipulation der Dateien, die den cron-Daemon steuern, der wiederum jeden cron-Job plant, verwendet.
Der Befehl at (und der eng verwandte Befehl batch) sind besser für das Planen der Ausführung von einmaligen Skripts oder Befehlen geeignet. Diese Befehle implementieren ein rudimentäres Batch-Subsystem mit mehreren Warteschlangen und variierenden Prioritäten. Diese Prioritäten sind als niceness Stufen bekannt (durch den Namen des Befehls — nice). at und batch sind perfekt für Aufgaben, die zu einem bestimmten Zeitpunkt beginnen sollen, jedoch im Hinblick auf den Endzeitpunkt nicht zeitkritisch sind.
Als nächstes gibt es die verschiedenen Skript-Sprachen. Dies sind die "Programmiersprachen", die der durchschnittliche Systemadministrator verwendet, um den Betrieb zu automatisieren. Es gibt viele Skriptsprachen (und jeder Systemadministrator hat seine Lieblingssprache), die folgenden sind jedoch zur Zeit die am meisten gebrauchten:
Die bash-Befehls-Shell
Die perl-Skriptsprache
Die python-Skriptsprache
Über die offensichtlichen Unterschiede dieser Sprachen hinaus ist der größte Unterschied die Art und Weise, wie diese Sprachen mit anderen Utilities auf einem Red Hat Enterprise Linux-System kommunizieren. Skripte, die mit der bash-Shell erstellt wurden, neigen zu einem weitläufigen Gebrauch vieler kleiner Utilities (um z.B. Zeichenketten zu manipulieren), während perl-Skripte diese Arten von Funktionen eher mittels Features, welche in der Sprache selbst eingebaut sind, ausführen. Ein mit python geschriebenes Skript kann die objektorientierten Fähigkeiten dieser Sprache voll ausnutzen und so komplexe Skripte leicht erweiterbar werden lassen.
Dies bedeutet, dass wenn Sie das Shell-Skripting wirklich beherrschen wollen, Sie sich mit den vielen Utility-Programmen (wie zum Beispiel grep und sed), die Teil von Red Hat Enterprise Linux sind, auskennen müssen. Wenn Sie perl (und python) erlernen, ist dies ein eher "eigenständiger" Prozess. Viele Konstrukte in perl basieren jedoch auf der Syntax verschiedener, traditioneller UNIX Utility-Programme und sind somit Red Hat Enterprise Linux-Systemadministratoren mit Erfahrung im Shell-Skripting bekannt.
Im Bereich der Dokumentation und Kommunikation gibt es wenig Spezifisches zu Red Hat Enterprise Linux. Da Dokumentation und Kommunikation aus allem Möglichen bestehen können, vom Hinzufügen von Kommentaren zu textbasierten Konfigurationsdateien bis hin zum Aktualisieren einer Webseite oder dem Versenden einer E-Mail, muss ein Red Hat Enterprise Linux-Systemadministrator Zugang zu Texteditoren, HTML-Editoren und E-Mail-Clients haben.
Hier ein kleines Beispiel der vielen unter Red Hat Enterprise Linux verfügbaren Texteditoren:
Der Texteditor gedit
Der Texteditor Emacs
Der Texteditor Vim
Der Texteditor gedit ist eine rein grafische Applikation (benötigt also mit anderen Worten eine aktive X Window Systemumgebung), während vim und Emacs hauptsächlich textbasiert sind.
Die Debatte um den besten Texteditor läuft schon fast seitdem es Computer gibt und wird wohl ewig weiterlaufen. Der beste Ansatz ist wohl jeden Editor zu testen und dabei herauszufinden, welcher der Richtige für Sie ist.
Als HTML-Editoren können Systemadministratoren die Composer-Funktion imMozilla-Web-Browser verwenden. Einige Systemadministratoren ziehen es vor, ihr HTML mit der Hand zu kodieren und lassen so einen herkömmlichen Texteditor zu einem vollkommen akzeptablen Tool werden.
Für E-Mail enthält Red Hat Enterprise Linux den grafischen E-Mail-Client Evolution, den E-Mail-Client Mozilla (auch grafisch) und mutt, welcher textbasiert ist. Wie bei den Texteditoren wird auch die Auswahl des E-Mail-Clients eher durch persönliche Vorlieben bestimmt. Der beste Ansatz ist wiederum alle zu probieren und den für Sie besten E-Mail-Client zu wählen.
Wie bereits in diesem Kapitel erwähnt, sollte Sicherheit nicht nur ein nachträglicher Gedanke sein; Sicherheit unter Red Hat Enterprise Linux bleibt nicht nur an der Oberfläche. Authentifizierung und Zugangskontrollen sind tief in das Betriebssystem integriert und basieren auf Designs, die auf langjähriger Erfahrung der UNIX-Gemeinschaft beruhen.
Für die Authentifizierung verwendet Red Hat Enterprise Linux PAM — Pluggable Authentication Modules. PAM ermöglicht das Abstimmen der Benutzerauthentifizierung über die Konfiguration gemeinsamer Bibliotheken, die von allen PAM-kompatiblen Applikationen verwendet werden, ohne dass Änderungen an den Applikationen selbst nötig werden.
Zugangskontrolle unter Red Hat Enterprise Linux verwendet traditionelle UNIX-artige Berechtigungen (Lesen, Schreiben, Ausführen) für Benutzer, Gruppen und "Andere" Klassifikationen. Wie UNIX verwendet Red Hat Enterprise Linux auch setuid und setgid-Bits, um temporär Zugangsberechtigungen für Prozesse, die ein bestimmtes Programm ausführen, basierend auf dem Besitzer der Programmdatei zu vergeben. Dies bedeutet, dass jegliche Programme, die mit setuid- oder setgid-Berechtigungen laufen, sorgfältig auf eventuell bestehende Anfälligkeiten untersucht werden müssen.
Red Hat Enterprise Linux enthält desweiteren Support für die Zugangskontrolllisten. Eine Zugangskontrolllliste (ACL - Access Control List) ist ein Konstrukt, das feinabgestimmte Kontrollen über die Benutzer oder Gruppen, die auf eine Datei oder ein Verzeichnis zugreifen, ausübt. So kann z.B. eine Dateiberechtigung jeglichen Zugang zu den Dateien für alle außer dem Besitzer sperren. Die ACL der Datei kann jedoch so konfiguriert werden, dass einzig der Benutzer bob auf die Datei schreiben und die Gruppe finance die Datei lesen darf.
Ein weiterer Aspekt der Sicherheit ist die Fähigkeit, die Systemaktivitäten im Auge zu behalten. Red Hat Enterprise Linux macht ausführlichen Gebrauch von Logging auf Kernel- und auf Applikationsebene. Das Logging wird vom Systemlogging-Daemon syslogd gesteuert, der Systeminformationen lokal (gewöhnlich in Dateien im Verzeichnis /var/log/) oder auf einem Remote-System (das als Log-Server für mehrere Computer dient) aufzeichnet.
Intrusion Detection Systeme (IDS) sind leistungsstarke Tools für jeden Red Hat Enterprise Linux Systemadministrator. Ein IDS ermöglicht es Systemadministratoren festzustellen, ob unberechtigte Änderungen an einem oder mehreren Systemen vorgenommen wurden. Das allgemeine Design des Betriebssystems selbst beinhaltet IDS-ähnliche Funktionalität.
Da Red Hat Enterprise Linux mit Hilfe des RPM Paket-Managers (RPM) installiert wird, ist es möglich mit RPM festzustellen, ob Änderungen an den Paketen vorgenommen wurden, die das Betriebssystem kompromittieren könnten. Da jedoch RPM eher ein Paket-Management-Tool ist, sind dessen Fähigkeiten als IDS eingeschränkt. Es kann dennoch als erster Schritt für die Kontrolle eines Red Hat Enterprise Linux-Systems in Bezug auf unberechtigte Änderungen sein.
| Zurück | Zum Anfang | Nach vorne |
| Erwarten Sie das Unerwartete | Nach oben | Zusätzliche Ressourcen |