Galileo Computing
Das Komplettpaket LPIC-1 & LPIC-2
Das gesamte Prüfungswissen
Bearbeitet vonHarald Maaßen
1. Auflage 2012. Buch.ISBN 978 3 8362 1786 6
Format (B x L): 16,8 x 24 cm
Weitere Fachgebiete > EDV, Informatik > EDV, Informatik: Allgemeines, ModerneKommunikation > EDV: Ausbildung, Berufe, Zertifizierung
schnell und portofrei erhältlich bei
Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft.Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, eBooks, etc.) aller Verlage. Ergänzt wird das Programmdurch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr
als 8 Millionen Produkte.
Auf einen Blick
LPI 101 .................................................................................. 19
Topic 101: Systemarchitektur ..................................................... 21
Topic 102: Linux-Installation und -Paketverwaltung ................... 57
Topic 103: GNU- und Unix-Kommandos .................................... 87
Topic 104: Geräte, Linux-Dateisysteme, Filesystem Hierarchy Standard ................................... 157
Übungsfragen zu LPI 117-101 ..................................................... 207
LPI 102 .................................................................................. 281
Topic 105: Shells, Skripte und Datenverwaltung ......................... 283
Topic 106: Oberflächen und Desktops ........................................ 325
Topic 107: Administrative Aufgaben ........................................... 355
Topic 108: Grundlegende Systemdienste .................................... 389
Topic 109: Netz-Grundlagen ...................................................... 411
Topic 110: Sicherheit .................................................................. 439
Übungsfragen zu LPI 117-102 ..................................................... 465
5
Inhalt
Vorwort ....................................................................................................... 15Hinweise zum Buch .............................................................................. 15Hinweise zur Prüfung ........................................................................... 17
LPI 101Power On! Die Hardware wird initialisiert und die Daemonen geweckt. Grundlegende Fertigkeiten in der Konfiguration von Massenspeichern, Peripheriegeräten und BIOS-Einstellungen sind für die erste Prüfung unbedingt erforderlich. 21
Topic 101: Systemarchitektur ..................................................... 21
101.1 Hardware-Einstellungen ermitteln und konfigurieren ................. 21Allgemeines ................................................................................... 22Module zur Laufzeit beeinflussen und konfigurieren ...................... 22Modulkonfigurationsdateien .......................................................... 28Zum Kernel gehörende Dateien und Verzeichnisse ......................... 29Die Gerätedateien für Festplatten und CD-ROMs ........................... 30Die Gerätedateien für Partitionen .................................................. 31Ressourcen für Hardwarekomponenten .......................................... 32Der PCI-Bus ................................................................................... 33USB – Universal Serial Bus .............................................................. 34USB-Host-Controller-Typen ........................................................... 34USB-Klassen .................................................................................. 35USB-Module automatisch laden ..................................................... 36Coldplug und Hotplug ................................................................... 37Das virtuelle Dateisystem sysfs ....................................................... 37udev, hald und dbus ...................................................................... 38
101.2 Das System starten ...................................................................... 38Allgemeines ................................................................................... 39Boot-Strap-Loader ......................................................................... 41Kernel-Parameter ........................................................................... 42Startprotokollierung ....................................................................... 43
101.3 Runlevel wechseln und das System anhalten oder neu starten ................................................................................... 45Allgemeines ................................................................................... 46Die Runlevel und ihre Funktion ...................................................... 46Die Konfigurationsdatei inittab ...................................................... 47Verzeichnisse und Dateien des init-Prozesses ................................. 49Runlevel-Wechsel, Herunterfahren, Neustart ................................. 52Upstart .......................................................................................... 53Systemd ......................................................................................... 54
Inhalt
6
Nachdem Sie über die korrekte Konfiguration der Hardware bestens Bescheid wissen, kann nun mit der Planung der Partitionen und der Konfiguration eines Bootloaders fortgefahren werden. 57
Topic 102: Linux-Installation und -Paketverwaltung ................. 57
102.1 Festplattenaufteilung planen ....................................................... 57Allgemeines ................................................................................... 57Planung im Detail .......................................................................... 58Logical Volume Manager ............................................................... 59LVM-Komponenten und Zusammenhänge ..................................... 60
102.2 Einen Bootmanager installieren ................................................... 61Allgemeines ................................................................................... 61GRUB-Legacy ................................................................................. 62GRUB 2 ......................................................................................... 63
102.3 Shared Librarys verwalten ............................................................ 64Allgemeines ................................................................................... 64Verwaltung von Shared Librarys ..................................................... 65
102.4 Debian-Paketverwaltung verwenden ........................................... 66Allgemeines ................................................................................... 67Konfigurationsdateien und Verzeichnisse ....................................... 67DPKG-Programme ......................................................................... 69
102.5 RPM und YUM-Paketverwaltung verwenden .............................. 76Allgemeines ................................................................................... 76Konfigurationsdateien .................................................................... 77RPM aktiv verwenden .................................................................... 78Abfragen der RPM-Datenbank ....................................................... 79Überprüfung installierter Pakete .................................................... 81Pakete umwandeln ........................................................................ 82yum und der yumdownloader ........................................................ 82
Ein großer Teil dessen, was ganz selbstverständlich als Linux bezeichnet wird, entspringt in Wirklichkeit dem GNU-Projekt. In dem nun folgenden Kapitel geht es um einen kleinen Teil von GNU. GNU is Not Unix. GNU is Not Unix. GNU is Not U... 87
Topic 103: GNU- und Unix-Kommandos .................................... 87
103.1 Auf der Kommandozeile arbeiten ................................................. 87Allgemeines ................................................................................... 88Aufbau eines Shell-Kommandos ..................................................... 88Übergabe der Optionen ................................................................. 89Umgebungsvariablen und Shellvariablen ........................................ 90Beliebte Variablen für die Prüfung ................................................. 93Bash-Befehls-History und automatisches Vervollständigen von Befehlen .................................................................................. 94Befehlseingabe ............................................................................... 95PATH-Variable ............................................................................... 95Rekursive Befehlsausführung .......................................................... 96Das Kommando uname .................................................................. 97Die Manpages im Allgemeinen ...................................................... 97
Inhalt
7
Funktionsweise der Manpages ....................................................... 97$MANPATH und die Datei manpath.config .................................... 97Die Sektionen des Mansystems ...................................................... 98Aufbau von Manpages ................................................................... 99Verwandte Befehle ........................................................................ 99
103.2 Textströme mit Filtern verarbeiten .............................................. 101Allgemeines ................................................................................... 102cat .............................................................................................. 102tac .............................................................................................. 102head .............................................................................................. 103tail .............................................................................................. 103expand/unexpand .......................................................................... 104fmt .............................................................................................. 104nl .............................................................................................. 104pr .............................................................................................. 105wc .............................................................................................. 105hexdump ....................................................................................... 106od .............................................................................................. 106sort .............................................................................................. 106uniq .............................................................................................. 107split .............................................................................................. 107cut, paste und join ......................................................................... 108tr .............................................................................................. 110
103.3 Grundlegende Dateiverwaltung ................................................... 111Allgemeines ................................................................................... 112Kommandos für Dateioperationen ................................................. 112Verwendung von Wildcards ........................................................... 118
103.4 Ströme, Pipes und Umleitungen verwenden ................................ 124Allgemeines ................................................................................... 125stdin, stdout und stderr ................................................................. 125Umleitungen (Redirects) ................................................................ 126Pipes ............................................................................................. 127tee und xargs ................................................................................. 128
103.5 Prozesse erzeugen, überwachen und beenden ............................. 128Allgemeines ................................................................................... 129Überwachen von Prozessen ........................................................... 129Signale an Prozesse senden ............................................................ 133Jobs im Vorder- und im Hintergrund .............................................. 135Prozesse unabhängig von einem Terminal laufen lassen ................. 138
103.6 Prozess-Ausführungsprioritäten ändern ...................................... 139Allgemeines ................................................................................... 139nice .............................................................................................. 140
Inhalt
8
renice ............................................................................................ 140top und ps zur Überprüfung von Prioritäten ................................... 141
103.7 Textdateien mit regulären Ausdrücken durchsuchen ................... 142Allgemeines ................................................................................... 142Reguläre Ausdrücke ....................................................................... 143Die Verwendung von grep ............................................................. 144egrep und fgrep ............................................................................. 148Die Verwendung von sed ............................................................... 148
103.8 Grundlegendes Editieren von Dateien mit dem vi ....................... 152Allgemeines ................................................................................... 152Bedienungsgrundlagen ................................................................... 153Navigation in einem Dokument ..................................................... 154Einfügen, Löschen, Kopieren und Auffinden von Text .................... 155Befehlszeilenoptionen für vi ........................................................... 156
Im nächsten Themenkomplex soll dargestellt werden, was alles nötig ist, um Daten sicher auf einem Medium speichern zu können und die Zugriffsrechte auf diese Dateien professionell zu handhaben. 157
Topic 104: Geräte, Linux-Dateisysteme, Filesystem Hierarchy Standard .................................. 157
104.1 Partitionen und Dateisysteme anlegen ........................................ 157Allgemeines ................................................................................... 157Erzeugen der Partitionen ................................................................ 158Formatieren der Dateisysteme ....................................................... 161Erstellen einer Swap-Datei ............................................................. 165
104.2 Die Integrität von Dateisystemen sichern ................................... 166Allgemeines ................................................................................... 166Sicherstellen der Integrität des Dateisystems und Problembehebung ......................................................................... 167XFS-Werkzeuge ............................................................................. 170Überwachen des freien Platzes und der freien Inodes ..................... 171
104.3 Das Ein- und Aushängen von Dateisystemen steuern ................. 174Allgemeines ................................................................................... 174Manuelles Mounten und Unmounten ............................................ 174Automatisches Mounten über die Datei /etc/fstab ......................... 178
104.4 Platten-Quotas verwalten ............................................................ 180Allgemeines ................................................................................... 181Möglichkeiten der Quotierung ....................................................... 181Vorbereiten von Quota .................................................................. 182Aktivieren von Quota ..................................................................... 183Ändern und Überprüfen von Quota ............................................... 184
104.5 Dateizugriffsrechte und -eigentümerschaft verwalten ................ 186Allgemeines ................................................................................... 186Vergabe der Berechtigungen .......................................................... 187
Inhalt
9
Verwendung von SUID, SGID und Sticky Bit .................................. 189chown ........................................................................................... 191chgrp ............................................................................................. 192Verwendung von umask ................................................................. 192Dateiattribute der ext2-, ext3- und ext4-Dateisysteme .................. 193
104.6 Harte und symbolische Links anlegen und ändern ...................... 195Allgemeines ................................................................................... 195Softlinks ......................................................................................... 195Hardlinks ....................................................................................... 198
104.7 Systemdateien finden und Dateien am richtigen Ort platzieren ............................................................................... 200Allgemeines ................................................................................... 200FHS – Filesystem Hierarchy Standard .............................................. 200Programme zum Auffinden von Dateien ......................................... 202
207
Übungsfragen zu LPI 117-101 ...................................................... 207
Fragen ......................................................................................................... 207Antworten und Erklärungen zu den Prüfungsfragen ..................................... 247
LPI 102Was eine Shell ist und wie man sie benutzt, wissen Sie ja bereits. Jetzt werden Sie lernen, an der Shell einige individuelle Anpassungen vorzunehmen und Skripte zu schreiben, welche die alltägliche Arbeit erleichtern. Optimieren Sie Ihre Arbeitsumgebung! 283
Topic 105: Shells, Skripte und Datenverwaltung ........................ 283
105.1 Die Shell-Umgebung anpassen und verwenden ........................... 283Allgemeines ................................................................................... 284Verwendung von Shells .................................................................. 284Umgebungsvariablen und Shellvariablen ........................................ 285Aliase und Funktionen ................................................................... 287Konfigurationsdateien der Bash ..................................................... 290Systemweite Konfigurationsdateien ............................................... 291Konfigurationsdateien für den Benutzer ......................................... 291Das Skeleton Verzeichnis /etc/skel ................................................. 292
105.2 Einfache Skripte anpassen oder schreiben ................................... 292Allgemeines ................................................................................... 293Ausführen eines Skripts .................................................................. 293Ausführungsberechtigung .............................................................. 295Position eines Skripts ..................................................................... 296Übergabevariablen und Rückgabewerte ......................................... 296Schleifen und Bedingungen ............................................................ 297
105.3 SQL-Datenverwaltung .................................................................. 304Allgemeines ................................................................................... 305SQL – Die Befehle .......................................................................... 305
Inhalt
10
Die ersten Schritte ......................................................................... 306Eine erste Datenbank ..................................................................... 309Abfragen mit SELECT und WHERE ................................................. 311Aktualisieren von Datensätzen ....................................................... 314Sortieren und Gruppieren .............................................................. 314Erweitern von Datenbanken ........................................................... 316Arbeiten mit mehreren Tabellen .................................................... 318Destruktive Kommandos ................................................................ 323
In diesem Kapitel lernen Sie die prüfungsgerechte Konfiguration von X11, von Displaymanagern und Windowmanagern. Es wird also zur Abwechslung ausnahmsweise einmal grafisch. 325
Topic 106: Oberflächen und Desktops ........................................ 325
106.1 X11 installieren und konfigurieren ............................................... 325Allgemeines ................................................................................... 325Der Aufbau von X .......................................................................... 326Der Startvorgang von X .................................................................. 328X-Terminals ................................................................................... 329X-Librarys ...................................................................................... 329Konfigurationsdateien .................................................................... 329X-Fontserver .................................................................................. 333X-Display exportieren .................................................................... 335xwininfo ........................................................................................ 336xdpyinfo ........................................................................................ 337
106.2 Einen Displaymanager einrichten ................................................. 339Allgemeines ................................................................................... 339Starten und Beenden eines Displaymanagers .................................. 339Konfigurationsdateien der Displaymanager .................................... 340
106.3 Hilfen für Behinderte .................................................................... 340Allgemeines ................................................................................... 341Sehbehinderte und Blinde .............................................................. 341Barrierefreiheit ............................................................................... 342Orca .............................................................................................. 347GOK .............................................................................................. 352emacspeak ..................................................................................... 353
Nun geht es um eine der wichtigsten Tätigkeiten eines Administrators: das Verwalten von Benutzerkonten, Gruppenkonten und das Schaffen einer anfänglichen Umgebung, in der die Benutzer arbeiten können. 355
Topic 107: Administrative Aufgaben ........................................... 355
107.1 Benutzer- und Gruppenkonten und dazugehörige Systemdateien verwalten ...................................... 355Allgemeines ................................................................................... 356passwd, shadow, group, gshadow .................................................. 357Befehle zur Verwaltung von Benutzern ........................................... 361
Inhalt
11
Befehle zur Verwaltung von Gruppen ............................................. 365Befehle zur Verwaltung des Shadow-Systems ................................. 368
107.2 Systemadministrationsaufgaben durch Einplanen von Jobs automatisieren .............................................................. 369Allgemeines ................................................................................... 369Die Verwendung von cron ............................................................. 370Die Verwendung von at ................................................................. 373Grundlegendes zu anacron ............................................................. 374Zugriffssteuerung auf cron und at ................................................... 374
107.3 Lokalisierung und Internationalisierung ...................................... 375Allgemeines ................................................................................... 376Zeitzoneneinstellung ...................................................................... 376Umgebungsvariablen für die Lokalisation ....................................... 379Historische Zeichensätze ................................................................ 381ASCII – American Standard Code for Information Interchange ................................................................................... 382ISO 8859 ....................................................................................... 385Unicode und UTF-8 ....................................................................... 386Konvertierung von Zeichensätzen .................................................. 386
Die Dienste eines Systems müssen kontrolliert und gepflegt werden. Um sich die Arbeit so weit wie möglich zu erleichtern, können Sie hier einiges automatisieren. Zur Vereinfachung der Kontrolle können Sie die Protokollierung auf die eigenen Bedürfnisse zuschneiden. 389
Topic 108: Grundlegende Systemdienste .................................... 389
108.1 Die Systemzeit verwalten ............................................................. 389Allgemeines ................................................................................... 390Manuelle Konfiguration der Systemzeit .......................................... 390Die RTC-Uhr einstellen .................................................................. 391Zeitzonen ...................................................................................... 391Zeitsynchronisation über das Netzwerk .......................................... 392Automatische Zeitsynchronisation .................................................. 392NTP Diagnose ................................................................................ 393pool.ntp.org .................................................................................. 394
108.2 Systemprotokollierung ................................................................. 394Allgemeines ................................................................................... 395syslogd und syslog-ng .................................................................... 395Die Konfigurationsdateien ............................................................. 395Einsatz von Log-Dateien zur Fehlersuche ....................................... 397Selbst Ereignisse loggen ................................................................. 398Der Kernellog ................................................................................ 399
108.3 Grundlagen von Mail Transfer Agents (MTAs) ............................. 399Allgemeines ................................................................................... 400MUA, MDA und MTA .................................................................... 400
Inhalt
12
Mail – Aliase .................................................................................. 401Weiterleitung von Mail .................................................................. 402Wichtige Dateien und Verzeichnisse .............................................. 402sendmail-Konfigurationsdateien ..................................................... 403postfix-Konfigurationsdateien ........................................................ 403Smarthost und SMTP-Relay ............................................................ 404exim und qmail .............................................................................. 405
108.4 Drucker und Druckvorgänge verwalten ....................................... 405Allgemeines ................................................................................... 405Verwalten der Druckerwarteschlangen ........................................... 406Befehle zur Kontrolle von Druckvorgängen .................................... 407lpc – Line Printer Control ............................................................... 408Drucken mit CUPS ......................................................................... 409
TCP/IP ist das Netzwerkprotokoll, das sich im Laufe der Jahrzehnte weltweit, sowohl im Internet, als auch in Intranets, absolut durchgesetzt hat. Grund genug, hier ein paar Worte darüber zu verlieren. 411
Topic 109: Netz-Grundlagen ....................................................... 411
109.1 Grundlagen von Internet-Protokollen .......................................... 411Allgemeines ................................................................................... 412TCP/IP-Geschichte kurz gefasst ...................................................... 412Das DoD-Modell ........................................................................... 413Die Protokolle der dritten Schicht .................................................. 413Die Protokolle der zweiten Schicht ................................................ 415Das Internetprotokoll IPv4 ............................................................. 416IP-Klassen ...................................................................................... 417Die Verwendung der Subnetzmaske und CIDR ............................... 418Die Broadcast-Adressen ................................................................. 420Standardgateway ........................................................................... 421Das Internetprotokoll IPv6 ............................................................. 421TCP/IP Werkzeuge ......................................................................... 423
109.2 Grundlegende Netz-Konfiguration .............................................. 429Allgemeines ................................................................................... 430Konfigurationsdateien eines Netzwerk-Clients ............................... 430Konfigurationsprogramme für Netzwerk-Clients ............................. 433
109.3 Grundlegende Netz-Fehlersuche .................................................. 435Allgemeines ................................................................................... 436netstat ........................................................................................... 436
109.4 Client-seitiges DNS konfigurieren ............................................... 437Allgemeines ................................................................................... 438
Inhalt
13
Ein Administrator muss natürlich auch in der Lage sein, Sicherheitsbedrohungen in seinem Netzwerk aufzufinden und zu beseitigen. Die folgenden Themen bieten dazu eine gute Grundlage. 439
Topic 110: Sicherheit ................................................................... 439
110.1 Administrationsaufgaben für Sicherheit durchführen .................. 439Allgemeines ................................................................................... 440Auffinden von Dateien mit gesetztem SUID/SGID-Bit .................... 440Setzen oder Löschen von Passwörtern und Passwort-Verfallszeiten .................................................................. 440nmap, netstat und socket ............................................................... 440Ressourcenverwendung kontrollieren ............................................. 441Offene Dateien .............................................................................. 442Arbeiten mit erhöhten Rechten ...................................................... 444
110.2 Einen Rechner absichern .............................................................. 445Allgemeines ................................................................................... 446Superdaemons ............................................................................... 446TCP-Wrapper konfigurieren ........................................................... 448Die Datei /etc/nologin ................................................................... 449
110.3 Daten durch Verschlüsselung schützen ....................................... 449Allgemeines ................................................................................... 450SSH verwenden .............................................................................. 450SSH-Client-Verbindung .................................................................. 451SSH-Konfigurationsdateien ............................................................ 452Authentifizierung der Server mit Schlüsseln .................................... 453Generieren von Schlüsseln ............................................................. 454Benutzerauthentifizierung mit Schlüsseln ....................................... 455Der Authentifizierungsagent .......................................................... 457GnuPG ........................................................................................... 457Schlüsselerstellung mit GnuPG ....................................................... 458GnuPG-Dateien ............................................................................. 461GnuPG verwenden ......................................................................... 461GnuPG-Zertifikat widerrufen .......................................................... 463
465
Übungsfragen zu LPI 117-102 ...................................................... 465
Fragen ......................................................................................................... 465Antworten und Erklärungen zu den Prüfungsfragen ..................................... 502
Index ........................................................................................................... 535
15
Vorwort
Herzlich willkommen!
Dieses Buch bietet Ihnen eine optimale Möglichkeit, Ihr Wissen über Linux zuverbessern und sich auf die ersten beiden Prüfungen des Linux Professional Insti-tute (LPI) vorzubereiten. Die vorliegende Auflage berücksichtigt bereits die letz-ten Änderungen des LPI zum 01. April 2012.
Das Zertifikat, das Sie nach dem Bestehen dieser Prüfungen erwerben, wirdIhnen erhebliche Vorteile bei der Suche nach einem Arbeitsplatz bringen. Auchfür Arbeitgeber ist es wünschenswert, die Fachkompetenz der eigenen Mitarbei-ter schriftlich belegen zu können. Eine vollständige und aktuelle Auflistung dermöglichen Zertifizierungen mit LPI finden Sie unter:
http://www.lpi.org/linux-certifications/programs
Hinweise zum Buch
Für wen ist dieses Buch?
Dieses Buch richtet sich an all diejenigen, die zur Förderung ihrer beruflichenLaufbahn Fachwissen erlangen und dieses zertifizieren lassen wollen. Das Buchist ausdrücklich nicht als Nachschlagewerk gedacht, sondern bereitet gezielt aufdie Prüfungen LPIC 101 und LPIC 102 vor. Um die Level-1-Zertifikation des LinuxProfessional Institute zu erwerben, müssen Sie diese beiden Prüfungen ablegenund bestehen.
Voraussetzungen
Sie sollten bereits gute Vorkenntnisse aus dem Bereich der EDV mitbringen. AuchFachwissen im Bereich Unix oder Linux ist absolut von Vorteil, wenn auch nichtVoraussetzung. Wenn in diesem Buch Themen behandelt werden, die aus demBereich Linux für Einsteiger zu sein scheinen, dann hat dies den Hintergrund,dass diese Themen für Sie prüfungsfähig aufgearbeitet werden sollen.
Damit die vorgestellten Themen auch praktisch angewendet werden können,benötigen Sie einen Computer, auf dem eine beliebige Linux-Distribution instal-liert ist. Da die Prüfungen des LPI unabhängig von einem bestimmten Hersteller
16
Vorwort
bzw. einer bestimmten Distribution erstellt wurden, sind Sie hier in Ihrer Aus-wahl eigentlich nicht eingeschränkt. Praktischer ist es allerdings, wenn Sie min-destens zwei Linux-Distributionen in virtuellen Maschinen einsetzen. Sie könnendann einfach die distributionsspezifischen Unterschiede selbst sehen und gege-benenfalls testen. Das ist z.B. beim Thema Paketmanagement besonders interes-sant. Sollten Sie sich für den Einsatz mehrerer Distributionen entscheiden, dannempfehle ich Ihnen die Auswahl eines eher Debian-basierten (z.B. Debian,Ubuntu, Mint) und eines Red Hat-basierten Systems (z.B. CentOS, Fedora). Sokönnen Sie gleichzeitig die Vor- und Nachteile dieser beiden Welten einmalselbst (hoffentlich vorurteilsfrei) unter die Lupe nehmen.
Der Aufbau des Buches
Das Buch ist in vier Abschnitte unterteilt. Für beide Prüfungen, die zum Erwerbdes ersten LPI-Zertifikates notwendig sind, gibt es jeweils eine Sektion, die zumSelbststudium der jeweiligen Prüfungsinhalte geeignet ist. Außerdem gibt es fürbeide Prüfungen einen Bereich mit realistischen Fragen, wie sie auch in der Prü-fung gestellt werden könnten. Zum besseren Verständnis sind die Antworten zuden Fragen genau erläutert. Sie sollten nicht versuchen, die Fragen auswendig zulernen, weil Sie in der Prüfung mit völlig anderen Fragen konfrontiert werden.Die im Buch verwendeten Fragen sind keine Prüfungsfragen.
Die Kapitel in diesem Buch sind genauso angeordnet und benannt, wie die soge-nannten Objectives des LPI. Jedem Kapitel ist eine Wichtung (im Original alsWeight bezeichnet) zugeordnet. Die Wichtung gibt einen klaren Hinweis auf dieAnzahl der Fragen, die zu dem jeweiligen Thema gestellt werden. Sie entsprichtnämlich seit April 2009 der genauen Fragenanzahl in der Prüfung von 60 mögli-chen Fragen.
Wie man mit diesem Buch arbeitet
In den ersten beiden LPI-Prüfungen werden Sie mit sehr vielen Fragen konfron-tiert, die sich mit Kommandos und deren (u.U. selten verwendeten) Optionenbeschäftigen. Es wurde beim Erstellen dieses Buches sehr sorgfältig darauf geach-tet, genau die Parameter und Optionen eines Kommandos niederzuschreiben, diefür die Prüfungen auch relevant sind. Das ist aber leider keine Garantie dafür,dass keine anderen Optionen in der Prüfung abgefragt werden. Sie sollten sichalso zusätzlich zu den dokumentierten Beispielen auch mit den Manpages derentsprechenden Kommandos beschäftigen. Gerade in den ersten beiden Prüfun-gen kommen Sie allein mit Berufserfahrung nicht weiter. Es ist hier auch notwen-dig, Parameter zu kennen, die man in der Praxis eher selten benötigt und beiBedarf in den Manpages nachlesen würde.
17
Vorwort
Die Prüfungssimulation
Die dem Buch beiliegende Prüfungssimulation basiert auf XML und kann z.B. mitdem Webbrowser Firefox ausgeführt werden. Öffnen Sie zu diesem Zweck ein-fach die Datei pruefungssimulator_starten.html. Sie sollten dieses Programm abererst dann verwenden, wenn Sie sich gründlich mit den Themen des Buchesbeschäftigt haben. Sie können mit dem Programm Ihren Kenntnisstand überprü-fen, aber die Aussagekraft des erzielten Ergebnisses sinkt umgekehrt proportio-nal mit der Anzahl der Durchgänge durch die Prüfungssimulation.
Hinweise zur Prüfung
Onlineprüfung
Es gibt zwei verschiedene Organisationen, bei denen Sie die Prüfungen in soge-nannten Prüfungszentren online ablegen können. In Bezug auf die gestellten Fra-gen macht es keinen Unterschied, für welche der beiden Sie sich entscheiden.
Pearson Vue: http://www.vue.com
Thomson Prometric: http://www.prometric.com
Besuchen Sie einfach eine dieser beiden Webseiten, und registrieren Sie sich. Diegenauen Vorgehensweisen sind auf den jeweiligen Webseiten erklärt. Wenn einKonto für Sie eingerichtet wurde, werden Sie per E-Mail informiert. Es ist dannsofort möglich, Prüfungen verschiedenster Hersteller bzw. Organisationen onlinezu buchen. Sie können den Zeitpunkt selbst bestimmen und ein Prüfungszent-rum in Ihrer Nähe aus der Datenbank auswählen. Die Bezahlung erfolgt bequemper Kreditkarte, und Sie werden per E-Mail benachrichtigt, sobald der Termin fürSie reserviert wurde. Im Augenblick benötigt Pearson Vue 24 Stunden Vorlauf fürdie Buchung einer Prüfung. Thomson Prometric benötigt sogar 48 Stunden. Siekönnen also eine Prüfung frühestens für den nächsten Tag buchen. Die LPI-Prü-fungen kosten derzeit 145 €.
Papierprüfung
Es gibt hin und wieder auch die Möglichkeit, LPI-Prüfungen auf Papier abzule-gen. Das geschieht meist auf Messen oder Kongressen. Diese Prüfungen könnennormalerweise zu einem erheblich günstigeren Preis abgelegt werden als die imvorangegangenen Abschnitt thematisierten Onlineprüfungen. Da Papierprüfun-gen nicht immer sofort ausgewertet werden können, kann es allerdings eineWeile dauern, bis Sie über das Ergebnis Ihrer Prüfung informiert werden. InDeutschland werden Papierprüfungen normalerweise auf der CeBIT in Hannover
18
Vorwort
oder auf den Linux-Tagen angeboten. Weitere Veranstaltungen, auf denen SiePapierprüfungen ablegen können, finden Sie auf dieser Webseite:
http://lpievent.lpice.eu
Hier wird Ihnen auch gleich die Möglichkeit gegeben, sich zu einer Prüfung anzu-melden.
Punktevergabe
Die Punktevergabe bei den Prüfungen sieht im Moment folgendermaßen aus:
Zum Bestehen einer beliebigen LPI-Prüfung sind 500 Punkte erforderlich. In denPrüfungen 117-101 und 117-102 müssen Sie jeweils 60 Fragen in 90 Minutenbeantworten. Hierbei können Sie jeweils 800 Punkte erreichen. Bei Prüfungen, dieauf Papier abgelegt werden, kann die Punktevergabe abweichend sein.
In den Prüfungen sind jeweils Betafragen enthalten, die Ihre Punktezahl nichtbeeinträchtigen. Da diese Fragen nicht gesondert markiert sind, müssen Sie sieebenfalls beantworten. Wegen der eingestreuten Betafragen ist eine genaueBerechnung der benötigten Punkte in Prozent auch nicht möglich.
Sprachen
In Deutschland steht die LPI-Prüfung in den Sprachen Deutsch, Englisch, Chine-sisch und brasilianisches Portugiesisch zur Verfügung. Viele Prüflinge legen diePrüfung in englischer Sprache ab, um eventuellen Übersetzungsfehlern aus demWeg zu gehen. Das ist bei einigen Prüfungen, die ich aus eigener Erfahrungkenne, auch absolut angebracht. Die Fragen in den LPI-Prüfungen sind allerdingsim Verhältnis zu den gängigen Herstellerprüfungen kurz gefasst und bieten des-halb wenig Stoff für Übersetzungsfehler. Wenn Ihr Englisch nicht erstklassig ist,sollten Sie die Prüfung lieber in Ihrer Muttersprache ablegen.
Ich wünsche Ihnen viel Spaß und Erfolg beim Bestehen der Prüfungen!
Harald Maaßen
389
Die Dienste eines Systems müssen kontrolliert und gepflegt werden. Um sich die Arbeit so weit wie möglich zu erleichtern, können Sie hier einiges automatisieren. Zur Vereinfachung der Kontrolle können Sie die Proto-kollierung auf die eigenen Bedürfnisse zuschneiden.
Topic 108: Grundlegende Systemdienste
108.1 Die Systemzeit verwalten
Wichtung: 3
Beschreibung: Kandidaten sollten in der Lage sein, die Systemzeit korrekt zu hal-ten und die Uhr mittels NTP zu synchronisieren.
Wichtigste Wissensgebiete:
� Systemzeit und -datum setzen
� die Hardware-Uhr auf die korrekte Zeit in UTC setzen
� die korrekte Zeitzone einstellen
� grundlegende NTP-Konfiguration
� Wissen über den Gebrauch von pool.ntp.org
Liste wichtiger Dateien, Verzeichnisse und Anwendungen:
� /usr/share/zoneinfo
� /etc/timezone
� /etc/localtime
� /etc/ntp.conf
� date
� hwclock
� ntpd
� ntpdate
� pool.ntp.org
390
Grundlegende Systemdienste108
Allgemeines
Für viele Abläufe auf einem Computer ist es wichtig, dass die Systemzeit korrekteingestellt ist. Vergleichsweise harmlos ist hier noch der Umstand, dass beiabweichender Systemzeit Wartungsarbeiten, die durch cron oder anacron ausge-führt werden, möglicherweise zu Zeiten mit Spitzenbelastung laufen und so dieProduktionsumgebung negativ beeinflussen. Unangenehm ist dann schon, dassProtokollierungen mit einer falschen Uhrzeit oder gar mit einem falschen Datumversehen werden. Verwirrend kann es auch werden, wenn Mails anscheinendeintreffen, bevor Sie überhaupt geschrieben wurden. All diese Unannehmlichkei-ten lassen sich durch eine richtig eingestellte Systemzeit vermeiden. Eine Auto-matisierung der Zeitkorrektur macht bei Servern, die unbeaufsichtigt in einemKeller ihre Arbeit verrichten, also absolut Sinn.
Manuelle Konfiguration der Systemzeit
Die manuelle Konfiguration der Systemzeit erfolgt über das Kommando date.Wenn Sie date ohne Parameter starten, werden das aktuelle Datum und die Uhr-zeit ausgegeben.
[root@fedora10 ~]# dateDi 28. Apr 17:54:52 CEST 2009
Hierbei ist zu beachten, dass es sich tatsächlich um die Systemzeit handelt. Dieseist unter Umständen nicht synchron mit der Hardware-Uhr (RTC bzw. Real-Time-Clock). Wenn Sie die Uhrzeit mittels date ändern wollen, dann gehen Sie folgen-dermaßen vor:
archangel:~ # date -s 1755Di 28. Apr 17:55:00 CEST 2009
Die Uhr wird auf 17.55 Uhr eingestellt. Es ist aber auch möglich, date zu verwen-den, um recht elegante Uhrzeitausgaben zu generieren. Das kann etwa in eigenenSkripten verwendet werden. Wenn date auf ein + trifft, wird die darauf folgendeZeichenkette von date ausgegeben und die enthaltenen Variablen entsprechendergänzt. Das sieht z.B. so aus:
# date "+Heute ist der %d.%m.%Y. Das ist der %j. Tag des Jahres."Heute ist der 28.04.2009. Das ist der 118. Tag des Jahres.
Das Programm unterstützt zahlreiche weitere Variablen. Diese können Sie sichmit date –help anzeigen lassen.
391
Die Systemzeit verwalten 108.1
Die RTC-Uhr einstellen
Mit dem Kommando hwclock können Sie die Systemzeit in die Hardware-Uhrschreiben oder umgekehrt. Sie müssen beide Verfahren für die Prüfung kennen.Das sollte aber nicht weiter problematisch sein, weil Sie die benötigten Optionenleicht wiedererkennen können. Folgendes Kommando schreibt die Systemzeit indie Echtzeituhr:
archangel:~ # hwclock –-systohc
Umgekehrt holt folgender Befehl die Zeit bei der RTC ab und stellt danach dieSystemzeit ein:
archangel:~ # hwclock –-hctosys
Interessant ist es auch, zu beobachten, wie die Uhrzeiten zwischen der Hardware-Uhr und der Systemzeit driften. Die Differenz lässt sich mit hwclock ermitteln,indem Sie folgendes Kommando verwenden:
archangel:~ # hwclock --showDi 28 Apr 2009 17:58:13 CEST –0.020712 Sekunden
Die Genauigkeit, mit der die Abweichung ermittelt wird, ist eine MillionstelSekunde. Das sollte für die meisten Anwendungsgebiete ausreichen.
Zeitzonen
Es gibt grundsätzlich zwei Arten, wie eine Linux-Uhr eingestellt werden kann.Entweder Sie stellen sie der Einfachheit halber auf die Zeit der Zone ein, in derSie sich befinden, oder Sie verwenden UTC. Heutzutage geben die meisten Admi-nistratoren der zweiten Methode den Vorzug, was im Zuge internationaler Kom-munikation auch nur vernünftig ist. Das Kürzel UTC leitet sich ursprünglich vonCoordinated Universal Time ab. Im Lauf der Jahre ist der Buchstabe C aus irgend-welchen Gründen, die heute niemand mehr kennt, an den Schluss gestellt wor-den. Die UTC löst die MEZ inzwischen auch in Europa weitestgehend ab. UTC+1entspricht der MEZ.
Damit der Computer dem Benutzer die lokale Zeit anzeigt, muss dem Systemnoch mitgeteilt werden, dass die BIOS-Uhr (RTC) auf UTC eingestellt ist. Daskann über folgende Konfigurationsdateien geschehen:
� /usr/share/zoneinfo – In diesem Verzeichnis befinden sich Binärdateien, diemit allen existierenden Zeitzonen korrespondieren.
� /etc/localtime – Diese Datei ist die mit der aktuellen Zeitzone übereinstim-mende Binärdatei aus /usr/share/zoneinfo. Es kann sich hier um eine Kopieoder einen Softlink zur Originaldatei handeln.
392
Grundlegende Systemdienste108
� /etc/timezone ist eine textbasierte Konfigurationsdatei. Sie können die richtigeZeitzone in dieser Datei einfach eintragen.
Um einen Überblick über die verfügbaren Zeitzonen zu bekommen, können Sietzselect verwenden, wie Sie ja bereits aus dem vorangegangenen Kapitel wis-sen. Dieses nützliche Werkzeug ist in den meisten aktuellen Distributionen ent-halten.
Zeitsynchronisation über das Netzwerk
Zeitsynchronisation über das Netzwerk heißt in den meisten Fällen natürlichSynchronisation über das Internet. Zu diesem Zweck kommt das Network TimeProtocol (NTP) zum Einsatz. Es handelt sich hier um ein relativ altes Protokoll,das schon 1985 in RFC 958 definiert wurde. Wegen der geringen zu übertragen-den Datenmengen nutzt NTP das UDP. Der verwendete UDP-Port ist 123. Vieleinteressante Informationen und aktuelle NTP-Programmpakete erhalten Sie aufhttp://www.ntp.org. Hier finden Sie auch Listen mit öffentlichen Servern, vondenen Sie synchronisieren können. Interessant ist in diesem Zusammenhangauch ein Projekt, in dem ganze NTP-Pools mittels Round Robin zur Verfügunggestellt werden. Es folgt ein Beispiel mit einem Zugriff auf eben diese Server:
root@archangel:~# ntpdate pool.ntp.org28 Apr 18:03:14 ntpdate[30836]: adjust time server 131.234.137.24offset –0.000341 sec
Wie Sie sehen, können Sie mit ntpdate einfach durch Angabe eines Zeitserversdie Uhrzeit des Systems aktualisieren. Es wird allerdings empfohlen, bei der Syn-chronisation mehrere Server gleichzeitig zurate zu ziehen, damit die Richtigkeitder übermittelten Uhrzeit gegengeprüft werden kann.
Automatische Zeitsynchronisation
Wenn die Systemzeit automatisch synchronisiert werden soll, könnten Sie natür-lich einfach ntpdate regelmäßig von cron ausführen lassen. Das ist sogar in einigenPrüfungsfragen so vorgesehen. Komfortabler und genauer funktioniert dies aller-dings mit dem Daemon ntpd. Die Verwendung von ntpd hat vor allem den Vorteil,dass der Computer selbst als Zeitserver fungieren kann. Sie können ohne Schwie-rigkeiten einen Windows XP-Computer von einem Linux-Host synchronisieren.Dazu müssen Sie auf dem Windows XP-Computer lediglich einen Doppelklick mitder seriellen Zeigereinheit (Maus o. Ä.) auf die Uhr ausführen. Auf der Register-karte Internetzeit können Sie den Zeitserver festlegen. Diese Methode funktio-niert nicht, wenn der Windows-Computer Mitglied einer Domäne ist.
393
Die Systemzeit verwalten 108.1
Die Hauptkonfigurationsdatei für den ntpd ist /etc/ntp.conf. Hier findet der Dae-mon vor allem die Adressen mit den zur Aktualisierung vorgesehenen Servernund einen Verweis auf den Driftfile. Dieser liegt, zumindest offiziell (und somitfür die Prüfung), unter /etc/ntp.drift. Der tatsächliche Speicherort hängt von derverwendeten Distribution ab. Die Mindestausstattung der ntp.conf könnte etwaso aussehen:
server de.pool.ntp.orgserver ptbtime1.ptb.dedriftfile /var/lib/ntp/drift/ntp.drift
Mit diesen Einträgen ist der Server schon lauffähig. Starten Sie den Server wieüblich mit /etc/init.d/ntpd start. Er wird sofort eine erste Synchronisationdurchführen. In Abhängigkeit von der verwendeten Distribution wurde ntpdbereits durch xntpd ersetzt. Die Konfigurationsdateien sind jedoch identisch.
Die Driftdatei wird von ntpd verwendet, um Ungenauigkeiten der Systemuhrfestzuhalten. Die Abweichung von der tatsächlichen Zeit wird auf eine Millions-tel Sekunde ermittelt und in die Driftdatei geschrieben.
NTP Diagnose
Es gibt mehrere Bordwerkzeuge, um den ntpd oder auch xntpd zu untersuchen.Die beiden wichtigsten sind wohl ntpq und ntpdc. Beide Programme unterstüt-zen einen interaktiven Modus, der nach Eingabe eines Fragezeichens Aufschlussüber die Möglichkeiten der beiden Programme liefert. Das Beispiel zeigt eineAbfrage nach sysinfo mit ntpdc im interaktiven Modus:
archangel:/ # ntpdcntpdc> sysinfosystem peer: ptbtime1.ptb.desystem peer mode: clientleap indicator: 00stratum: 2precision: –18root distance: 0.02992 sroot dispersion: 0.02531 sreference ID: [192.53.103.108]reference time: cab10cf1.fd8090b4 Fri, Oct 5 2007 21:20:17.990system flags: auth monitor ntp kernel statsjitter: 0.004898 sstability: 236.358 ppmbroadcastdelay: 0.003998 sauthdelay: 0.000000 sntpdc>
394
Grundlegende Systemdienste108
Beide Diagnoseprogramme geben große Informationsmengen aus, weshalb eshier auch bei diesem einen Beispiel bleiben soll. Sehr interessant sind sicherlichnoch die Abfragen nach peers und monlist. Probieren Sie diese doch einfach ein-mal aus.
pool.ntp.org
Eine beliebte Quelle zur Synchronisation ist pool.ntp.org. Hierbei handelt es sichum einen sehr großen virtuellen Cluster, der über die ganze Welt verteilt ist.Europa ist hier übrigens mit etwas über 1.000 Nodes vertreten. Die Verteilung andie Clients wird über DNS mittels Round Robin abgewickelt. Das ist auch derGrund, warum Sie in der Datei /etc/ntp.conf mehrere Zeitserver eintragen sollten.Round Robin kümmert sich nämlich bei der Herausgabe einer IP-Adresse nichtdarum, ob der Zielserver auch wirklich erreichbar ist. Bei Windows-Clients (egal,ob XP oder Vista) können Sie nur einen Zeitserver eintragen. Hier tragen Sie ein-fach pool.ntp.org ein und hoffen, per Round Robin immer einen funktionstüch-tigen Server anzutreffen. Bei Linux-Clients schreibt man gerne in die /etc/ntp.conf:
server 0.pool.ntp.orgserver 1.pool.ntp.orgserver 2.pool.ntp.org
So haben Sie trotz Round Robin eine realistische Chance auf einen Treffer.
108.2 Systemprotokollierung
Wichtung: 2
Beschreibung: Kandidaten sollten in der Lage sein, den Syslog-Daemon zu konfi-gurieren. Dieses Lernziel umfasst auch die Konfiguration des Syslog-Daemons fürden Versand von Logmeldungen an einen zentralen Protokollserver oder dasAnnehmen von Logmeldungen als zentraler Protokollserver.
Wichtigste Wissensgebiete:
� Syslog-Konfigurationsdateien
� syslog
� Standard-Facilities, -Prioritäten und -Aktionen
Prüfungstipp
Das Thema pool.ntp.org ist in den LPI-Prüfungen neu. Die Wahrscheinlichkeit ist alsorecht hoch, dass zu diesem Thema Fragen kommen.
395
Systemprotokollierung 108.2
Liste wichtiger Dateien, Verzeichnisse und Anwendungen:
� syslog.conf
� syslogd
� klogd
� logger
Allgemeines
Viele Programme und natürlich auch Linux selbst protokollieren zur Laufzeit Ereig-nisse, die sich in den jeweiligen Programmabläufen ergeben. Diese Protokollekann sich ein Administrator zunutze machen, um Fehler zu diagnostizieren oderEngpässe frühzeitig zu erkennen. Dazu ist es wichtig, die Speicherorte dieser Pro-tokolldateien zu kennen und gegebenenfalls Anpassungen am Verhalten der fürdie Protokollierung zuständigen Konfigurationsdateien vornehmen zu können.
syslogd und syslog-ng
Damit überhaupt eine Protokollierung von Ereignissen stattfindet, brauchen Siezunächst einmal ein Programm, das diese Protokollierung durchführt. Auf Linux-Systemen finden Sie momentan zwei verschiedene Produkte, die für das Loggingzuständig sind. Das neuere Produkt ist der syslog-ng, den man inzwischen in vie-len modernen Distributionen vorfindet. So verwenden Fedora 10 und Debian 4immer noch den alten syslogd, während SuSE bereits ab Version 9.3 den syslog-ng einsetzt. Solche Kriterien sollten allerdings niemals einen Qualitätsvergleich derDistributionen nach sich ziehen. Die meisten Distributionen haben unterschiedli-che Vor- und Nachteile. Letztendlich ist es auch Ansichtssache, ob man auf solide,altbewährte Methoden setzen will oder ob man mit neuen, verbesserten Techno-logien neue Kinderkrankheiten in Kauf nehmen möchte.
Die Konfigurationsdateien
Zunächst einmal muss festgelegt werden, was wohin von wem protokolliert wird.Normalerweise sind die Voreinstellungen brauchbar und müssen nicht sofortmodifiziert werden. Da Protokolldateien ohne regelmäßige Überprüfung sehrstark anwachsen können, muss auch noch ein Mechanismus verwendet werden,der ein Überlaufen der Festplatte verhindert.
Prüfungstipp
Für die Prüfung sollten Sie sich unbedingt auf den alten syslog konzentrieren. Fragenzu syslog-ng sind bis dato nicht aufgetaucht und vorläufig nicht zu erwarten. SuSE-Benutzer sollten also den alten syslogd nachinstallieren. Das benötigte Paket ist auf derSuSE-CD enthalten (/suse/i586/syslogd-1.4.1-537.i586.rpm).
396
Grundlegende Systemdienste108
/etc/syslog.conf
Das Protokollierungsverhalten des syslogd wird mit der Datei /etc/syslog.confgesteuert. Achtung bei der Prüfung: Es gibt keine /etc/syslogd.conf! Das kleine dgibt es nur bei dem entsprechenden Daemon! Der Aufbau dieser Datei ist rechteinfach organisiert. Jede Zeile enthält jeweils Felder, die immer folgendermaßengegliedert sind: facility.level action
� facility ist hierbei der Prozess, der den zu protokollierenden Eintrag erstellt.Es kommen folgende Prozesse in Frage:
� auth (ehemals security), authpriv, cron, daemon, kern, lpr, mail, mark, news,syslog, user, uucp, local0 bis local7
� Ein Stern (engl. asterisk) bezeichnet alle Facilities.
� Wenn Sie für eigene Programme den Syslog verwenden möchten, dannkönnen Sie hierfür auf die Facilities local0 bis local7 zurückgreifen, diefür eben diesen Zweck bestimmt sind.
� level legt den jeweiligen Protokollierungsgrad fest. Wenn Sie einen Fehlergenauer untersuchen wollen, kann es sinnvoll sein, den Protokollierungsgradrecht hoch einzustellen. In einigen Fällen können aber auch die Erfolgsmel-dungen einiger Facilities das Verzeichnis /var überschwemmen. Für die Prü-fung müssen Sie die Reihenfolge der Loglevel kennen:
� debug – extremer, in der Regel unnötiger Protokollierungsgrad
� info – harmlose Informationen
� notice – ungefährlicher Hinweis
� warning, warn – normalerweise harmlos, je nach Facility
� err, error – z.B. Authentifizierungsfehler, I/O Fehler
� crit – ein kritischer Fehler, sorgt immer für Probleme
� alert – ein Alarm, weist immer auf schwerwiegende Probleme hin
� emerg panic – wird (wenn überhaupt noch) als letzter Eintrag vor dem Sys-temcrash geschrieben. Das gilt natürlich nicht, wenn ein unwichtiges Pro-gramm abstürzt, bei dem die Ansteuerung des Syslog völlig übertriebenwurde.
Die Level error, warn und panic sind veraltet, und es sollten stattdessen jeweilserr, warning und emerg verwendet werden.
� action ist von der Bezeichnung her irreführend. In diesem Feld wird das Zielspezifiziert, in die das Facility protokollieren soll. Hierbei wird es sich norma-lerweise um eine Datei handeln. Die Benachrichtigung kann aber auch aneinen anderen Computer oder an eine kommagetrennte Liste von Benutzerngesendet werden.
397
Systemprotokollierung 108.2
Es folgt ein Auszug aus einer typischen Debian-syslog.conf:
auth,authpriv.* /var/log/auth.logcron.* /var/log/cron.logkern.* -/var/log/kern.loglpr.* -/var/log/lpr.logmail.* -/var/log/mail.log
Wie Sie gleich sehen, verwendet Debian für jedes Facility seine eigene Log-Datei.Das ist eher außergewöhnlich, kann aber bei der Fehlersuche angenehm sein,wenn Sie kleinere Logfiles gezielt durchsuchen. Bei den meisten anderen Distri-butionen können Sie davon ausgehen, dass der Löwenanteil der protokolliertenInformationen in der Datei /var/log/messages abgelegt werden.
/etc/logrotate.conf
Damit die Log-Dateien auf einem unbeobachteten System nicht unkontrolliertanwachsen und das Dateisystem fluten, werden diese mit dem Programmlogrotate überwacht. Wie logrotate diese Dateien behandelt, hängt von denEinstellungen in der Konfigurationsdatei /etc/logrotate.conf ab. Normalerweisewerden nach Ablauf einer voreingestellten Zeit die im Verzeichnis /var/logbefindlichen Dateien komprimiert und dann im leeren Zustand neu erstellt. Es istheute der Übersichtlichkeit halber üblich, die Konfiguration mit Include-Dateienzu versehen. Deshalb sollten Sie auf Ihrem System auch nach einem Verzeichnismit der Bezeichnung /etc/logrotate.d Ausschau halten. Logrotate sollte täglichvon cron ausgeführt werden.
Einsatz von Log-Dateien zur Fehlersuche
Wenn auf einem Linux-System ein unerklärlicher Fehler auftritt, ist es immereine gute Idee, das Verzeichnis /var/log zu konsultieren und die mit dem Problemin Zusammenhang stehenden Log-Dateien zu untersuchen. Die einfachsteMethode ist wohl die Anzeige einer Log-Datei mit einem Pager:
archangel:/ # less /var/log/messagesAug 17 09:07:42 archangel named[6801]: client 172.16.0.2#2509:updating zone '0.16.172.in-addr.arpa/IN': adding an RR at'2.0.16.172.in-addr.arpa' PTRAug 17 09:45:39 archangel sshd[31158]: Accepted password for rootfrom ::ffff:192.168.0.10 port 4345
Prüfungstipp
Detaillierte Kenntnisse über die Konfiguration der logrotate.conf sind für die Prüfungnicht erforderlich. Sie sollten aber auf jeden Fall wissen, wozu logrotate eingesetzt wird.
398
Grundlegende Systemdienste108
Aug 17 10:00:32 archangel syslog-ng[6389]: STATS: dropped 0Aug 17 11:00:33 archangel syslog-ng[6389]: STATS: dropped 0
Scheinbar ist nichts Aufregendes passiert. Der DNS-Server hat einen Reverse-Lookup-Eintrag aktualisiert, und der Root hat sich via SSH eingeloggt. Danachgeschah zwei Stunden lang nichts!
Eine völlig andere Methode, sich Log-Dateien zunutze zu machen, ist das Kom-mando tail. Standardmäßig gibt tail die letzten zehn Zeilen einer Textdatei aufdem Bildschirm aus. Wenn Sie aber die Option –f übergeben, wird das Anzeigender betreffenden Log-Datei fortgesetzt. Das bedeutet, dass der Computer keinenEingabe-Prompt anzeigt, sondern die Datei samt Änderungen im laufenden Betriebanzeigt und aktualisiert. Das ist besonders nützlich, wenn Sie beabsichtigen, einenFehler zu provozieren und dessen Auswirkungen gleichzeitig auf einem anderenTerminal zu beobachten. Die vollständige Kommandozeile ist also folgende:
archangel:~ # tail /var/log/messages -f
Wenn Sie nach der Ausgabe eines bestimmten Programms in einer umfangrei-chen Protokolldatei oder nach einem bestimmten Ereignistyp suchen, empfiehltes sich, die Anzeige der Log-Datei mit grep zu filtern. Bei umfangreicheren Ergeb-nissen kann die Ausgabe natürlich nach less umgeleitet werden.
archangel:~ # grep sshd /var/log/messages | grep invalid | less
In diesem Beispiel sucht grep zunächst alle Einträge, die der sshd protokollierthat. Die anschließende Filterung nach invalid sucht fehlgeschlagene Anmel-deereignisse. Zum Schluss wird die Ausgabe an less übergeben und auf demBildschirm dargestellt:
Sep 17 13:04:47 archangel sshd[310]: Failed none for invalid userrooot from ::ffff:87.187.104.63 port 64960 ssh2Sep 25 16:58:55 archangel sshd[1774]: Failed none for invalid usermartin from ::ffff:192.168.0.53 port 55380 ssh2
Offensichtlich ist beim ersten Eintrag der Benutzername Root falsch geschriebenworden. Der zweite Eintrag ist ein Anmeldeversuch von einem Benutzer, den esauf diesem System gar nicht gibt.
Selbst Ereignisse loggen
Eine einfache Methode, ein Ereignis selbst zu generieren, bietet das Programmlogger. Dieses Tool kann natürlich auch in eigenen Skripten eingesetzt werden.Wenn z.B. ein selbst geschriebenes Skript verwendet wird, das eigenständig eineDatensicherung durchführt, ist am Ende des Skripts folgende Zeile denkbar:
399
Grundlagen von Mail Transfer Agents (MTAs) 108.3
logger -t Backup "Datensicherung ausgeführt"
Zu Testzwecken können Sie den Befehl auch einfach auf der Kommandozeile ein-geben. Ein Blick in den Syslog zeigt das Ergebnis:
archangel:~ # tail –1 /var/log/messagesSep 25 17:20:42 archangel Backup: Datensicherung ausgeführt
So haben Sie in Zukunft jederzeit die Möglichkeit, zu überprüfen, wann diesesSkript ausgeführt wurde.
Der Kernellog
Der Daemon mit dem Namen klogd fängt Meldungen des Kernels ab und proto-kolliert diese. Normalerweise wird er vom init-Prozess gestartet und läuft sinn-vollerweise in jedem Runlevel, den ein System nutzt. Die Ausgabe erfolgt in derRegel auf dem Syslog. Man kann (am besten im zugehörigen init-Skript) einigeOptionen an den klogd übergeben. Einige wichtige Optionen sind:
� -c n setzt den Loglevel für Konsolenmeldungen auf n.
� -d aktiviert den Debugging Modus.
� -f datei ändert die Ausgabe vom Syslog auf die angegebene datei.
Als Eingabedatei verwendet klogd /proc/kmsg. Auch das lässt sich mit einemSchalter (nämlich -p path) ändern. Allerdings gibt es dazu normalerweise keineVeranlassung.
108.3 Grundlagen von Mail Transfer Agents (MTAs)
Wichtung: 3
Beschreibung: Kandidaten sollten wissen, welche gebräuchlichen MTA-Pro-gramme existieren und einfache Weiterleitungs- und Alias-Konfigurationen aufeinem Client-Rechner einstellen können. Weitere Konfigurationsdateien werdennicht abgedeckt.
Wichtigste Wissensgebiete:
� Mail-Aliase anlegen
� Mail-Weiterleitung konfigurieren
� Wissen von allgemein verfügbaren MTA-Programmen (postfix, sendmail,qmail, exim) (keine Konfiguration)
400
Grundlegende Systemdienste108
Liste wichtiger Dateien, Verzeichnisse und Anwendungen:
� ~/.forward
� Kommandos in der Sendmail-Emulationsschicht
� newaliases
� mailq
� postfix
� sendmail
� exim
� qmail
Allgemeines
MUA, MDA und MTA
Die Verarbeitung und Übermittlung von Mail-Nachrichten wird in der Hauptsa-che von drei Softwarekomponenten durchgeführt:
� MUA – Der Mail User Agent ist ein Mail-Clientprogramm, mit dem Mailsgeschrieben, gelesen und versendet werden. (z.B. kmail, Evolution, Thunder-bird, Outlook usw.)
� MDA – Der Mail Delivery Agent verarbeitet E-Mails auf einem Server. Er ent-scheidet, wie mit den E-Mails weiter zu verfahren ist. Handelt es sich umlokale Mail-Adressen, stellt er die E-Mail im entsprechenden Mail-Verzeichnisdes Adressaten zu. Ansonsten übergibt er die Nachricht an den MTA, der dannfür die Weiterleitung sorgt. (MDAs sind z.B. procmail, maildrop, cyrus)
� MTA – Der Mail Transfer Agent nimmt die E-Mail vom Client entgegen. Er istfür die Zustellung einer Nachricht an den richtigen Zielserver verantwortlich.Hierbei wird normalerweise das Protokoll SMTP verwendet. Auf dem Zielser-ver übernimmt dann wieder der MDA die Nachrichten und verteilt sie in dieentsprechenden Mail-Verzeichnisse. (MTAs sind z.B. sendmail, postfix, qmail,exim.)
Prüfungstipp
Für die anstehende Prüfung müssen Sie mit den Grundfertigkeiten der Konfigurationeines Mail Transfer Agents vertraut sein. Komplexere Administrationsaufgaben erwartenSie allerdings erst in der LPI-Prüfung 117-201.
401
Grundlagen von Mail Transfer Agents (MTAs) 108.3
Für die endgültige Auslieferung einer Mail-Nachricht an ein Clientprogrammbenötigen Sie letztendlich noch mindestens einen weiteren Serverdienst, wieIMAP oder POP.
Das Starten und Stoppen eines Mail Transfer Agents funktioniert genau so, wiebei den meisten anderen Netzwerkdiensten auch, wenn diese nicht gerade voninetd oder xinetd gesteuert werden. Das bedeutet zum Beispiel für postfix:
root@ubuntu-server:/# /etc/init.d/postfix start* Starting Postfix Mail Transport Agent postfix [ OK ]
Mail – Aliase
Die Datei /etc/aliases
In der Datei /etc/aliases können Sie Mail-Nachrichten umleiten. Hierbei sind vierverschiedene Verfahren möglich. Das gängigste ist dieses:
willi: wilhelmroot: wilhelm
Mit dem ersten Eintrag werden Mails, die an willi adressiert sind, dem real exis-tierenden Benutzerkonto wilhelm zugeordnet. Da Wilhelm ein Systemverwalterist, der sich äußerst selten als Root anmeldet, werden Mails, die an den Rootadressiert sind, ebenfalls Wilhelms Benutzerkonto zugewiesen.
Eine andere Methode ist die Zuweisung eines Alias zu einer Datei. So könnte manTätigkeitsberichte, automatisch mit Datum und Uhrzeit versehen, per Mail-Pro-gramm schreiben:
taetigkeiten: "/home/harald/taetigkeitsbericht"
Die Berichte müssen dann einfach an das Konto taetigkeiten gesendet werden,und die Aufzeichnung geschieht automatisch in der angegebenen Datei. Für die-ses Konto muss ebenfalls kein reales Benutzerkonto auf dem Server existieren.
freunde: :include:/home/harald/meinefreunde
Der voranstehende Eintrag macht tatsächlich das, wonach er aussieht: Wenn eineMail an Freunde gesendet wird, wird diese Nachricht an alle Mail-Adressen ver-sendet, die in der Textdatei /home/harald/meinefreunde zeilensepariert aufgeführtsind.
Die letzte, nicht selten genutzte Möglichkeit ist die Übergabe einer Nachricht anein Programm. Mit dieser Methode arbeitet etwa das MailinglistenprogrammMajordomo:
402
Grundlegende Systemdienste108
majordomo: "|/usr/lib/majordomo/wrapper majordomo"
Der Unterschied zur Umleitung in eine Datei ist das führende Pipe-Zeichen.
newaliases
Nach dem Anlegen eines neuen Alias in der Datei /etc/aliases müssen Sie denBefehl newaliases eingeben, damit Sendmail den neuen Alias auch verwendet.Alternativ können Sie auch sendmail -bi ausführen. Selbst die Antwort der bei-den Kommandos ist identisch:
[root@fedora10 home]# sendmail -bi/etc/aliases: 77 aliases, longest 10 bytes, 777 bytes total
Weiterleitung von Mail
Ein Benutzer kann für sich selbst eine Mail-Weiterleitung einrichten. Das wird oftmit einem Nachsendeauftrag bei der Post verglichen. Ein gern genannter Verwen-dungszweck ist die Weiterleitung geschäftlicher Mails an eine Urlaubsvertretung.Dazu muss der Benutzer nichts weiter tun, als eine Datei mit dem Namen .for-ward (der Punkt muss sein) in seinem Heimatverzeichnis zu erstellen, welche dieWeiterleitungsadresse in einer einzelnen Zeile enthält. Die Weiterleitung greiftsofort. Es muss nichts weiter unternommen werden.
Wichtige Dateien und Verzeichnisse
� /var/spool/mail – in diesem Verzeichnis liegen Dateien mit den Namen derBenutzerkonten, die auf diesem System Mails empfangen. Der MDA lieferthier Nachrichten für die lokalen Benutzer aus.
� /var/spool/mqueue – das ist die Mail-Queue oder auch Warteschlange. Hier holtder MDA Nachrichten ab und entscheidet dann, ob sie lokal ausgeliefert wer-den oder an den MTA zur weiteren Verarbeitung übergeben werden müssen.
� /var/spool/postfix – hier liegt die Datenverzeichnisstruktur von postfix.
� /var/mail ist ein typischer Link auf /var/spool/mail.
� /etc/postfix beherbergt die Konfigurationsdateien von postfix.
� /etc/mail enthält die meisten Konfigurationsdateien für sendmail.
Prüfungstipp
Für die Prüfung müssen Sie die Verzeichnisse, die von den gängigen MTAs (hauptsäch-lich postfix und sendmail) verwendet werden, kennen.
403
Grundlagen von Mail Transfer Agents (MTAs) 108.3
Um den Inhalt einer Mail-Queue im laufenden Betrieb sehen zu können, verwen-den Sie das Programm mailq ohne Parameter:
archangel:/var/spool/mqueue # mailq/var/spool/mqueue (2 requests)
--Q-ID---- --Size-- --Q-Time---- ----Sender/Recipient-l9HH2A016576* 816 Wed Oct 17 19:02 <[email protected]>
<[email protected]>l929jC016576* 931 Wed Oct 17 19:02 <[email protected]>
<[email protected]>Total requests: 2
In der Regel ist hier aber nichts zu sehen, weil bei einem normal frequentiertenServer die Verarbeitung der Mails sehr schnell geschieht.
sendmail-Konfigurationsdateien
Die Hauptkonfigurationsdatei von sendmail ist die Datei sendmail.cf. WeitereKonfigurationsdateien befinden sich normalerweise in /etc/mail. Die Datei send-mail.cf selbst finden Sie z.B. bei SuSE direkt unter /etc, während sie bei Fedora 10unter /etc/mail residiert. Das ist schon ein erster Hinweis darauf, dass die Konfi-guration von sendmail stark variiert. Die Datei sendmail.cf könnte man durchausals kompliziertes Konstrukt bezeichnen. Deshalb wird sie auch normalerweisenicht von Hand erstellt. Stattdessen schreibt man M4-Makros, die dann durcheinen M4-Präprozessor verarbeitet werden. Die LPI-Prüfungen sind aber weitdavon entfernt, sich mit dieser Thematik auseinanderzusetzen.
postfix-Konfigurationsdateien
Der MTA postfix wird mit Konfigurationsdateien konfiguriert, die sich im Ver-zeichnis /etc/postfix befinden. Die Datei main.cf ist die globale Konfigurationsda-tei für postfix. Hier werden wichtige Grundeinstellungen festgelegt. Um eventu-elle Pfadangaben zu irgendwelchen Arbeitsverzeichnissen müssen Sie sichnormalerweise nicht kümmern, weil diese distributionsspezifisch schon immerrichtig eingestellt sind. Es sollte aber natürlich festgelegt werden, unter welchemNamen der Computer aus der Sicht des Internets angesprochen wird und für wel-che Domänen er verantwortlich ist:
myhostname = echtername.meinedomain.commyhostname = virtuellername.meinedomain.commydomain = meinedomain.com
Wie in dieser Datei die Smarthost-Einstellungen u.Ä. konfiguriert werden, erfah-ren Sie auf der nächsten Seite.
404
Grundlegende Systemdienste108
Eine weitere Konfigurationsdatei, die postfix verwendet, heißt master.cf. Hierbeihandelt es sich um die Konfiguration für die postfix-internen Prozesse. In dieserDatei müssen in den seltensten Fällen Änderungen vorgenommen werden.
Smarthost und SMTP-Relay
Ein Smarthost ist ein Mailserver, der als SMTP-Relay fungiert. Normalerweisewerden Sie Ihre zu versendenden Mails nicht direkt zustellen, sondern durch denSMTP-Server Ihres Internet Service Providers ausliefern lassen. Anderenfalls wür-den viele Mailserver Ihre Mail nicht entgegennehmen, weil Ihr SMTP-Server imInternet nicht bekannt ist. Daraus schließen diese Zielserver, dass Ihr Server einmögliches Relay für Spam ist, und verwerfen Ihre Mail.
Smarthost mit sendmail
Wenn Sie einen externen Smarthost für sendmail angeben wollen, ist das eine derwenigen Situationen, in denen Sie die sendmail.cf bearbeiten müssen. Suchen Sienach einem DS am Zeilenanfang (möglicherweise auskommentiert), und schrei-ben Sie dahinter lückenlos den FQDN des Relayservers.
# "Smart" relay host (may be null)DSmailrelay.myisp.org.
So sieht der Eintrag also aus, wenn der Server mailrelay.myisp.org heißt.
Soll Ihr Server selbst als SMTP-Relay fungieren, dann müssen Sie die Dateien /etc/mail/access und /etc/mail/relay-domains modifizieren und anschließend in ebendiesem Verzeichnis einmal das Kommando make ausführen, um die korrespon-dierenden db-Files zu generieren.
Smarthost mit postfix
Sollten Sie postfix als MTA verwenden, dann muss der Smarthost entsprechendin der Datei /etc/postfix/main.cf eingetragen werden. Dieser Eintrag sieht wiefolgt aus:
relayhost = mail.myisp.org
Um postfix selbst als Relay einzusetzen, gibt es verschiedene Möglichkeiten. Einesehr einfache (wenn auch umstrittene) Methode ist es, einfach mit der Angabeder eigenen Netzwerke für bestimmte Subnetze Relaying zuzulassen:
mynetworks = 127.0.0.0/8 192.168.50.0/24 172.16.0.0/28
Das setzt natürlich voraus, dass die Mitarbeiter, die sich in diesen Subnetzseg-menten aufhalten, vertrauenswürdig sind und nicht auf die Idee kommen, dieAbsender ihrer Mails zu fälschen.
405
Drucker und Druckvorgänge verwalten 108.4
Wesentlich sicherer ist es natürlich, eine Authentifizierung des Benutzers zu ver-langen. Als Mechanismus kommt hier am ehesten SASL (Simple Authenticationand Security Layer) infrage. Sollte ein authentifizierter Benutzer eine Mail mitgefälschtem Absender verschicken, ist dieser Vorgang zumindest in den Protokol-len (/var/log/mail) nachvollziehbar.
exim und qmail
Weniger bekannt sind die MTAs exim und qmail. Exim ist weitgehend ähnlich zukonfigurieren wie sendmail, die Konfiguration ist aber etwas einfacher. Debianverwendet exim sogar als Standard-MTA. Der MTA qmail wurde hauptsächlichentwickelt, um die Sicherheit gegenüber sendmail zu erhöhen. Auch qmail isterheblich leichter zu konfigurieren als sendmail.
108.4 Drucker und Druckvorgänge verwalten
Wichtung: 2
Beschreibung: Kandidaten sollten in der Lage sein, Druckerwarteschlangen undDruckaufträge von Benutzern mit CUPS und der LPD-Kompatibilitätsschnittstellezu verwalten.
Wichtigste Wissensgebiete:
� grundlegende CUPS-Konfiguration (für lokale und entfernte Drucker)
� Benutzer-Druckerwarteschlangen verwalten
� allgemeine Druckprobleme lösen
� Druckaufträge zu eingerichteten Druckerwarteschlangen hinzufügen und dar-aus löschen
Liste wichtiger Dateien, Verzeichnisse und Anwendungen:
� CUPS-Konfigurationsdateien, -Werkzeuge und -Hilfsprogramme
� /etc/cups
� LPD-Kompatibilitätsschnittstelle (lpr, lprm, lpq)
Allgemeines
Drucken funktioniert unter Linux praktisch genauso wie unter Unix. Das ist auchnicht weiter verwunderlich, weil die beiden Drucksysteme, die unter Linux ver-wendet werden, Portierungen aus der Unix-Welt sind. Die ältere der beiden Vari-
406
Grundlegende Systemdienste108
anten ist an BSD-Unix angelehnt, das in Kalifornien an der Universität in Berkeleyentwickelt wurde (BSD steht für Berkeley Software Distribution). Das BSD-Druck-system wurde allerdings später für Linux komplett neu geschrieben, weil es eineSicherheitslücke aufwies, die man unter Linux nicht akzeptieren wollte. Diesesneu entwickelte System finden Sie heute unter der Bezeichnung LPRng in prak-tisch allen Linux-Distributionen wieder.
Das zweite große Drucksystem unter Linux heißt CUPS (Common Unix PrintingSolution oder auch Common Unix Printing System). CUPS wurde ursprünglich ent-wickelt, um das Internet Printing Protocol (IPP) zu unterstützen, löste aber auf vie-len Systemen BSD und LPRng ab. Auch wenn CUPS intern völlig anders arbeitetund zudem ein webbasiertes Konfigurationsfrontend anbietet, so ist bei seinerEntwicklung an Abwärtskompatibilität gedacht worden. CUPS unterstützt nichtnur die Kommandos von BSD bzw. LPRng, sondern zusätzlich auch die von Sys-tem-V, einer verbreiteten Unix-Version.
Verwalten der Druckerwarteschlangen
Ein Druckauftrag durchläuft bei den meisten Betriebssystemen, bevor er ausge-druckt wird, eine sogenannte Warteschlange. In diesem Zusammenhang wirdauch häufig der Begriff Queue verwendet. Das Wort Queue kommt ursprünglichaus der französischen Sprache und bedeutet Schlange. Billard wird also, wennman es auf gut Deutsch ausdrücken will, nicht mit einem Stock, sondern miteiner (offensichtlich erstarrten) Schlange gespielt. Einen weiteren gängigen Fach-begriff, nämlich Spooler, kann man beinahe phonetisch aus dem Englischen mitSpule übersetzen. Druckaufträge reihen sich also in eine Schlange ein oder wer-den aufgespult.
Die zu druckenden Aufträge werden unter Linux zunächst von einem Druck-Cli-ent-Programm (z.B. lpr) in die entsprechende Warteschlange gestellt. Um dasgenaue Verzeichnis zu ermitteln, in das der Druckauftrag hingespoolt werdenmuss, wird die Konfigurationsdatei /etc/printcap ausgewertet. Normalerweisebefinden sich die Warteschlangen unterhalb von /var/spool. Ein Druckauftragbesteht immer aus zwei Dateien, nämlich einem Control-File mit der Dateierwei-terung cf und einem in der Regel erheblich größeren Data-File mit der Extensiondf. Der Spool-Vorgang ist nun abgeschlossen, und die beiden Dateien bleibenjetzt so lange liegen, bis sie jemand bearbeitet. Diese Aufgabe übernimmt derLine Printer Daemon (lpd) nun, vorausgesetzt, er wurde gestartet. lpd prüftzyklisch das Vorhandensein von Dateien in allen Druckerwarteschlangen. Wirder fündig, so übergibt er die momentan noch in einem sehr rohen, RAW genann-ten Format vorliegenden, Daten an einen Druckfilter. Dieser wandelt dann dieDaten in Abhängigkeit vom verwendeten Druckermodell in einen geeigneten
407
Drucker und Druckvorgänge verwalten 108.4
Datenstrom und sendet diesen an den Drucker. Wenn der Auftrag ausgedrucktwurde, werden die Kontroll- und die Datendatei aus der Warteschlange gelöscht.
Die Verarbeitung der Dateien ist bei der Verwendung von CUPS geringfügiganders. So sind z.B. die Konventionen für die Benennung der Dateien innerhalbeiner Warteschlange different, aber das Druckprinzip ist weitestgehend gleich.
Den Line Printer Daemon startet man mit dem Befehl:
/etc/init.d/lpd start
Alternativ startet man CUPS mit:
/etc/init.d/cups start
Man beachte die Besonderheit, dass der Daemon CUPS nicht, wie die meistenanderen, auf d endet! Nach Änderungen an den Konfigurationsdateien, insbeson-dere /etc/printcap, muss der jeweilige Druckdaemon neu gestartet werden.
Befehle zur Kontrolle von Druckvorgängen
� lp und lpr senden Druckaufträge an einen angegebenen Drucker. Das Kom-mando lp entstammt dem System-V und versteht andere Optionen als lpr.Machen Sie sich für die LPI-Prüfung mit den Optionen von lpr vertraut. Mit–P wird die zu verwendende Warteschlange angegeben.
archangel:~ # lpr -Plaserjet1300 /etc/printcap
druckt die Datei /etc/printcap auf dem Printer Laserjet1300 aus.
� lpq zeigt den Inhalt von Warteschlangen an. Es kann auch hier mit der Option–P eine bestimmte Warteschlange angegeben werden:
archangel:~ # lpq -Plaserjet1300laserjet1300 is ready and printingRank Owner Job File(s) Total Sizeactive root 450 printcap 1024 bytes1st michaela 451 haushaltplan 9216 bytes2nd michaela 452 haushaltplan 9216 bytes3rd dominik 453 kinderprogramm.html 1024 bytes
� lprm löscht Aufträge aus der Warteschlange. Bereits im Druck befindliche Auf-träge können nicht mehr entfernt werden.
archangel:~ # lprm -Plaserjet1300 451
entfernt den versehentlich doppelt abgesendeten Druckauftrag aus dem Bei-spiel für lpq.
408
Grundlegende Systemdienste108
Ein Benutzer ohne administrative Rechte kann ohne Weiteres selbst alle eige-nen Aufträge löschen, indem er den Befehl lprm – eingibt. Wenn derselbeBefehl aber vom Benutzer Root ausgeführt wird, dann werden sämtlicheDruckaufträge aller Benutzer aus der Warteschlange entfernt.
lpc – Line Printer Control
lpc ist ein Programm, das man als gewöhnlichen Konsolenbefehl oder interaktivverwenden kann. Es bietet umfangreiche Funktionen, weshalb ihm auch ein eige-ner Abschnitt zusteht. Der interaktive Modus bietet einen Eingabe-Prompt undmacht vor allem dann Sinn, wenn Sie beabsichtigen, dem Druckdaemon mehrereBefehle hintereinander zu geben. Wenn lpc mit CUPS verwendet wird, sind nureinige wenige Befehle innerhalb von lpc verfügbar. Genau genommen ist dannlediglich eine Statusabfrage möglich.
lpc> statuslaserjet1300:
printer is on device 'parallel' speed –1queuing is enabledprinting is enabled4 entriesdaemon present
Unter BSD bzw. LPRng sind deutlich mehr Optionen verfügbar, wobei dieBefehlsstruktur bis auf die Ausnahmen topq und status immer die gleiche ist. Inden Beispielen wird davon ausgegangen, dass lpc im interaktiven Modus gestar-tet wurde.
lpc> up laserjet1300
startet und aktiviert den Laserjet 1300, während
lpc> up all
alle Drucker gleichzeitig startet und aktiviert. Also werden immer lpc, gefolgtvom lpc-Kommando (up) und von dem anzusteuernden Drucker (Laserjet1300bzw. all) angegeben. Die lpc-Kommandos sind im Einzelnen:
� start startet den Druckprozess als solchen, so dass jetzt Aufträge aus der War-teschlange abgearbeitet und ausgedruckt werden können.
� stop beendet den Druckprozess. Ein laufender Auftrag wird noch bis zumEnde abgearbeitet. Die Druckerwarteschlange nimmt aber weiterhin Aufträgeentgegen.
� enable aktiviert die Druckerwarteschlange.
409
Drucker und Druckvorgänge verwalten 108.4
� disable deaktiviert die Druckerwarteschlange. Bereits in der Warteschlangebefindliche Aufträge werden noch fertig abgearbeitet. Neue Jobs werdenjedoch abgelehnt.
� up kombiniert die Kommandos enable und start.
� down kombiniert die Kommandos disable und stop.
� abort beendet den Druckprozess sofort. Auch ein bereits in Arbeit befindli-cher Druckauftrag wird sofort abgebrochen. Sollte der Drucker seine Tätigkeitnicht sofort einstellen, ist dies auf Restdaten im Druckerspeicher zurückzufüh-ren.
� topq stellt einen bereits gespoolten Druckauftrag an die erste Position in derWarteschlange. Hier sieht die Befehlssyntax etwas anders aus als bei den ande-ren Kommandos:
� lpc> topq Laserjet1300 453 verschiebt den Druckjob mit der Nummer 453 andie erste Position der Druckerwarteschlange. Ein bereits in Arbeit befindlicherDruckauftrag wird hierdurch nicht abgebrochen.
� quit beendet letztendlich den interaktiven Modus des lpc und kehrt zur nor-malen Shell zurück.
Drucken mit CUPS
CUPS ist ein Drucksystem, das von Anfang an auf das Drucken im Netzwerk aus-gelegt wurde. Deshalb modifiziert CUPS auch gleich nach seiner Installation diealtbekannte /etc/printcap, in der er sich selbst als Netzwerkdrucker deklariert:
# This file was automatically generated by cupsd(8) from the# /etc/cups/printers.conf file. All changes to this file# will be lost.laserjet1300|laserjet1300:rm=archangel:rp=laserjet1300:
Abgesehen vom Namen des Druckers und seinem Alias, findet man hier alsonoch einen remote printer an einer remote machine und das, obwohl der Druckerlokal angeschlossen ist. Die Konfigurationsdateien für CUPS befinden sich alleunterhalb von /etc/cups. Aber selbst diese müssen Sie nur selten modifizieren,weil die komplette Konfiguration über Frontends durchgeführt werden kann. Ameinfachsten ist die Konfiguration mit einem Webbrowser. CUPS horcht am TCP-Port 631 und kann somit über http://localhost:631 angesprochen werden. Aufdiesem Weg können nicht nur Wartungsaufgaben wie das Löschen von Druckauf-trägen u.Ä. durchgeführt, sondern dem System auch neue Drucker hinzugefügtwerden. Der TCP-Port für die Konfiguration lässt sich übrigens in der Datei /etc/cups/cupsd.conf ändern. CUPS kennt von sich aus sehr viele verschiedene Drucker
410
Grundlegende Systemdienste108
und bringt die nötigen Filter alle mit. Die normalen Befehle zur Verwaltung vonWarteschlangen, wie lpr, lprm, lpq und lpc, stehen genauso zur Verfügung wieunter BSD. Einzig der lpc ist in seiner Funktionsweise stark eingeschränkt. Zurkonsolenbasierten Konfiguration dient das Tool lpadmin, was Sie sich auch unbe-dingt für die Prüfung merken sollten. In der Praxis werden Sie nach kurzer Ein-gewöhnungszeit auf die angenehme HTML-Oberfläche von CUPS nicht mehr ver-zichten wollen.
465
Übungsfragen zu LPI 117-102
Die folgenden Fragen sollen Ihnen helfen, sich an die Art der Fragestellung inder wirklichen Prüfung zu gewöhnen. Es macht keinen Sinn, die Fragen einfachauswendig zu lernen, denn es sind keine Prüfungsfragen. Sie sollten stattdessenversuchen, die Antworten zu jeder einzelnen Frage zu verstehen. Deshalb wer-den sowohl die richtigen als auch die falschen Antworten im Lösungsteil desBuches detailliert besprochen. Das Üben mit diesen Fragen soll Ihnen auch dieHerangehensweise an eventuell Ihnen unbekannte Themen nahe bringen. Einunbekanntes Kommando in einer Frage ist nämlich noch längst kein Grund, eineFrage einfach nicht zu beantworten. Oft führt ein wenig Logik oder das Aus-schlussverfahren dennoch zum Ziel.
Fragen
Frage 1:
Während Ihrer täglichen administrativen Arbeit verwenden Sie häufig das Kom-mando ps -aux. Sie bemerken, dass Sie das Programm ps eigentlich nie ohnediese Schalter verwenden. Wie können Sie erreichen, dass in Zukunft durch dieeinfache Eingabe von ps automatisch das Kommando ps -aux ausgeführt wird?
A: ps = "ps -aux"
B: let ps = "ps -aux"
C: alias ps= "ps -aux"
D: set ps = "ps -aux"
E: alias ps -aux = ps
466
Übungsfragen zu LPI 117-102
Frage 2:
Sie müssen ein Programm ausführen und dabei verhindern, dass dieses Pro-gramm auf Ihre gesetzten Umgebungsvariablen zurückgreift. Welches Kom-mando können Sie dem Programm voranstellen, damit es in einer »leeren Umge-bung« läuft?
A: export
B: env -i
C: set -i
D: unset
E: clear
Frage 3:
Sie haben die Variable http_proxy gesetzt. Während der Arbeit in einer Subshellstellen Sie fest, dass Ihnen die Variable nicht zur Verfügung steht. Welches Kom-mando können Sie auf der übergeordneten Shell ausführen, damit die Variableund ihr Inhalt für Subshells verfügbar wird?
A: set http_proxy
B: env -u http_proxy
C: let http_proxy
D: export http_proxy
E: unset http_proxy
Frage 4:
Die Variablen a und b enthalten jeweils einen numerischen Wert. Sie wollen diebeiden Werte addieren und in der Variablen c zusammenführen. Welches Kom-mando können Sie verwenden?
A: let c=$a+$b
B: c=$a+$b
C: $c=$a+$b
D: let $c=$a+$b
E: let c=a$+b$
467
Fragen
Frage 5:
Sie wollen der Variablen a den Wert 102 zuordnen und für Subshells verfügbarmachen. Welches Kommando werden Sie verwenden?
Frage 6:
Sie haben zu Ihrer Arbeitserleichterung durch die Eingabe des folgenden Kom-mandos einen Alias erstellt:
alias ps="ps -aux"
Nun benötigen Sie den Befehl ps in seiner ursprünglichen Form. Aber immer,wenn Sie ps eingeben, wird der Alias anstatt des Originalbefehls ausgeführt. Wiekönnen Sie das Originalkommando ausführen?
A: set ps
B: let ps
C: do ps
D: sudo ps
E: builtin ps
Frage 7:
Während Ihrer täglichen Arbeit kommt es häufiger vor, dass Sie bestimmte Kom-mandos in immer der gleichen Reihenfolge ausführen müssen. Sie wollen dieseKommandos zusammenfassen, ohne ein Skript zu schreiben. Welchen Befehlkönnen Sie hier zum Einsatz bringen?
A: alias
B: env
C: set
D: function
E: unset
502
Übungsfragen zu LPI 117-102
Antworten und Erklärungen zu den Prüfungsfragen
Hier finden Sie die Erläuterungen zu allen Fragen des zweiten Teils. Sie solltenunbedingt auch die Kommentare zu den falschen Antworten lesen. Einige Faktenwerden hier nicht zufällig mehrfach erwähnt, sondern weil wesentliche Prüfungs-inhalte auf diese Weise besser in Ihrem Gedächtnis haften bleiben.
Frage 1:
C: alias ps="ps -aux" legt den alias ps an. Bei der Eingabe des Kommandos pswird dann stattdessen ps -aux ausgeführt. Es macht natürlich Sinn, dieses Kom-mando in ein Anmeldeskript (z.B. .profile) aufzunehmen.
zu A und B: ps = "ps -aux" und let ps = "ps -aux" sorgen beide dafür, dass dieVariable ps definiert und mit dem Wert »ps -aux« gefüllt wird.
zu D: set ps = "ps -aux" ist falsch. Das Programm set zeigt lediglich die Shell-variablen an.
zu E: alias ps -aux = ps funktioniert nicht. Die Reihenfolge in der Syntax istfalsch.
Frage 2:
B: env -i startet ein Programm in einer von Umgebungsvariablen bereinigtenUmgebung.
zu A: export exportiert Variablen samt ihrem Inhalt in Subshells.
zu C: set -i ist hier das falsche Programm, weil set nur für Shellvariablen zustän-dig ist.
zu D: unset entfernt Werte aus einer angegebenen Variablen.
zu E: clear bereinigt einen Terminalbildschirm.
Frage 3:
D: export http_proxy exportiert die bereits gesetzte Variable in alle Subshells.
zu A: set http_proxy kann Variablen weder setzen, noch exportieren. Lassen Siesich durch den Namen des Kommandos nicht in die Irre führen!
zu B: env -u http_proxy würde die Umgebung für ein Programm um die Variablehttp_proxy reduzieren, wenn es sich um eine Umgebungsvariable handelnwürde.
zu C: let http_proxy ruft lediglich eine Fehlermeldung hervor.
zu E: unset http_proxy setzt die Variable wieder zurück.
503
Antworten und Erklärungen zu den Prüfungsfragen
Frage 4:
A: let c=$a+$b addiert die Werte der Variablen a und b und übergibt das Ergebnisder Addition an die Variable c.
zu B: c=$a+$b übergibt nicht das Ergebnis der Addition an die Variable c, sonderndie Addition als solche. Wenn a=5 und b=7 wären, dann würde c=5+7. Das ist abernicht die Aufgabe.
zu C: $c=$a+$b wird versuchen, den Inhalt der Variablen auszuführen. Es gibt alsolediglich eine Fehlermeldung.
zu D: let $c=$a+$b wird versuchen, dem Inhalt der Variablen c das Ergebnis derAddition von a und b zuzuweisen. Es gibt also auch hier eine Fehlermeldung.
zu E: let c=a$+b$ verursacht auf jeden Fall eine Fehlermeldung, weil die Shellhier die aufeinander folgenden Zeichen $+ als einen fehlerhaften Operator inter-pretieren wird. Die $-Zeichen müssen immer vor die Variable gesetzt werden.
Frage 5:
export a=102 weist der Variablen a den Wert 102 zu und exportiert diese für dieVerwendung in Subshells.
Frage 6:
E: builtin ps sorgt dafür, dass der eingebaute Originalbefehl verwendet wird.
zu A, B und C: set ps, let ps und do ps ergeben in diesem Zusammenhang über-haupt keinen Sinn und können deshalb sofort ausgeschlossen werden.
zu D: sudo ps führt das Kommando als sudo aus, aber eben immer noch den Aliasund nicht den Originalbefehl.
Frage 7:
D: function ist hier das Mittel der Wahl. Mit einer Shellfunktion können Siemehrere Kommandos zu einem Befehl zusammenfassen und auch Parameterübergeben.
zu A: alias hat einen ähnlichen Verwendungszweck, dient aber hauptsächlichdem Abkürzen von langen Kommandos (auch mit Optionen und Parametern).
zu B: env zeigt hauptsächlich die Umgebungsvariablen an.
zu C: set zeigt gesetzte Shellvariablen an.
zu E: unset setzt Variablen zurück.
535
Index
#!/bin/bash 294$? 93, 296$0 296$1 93, 296$2 93, 296$HISTSIZE 93$PS1 93* 144./ 96.bash_history 94.bash_login 291.bash_profile 91, 192, 291.bashrc 90, 291.forward 402.rpmrc 77.Xdefaults 328.xinitrc 328.Xresources 328.xserverrc 328/bin/bash 295/bin/login 48/boot 29, 159/boot/grub/ 62/boot/grub/grub.conf 42/boot/grub/stage2 62/boot/grub2 63/dev 30/dev/cdrom 30/dev/ft0 32/dev/hd 30/dev/hda 30/dev/hda1 31/dev/hda2 31/dev/hda3 31/dev/hda5 31/dev/hdb 30/dev/hdc 30/dev/hdd 30/dev/sd 30/dev/sda 30, 32/dev/sdb 30, 32/dev/st0 32/dev/zero 165/etc/.bashrc 290/etc/aliases 401, 402
/etc/anacron 374/etc/apt/apt.conf 69/etc/apt/sources.list 69/etc/bashrc 90, 291/etc/crontab 370/etc/cups 409/etc/cups/cupsd.conf 409/etc/default/grub 64/etc/default/useradd 362, 365/etc/event.d 53/etc/false 358/etc/fstab 88, 164, 174, 175, 176, 182/etc/group 360, 368, 432/etc/grub.d 64/etc/gshadow 361, 368/etc/host.conf 432/etc/HOSTNAME 430/etc/hostname 430/etc/hosts 431, 432/etc/hosts.allow 448, 453/etc/hosts.deny 448, 453/etc/hotplug 37/etc/inetd.conf 446, 447/etc/init 53/etc/init.d 49, 51, 95/etc/inittab 47, 49, 340/etc/inputrc 292/etc/known_hosts 454/etc/ld.so.cache 65/etc/ld.so.conf 65/etc/localtime 378, 391/etc/logrotate.conf 397/etc/mail 402, 403/etc/mail/access 404/etc/mail/relay-domains 404/etc/manpath.config 98/etc/modprobe.conf 42/etc/modules.conf 42/etc/mtab 179/etc/network/interfaces 434/etc/networks 431/etc/nologin 449, 453/etc/nsswitch.conf 432/etc/ntp.conf 393/etc/ntp.drift 393
536
Index
/etc/passwd 357, 359, 368, 432/etc/printcap 406, 409/etc/profile 90, 94, 192, 291/etc/rc.d 49, 51/etc/rc.d/xfs 334/etc/resolv.conf 431/etc/rpmrc 77/etc/services 414/etc/shadow 189, 359, 368/etc/skel 292, 362/etc/ssh/ssh_config 452/etc/ssh/ssh_host_dsa_key 454/etc/ssh/ssh_host_dsa_key.pub 454/etc/ssh/ssh_host_key 455/etc/ssh/ssh_host_key.pub 455/etc/ssh/ssh_host_rsa_key 455/etc/ssh/ssh_host_rsa_key.pub 455/etc/ssh_known_hosts 453/etc/sshrc 453/etc/sudoers 445/etc/syslog.conf 396/etc/timezone 378, 392/etc/updatedb.conf 206/etc/usbmgr/host 37/etc/usbmgr/preload.conf 36/etc/usbmgr/usbmgr.conf 36/etc/X11/fs/config 334/etc/xinetd.conf 448/etc/xinetd.d 448/etc/yum.conf 82/etc/yum.repos.d 82/home 59/lib/modules 23, 29/proc 33, 158/proc/bus/pci 34/proc/dma 32/proc/interrupts 32/proc/ioports 32/proc/kmsg 399/proc/modules 24, 25/proc/partitions 158/proc/pci 32/proc/scsi 33/proc/swaps 165/sbin/mingetty 48/tmp 59/usl/lib/locale 380/usr 59/usr/bin 296
/usr/lib/rpm 77/usr/lib/rpm/rpmrc 77/usr/lib/rpmrc 77/usr/lib/X11/app-defaults/XTerm 329/usr/sbin 296/usr/share/i18n/SUPPORTED 380/usr/share/zoneinfo 391/usr/src 29/usr/src/ 23/usr/src/linux 29/var 59/var/cache/man 98/var/lib/dpkg/available 68/var/lib/dpkg/info 67/var/lib/dpkg/status 68/var/lib/rpm 77/var/log 397/var/log/mail 405/var/log/messages 44, 397/var/mail 402/var/spool 406/var/spool/cron 372/var/spool/mail 402/var/spool/mqueue 402? 144~./ssh/known_hosts 453~/.bash_login 91, 291~/.bash_logout 292~/.bash_profile 291~/.bashrc 292~/.gnupg 461~/.inputrc 292~/.profile 291~/.ssh/authorized_keys 455~/.ssh/id_dsa 456~/.ssh/id_dsa.pub 456~/.ssh/id_rsa 455~/.ssh/id_rsa.pub 455~/.ssh/ssh_know_hosts 453~/.xinitrc 328
A
Absolute Pfadangaben 113ACL 198Aktive Partition 160Akzent Circumflex 146alias 288Aliase 287
537
Index
alien 75ALTER TABLE 306, 317anacron 374AND 323Änderungszeit 117Anwendungsschicht 413apache2 50append only 194apropos 99, 100, 204apt-cache 74apt-get 69, 71aptitude 73aquota.group 182aquota.user 182Argumente 88ARP 416ARPA 412ARPANET 412Assistive Techniken 341at 373at.allow 374at.deny 375atd 373aterm 329authorized_keys 456auto 179awk 143
B
Backslash 143Barrierefreies Anmelden 342Barrierefreiheit 342Bash 88bash 284bash.bashrc.local 291Baudot, Jean-Maurice-Émile 381Baudot-Code 381Befehls-History 94Bevorzugte Anwendungen 342, 346bg 137Bildschirmlupe 347Bildschirmtastatur 352BIOS 39, 160BIOS-Uhr 391Bootloader 41Boot-Strap-Loader 41, 42, 61Brailledisplay 342, 348Brailleschrift 342
Braillezeile 342BRLTTY 348Broadcastadresse 420builtin 290bunzip2 119, 121bzip2 119, 121
C
case 301cat 102, 128catman 98cd 113CD-ROM 30cfdisk 158chage 365, 440chattr 193chfn 358chgrp 192chmod 187, 188, 190, 294, 295chown 191CIDR 418, 419clear 301, 302Coldplug 37COMMIT 306cp 115cpio 121cpio-Paket 82CREATE DATABASE 309CREATE TABLE 306cron 370cron.allow 374cron.deny 374crond 370crontab 370, 372csh 88, 284CSV 150CTRL-ALT-DEL 49CUPS 407, 409cut 108, 128
D
Data Control Language 306Data Definition Language 306Data Manipulation Language 306Data Query Language 306date 390Dateiattribute 193
538
Index
Dateideskriptoren 125dbus 38DCL 306dd 122, 165DDL 306debugfs 169DEC 325defaults 179DELETE 323depmod 27, 28Desktop Environment 327Device 332df 130, 171dig 425DISPLAY 336Display Manager 327, 339DISTINCT 306dmesg 44DML 306do 297DoD 412DoD Modell 413Dollarzeichen 143Donald Murray 382done 297, 298Doppelkreuz 145dosfsck 167Dotted Quad 416dpkg 67, 69, 75dpkg-reconfigure 71DQL 306DROP 323DROP DATABASE 324DROP TABLE 306, 324Druckfilter 406DSA-Schlüssel 454dselect 69, 71du 172, 173dump 58, 178dumpe2fs 170, 184DVD-Laufwerk 30Dynamic Link Library 65dynamically linked 65
E
e2fsck 167echo 90, 293, 300Echtzeituhr 391
ed 152edquota 184, 185egrep 144, 148EHCI 35Einfügemodus 153elif 301else 301elvis 152emacspeak 353Endzylinder 159env 91, 287esac 301eterm 329Ethernet 413exec 179exim 400, 405expand 104export 92, 286ext2 160, 162, 168ext3 160, 162, 168Eyetracker 344
F
FAT-32 161FDDI 413fdisk 158, 164Festplatte 30fg 137fgrep 148FHS 200fi 301file 124Filesystem Hierarchy Standard 200find 117, 204, 300finger 358Fingerprint 453Firewire 37fmt 104Fontpath 330for 300FQDN 431free 138, 165fsck 167, 168, 177, 178fsck.cramfs 167fsck.ext2 167fsck.ext3 167fsck.jfs 167fsck.minix 167
539
Index
fsck.msdos 167fsck.reiserfs 167fsck.vfat 167fsck.xfs 167fslsfonts 334ftp 428ftp.kernel.org 429function 289Funktionen 289
G
gawk 143gdm 339, 340gdm.conf 340gdmconfig 340GECOS 358Gesten 345GNOME 327, 339Gnopernicus 353GNU 88GNU Privacy Guard 457GnuPG 457GOK 352gpasswd 367GPG 457gpg.conf 461Gpg4win 458Gracetime 181GRANT 306grep 44, 126, 143, 144, 145, 146GROUP 315group 357groupadd 365groupdel 366groupmod 366grpck 369grpconv 368grpquota 179grpunconv 368GRUB 42, 62GRUB 2 63GRUB Stages 62grub.cfg 64grub.conf 63grub-mkconfig 64gshadow 357GTK 329gunzip 119, 121gzip 119
H
hald 38halt 52Hardlimit 181, 184, 441Hardlinks 198Hardware Abstracion Layer 38Hashes 145head 103Headtracker 344hexdump 106hid.o 35Hilfstechnologien 342HISTSIZE 94host 425Host zu Host 413Hostkey 453, 454hosts.allow 453hosts.deny 453Hotkeys 292Hotplug 37hotplug 37HPFS 161http
//lpievent.lpice.eu/ 18//tools.ietf.org/html/rfc791 416//www.denic.de/de/whois/index.jsp 428//www.ntp.org 392
hwclock 391
I
IBM 325ICMP 416iconv 386id_rsa 455id_rsa.pub 456if 301ifconfig 433ifdown 434ifup 434IGMP 413IMAP 401immutable 194inetd 446inetd.conf 447init 46, 47, 49, 52, 129initdefault 47inittab 47
540
Index
Inodes 172Inputdevice 331INSERT 306insmod 25, 26Internetschicht 413IP-Klassen 417IPv4 415, 416IPv6 415, 421IRIX 161ISO 8859 385ISO-8859-1 385
J
jobs 136, 137JOIN 320join 108Joker 118, 144journal 169
K
KDE 327, 339kdm 339, 340kdmrc 340Kernel 22Kernel-Parameter 42Kernel-Ring-Buffer 44KGpg 458kill 134killall 135Klebrige Tasten 342klogd 399klogin 447Kommandomodus 153ksh 88, 284
L
LANG 380LANG=C 380LC_ALL 380ldconfig 65ldd 65LEFT JOIN 320less 127let 293, 294, 297LIMIT 315Link-Layer 413
ln 196, 198, 199locale 380locate 205logger 398Logical Volume Manager 59Logische Volumen 60logrotate 369logrotate.conf 397lp 407lpadmin 410lpc 408, 410lpd 406lpq 407, 410lpr 406, 407, 410lprm 407, 410ls 112lsattr 193lsdel 169lsmod 24, 27, 35lsof 442lspci 33lsusb 35LVM 59, 161
M
mail 300Mail Transfer Agent 400Mail User Agent 400Mail-Aliase 401mailq 403Major Release 23man 99Manpages 97MANPATH 97manpath 98manpath.config 97Master Boot Record 31, 40master.cf 404Maussteuerung 342Maustasten 344MBR 41MDA 400menu.lst 63Metacity 327Metazeichen 143, 147MEZ 391mingetty 48Minor Release 23
541
Index
MIT 325mkdir 116mkdosfs 161mke2fs 162, 163, 170mkfs 161, 162mkfs.cramfs 162mkfs.ext2 161mkfs.ext3 161mkfs.jfs 162mkfs.msdos 161mkfs.ntfs 161mkfs.reiserfs 161mkfs.vfat 161mkfs.xfs 161mkswap 164, 165modinfo 24modprobe 26modprobe.conf 28modprobe.conf.local 28modules.conf 28modules.dep 27, 28Monolithische Kernel 22Morse-Code 381mount 88, 174, 176, 177Mounten 174Mountpoint 175MTA 400MUA 400Murray-Code 382mv 116
N
nano 148netstat 415, 436, 440Netzwerk-Zugriff 413Neustart 52newaliases 402newgrp 367NFS 176nfs 176nfsd 130nice 140, 141nl 104nmap 415, 440noauto 179noexec 179nohup 138nohup.out 138
nosuid 179nouser 179nslookup 425NTFS 161NTP 392ntp.conf 393ntpd 392, 393ntpdc 393ntpq 393
O
od 106OHCI 34Oktett 416Optionen 88Orca 347ORDER BY 306, 315OSPF 416
P
Partition 158, 159Partitionierung 57Partitionstabelle 31, 41, 160passwd 189, 357, 364, 440paste 155Patchlevel 23PATH 90, 287, 296PATH Variable 95PCI Bus 33PCMCIA 37Pearson Vue 17Perl 143PGP 457Physikalische Volumen 60pico 148PID 129, 134, 141PID 1 46ping 423Pipe 125Pipes 127pkg 75postfix 400poweroff 52Power-On-Self-Test 39pr 105Primärschlüssel 310Primary IDE 30
542
Index
Prozesspriorität 140ps 46, 129, 131, 134, 141pstree 46, 131pubring.gpg 461putty 452pwck 368pwconv 368pwd 96, 113pwunconv 368Python 143
Q
qmail 400, 405QT Librarys 329Quellen 29Queue 406Quota 181quota 185quota.group 182quota.user 182quotacheck 182, 183quotaoff 183quotaon 183
R
RAID 59RAW 406read 301Real-Time-Clock 390reboot 52redirect 125regex 143, 144regexp 143, 155regular expression 143Regulärer Ausdruck 149Rekursive Befehlsausführung 96Relative Pfadangaben 114renice 140, 142repquota 185Resolver 433respawn 48REVOKE 306RgbPath 330RIGHT JOIN 321RIP 415rm 117rmdir 117
rmmod 25, 26ro 179ROOLBACK 306Root-Passwort vergessen 43route 434Routing-Tabelle 435RPM 76rpm 75, 78rpm2cpio 78, 82rpmarchive 78rpmbuild 78RPM-Datenbank 79rpmdb 78rpme 78rpmgraph 78rpmheader 78rpmi 78rpmlead 78rpmlocate 78rpmqpack 78rpmquery 78rpmrc 77rpmsign 78rpmsignature 78rpmu 78rpmverify 78RSA-Key 454rsh 88RTC 390, 391Rückgabewerte 296Runlevel 46runlevel 52Runlevel-Wechsel 52rw 179rxvt 329
S
Samuel Morse 381SASL 405Sawfish 327Screen 333Screenreader 341, 347, 353SCSI 158SCSI Laufwerke 30Seahorse 458Secondary IDE 30secring.gpg 461secure deletion 194
543
Index
sed 143, 144, 148, 149SELECT 306, 311semikolonsepariert 150sendmail 400sendmail.cf 403Serverflags 331set 91, 286Setgid 189Setuid 189SGID 189, 299sh 284shadow 357shareable 201Shared Object 65she-bang! 294Shell 88, 284Shell-Variablen 90, 285shift 297shutdown 49, 52, 168SIGCONT 134, 137SIGHUP 133SIGINT 133SIGKILL 133Signale 133SIGSTOP 134SIGTERM 133, 134SIGTSTP 134Skeleton 292slp 75Smarthost 404smbfs 177SMTP-Relay 404socket 440Softlimit 181, 184, 441Softlinks 51, 195sort 106, 128source 294split 107Spooler 406SRI 412SSH 450ssh_config 452ssh_known_hosts 453ssh-add 457ssh-agent 457sshd_config 452ssh-keygen 454sshrc 453stable 23
Standardgateway 421, 435Startprotokollierung 43Startskripte 51startx 328Startzylinder 159stat 197, 199static 201statically linked 65stderr 125stdin 125stdout 125, 127Sticky Bit 190Sticky-Bit 299stream 447Stream Editor 148Stream-Editor 143su 444Subnetzmaske 418Subselects 319Subshell 92, 286Substitution 151Suchmuster 145, 147sudo 444SUID 189, 190, 295suid 179SUID-Bit 299, 440Superblocks 169Superdaemon 446swap 161Swap-Datei 165swapoff 164swapon 164Swap-Partition 164Synopsis 99sysfs 37syslog 395syslogd 395syslog-ng 395systemctl 55Systemd 54Systemzeit 390, 391
T
tac 102tail 103, 398tar 89Tastatursteuerung 342TCP 413, 414
544
Index
TCP/IP 412, 413tcpd 448tcpdchk 447TCP-Wrapper 448tcsh 88tee 128telinit 49, 52telnet 429test 297Textanker 143, 145tgz 75Thomson Prometric 17Tilde 113Timestamp 117Token Ring 413top 132, 140, 141, 142topq 408touch 117tr 110, 127traceroute 423tracetpath 425Transportlayer 413trustedb.gpg 461tsclient 452TTL 424tune2fs 163, 164, 168, 169tzselect 376, 378, 392
U
Übergabevariablen 296UCLA 412UCSB 412udev 38UDP 413, 414UHCI 34ulimit 441umask 188, 192, 193Umgebungsvariablen 90, 285umount 37, 168, 174, 177, 442uname 23, 26, 97undeletable 194unexpand 104Unicode 386uniq 107, 128unmounten 174unset 93, 287, 300unshareable 201UPDATE 306, 314
updatedb 136, 206update-grub2 64Upstart 53uptime 138USB 34USB 1.1 34USB 2.0 34usb-ehci 37usb-ehci.o 35USB-Klassen 35USB-Maus 35USB-Memory-Sticks 35usbmgr 36, 37usbmgr.conf 36usb-ohci 37usb-ohci.o 34usb-storage.o 35usb-uhci 37usb-uhci.o 34user 179useradd 362userdel 363usermod 363users 179usrquota 179UTC 391UTF-8 386
V
variable 201vi 148, 152, 153vile 152vim 152visudo 445vmlinuz 29Volumen-Gruppen 60
W
w 138Warteschlange 406wc 105, 173whatis 99, 204WHERE 311, 312whereis 100, 202which 96, 100, 203while 297whois 427
545
Index
Wildcards 118, 143, 144, 147Window Manager 327
X
X.org 326X11R6 326X11-Tunnel 451xargs 128X-Clients 326X-Consortium 326xdm 339, 340xdm-config 340xdpyinfo 337XF86Config 329X-Fontserver 333XFree86 326xfs 333xhost 335xinetd 447xinetd.conf 448xinit 328xinitrc 328X-Librarys 329
xntpd 393xorg.conf 329X-Server 326xserverrc 328Xsetup 340xterm 329xvidtune 332X-Windows 325, 328xwininfo 336
Y
yank 155yum 77, 82yumdownloader 85
Z
Zeitsynchronisation 392Zeitzone 376zsh 88, 284Zugriffsrechte 186Zugriffszeit 117
Auf einen Blick
Auf einen Blick
LPI 201
201 Der Linux-Kernel ................................................................................................... 19
202 Systemstart ............................................................................................................ 47
203 Dateisystem und Devices .................................................................................. 63
204 Erweiterte Administration von Storage Devices ........................................ 103
205 Netzwerkkonfiguration ...................................................................................... 133
206 Systemverwaltung und Wartung ................................................................... 179
207 Domain Name Service (DNS) ............................................................................ 201
Übungsfragen zu LPI 117-201 ..................................................................................... 231
LPI 202
208 Web-Dienste .......................................................................................................... 299
209 Freigabe von Dateien .......................................................................................... 329
210 Verwaltung von Netzwerk-Clients ................................................................. 349
211 E-Mail-Dienste ....................................................................................................... 375
212 Systemsicherheit .................................................................................................. 399
213 Systemprobleme lösen ....................................................................................... 437
Übungsfragen zu LPI 117-202 ..................................................................................... 477
5
Inhalt
Vorwort ................................................................................................................................................... 13
LPI 201
201 Der Linux-Kernel 19
201.1 Kernel-Komponenten .......................................................................................... 19
Allgemeines ............................................................................................................ 19Zu den Kernel-Quellen gehörende Dateien und Verzeichnisse ........................ 21
201.2 Kernel kompilieren ............................................................................................... 22
Allgemeines ............................................................................................................ 22Identifizieren von Kernel-Versionen .................................................................... 23Den Kernel konfigurieren ...................................................................................... 24
201.3 Kernel patchen ...................................................................................................... 29
Allgemeines ............................................................................................................ 30Arbeiten mit patch, gunzip und bzip2 ................................................................. 30Einen Patch wieder entfernen .............................................................................. 31
201.4 Anpassen, Kompilieren und Installieren eines Kernels
inklusive Kernel-Module ..................................................................................... 31
Allgemeines ............................................................................................................ 32Eine Konfiguration mit Debian ............................................................................. 33Eine Konfiguration mit Fedora .............................................................................. 35
201.5 Kernel und Kernel-Module zur Laufzeit verwalten und abfragen ............ 37
Allgemeines ............................................................................................................ 38Zum Kernel gehörende Dateien und Verzeichnisse ........................................... 39Module zur Laufzeit beeinflussen und konfigurieren ........................................ 40Modulkonfigurationsdateien ................................................................................ 44Das Verzeichnis /proc/sys/kernel ......................................................................... 45
202 Systemstart 47
202.1 Anpassen des Systemstarts und der Bootprozesse ....................................... 47
Allgemeines ............................................................................................................ 47Die Runlevel und ihre Funktion ............................................................................ 48
Inhalt
6
Die Konfigurationsdatei inittab ............................................................................ 49Verzeichnisse und Dateien des init-Prozesses .................................................... 50chkconfig und update-rc.d .................................................................................... 53Runlevel-Wechsel, Herunterfahren, Neustart .................................................... 54Linux Standard Base (LSB) ..................................................................................... 56
202.2 Systemwiederherstellung .................................................................................. 56
Allgemeines ............................................................................................................ 57GRUB-Konfiguration .............................................................................................. 57Die GRUB Shell ........................................................................................................ 59Dateisysteme prüfen und reparieren ................................................................... 59
203 Dateisystem und Devices 63
203.1 Arbeiten mit dem Linux-Dateisystem .............................................................. 63
Allgemeines ............................................................................................................ 63Manuelles Mounten und Unmounten ................................................................. 64Automatisches Mounten über die Datei /etc/fstab ........................................... 67
203.2 Pflege des Linux-Dateisystems .......................................................................... 72
Allgemeines ............................................................................................................ 73Sicherstellen der Integrität des Dateisystems und Problembehebung ........... 73Erzeugen der Dateisysteme .................................................................................. 78Formatieren der Dateisysteme ............................................................................. 81Erstellen einer Swap-Datei .................................................................................... 85
203.3 Anlegen und Konfigurieren von Dateisystemen ........................................... 88
Allgemeines ............................................................................................................ 89Automatisches Mounten ....................................................................................... 89ISO-Dateien und CDs erstellen ............................................................................. 91Verschlüsselte Dateisysteme ............................................................................... 96
203.4 Verwaltung von Devices mit udev .................................................................... 100
Allgemeines ............................................................................................................ 100udev konfigurieren ................................................................................................. 100udev überwachen ................................................................................................... 102
204 Erweiterte Administration von Storage Devices 103
204.1 RAID-Konfiguration ............................................................................................. 103
Allgemeines ............................................................................................................ 103RAID-Level ............................................................................................................... 104
Inhalt
7
Ein Software-RAID erstellen .................................................................................. 105RAID-Arrays verwenden, konfigurieren und überprüfen ................................... 107Ein RAID-Array erweitern ....................................................................................... 109
204.2 Konfiguration von Storage Devices .................................................................. 111
Allgemeines ............................................................................................................ 112hdparm .................................................................................................................... 112sdparm ..................................................................................................................... 115tune2fs ..................................................................................................................... 115Die Gerätedateien für Festplatten und CD-ROMs .............................................. 117Die Gerätedateien für Partitionen ........................................................................ 117sysctl ........................................................................................................................ 119
204.3 Logical Volume Manager .................................................................................... 119
Allgemeines ............................................................................................................ 120LVM-Komponenten und Zusammenhänge ........................................................ 121LVM-Konfiguration ................................................................................................ 121LVM-Snapshots ....................................................................................................... 129Device Mapper ........................................................................................................ 131
205 Netzwerkkonfiguration 133
205.1 Grundlagen der Netzwerkkonfiguration ........................................................ 133
Allgemeines ............................................................................................................ 133Werkzeuge zur Netzwerkkonfiguration .............................................................. 134
205.2 Fortgeschrittene Netzwerkkonfiguration und Fehlersuche ........................ 141
Allgemeines ............................................................................................................ 142Werkzeuge und Konfigurationsdateien .............................................................. 142
205.3 Kernpunkte der Fehlerbehebung in Netzwerken .......................................... 164
Allgemeines ............................................................................................................ 165Werkzeuge und Konfigurationsdateien .............................................................. 165
205.4 Benutzer benachrichtigen .................................................................................. 175
Allgemeines ............................................................................................................ 176Konfigurationsdateien und Werkzeuge .............................................................. 176
206 Systemverwaltung und Wartung 179
206.1 Programme aus dem Quellcode übersetzen und installieren ..................... 179
Allgemeines ............................................................................................................ 180Aufbau von Tar-Balls .............................................................................................. 180
Inhalt
8
Einen Tar-Ball installieren ..................................................................................... 181Archivierung im Allgemeinen ............................................................................... 182
206.2 Datensicherung ..................................................................................................... 185
Allgemeines ............................................................................................................ 186Was muss gesichert werden? ............................................................................... 186Backupstrategien ................................................................................................... 187Sicherungsarten ..................................................................................................... 188Hardware und Verbrauchsmaterial ..................................................................... 189Zur Sicherung benötigte Gerätedateien .............................................................. 189Geeignete Programme zur Erstellung von Datensicherungen ......................... 190
207 Domain Name Service (DNS) 201
207.1 Grundlagen der DNS-Serverkonfiguration ..................................................... 201
Allgemeines ............................................................................................................ 201Cache-Only-DNS-Server ......................................................................................... 203Dateien, Verzeichnisse und Kommandos ............................................................ 206
207.2 Erstellen und Pflegen von DNS-Zonen ............................................................. 210
Allgemeines ............................................................................................................ 211Inhalt von Zonendateien und Eintragstypen ...................................................... 211Erstellen von primären Zonen ............................................................................... 214Erstellen von sekundären Zonen .......................................................................... 215Bedingte Weiterleitung ......................................................................................... 217Delegieren von Zonen ............................................................................................ 217DNS-Diagnoseprogramme .................................................................................... 219
207.3 Absicherung eines DNS-Servers ........................................................................ 219
Allgemeines ............................................................................................................ 220Einschränkungen in named.conf .......................................................................... 220named einschränken ............................................................................................. 223DNSSEC .................................................................................................................... 225TSIG .......................................................................................................................... 226Aufteilung der BIND-Konfiguration ..................................................................... 227
Übungsfragen zu LPI 117-201 231
Fragen ...................................................................................................................... 231Antworten und Erklärungen zu den Prüfungsfragen ......................................... 267
Inhalt
9
LPI 202
208 Web-Dienste 299
208.1 Implementierung eines Webservers ................................................................ 299
Allgemeines ............................................................................................................ 300Installation von Apache ......................................................................................... 300Konfigurationsdateien ........................................................................................... 302Wichtige Einträge in der Datei httpd.conf .......................................................... 303Starten und stoppen .............................................................................................. 304Zugriffssteuerung .................................................................................................. 305Module integrieren ................................................................................................ 308Protokollierungseinstellungen ............................................................................. 311Leistungseinstellungen ......................................................................................... 312
208.2 Pflege eines Webservers ..................................................................................... 312
Allgemeines ............................................................................................................ 313Konfiguration von SSL ............................................................................................ 313Konfiguration virtueller Hosts .............................................................................. 316Die Redirect-Direktive ............................................................................................ 317
208.3 Implementierung eines Proxy-Servers ............................................................ 318
Allgemeines ............................................................................................................ 318Installation des Squid Proxy-Servers .................................................................... 319Konfiguration .......................................................................................................... 321Zugriffssteuerung mithilfe von ACLs ................................................................... 323Benutzer-Authentifizierung .................................................................................. 324
209 Freigabe von Dateien 329
209.1 Konfiguration eines Samba-Servers ................................................................. 329
Allgemeines ............................................................................................................ 330smbd und nmbd ..................................................................................................... 330Samba-Konfigurationsdateien ............................................................................. 331Werkzeuge und Dienstprogramme für Samba ................................................... 333SWAT ....................................................................................................................... 338Samba-3-Dokumentation ...................................................................................... 338Samba-Freigaben unter Linux einbinden ............................................................ 339
209.2 Konfiguration eines NFS-Servers ...................................................................... 340
Allgemeines ............................................................................................................ 340
Inhalt
10
Serverseitige Konfiguration .................................................................................. 341NFS-Clientkonfiguration ........................................................................................ 343Tools für NFS ........................................................................................................... 344Zugriffsbeschränkungen ....................................................................................... 348
210 Verwaltung von Netzwerk-Clients 349
210.1 DHCP-Konfiguration ............................................................................................ 349
Allgemeines ............................................................................................................ 349DHCP-Clients .......................................................................................................... 350DHCP-Server ............................................................................................................ 351DHCP-Relay-Agent ................................................................................................. 355
210.2 LDAP-Client-Konfiguration ................................................................................. 356
Allgemeines ............................................................................................................ 356Installation des OpenLDAP-Servers ...................................................................... 358Installation und Verwendung des LDAP-Clients ................................................. 359
210.3 PAM-Authentifizierung ....................................................................................... 367
Allgemeines ............................................................................................................ 367PAM-Konfiguration ................................................................................................ 368PAM-Module ........................................................................................................... 371PAM-Authentifizierung mit LDAP ......................................................................... 373
211 E-Mail-Dienste 375
211.1 E-Mail-Server ......................................................................................................... 375
Allgemeines ............................................................................................................ 375Sendmail .................................................................................................................. 376Postfix ...................................................................................................................... 379Exim ......................................................................................................................... 381Gemeinsamkeiten der MTAs ................................................................................. 385
211.2 Konfiguration der lokalen Mailzustellung ...................................................... 389
Allgemeines ............................................................................................................ 389Konfiguration von Procmail .................................................................................. 390Mbox- und Maildir-Formate ................................................................................. 392
211.3 Mails an entfernte Clients ausliefern ............................................................... 393
Allgemeines ............................................................................................................ 393Dovecot Mailserver ................................................................................................ 394Courier Mailserver .................................................................................................. 396
Inhalt
11
212 Systemsicherheit 399
212.1 Routerkonfiguration ............................................................................................ 399
Allgemeines ............................................................................................................ 399/proc/sys/net/ipv4 ................................................................................................. 400/etc/services ........................................................................................................... 401iptables .................................................................................................................... 402
212.2 Absichern von FTP-Servern ................................................................................. 408
Allgemeines ............................................................................................................ 409vsftpd ....................................................................................................................... 410Pure-FTPd ................................................................................................................ 412ProFTPD ................................................................................................................... 415
212.3 Secure Shell (SSH) ................................................................................................. 416
Allgemeines ............................................................................................................ 416SSH verwenden ....................................................................................................... 417SSH-Client-Verbindung ......................................................................................... 417SSH-Konfigurationsdateien .................................................................................. 419Authentifizierung der Server mit Schlüsseln ...................................................... 420Generieren von Schlüsseln .................................................................................... 421Benutzer-Authentifizierung mit Schlüsseln ........................................................ 422Der Authentifizierungs-Agent .............................................................................. 424
212.4 TCP-Wrapper ......................................................................................................... 425
Allgemeines ............................................................................................................ 425tcpd .......................................................................................................................... 425inetd ......................................................................................................................... 426
212.5 Sicherheitsmaßnahmen ...................................................................................... 428
Allgemeines ............................................................................................................ 428Sicherheitsinstitutionen ........................................................................................ 428Manuelle Untersuchung ........................................................................................ 429Automatische Sicherheitssysteme ....................................................................... 431
213 Systemprobleme lösen 437
213.1 Identifizieren des Boot-Stadiums und Problembehebung
bei Bootloadern .................................................................................................... 437
Allgemeines ............................................................................................................ 438Master Boot Record (MBR) .................................................................................... 438GRUB (Legacy) ......................................................................................................... 440GRUB 2 ..................................................................................................................... 442
Inhalt
12
LILO ........................................................................................................................... 442Probleme beim Laden des Kernels ........................................................................ 445Initialisierung der Daemons .................................................................................. 446
213.2 Allgemeine Fehlerbehandlung .......................................................................... 446
Allgemeines ............................................................................................................ 447Analyse der Protokolldateien ............................................................................... 447Tools zur Analyse .................................................................................................... 448Analyse am laufenden Kernel .............................................................................. 455Analyse am /proc-Dateisystem ............................................................................ 455
213.3 Problemanalyse von System-Ressourcen ........................................................ 456
Allgemeines ............................................................................................................ 457Kernel und Daemons ............................................................................................. 457Bibliotheken ............................................................................................................ 459Shell-Konfiguration ................................................................................................ 461Hard- und Softlinks ............................................................................................... 463
213.4 Fehleranalyse von Umgebungs-Einstellungen .............................................. 465
Allgemeines ............................................................................................................ 466Ende des Systemstarts und Anmeldung .............................................................. 466Bash personalisieren ............................................................................................. 468Benutzer und Gruppen ......................................................................................... 469Syslog anpassen ..................................................................................................... 472Cron ......................................................................................................................... 474Zugriffssteuerung auf cron ................................................................................... 476
Übungsfragen zu LPI 117-202 477
Fragen ...................................................................................................................... 477Antworten und Erklärungen zu den Prüfungsfragen ......................................... 512
Index ..................................................................................................................................... 543
299
208 Web-Dienste
Der Apache Webserver ist eines der erfolgreichsten Open-Source-Pro-
jekte überhaupt. Aufgrund seiner Sicherheit, Stabilität und Leistungs-
fähigkeit wurde sein Erfolg bis heute durch keinen anderen Webserver
in Frage gestellt.
208.1 Implementierung eines Webservers
Wichtung: 3
Beschreibung: Die Prüflinge sollten in der Lage sein, einen Webserver zu installieren
und einzurichten. Dieses Lernziel beinhaltet die Überwachung der Serverauslastung
und -leistung, die Beschränkung von Benutzerzugriffen, Einrichtung der Unterstüt-
zung von Skriptsprachen-Modulen und clientseitige Benutzer-Authentifizierung.
Des Weiteren ist auch die Konfiguration der Serveroptionen, die zur Einschränkung
der Ressourcennutzung dienen, mit eingeschlossen.
Wichtigste Wissensgebiete:
� Apache 2.x-Konfigurationsdateien, -Begriffe und Dienstprogramme
� Konfiguration der Apache-Protokolldateien und deren Inhalte
� Methoden und Dateien zur Zugriffsbeschränkung
� Konfiguration von mod_perl und PHP
� Client-Benutzerauthentifizierungdateien und -Dienstprogramme
� Einstellung der maximalen Anzahl an Anfragen, der minimalen und maximalen
Anzahl an Serverprozessen und Clients
Liste wichtiger Dateien, Verzeichnisse und Anwendungen:
� Zugriffs-Logdateien (access logs) und Fehler-Logdateien (error logs)
� .htaccess
� httpd.conf
� mod_auth
� htpasswd
� htgroup
� apache2ctl
� httpd
208 Web-Dienste
300
Allgemeines
Apache ist nach wie vor der erfolgreichste Webserver im Internet. Statistiken (Quelle:
news.netcraft.com) zufolge (Stand April 2012) hat er einen Marktanteil von 65,24%
gefolgt von Microsofts Internet Information Server mit lediglich 13,81%. Andere Web-
server spielen im Internet eher eine untergeordnete Rolle. Die Ursprünge des Apache
Webservers liegen in einem inzwischen ausgestorbenen Webserver, dem NCSA-Web-
server »httpd«. Dieser wurde von der Organisation NCSA im Jahre 1995 eingestellt
und nicht weiter entwickelt. Die NCSA ist übrigens dieselbe Organisation, die im
Jahre 1993 den damals sensationellen Webbrowser Mosaic entwickelte. Das war der
erste Browser, der auch von normalen Menschen bedient werden konnte, die nicht
als absolute Computerfreaks bekannt waren.
Nachdem die NCSA ihren Webserver in der Version httpd 1.3 eingestellt hatte, fingen
diverse Entwickler, die sich später zur Apache Software Foundation zusammen
schlossen an, Sicherheitslücken in diesem Webserver zu beheben und neue Funk-
tionen hinzuzufügen. Es wurden immer mehr Patches zusammengetragen und den
Aussagen von Zeitzeugen nach wurde daraus zunächst die Bezeichnung »A patchy
Server«. Es gibt aber auch die Aussage, der Name wäre eine Hommage an den gleich-
namigen nordamerikanischen Indianerstamm. Möglicherweise ist an beiden Ge-
schichten etwas dran.
Installation von Apache
Es gibt verschiedene Möglichkeiten, wie man zu einem Apache Webserver kommen
kann. In Abhängigkeit von der verwendeten Linux-Distribution können Sie natürlich
yum oder aptitude verwenden, um den Webserver zu installieren. Damit Sie den Web-
server in seiner reinsten Form kennenlernen, ist es im Rahmen der Prüfungsvorbe-
reitung allerdings sinnvoller, Apache aus einem tar-Ball heraus zu installieren. Sie
finden die entsprechenden Downloadlinks zu etlichen HTTP- und FTP-Mirrorservern
auf http://www.apache.org.
Die folgende Beispielinstallation wurde auf einem Server unter CentOS ausgeführt.
Führen Sie einfach die folgenden Kommandos aus, um einen funktionierenden Web-
server zu installieren:
[root@arch-cent ~]# mkdir /usr/src/apache-2.2[root@arch-cent ~]# cd /usr/src/apache-2.2/
Aus dem vorbereiteten Installationsverzeichnis heraus kann man mittels wget den
tar-Ball gleich an Ort und Stelle herunterladen. Sie können natürlich auch eine
andere Quelle und eine andere Version von Apache verwenden, wenn Sie das möch-
ten.
208.1 Implementierung eines Webservers
301
[root@arch-cent apache-2.2]# wgethttp://apache.linux-mirror.org//httpd/httpd-2.2.19.tar.gz
Packen Sie den tar-Ball aus:
[root@arch-cent apache-2.2]# tar xvzf httpd-2.2.19.tar.gz
Wechseln Sie in das Verzeichnis, das gerade durch die Extraktion des tar-Balls ent-
standen ist:
[root@arch-cent apache-2.2]# cd httpd-2.2.19
Damit Sie den Webserver konfigurieren und kompilieren können, benötigen Sie spä-
testens jetzt einen Compiler. Ich persönlich bevorzuge den GNU C und C++ Compiler:
[root@arch-cent httpd-2.2.19]# yum install gcc
Bei der Konfiguration sollten Sie zumindest das Installationsverzeichnis mit
--prefix übergeben. Das Verzeichnis /usr/local/apache2 ist ein typisches Ziel für den
Webserver. Die anderen Optionen wählen die Funktionalitäten http, https, cgi und
das automatische Einbinden von Modulen.
[root@arch-cent httpd-2.2.19]# ./configure --prefix=/usr/local/apache2--enable-http --enable-https --enable-so --enable-cgi
Es gibt sehr viele Optionen, die Sie für die Konfiguration übergeben können. Sie er-
halten eine komplette Liste der Optionen, indem Sie im Installationsverzeichnis das
Kommando ./configure --help ausführen oder die Webseite http://httpd.apache.org/
docs/2.2/install.html besuchen.
Wenn die Konfiguration abgeschlossen ist, können Sie den httpd mit make kom-
pilieren:
[root@arch-cent httpd-2.2.19]# make
Wie bei der Installation vieler anderer tar-Balls folgt jetzt die eigentliche Installation
des Webservers:
[root@arch-cent httpd-2.2.19]# make install
Wenn alles gut gegangen ist, können Sie den Apache-Server jetzt zum ersten Mal
starten:
[root@arch-cent /]# /usr/local/apache2/bin/apachectl start
httpd: Could not reliably determine the server's fully qualified domain name,using 127.0.0.1 for ServerName
208 Web-Dienste
302
Es ist wahrscheinlich, dass Sie beim Start des Servers obige Fehlermeldung erhalten.
Der Webserver läuft dann trotzdem, aber Sie sollten diesen Schönheitsfehler behe-
ben, indem Sie der Datei
/usr/local/apache2/conf/httpd.conf (das ist übrigens die Hauptkonfigurationsdatei
des Webservers) eine Zeile wie diese hinzufügen:
ServerName arch-cent.homelinux.net:80
Prüfen Sie nach, ob der Webserver läuft, indem Sie nach Instanzen des Daemons
httpd suchen. Das ist der Daemon des Apache-Webservers:
[root@arch-cent /]# ps -A|grep httpd9487 ? 00:00:00 httpd9488 ? 00:00:00 httpd9489 ? 00:00:00 httpd9490 ? 00:00:00 httpd
Den eigentlichen Test führen Sie dann mit einem Webbrowser aus. Wenn Sie lokal an
derselben Maschine arbeiten, die den Webserver ausführt, rufen Sie einfach die URL
http://localhost auf. Alternativ können Sie natürlich auch von einem anderen PC aus
über das Netzwerk zugreifen. Der Kontent, der angezeigt wird, befindet sich im Docu-
mentRoot-Verzeichnis /usr/local/apache2/htdocs, wenn Sie Apache von Hand instal-
liert haben und Sie können hier Ihre eigenen Inhalte unterbringen.
Konfigurationsdateien
Die Konfigurationsdateien für Apache befinden sich üblicherweise in den Verzeich-
nissen /usr/local/apache2/conf (wenn Sie den Server selbst kompiliert haben, befin-
den Sie sich genau da), /etc/apache, /etc/apache2 oder /etc/httpd/conf. In Abhängig-
keit von der verwendeten Linux-Distribution können Sie sich aber auch noch in
anderen Verzeichnissen befinden (Hier hilft z. B. find /etc -name httpd.conf). Leider
variiert auch der Inhalt des jeweiligen Konfigurationsverzeichnisses. Das liegt daran,
dass in den meisten Linux-Distributionen Teile der Hauptkonfigurationsdatei
httpd.conf in kleinere Dateien ausgelagert wurden, um die Übersichtlichkeit zu erhö-
hen. In der LPI-Prüfung wird häufig nach folgenden Dateien gefragt:
� httpd.conf ist die Hauptkonfigurationsdatei. In dieser Datei stehen alle Parameter,
die für den Betrieb des Webservers notwendig sind.
� srm.conf enthielt früher die ResourceConfig Anweisungen. Da diese Anweisungen
inzwischen mit in die httpd.conf integriert wurden, ist die srm.conf heutzutage
leer oder gar nicht mehr vorhanden.
� access.conf enthielt früher die Anweisungen zur Zugriffssteuerung. Auch diese
Anweisungen wurden inzwischen mit in die Datei httpd.conf aufgenommen.
208.1 Implementierung eines Webservers
303
Wenn Sie Apache selbst konfiguriert und kompiliert haben, dann enthält sein Konfi-
gurationsverzeichnis /usr/local/apache2/conf ein Unterverzeichnis namens extra. In
diesem Unterverzeichnis finden Sie weitere Konfigurationsdateien, die mittels
include-Anweisungen in die Datei httpd.conf integriert wurden:
httpd-autoindex.confhttpd-languages.confhttpd-ssl.confhttpd-dav.confhttpd-manual.confhttpd-userdir.confhttpd-default.confhttpd-mpm.confhttpd-vhosts.confhttpd-info.confhttpd-multilang-errordoc.confInclude
Standardmäßig sind die zu diesen Dateien gehörenden include-Anweisungen aus-
kommentiert. Wenn Sie eine der Konfigurationsdateien benötigen, müssen Sie ledig-
lich in der Datei httpd.conf in der entsprechenden Zeile am Anfang die Raute
entfernen. Der Verwendungszweck der einzelnen Dateien ist in der Hauptkonfigura-
tionsdatei httpd.conf dokumentiert.
Wichtige Einträge in der Datei httpd.conf
Unabhängig von deren tatsächlichen Wichtigkeit werden nun einige Einträge aus der
httpd.conf aufgezählt, die in der Prüfung häufig auftauchen. Lassen Sie sich nicht von
Fragen erschrecken, die Optionen enthalten, die Sie gar nicht kennen. Oft kann man
durch Logik und Ausschlussverfahren die richtige Antwort herausfinden.
� Port ändert den Port, an dem Apache für eingehende Webanfragen lauscht. Der
Standardport ist 80. Diese Direktive wurde in neueren Apache-Versionen durch
Listen ersetzt.
� Listen ändert den Port und ggf. die IP-Adresse, an der Apache für eingehende Web-
anfragen lauscht. Standardmäßig ist hier Port 80 ohne IP-Adresse angegeben.
Tipp
Wenn Sie httpd-manual.conf aktivieren, indem Sie die vorangestellte Raute entfer-
nen, dann haben Sie Zugriff auf das Manual von Apache. Sie müssen anschließend
lediglich apachectl restart ausführen und können dann auf die URL http://local-
host/manual zugreifen.
208 Web-Dienste
304
� MinSpareServers legt die Anzahl der Instanzen fest, die beim Starten von Apache in
den Speicher geladen werden. Ein typischer Wert für kleine bis mittlere Serveraus-
lastungen ist 10.
� ServerType legt fest, ob Apache von inetd gestartet wird oder ob er selbstständig
läuft. Mögliche Werte sind standalone oder inetd.
� ServerRoot ist das Verzeichnis in dem Apache seine Protokolle, Serverkonfigura-
tion, CGI Skripte und Ähnliches findet.
� DocumentRoot ist das Hauptverzeichnis für Dokumente, zu dem die Öffentlichkeit
Zugang haben soll.
Starten und stoppen
Es gibt mehrere Methoden, einen Apache Server zu starten, zu beenden oder neu zu
starten. Sie sollten die hierfür benötigten Kommandos kennen:
� Wie jeden anderen Daemon können Sie auch httpd mit dem Kommando /etc/
init.d/httpd start starten. Sollten Sie den Server selbst kompiliert haben, dann
gibt es kein Startskript. Sie können dann einfach ein vorhandenes Skript kopieren
und entsprechend anpassen.
� Ohne init-skript: /usr/local/apache2/bin/httpd -f /usr/local/apache2/conf/
httpd.conf
� /usr/local/apache2/bin/apachectl ist zur Laufzeit allerdings die eleganteste
Lösung. Das Skript versteht die folgenden Optionen:
– start startet den Server.
– stop beendet den Server.
– restart startet den Server neu.
– graceful startet den Server neu, aber bestehende Verbindungen bleiben erhal-
ten. So können etwaige Konfigurationsänderungen registriert werden.
– configtest überprüft die Konfigurationsdateien auf Syntaxfehler.
Sie werden auf einigen Systemen apache2ctl anstatt apachectl antreffen. Die beiden
Skripte unterscheiden sich allerdings nicht nennenswert voneinander.
Prüfungstipp
Diese Einträge sollten Sie unbedingt kennen. Achten Sie darauf, dass Sie nicht Portund Listen miteinander verwechseln. Die Anzahl der MinSpareServers für eine
kleine bis mittlere Umgebung wird oft und in vielen Varianten gefragt. Merken Sie
sich also hierbei unbedingt die Zahl 10!
208.1 Implementierung eines Webservers
305
Im Allgemeinen ist apachectl nicht sehr gesprächig und gibt lediglich beim config-
test eine Erfolgsmeldung aus. In allen anderen Fällen sollten Sie sich bei einem Pro-
duktionsserver davon überzeugen, dass er die von Ihnen angeforderte Aktion auch
wirklich durchgeführt hat.
[root@arch-cent bin]# ./apachectl configtestSyntax OK
Die Richtigkeit der Konfigurationsänderungen wurde bestätigt.
Zugriffssteuerung
Wenn eine Webseite Informationen enthält, die nicht für die Öffentlichkeit be-
stimmt sind, dann sollten Sie eine Authentifizierung von den Benutzern anfordern.
Die erforderlichen Benutzerkonten können mit dem Programm htpasswd erstellt
und anschließend einer Webseite bzw. einem Webverzeichnis zugeordnet werden.
htpasswd verwenden
Die Befehlsfolge im folgenden Beispiel ist so gewählt, dass Sie sich einerseits über-
sichtlich darstellen lässt und außerdem durch kurze Kommandos leicht nachzustel-
len ist:
[root@arch-cent /]# cd /usr/local/apache2/bin/
Das folgende Kommando erstellt eine Passwortdatei und legt im selben Arbeits-
schritt den ersten Benutzer samt Passwort an. Die Passwortdatei befindet sich
anschließend im ServerRoot /usr/local/apache2.
[root@arch-cent bin]# ./htpasswd -c ../password.list user1New password:Re-type new password:Adding password for user user1
Wenn Sie weitere Benutzer für Ihren Webserver erstellen wollen, dann verwenden
Sie ein ähnliches Kommando. Sie müssen dann lediglich die Option -c (das c steht für
create) weglassen.
[root@arch-cent bin]# ./htpasswd ../password.list user2New password:Re-type new password:Adding password for user user2
Wechseln Sie eine Verzeichnisebene höher, um den Inhalt der Passwortdatei zu
betrachten. Sie werden feststellen, dass die Passworte verschlüsselt abgespeichert
wurden:
208 Web-Dienste
306
[root@arch-cent bin]# cd ..[root@arch-cent apache2]# cat password.listuser1:$apr1$MSADRkjD$RiOkhfPNrxeM3sFWu0vvf/user2:$apr1$puQJAZbN$sgfv1MEZ2AnimKzqIY22D0
Um Authentifizierung für die standardmäßig vorhandene Webseite zu anzufordern,
müssen Sie die Konfigurationsdatei httpd.conf anpassen. Suchen Sie die Sektion
<Directory /> und fügen Sie die unten fett gedruckten Zeilen hinzu:
<Directory />Options FollowSymLinksAllowOverride NoneOrder deny,allowDeny from allAuthName "Authentifizierung erforderlich" AuthType Basic AuthUserFile password.list require valid-user
</Directory>
Der Inhalt des Statements AuthName ist frei wählbar und wird dem Benutzer im
Authentifizierungs-Dialog angezeigt. Mit AuthType Basic wird die Methode der
Authentifizierung eingestellt. AuthUserFile zeigt auf die soeben erstellte Passwortda-
tei. Diese Datei befindet sich im vorliegenden Beispiel im Hauptverzeichnis des Web-
servers, weshalb hier auf eine Pfadangabe verzichtet werden kann. Das Statement
require valid-user legt fest, dass sich hier nur gültige Benutzer anmelden können. Es
ist übrigens auch möglich, konkreten Benutzern exklusiven Zugriff einzuräumen.
Sie können die Authentifizierung jetzt mithilfe eines Webbrowsers testen und
anschließend die soeben gemachten Änderungen aus der Datei httpd.conf löschen
oder auskommentieren. Diese Maßnahme ist für die nächste Lektion notwendig.
.htaccess
Eine andere Methode der Zugriffssteuerung ist die Verwendung einer verborgenen
Datei mit der Bezeichnung .htaccess. Dieses Verfahren unterscheidet sich kaum von
dem bereits beschriebenen. Sie können sogar die zuvor erstellte Passwortdatei ver-
wenden.
Damit Sie .htaccess-Dateien verwenden können, müssen Sie zuerst in der Datei
httpd.conf folgende globale Einstellung konfigurieren:
AllowOverride All
208.1 Implementierung eines Webservers
307
Sie sollten diese Einstellung, wie gesagt global festlegen und nicht innerhalb einer
<Directory>- Direktive. Erstellen Sie anschließend eine Datei mit der Bezeichnung
.htaccess und folgendem Inhalt im DocumentRoot des Webservers:
AuthName "Authentifizierung erforderlich"AuthType BasicAuthUserFile password.listrequire valid-user
Wie Sie sehen, ist der Inhalt und die Syntax mit den Einträgen in der httpd.conf-Datei,
die Sie vorher gemacht haben, absolut identisch. Der einzige Vorzug dieser Datei ist
der, dass auch ein gewöhnlicher Benutzer diese Datei erstellen kann. Dazu benötigt
der Benutzer keine Schreibrechte auf die Datei httpd.conf, sondern lediglich im jewei-
ligen Webverzeichnis. Auf diese Art kann die Verwaltung einzelner Webverzeich-
nisse an unterschiedliche Benutzer delegiert werden.
Testen Sie nun erneut den Zugriff auf den Webserver. Wenn Sie wiederholt Tests
durchführen, dann sollten Sie nach jedem Test den Cache Ihres Browsers löschen.
Ansonsten werden Ihre Tests zu unerwarteten Ergebnissen führen, weil Webseiten
eventuell ohne Authentifizierung direkt aus dem Browsercache heraus angezeigt
werden. Sie können die Datei .htaccess ganz einfach immer in die Verzeichnisse
kopieren, auf die Sie den Zugriff beschränken wollen. Es sollte bei hoch frequentier-
ten Servern aber berücksichtigt werden, dass die Verwendung dieser Methode die
Performance des Servers negativ beeinflusst.
.htgroup
In größeren Umgebungen kann es sinnvoll sein, die Benutzer, die auf Webressourcen
zugreifen dürfen, zu gruppieren. Im Prinzip können Sie die Datei zur Gruppierung
von Benutzern nennen, wie Sie wollen, aber der Name .htgroup hat sich im Laufe der
Jahre eingebürgert. Diese Datei durch einen Punkt am Anfang zu verstecken ist
grundsätzlich eine gute Idee, um die Datei vor neugierigen Augen zu verbergen, auch
wenn sie keine Passworte enthält. Um das Verfahren zu testen, erstellen Sie passend
zu den bereits erstellten Benutzern in der Datei password.list die Datei .htgroup eben-
falls im DocumentRoot-Verzeichnis des Servers. Die Datei .htgroup könnte diesen
Inhalt haben:
all:user1,user2agents:user1
Ändern Sie nun Ihre bestehende .htaccess-Datei ab, um die Gruppendatei zu ver-
wenden:
208 Web-Dienste
308
AuthName "Zugriff nur für Agents"AuthType BasicAuthUserFile password.listAuthGroupFile .htgrouprequire group agents
Beachten Sie bitte, dass AuthUserFile angegeben werden muss, auch wenn die
Zugangsvoraussetzung von der Gruppe abhängig ist. AuthName zeigt einem Benutzer
schon beim ersten Zugriff, wer auf dieses Webverzeichnis zugreifen darf. Wenn Sie
einen Test durchführen (nachdem Sie den Browsercache gelöscht haben), werden Sie
feststellen, dass user1 auf das Webverzeichnis zugreifen darf und user2 nicht.
Module integrieren
Funktionen, die von den meisten Anwendern benötigt werden, sind im Kern von
Apache fest integriert. Wenn weitere Funktionen benötigt werden, dann müssen
diese als Module eingebunden werden. Das als prüfungsrelevant genannte Modul
mod_auth, das für die Basis-Authentifizierung zuständig ist, wurde inzwischen ein fes-
ter Bestandteil des Apache Kerns und muss nicht mehr nachträglich integriert wer-
den. Die Integration von Perl und insbesondere PHP gehört allerdings immer noch
zu den Standardaufgaben bei der Apache-Konfiguration.
Integration von mod_php
PHP ist eine Skriptsprache, mit der es möglich ist, HTML-Code dynamisch zu generie-
ren. Sehr viele der heutigen Webseiten verwenden PHP auch, um Zugriffe auf
MySQL-Datenbanken durchzuführen. Die folgende Anleitung wird Ihnen helfen,
PHP in Ihren Webserver zu integrieren. Erstellen Sie zunächst ein Installationsver-
zeichnis und wechseln Sie hinein:
[root@arch-cent /]# mkdir /usr/src/php[root@arch-cent /]# cd /usr/src/php
Laden Sie anschließend den entsprechenden tar-Ball für PHP vom Webserver von
php.net herunter, und packen Sie ihn aus:
Hinweis
Es gibt wesentlich komplexere Methoden, den Zugriff auf einen Webserver bzw.
dessen Verzeichnisse zu steuern, wie Sie sich wahrscheinlich schon gedacht haben.
Für die Prüfung müssen Sie aber lediglich die bisher beschriebenen Mechanismen
kennen.
208.1 Implementierung eines Webservers
309
[root@arch-cent php]# wget http://de.php.net/distributions/php-5.3.6.tar.bz2[root@arch-cent php]# tar -xvjf php-5.3.6.tar.bz2
Beachten Sie bitte, dass es inzwischen eine neuere Version von PHP geben könnte.
Besuchen Sie ggf. die php.net-Webseite um Näheres zu erfahren, falls der oben
genannte Downloadlink nicht mehr funktionieren sollte. Wechseln Sie nun in das
entstandene Installationsverzeichnis.
[root@arch-cent php]# cd php-5.3.6
Die Konfiguration von PHP setzt das Entwicklungspaket libxml2-devel voraus. Sie
sollten das Paket also spätestens jetzt nachinstallieren:
[root@arch-cent php-5.3.6]# yum install libxml2-devel
Bei Systemen, die auf Debian basieren, heißt das entsprechende Paket übrigens
libxml2-dev. Jetzt können Sie die Konfiguration durchführen. Sie müssen bei der
Konfiguration zumindest das Verzeichnis angeben, in dem Apache seine Erweiterun-
gen erwartet:
[root@arch-cent php-5.3.6]# ./configure --with-apxs2=/usr/local/apache2/bin/apxs
Wenn die Konfiguration sauber durchgelaufen ist, können Sie PHP kompilieren, tes-
ten und installieren. Der Test ist übrigens optional und dauert relativ lange. Wenn Sie
also lediglich ein Testsystem zu Prüfungsvorbereitungszwecken konfigurieren, dann
können Sie den Test getrost überspringen.
[root@arch-cent php-5.3.6]# make[root@arch-cent php-5.3.6]# make test[root@arch-cent php-5.3.6]# make install
Die Installationsroutine hat der Konfigurationsdatei httpd.conf eine Zeile hinzuge-
fügt, die dafür sorgt, dass das PHP-Modul beim nächsten Neustart des Webservers
geladen wird:
LoadModule php5_module modules/libphp5.so
Damit Apache die Dateierweiterungen von PHP selbstständig erkennen kann, sollten
Sie allerdings noch folgende Zeile von Hand in die globale Sektion der Datei
httpd.conf eintragen:
AddType application/x-httpd-php .php .phtml
Überprüfen Sie die Konfiguration des Webservers, und starten Sie ihn anschließend
neu, um die Konfigurationsänderungen zu übernehmen:
[root@arch-cent bin]# ./apachectl configtest[root@arch-cent bin]# ./apachectl restart
208 Web-Dienste
310
PHP-Programmierung ist nicht Bestandteil Ihrer Prüfung, aber Sie finden im Internet
leicht Beispielskripte um Ihre Konfiguration zu testen, wenn Sie das möchten.
Integration von mod_perl
Perl ist eine Skriptsprache, die ursprünglich nicht für Webseitenprogrammierung
geschrieben wurde. In den letzten Jahren wurde Perl, zumindest was Webseiten
anbelangt, mehr und mehr von PHP verdrängt. Die Installation des Perl-Moduls für
Apache funktioniert etwas anders, als die Integration von PHP. Konsequenterweise
kommt bei der Installation ein Perl-Skript zum Einsatz, was natürlich voraussetzt,
dass der Perl-Interpreter schon auf dem System vorhanden ist. Bei den meisten aktu-
ellen Linux-Distributionen ist dieser Interpreter in einer Standardinstallation schon
enthalten. Wenn Sie die folgenden Schritte durchführen, sollten Sie eine funktionie-
rende Apache-Konfiguration mit Perl erhalten. Legen Sie zunächst wieder ein Instal-
lationsverzeichnis an und wechseln Sie hinein:
[root@arch-cent /]# mkdir /usr/src/mod_perl[root@arch-cent /]# cd /usr/src/mod_perl
Laden Sie anschließend das Perl-Modul als tar-Ball von der Apache-Webseite herun-
ter:
[root@arch-cent mod_perl]# wget http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz
Sollten Sie gerade in einer älteren Ausgabe dieses Buches lesen, könnte es natürlich
schon neuere Versionen des Moduls geben. Passen Sie dann die Kommandos (bzw.
hier die URL) entsprechend an. Packen Sie den tar-Ball aus:
[root@arch-cent mod_perl]# tar -xvzf mod_perl-2.0-current.tar.gz
Wechseln Sie anschließend in das gerade entstandene Installationsverzeichnis und
führen Sie das Perl-Skript zur Erstellung des Makefile aus, wie angegeben. Die Vari-
able MP_APXS gibt hierbei den absoluten Pfad zu den Apache-Erweiterungen an.
[root@arch-cent mod_perl]# cd mod_perl-2.0.5[root@arch-cent mod_perl-2.0.5]# perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
Ab hier unterscheidet sich die Installation nicht mehr von der Installation anderer
Programme, die als tar-Ball vorliegen:
[root@arch-cent mod_perl-2.0.5]# make[root@arch-cent mod_perl-2.0.5]# make install
Sie müssen jetzt nur noch dafür sorgen, dass Apache das Perl-Modul lädt. Fügen Sie
der Konfigurationsdatei httpd.conf deshalb noch folgende Zeile hinzu:
208.1 Implementierung eines Webservers
311
LoadModule perl_module modules/mod_perl.so
Starten Sie Apache anschließend einmal neu, damit die Konfigurationsänderungen
wirksam werden:
[root@arch-cent mod_perl-2.0.5]# /usr/local/apache2/bin/apachectl restart
Auch Perl-Programmierung ist nicht Bestandteil der LPI-Prüfungen. Deshalb muss
ich auch hier bezüglich Perl-Programmen zu Testzwecken auf das Internet verwei-
sen.
Protokollierungseinstellungen
Was die Protokollierung anbelangt, werden Sie bei den meisten Apache-Servern, die
paketbasiert installiert wurden feststellen, dass die Protokolle der Webserver im Ver-
zeichnis /var/log/apache2 liegen. Hier befinden sich im Normalfall die Dateien
access.log und error.log. Da diese Dateien üblicherweise von Logrotate rotiert wer-
den, finden Sie hier natürlich auch noch archivierte, komprimierte Versionen dieser
beiden Dateien.
In der Datei access.log wird jede einzelne URL, die abgerufen wird protokolliert. Es ist
deshalb möglich, sehr genau festzustellen, von welchen Computern aus auf welche
Inhalte zugegriffen wurde. Fehlgeschlagene Zugriffe werden hier ebenfalls protokol-
liert.
Die Datei error.log enthält keine Einträge, die auf Zugriffe durch Benutzer zurückzu-
führen sind, sondern vielmehr nur schwerwiegende Fehler. Hierbei kann es sich um
Fehler durch Fehlkonfiguration des Servers handeln oder Module, die sich aus
irgendeinem Grund nicht laden lassen. Sie sollten diese Datei also unbedingt konsul-
tieren, wenn es zu Fehlfunktionen des Servers kommt.
Wenn Sie Ihren Webserver nach der Anleitung in diesem Buch konfiguriert haben,
dann finden Sie die Protokolldateien in einem Unterverzeichnis des Webservers,
nämlich in /usr/local/apache2/logs. Die Dateinamen sind hier access_log und error_
log.
Die Position und die Dateinamen der Protokolldateien werden in der Konfigurati-
onsdatei httpd.conf festgelegt. Hierbei sind die Pfadangaben relativ ab dem Server-
Root zu betrachten:
CustomLog "logs/access_log" commonErrorLog "logs/error_log"
208 Web-Dienste
312
Leistungseinstellungen
In der Konfigurationsdatei httpd.conf finden Sie einige Direktiven, die sich auf die
Leistung des Servers auswirken. Diese Direktiven müssen an die Umstände ange-
passt werden, unter denen der Server läuft. Wenn zu erwarten ist, dass ein Webserver
ständig von sehr vielen Benutzern verwendet wird, dann sollten natürlich auch
entsprechend viele Arbeitsprozesse zur Verfügung stehen, um diese Anfragen zu
handhaben. Umgekehrt würden zu viele Arbeitsprozesse unnötigerweise die Sys-
temressourcen verschwenden. Entsprechend den Anforderungen können Sie fol-
gende Parameter konfigurieren:
� StartServers: Anzahl der Serverprozesse beim Start
� MinSpareServers: minimale Anzahl von Serverprozessen, die als Reserve zur Ver-
fügung stehen müssen
� MaxSpareServers: maximale Anzahl von Serverprozessen, die als Reserve zur Ver-
fügung stehen dürfen
� ServerLimit: maximale Anzahl der Serverprozesse, die zur Laufzeit des Servers
ausgeführt werden dürfen
� MaxClients: maximale Anzahl der Serverprozesse, die gleichzeitig ausgeführt wer-
den dürfen
� MaxRequestsPerChild: maximale Anzahl von Anfragen, die an einen Serverprozess
gesendet werden dürfen
208.2 Pflege eines Webservers
Wichtung: 2
Beschreibung: Die Prüflinge sollten in der Lage sein, einen Webserver für die Nut-
zung von virtuellen Hosts und Secure Sockets Layer (SSL) zu konfigurieren und
Regeln für den Dateizugriff zu setzen.
Wichtigste Wissensgebiete:
� SSL-Konfigurationsdateien, -Begriffe und -Dienstprogramme
� Handhabung von SSL-Zertifikaten
� Apache 2.x-Implementierung von virtuellen Hosts (mit und ohne fest zugeord-
nete IP-Adressen)
� Einsatz von Redirect-Anweisungen in Apache-Konfigurationsdateien, um Datei-
zugriffe zu individualisieren
208.2 Pflege eines Webservers
313
Liste wichtiger Dateien, Verzeichnisse und Anwendungen:
� Apache-Konfigurationsdateien
� /etc/apache2/*
� /etc/ssl/*
� openssl
Allgemeines
Auf den letzten Seiten haben Sie eine Menge über die Grundkonfiguration eines Apa-
che-Webservers erfahren. In der Praxis werden Sie aber noch weitere Funktionen
eines Webservers benötigen. Webserver, die von Internet Service Providern betrie-
ben werden, hosten normalerweise mehrere Webseiten. Es ist nicht ungewöhnlich,
dass ein einziger Apache-Webserver die Seiten von fünfzig und mehr Kunden hostet.
Zu diesem Zweck werden virtuelle Hosts auf den Servern konfiguriert.
Eine weitere Funktionalität, die häufig benötigt wird, ist SSL (Secure Socket Layer).
Mit SSL wird die Authentizität einer Webseite garantiert, die Integrität gewahrt und
der Inhalt während der Übertragung durch Verschlüsselung gesichert. Damit Sie
HTTPS verwenden können, muss das entsprechende Modul SSL installiert sein.
Die Beispiele der folgenden Seiten basieren diesmal auf einer Apache Installation
mittels yum. Auf diese Art lernen Sie gleichzeitig eine andere Variante von Apache
kennen. Der wesentliche Unterschied zum manuell installierten Webserver sind die
Positionen der Verzeichnisse des Servers im Dateisystem. Installieren Sie Apache
mit:
[root@arch-cent ~]# yum install httpd
Wenn Sie CentOS verwenden, dann wird das Modul mod_ssl automatisch mit instal-
liert. Bei einem System auf dem Fedora ausgeführt wird, müssen Sie SSL zusätzlich
installieren:
[root@arch-fc /]# yum install mod_ssl
Bei den Red Hat-basierten Systemen finden Sie die Konfigurationsdateien im Ver-
zeichnis /etc/httpd. Die Datei httpd.conf liegt jeweils im Verzeichnis /etc/httpd/conf.
Alle anderen Verzeichnisse sind durch Lesen der Hauptkonfigurationsdatei problem-
los zu ermitteln (z. B. ServerRoot und DocumentRoot).
Konfiguration von SSL
Wenn eine Webseite eine Authentifizierung verlangt oder vertrauliche Daten über-
mittelt, dann sollte die Verbindung verschlüsselt erfolgen. Es wäre sonst zu befürch-
208 Web-Dienste
314
ten, dass jemand die Verbindung abhorcht und dabei die Authentifizierungs-Daten
oder den vertraulichen Inhalt der Verbindung abfängt. In einer solchen Situation
kommt HTTPS zum Einsatz. Im Grunde genommen handelt es sich hier immer noch
um HTTP-Kommunikation, aber die Datenpakete werden in einer SSL-Verbindung
gesichert übermittelt. Das gesamte Konstrukt basiert auf einer Infrastruktur für
öffentliche Schlüssel (Public Key Infrastructure, PKI). Da hier Zertifikate im Spiel sind,
können Sie HTTPS nicht nur für die Verschlüsselung verwenden. Es ist auch eine
gegenseitige Authentifizierung von Webserver und Client möglich, wobei in der Pra-
xis meist nur die Authentifizierung des Servers gegenüber dem Client implementiert
wird. Schließlich müssen Sie als Kunde wissen, ob Sie einer Webseite trauen können,
wenn Sie z. B. Kreditkartentransaktionen durchführen wollen.
Wenn Sie eine mit SSL gesicherte Webseite konfigurieren, auf die vom Internet aus
zugegriffen wird, dann sollten Sie über ein Zertifikat für diese Seite verfügen, das von
einer öffentlichen Zertifizierungsstelle (z. B. Global Sign, Thawte, Verisign) ausgestellt
wurde. Ansonsten werden Benutzer beim Zugriff auf die Webseite eine Warnmel-
dung erhalten und die Seite möglicherweise meiden. Damit das Zertifikat eines Web-
servers von einem Client ohne Warnmeldungen akzeptiert wird, müssen drei
Kriterien erfüllt sein:
� Das Zertifikat muss von einer vertrauten Zertifizierungsinstitution stammen.
� Das Zertifikat muss gültig sein (nicht abgelaufen oder zurückgezogen).
� Der Antragstellername im Zertifikat muss mit der URL übereinstimmen, die ein
Benutzer in den Browser eingibt.
Das bedeutet, dass Sie problemlos zu Testzwecken ein Zertifikat verwenden können,
das Sie selbst ausgestellt haben. Wenn Sie SSL verwenden, um so etwas wie eine Ver-
waltungswebseite (z. B. phpMyAdmin, CUPS, Webmin o.Ä.) abzusichern, dann wollen
Sie wahrscheinlich lediglich sicherstellen, dass die Kommunikation verschlüsselt
erfolgt und nicht die Echtheit des Zielservers überprüfen. Auch in solchen Fällen kön-
nen Sie ohne Weiteres selbst signierte Zertifikate verwenden und entsprechende
Warnmeldungen des Browsers ignorieren.
Wenn Sie, wie im Abschnitt »Allgemeines« beschrieben, mittels yum einen Apache-
Webserver installiert haben, dann verfügt dieser bereits über ein selbst signiertes
Zertifikat. Sie sollten aber natürlich wissen, wie man ein solches Zertifikat mit
openssl selbst erzeugt und an eine Webseite bindet. Sie finden hier wieder eine
Schritt-für-Schritt-Anleitung. Denken Sie aber daran, dass diesem Zertifikat nicht
öffentlich vertraut wird. Erstellen Sie zunächst ein Unterverzeichnis für das Zertifikat
und den privaten Schlüssel und wechseln Sie anschließend hinein.
[root@arch-cent /]# mkdir /etc/httpd/ssl[root@arch-cent /]# cd /etc/httpd/ssl
208.2 Pflege eines Webservers
315
Verwenden Sie anschließend openssl um das Zertifikat und den Schlüssel zu generie-
ren. Die Benutzereingaben sind wieder fett gedruckt:
[root@arch-cent ssl]# openssl req -new -x509 -nodes -out arch-cent.homelinux.net.crt -keyout arch-cent.homelinux.net.keyGenerating a 1024 bit RSA private key.................++++++....................++++++writing new private key to 'arch-cent.homelinux.net.key' ---You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank. -----Country Name (2 letter code) [GB]:DEState or Province Name (full name) [Berkshire]:GermanyLocality Name (eg, city) [Newbury]:BerlinOrganization Name (eg, company) [My Company Ltd]:MaassenOrganizational Unit Name (eg, section) []:.Common Name (eg, your name or your server's hostname)
[]:arch-cent.homelinux.netEmail Address []:[email protected]
Es sollten nun zwei Dateien im aktuellen Verzeichnis liegen. Die Datei mit der Erwei-
terung crt enthält das Zertifikat mit dem öffentlichen Schlüssel, während die Datei
mit der Erweiterung key den privaten Schlüssel enthält:
[root@arch-cent ssl]# ls -linsgesamt 16-rw-r--r-- 1 root root 1277 20. Jun 21:50 arch-cent.homelinux.net.crt-rw-r--r-- 1 root root 887 20. Jun 21:50 arch-cent.homelinux.net.key
Damit der Webserver das Zertifikat und den Schlüssel auch verwendet, müssen Sie
die entsprechenden Direktiven der Datei httpd.conf anpassen. Im Fall von CentOS
bzw. Fedora wurde der hierfür zuständige Bereich per include-Anweisung in die
Datei /etc/httpd/conf.d/ssl.conf ausgelagert. Öffnen Sie diese Datei mit einem Editor
und suchen Sie nach den Einträgen SSLCertificateFile und SSLCertificateKeyFile.
Passen Sie die Dateien an Ihr eigenes Zertifikat und den privaten Schlüssel an:
SSLCertificateFile /etc/httpd/ssl/arch-cent.homelinux.net.crtSSLCertificateKeyFile /etc/httpd/ssl/arch-cent.homelinux.net.key
Damit die Konfigurationseinstellungen sofort wirksam werden, sollten Sie Apache
neu starten.
208 Web-Dienste
316
[root@arch-cent ssl]# apachectl restart
Greifen Sie nun mit einem beliebigen Webbrowser auf die abgesicherte Webseite zu,
indem Sie das Präfix https:// angeben. Sie sollten dann eine Sicherheitswarnung
erhalten, weil das vom Webserver verwendete Zertifikat nicht von einer vertrauens-
würdigen Zertifizierungsstelle ausgestellt wurde. Die Warnung können Sie in diesem
Fall natürlich ignorieren. Nur wenn Sie eine abgesicherte Webseite anderen Benut-
zern zur Verfügung stellen, sollten Sie ein Zertifikat von einer öffentlichen Zertifizie-
rungsstelle erwerben.
Konfiguration virtueller Hosts
Wenn auf einem Webserver mehrere Webseiten gehostet werden sollen, gibt es
grundsätzlich drei verschieden Möglichkeiten, diese Seiten voneinander zu unter-
scheiden. Sie könnten jeder Webseite eine eigene IP-Adresse zuordnen und die jewei-
ligen IP-Adressen in den entsprechenden DNS-Zonen eintragen (lassen). Da
öffentliche IP-Adressen Geld kosten, ist das allerdings keine sehr gute Wahl. Eine wei-
tere Möglichkeit besteht darin, unterschiedliche TCP-Ports für die verschiedenen
Webseiten zu verwenden. Das ist allerdings bei öffentlich zugänglichen Webseiten
schon aus kosmetischen Gründen abzulehnen, weil die Besucher der Webseite den
entsprechenden Port dann in der URL angeben müssten. Das sähe dann z. B. so aus:
http://www.google.de:82, also nicht gerade besonders professionell. Die dritte und
im Normalfall beste Lösung ist die Unterscheidung von Webseiten über den Hostna-
men. Die URL, die der Benutzer in seinen Browser eingegeben hat, wird innerhalb der
Abfrage an den Webserver übermittelt. Diese URL kann der Webserver auswerten
und einem virtuellen Host zuordnen.
Unabhängig davon, welche dieser drei Varianten konfiguriert werden soll, müssen in
der Datei httpd.conf virtuelle Hosts erstellt werden. Hierbei handelt es sich jeweils
um Gruppen von Direktiven, die am Anfang durch <VirtualHost> und am Ende mit
</VirtualHost> eingeschlossen werden. Eine komplette Konfiguration für einen vir-
tuellen Host könnte z. B. so aussehen:
<VirtualHost www.super-admin.org>ServerAdmin [email protected] /var/www/super-adminServerName www.super-admin.orgErrorLog logs/super-admin-error_logCustomLog logs/super-admin-access_log common
</VirtualHost>
Der Inhalt der Direktiven erklärt sich fast von selbst. Der wichtigste Eintrag ist jedoch
DocumentRoot, weil diese Direktive dem Webserver sagt, in welchem Verzeichnis der
208.2 Pflege eines Webservers
317
zur angegebenen URL passende Kontent zu finden ist. Die einleitende Zeile fällt
unterschiedlich aus, je nachdem, auf welche Art die Webseite identifiziert werden
soll. Hier ein paar Beispiele:
Identifikation durch die IPv4-Adresse:
<VirtualHost 24.215.7.162>
Identifikation durch die IPv6-Adresse:
<VirtualHost [2a01:198:5dd:7a03:a00:27ff:fe2d:5987]>
Identifikation durch den verwendeten TCP-Port:
<VirtualHost *:82>
Identifikation durch den Hostnamen und einen TCP-Port:
<VirtualHost www.super-admin.org:82>
Beachten Sie, dass die Angabe eines TCP-Ports innerhalb eines virtuellen Hosts nicht
verhindert, dass der Server weiterhin zusätzlich an Port 80 lauscht.
Die Redirect-Direktive
Redirects werden z. B. verwendet, wenn der Inhalt eines Webverzeichnisses an eine
andere Stelle verschoben wurde. Der Inhalt des entsprechenden Verzeichnisses kann
sich hierbei auch auf einem anderen Webserver befinden. In der Redirect-Direktive
kann ein Statuscode angegeben werden. Wenn Sie keinen Statuscode angeben, dann
wird per Voreinstellung der Wert 302 (found) an den Client gesendet. Das lokale Ver-
zeichnis wird relativ zum DocumentRoot angegeben, während das Ziel absolut und als
URL notiert wird.
Im folgenden Beispiel wird das lokale Unterverzeichnis /pdf an die URL http://
www.super-admins.org/dokumente umgeleitet. An den Client wird der Statuscode
301 (moved permanently) ausgegeben. Diese Statusinformation ist besonders für
Suchmaschinen interessant, weil eine dauerhafte Änderung (im Gegensatz zu einer
temporären Änderung) im Index der Suchmaschinen berücksichtigt werden sollte.
Redirect permanent /pdf http://www.super-admins.org/dokumente
Für den Statuscode eines Redirects können folgende Argumente verwendet werden:
� permanent: Der Server sendet den Statuscode 301 (moved permanently), um anzu-
zeigen, dass die Ressource dauerhaft unter der neuen URL erreichbar ist.
� temp: Der Server gibt den Statuscode 302 (found) zurück. Dies ist die Standardein-
stellung, wenn Sie kein Statusargument angeben.
208 Web-Dienste
318
� seeother: Der Server gibt den Statuscode 303 (see other) zurück. Das bedeutet, dass
die ursprüngliche Ressource ersetzt wurde.
� gone: Der Server sendet den Statuscode 410 (gone). Die angeforderte Ressource ist
auf dem Server dauerhaft nicht mehr erreichbar. Es ist keine neue URL bekannt.
Sie sollten übrigens nicht versuchen, ein Unterverzeichnis des ursprünglichen Web-
verzeichnisses als neues Ziel in einem Redirect zu verwenden. Diese Methode wird
von der Redirect-Direktive nicht unterstützt und führt zu einer Fehlermeldung im
Browser des Clients.
208.3 Implementierung eines Proxy-Servers
Wichtung: 1
Beschreibung: Die Prüflinge sollten in der Lage sein, einen Proxy-Server zu installie-
ren und zu konfigurieren, einschließlich der Zugriffsregeln, der Authentifizierung
und der Ressourcennutzung.
Wichtigste Wissensgebiete:
� Squid 2.x-Konfigurationsdateien, -Begriffe und -Dienstprogramme
� Methoden zur Zugriffsbeschränkung
� Methoden zur Client-Benutzerauthentifikation
� Aufbau und Inhalt von ACLs in den Squid-Konfigurationsdateien
Liste wichtiger Dateien, Verzeichnisse und Anwendungen:
� squid.conf
� acl
� http_access
Allgemeines
Ein Proxy-Server wird verwendet, um Webinhalte stellvertretend für Clients anzufor-
dern, zwischenzuspeichern und anschließend an die Clientcomputer auszuliefern.
Ursprünglich wurden Proxy-Server in Unternehmensnetzwerken hauptsächlich ein-
gesetzt, um die Bandbreite des Internetzugangs optimal nutzen zu können und um
Clientanfragen mit zwischengespeicherten Webseiten schneller versorgen zu kön-
nen. Die Möglichkeit, den Zugriff auf bestimmte Webseiten zu sperren oder den
Zugriff auf das Web auf bestimmte Clientcomputer zu beschränken, spielte zunächst
eine untergeordnete Rolle.
208.3 Implementierung eines Proxy-Servers
319
Heutzutage hat sich die Aufgabe eines Proxys eher in Richtung Zugriffssteuerung
verlagert. Da Webinhalte mehr und mehr dynamisch generiert und Webseiten
immer schneller aktualisiert werden, ist die Zwischenspeicherung oftmals nicht
sinnvoll. Aufgrund der inzwischen verfügbaren Bandbreiten heutiger Internetzu-
gänge ist das Caching von Webseiten außerdem nicht mehr so wichtig wie früher.
Trotzdem hat ein Proxy immer noch seine Daseinsberechtigung. Schließlich kann er
verhindern, dass die Mitarbeiter eines Unternehmens ihre Arbeitszeit verschwenden
und dass Kinder jugendgefährdendes Material aus dem Internet herunterladen.
Installation des Squid Proxy-Servers
Das LPI nennt als Prüfungsthema ausdrücklich die Konfigurationsdateien von Squid
2.x. Sie können sich aber ohne Probleme mit Squid 3.x auf die Prüfung vorbereiten.
Da die fertigen Squid-Proxys, die als Pakete für die verschiedenen Linux-Distributio-
nen vorliegen, sich nicht wesentlich voneinander unterscheiden, können Sie diesmal
auch auf ein solches Paket zurückgreifen. Die Konfiguration eines von Hand instal-
lierten Squid ist allerdings übersichtlicher und deshalb für Proxy-Einsteiger leichter
zu lesen.
Wenn Sie IPv6-Unterstützung für Internetzugriffe implementieren wollen, sollten
Sie mindestens die Squid-Version 3.1 installieren. Die Webseite des Projekts finden
Sie unter http://www.squid-cache.org. Hier finden Sie auch Informationen über
Bezugsquellen der aktuellen Squid-Versionen. Die hier Schritt für Schritt dokumen-
tierte Installation von Squid 3.2.0.9 wurde auf einem Debian 6.0-System durchge-
führt.
Die ersten Arbeitsschritte sind Routinearbeiten: Arbeitsverzeichnis erstellen, Quell-
paket herunterladen, dekomprimieren und auspacken.
root@arch-deb:~# mkdir /usr/src/squidroot@arch-deb:~# cd /usr/src/squidroot@arch-deb:/usr/src/squid# wget ftp://ftp.fu-berlin.de/unix/www/squid/archive/3.2/squid-3.2.0.9.tar.bz2root@arch-deb:/usr/src/squid# bunzip2 squid-3.2.0.9.tar.bz2root@arch-deb:/usr/src/squid# tar -xvf squid-3.2.0.9.tarroot@arch-deb:/usr/src/squid# cd squid-3.2.0.9/
Das Konfigurationsskript benötigt für seine Ausführung, zumindest unter Debian,
das Paket build-essential. Sie sollten dieses Paket also spätestens jetzt installieren:
root@arch-deb:/usr/src/squid/squid-3.2.0.9# apt-get install build-essential
Übergeben Sie dem Konfigurationsskript das Zielverzeichnis des Programms mit der
Option --prefix.
208 Web-Dienste
320
root@arch-deb:/usr/src/squid/squid-3.2.0.9# ./configure --prefix=/usr/local/squid
Wenn die Konfiguration fertig ist, können Sie wie gewohnt kompilieren und instal-
lieren:
root@arch-deb:/usr/src/squid/squid-3.2.0.9# makeroot@arch-deb:/usr/src/squid/squid-3.2.0.9# make install
Nach der Installation finden Sie den kompletten Server inklusive Konfigurationsda-
teien und dem Verzeichnis für Logfiles unterhalb von /usr/local/squid. Wenn Sie
zunächst mit dieser rohen Konfiguration arbeiten wollen, dann müssen Sie die das
Unterverzeichnis logs für Squid beschreibbar machen. Da Squid per default unter
dem Sicherheitskontext von nobody läuft, können Sie einfach dem User nobody die
Eigentümerschaft an dem Verzeichnis für die Logdateien übertragen:
root@arch-deb:/# chown nobody /usr/local/squid/var/logs/ -R
Da es sich lediglich um eine Testumgebung handelt, in der Sicherheit keine große
Rolle spielt, kann diese unsaubere, aber einfache Konfiguration verwendet werden.
Bevor Sie den Server in Betrieb nehmen können, muss der Cache einmalig initiali-
siert werden:
root@arch-deb:/# /usr/local/squid/sbin/squid -z2011/06/25 19:25:35 kid1| Creating Swap Directories
Beachten Sie bitte, dass in der Standardeinstellung nur im Arbeitsspeicher zwischen-
gespeichert wird. Um einen Festplattencache einzurichten, muss zunächst die Konfi-
gurationsdatei squid.conf modifiziert werden. Sie finden auf den nächsten Seiten
genaue Informationen über diese Konfigurationsdatei. Wenn der Cache fertig initia-
lisiert wurde, können Sie den Proxy testweise starten:
root@arch-deb:/# /usr/local/squid/sbin/squid
Es sind keine weiteren Optionen für den Start erforderlich. Squid läuft standardmä-
ßig als Daemon. Warten Sie ein paar Sekunden und prüfen Sie dann nach, ob der Ser-
ver nun läuft (ps aux|grep squid oder pidof squid sind hier hilfreich). Sollte es wider
Erwarten zu Problemen kommen, dann konsultieren Sie die soeben erstellte Proto-
kolldatei cache.log. Sollte diese Datei leer sein, dann gibt es ein Berechtigungsprob-
lem mit dieser Datei.
Im Lieferumfang von Squid ist ein Testprogramm enthalten, mit dem Sie die Funkti-
onsfähigkeit des Proxys testen können. Mit dem folgenden Kommando greifen Sie
über den lokal installierten Proxy (localhost TCP-Port 3128) auf eine Webseite zu. Die
Ausgabe des Kommandos sollte der HTML-Code der Webseite sein:
208.3 Implementierung eines Proxy-Servers
321
root@arch-deb:/# /usr/local/squid/bin/squidclient http://www.lpi.orgHTTP/1.1 200 OKDate: Sun, 26 Jun 2011 14:08:06 GMTServer: Apache/1.3.33 (Debian GNU/Linux) PHP/4.3.10-22 mod_ssl/2.8.22 OpenSSL/0.9.7e mod_perl/1.29X-Powered-By: eZ publishSet-Cookie: eZSESSID=aa69db352a0ec2e3fb9ab1bbe347135b; path=/Expires: Mon, 26 Jul 1997 05:00:00 GMTCache-Control: no-cache, must-revalidate
Konfiguration
Damit Sie die Ergebnisse Ihrer Konfigurationsarbeiten überprüfen können, sollten
Sie zunächst einen Webbrowser Ihrer Wahl so konfigurieren, dass er durch den
Squid-Proxy hindurch auf das Internet zugreift. Wenn Sie Firefox oder Iceweasel
unter Linux verwenden, dann finden Sie die entsprechende Registerkarte unter
Bearbeiten > Einstellungen > Erweitert > Netzwerk > Einstellungen. Tragen
Sie hier die Adresse des Proxy-Servers und den TCP-Port 3128 ein.
Abbildung 1 Tragen Sie die Adresse des Squid-Proxy und die zugehörige
Portnummer hier ein.
208 Web-Dienste
322
Um Fehler zu vermeiden sollten Sie überprüfen, ob der Squid Proxy-Server selbst
über eine funktionierende Internetverbindung verfügt. Wenn dennoch Fehler auf-
treten, dann lesen Sie bitte unbedingt die entsprechende Fehlermeldung im Brow-
serfenster.
Die Hauptkonfigurationsdatei des Squid-Proxy ist die Datei squid.conf. Sie finden
diese Konfigurationsdatei normalerweise unter /etc/squid.conf oder /etc/squid3/
squid.conf. Wenn Sie Squid aus einem tar-Ball heraus installiert haben, dann ist der
Dateipfad /usr/local/squid/etc/squid.conf. Sie sollten bezüglich der Grundkonfigura-
tion zumindest die folgenden Optionen in dieser Datei kennen:
� http_port legt fest, an welchem TCP-Port Squid lauschen soll. Der Standardwert ist
3128.
� cache_mem gibt an, wie viel Arbeitsspeicher für die Zwischenspeicherung verwen-
det werden darf (z. B. cache_mem 512 MB). In der Standardeinstellung werden ledig-
lich 8 MB verwendet.
� cache_dir konfiguriert den festplattenseitigen Cache des Proxys. Hierbei werden
(in dieser Reihenfolge) der Typ des Caches, der Verzeichnisname, die Cachegröße
in Megabyte, Anzahl der Unterverzeichnisse erster Ebene und die Anzahl der
Unterverzeichnisse zweiter Ebene festgelegt. Beispiel:
cache_dir ufs /usr/local/squid/var/cache 1024 16 256
In diesem Beispiel wird ein Cache vom Typ UFS verwendet. Das Hauptverzeichnis
des Caches ist /usr/local/squid/var/cache und wurde auf 1 GB beschränkt. In die-
sem Verzeichnis werden 16 Unterverzeichnisse erstellt und in diesen wiederum
jeweils 256 Unterverzeichnisse.
� reply_body_max_size limitiert die Größe eines reply-body und hindert Benutzer
dadurch daran, übergroße Dateien aus dem Internet herunterzuladen.
� access_log legt hauptsächlich den Pfad zu der Protokolldatei fest, in der Clientzu-
griffe protokolliert werden.
Cache auf Festplatte einrichten
In der Standardkonfiguration verwendet Squid keinen Festplattencache, wenn Sie
den Proxy aus einem tar-Ball heraus installiert haben. Damit der Cache initialisiert
werden kann, benötigt Squid Schreibrechte auf das Verzeichnis, in dem die Verzeich-
nishierarchie für den Cache erstellt werden soll. Da in der Testumgebung Sicherheit
keine Rolle spielt, können Sie einfach dieses Kommando verwenden:
root@arch-deb:/# chown nobody /usr/local/squid/var/logs/ -R
In der Datei squid.conf sollten Sie die Parameter für cache_dir Ihren persönlichen
Bedürfnissen anpassen. Besonders der erste numerische Wert, der die Cachegröße in
208.3 Implementierung eines Proxy-Servers
323
Megabyte festlegt, dürfte hier von Interesse sein. Die anderen Parameter von cache_
dir wurden bereits im vorangegangenen Abschnitt erläutert.
cache_dir ufs /usr/local/squid/var/cache 20000 16 256
Beenden Sie nun Squid, falls er noch laufen sollte, und führen Sie anschließend das
folgende Kommando aus, um den Cache neu zu initialisieren:
root@arch-deb:/usr/local/squid/var# /usr/local/squid/sbin/squid -z root@arch-deb:/usr/local/squid/var# 2011/06/26 15:24:44 kid1|2011/06/26 15:24:44 kid1| Creating Swap Directories2011/06/26 15:24:44 kid1| Making directories in /usr/local/squid/var/cache/002011/06/26 15:24:44 kid1| Making directories in /usr/local/squid/var/cache/012011/06/26 15:24:44 kid1| Making directories in /usr/local/squid/var/cache/02...2011/06/26 15:24:44 kid1| Making directories in /usr/local/squid/var/cache/0F
Die Initialisierung ist abgeschlossen, und Sie können Squid nun wieder normal star-
ten und verwenden.
Zugriffssteuerung mithilfe von ACLs
Die Zugriffssteuerung auf den Squid-Proxy wird über ACLs vorgenommen. In diesen
ACLs können Sie zunächst einige Definitionen vornehmen. Im weiteren Verlauf der
Konfiguration können Sie dann auf diese Definitionen (ACLs) zurückgreifen, um den
Zugriff jeweils zu erlauben oder zu verweigern. Typischerweise enthalten ACLs Grup-
pen von Quell-IP-Adressen, Ziel-IP-Adressen, URL-Listen oder Ports. Namen von
Zugriffssteuerungslisten können mehrfach verwendet werden. Wenn Sie Squid 3.x
selbst kompiliert haben, dann gibt es z. B. drei ACL-Einträge in der Datei squid.conf,
die für die Definition von privaten IPv4-Netzwerkadressen verwendet werden:
acl localnet src 10.0.0.0/8acl localnet src 172.16.0.0/12acl localnet src 192.168.0.0/16
Bis hierhin handelt es sich lediglich um eine Deklaration, in der alle privaten IPv4-
Adressen als mögliche Quelladressen (src) der ACL localnet hinzugefügt werden. In
einem ähnlichen Eintrag wird der lokale Computer selbst definiert:
acl localhost src 127.0.0.1/32 ::1
Ein paar Zeilen später wird dann für den lokalen Computer und die privaten IPv4-
Netzwerke der Zugriff auf den Proxy erlaubt:
http_access allow localnethttp_access allow localhost
208 Web-Dienste
324
Sie können den Zugriff auf Webseiten über reguläre Ausdrücke filtern. Dazu benöti-
gen Sie zunächst einen geeigneten ACL-Eintrag in der Datei squid.conf:
acl sperrliste url_regex "/usr/local/squid/etc/sperrliste"
Den zugehörigen Berechtigungseintrag sollten Sie vor andere Berechtigungseinträge
positionieren, weil vorangehende allow-Einträge sonst frühzeitig Zugriff gewähren,
so dass der Filter gar nicht erst greift.
http_access deny sperrlistehttp_access allow localnethttp_access allow localhost
Sie müssen jetzt nur noch die Datei /usr/local/squid/etc/sperrliste anlegen und
Schlagworte (jeweils in einer eigenen Zeile) eingeben, die in URLs nicht vorkommen
dürfen. Nach einem Neustart von Squid können Sie die Konfiguration mit einem
Browser testen.
Zum Abschluss der Zugriffssteuerung sollte immer der Zugriff für alle anderen
Clients verweigert werden. Ansonsten könnten böswillige Benutzer vom Internet aus
Ihren Proxy verwenden, um ihre Herkunft zu verschleiern und unter Ihrer Identität
z. B. Webserver attackieren. Die letzte Regel sollte also immer diese sein:
http_access deny all
Benutzer-Authentifizierung
Sie können den Zugriff auf einen Proxy einschränken, indem Sie eine Authentifizie-
rung konfigurieren. Die Benutzer werden dann beim Zugriff auf Webseiten aufgefor-
dert, einen Benutzernamen und ein Passwort einzugeben. Squid verfügt über
mehrere Authentifizierungs-Module, sodass Sie die Anmeldung z. B. über PAM,
Hinweis
Wenn Sie Squid paketbasiert installieren, dann wird in den meisten Fällen per Vor-
einstellung überhaupt kein Zugriff auf den Proxy möglich sein. Sie müssen dann
also die entsprechenden ACLs von Hand erstellen und den Zugriff erlauben.
Praxistipp
Wenn Sie den Zugriff auf einen Proxy häufig umkonfigurieren müssen oder wenn
eine recht komplexe Zugriffskonfiguration existiert, dann sollten Sie ein Frontend
verwenden, um nicht den Überblick zu verlieren. Eine gute Wahl ist hierfür Squid-
Guard. Diese Produkt ist aber nicht prüfungsrelevant.
208.3 Implementierung eines Proxy-Servers
325
LDAP, Windows-Domänen oder im einfachsten Fall über eine eigene Passwortdatei
abwickeln können. Die Verwendung einer Passwortdatei ähnelt der Konfiguration
der Basis-Authentifizierung von Apache. Führen Sie zunächst die folgenden Schritte
durch, um die Authentifizierungs-Komponenten nachzuinstallieren:
root@arch-deb:/# cd /usr/src/squid/squid-3.2.0.9/helpers/basic_auth/NCSAroot@arch-deb:/usr/src/squid/squid-3.2.0.9/helpers/basic_auth/NCSA/# makeroot@arch-deb:/usr/src/squid/squid-3.2.0.9/helpers/basic_auth/NCSA/#make install
Normalerweise kommt es bei der Installation zu keinerlei Komplikationen. Die
installierten Authentifizierungs-Module finden Sie jetzt im Verzeichnis /usr/local/
squid/libexec.
Genau wie bei der Apache Basis-Authentifizierung erstellen Sie als Nächstes eine
Passwortdatei mit Benutzernamen und den Kennwörtern.
root@arch-deb:/# cd /usr/local/squid/etcroot@arch-deb:/usr/local/squid/etc# htpasswd -c passwd williNew password:Re-type new password:
Bei der Erstellung weiterer Benutzer lassen Sie die Option -c (create) einfach weg. Es
würde sonst noch mal eine neue Datei erstellt werden und die bestehenden Benut-
zerkonten würden verloren gehen. Beispiel:
root@arch-deb:/usr/local/squid/etc# htpasswd passwd susiNew password:Re-type new password:
Die Passworte werden in der Passwortdatei verschlüsselt abgespeichert. Sie sollten
auf einem Produktionssystem trotzdem sicherstellen, dass Benutzer nicht das Recht
haben, diese Datei zu lesen.
root@arch-deb:/usr/local/squid/etc# cat passwdwilli:9EvUN84SDrJy6susi:5FMd5ieiINMf2
Hinweis
Sollten Sie Apache in der Zwischenzeit deinstalliert haben, dann verfügen Sie mögli-
cherweise nicht mehr über das Programm htpasswd. Sie können das Programm aber
bei Bedarf einzeln unter folgender Adresse aus dem Internet herunterladen.
http://www.squid-cache.org/htpasswd/
208 Web-Dienste
326
Damit die Basis-Authentifizierung funktioniert, sind einige Anpassungen an der
Datei squid.conf erforderlich. Fügen Sie zunächst in einer einzigen Zeile den folgen-
den Eintrag hinzu, um das Authentifizierungs-Modul zu laden:
auth_param basic program /usr/local/squid/libexec/basic_ncsa_auth /usr/local/squid/etc/passwd
Hierbei zeigt /usr/local/squid/libexec/basic_ncsa_auth den Pfad zum Authentifizie-
rungs-Modul und /usr/local/squid/etc/passwd die zu verwendende Passwortdatei an.
Es folgen ein paar Grundeinstellungen:
auth_param basic children 5auth_param basic realm Authentifizierung erforderlich!auth_param basic credentialsttl 8 hours
Der erste Parameter sorgt dafür, dass fünf Child-Prozesse gestartet werden, wie Sie
wahrscheinlich schon selbst vermutet haben. Mit dem zweiten Eintrag können Sie
eine Nachricht an den Benutzer übermitteln, wenn er sich anmeldet. Sie sehen das
Ergebnis in der Abbildung weiter unten. Der letzte Eintrag sorgt dafür, dass ein
Benutzer sich innerhalb von acht Stunden nur einmal authentifizieren muss. Nach
einem Browserneustart ist allerdings in jedem Falle eine neue Anmeldung fällig.
Als Nächstes müssen Sie der Datei squid.conf einen ACL-Eintrag hinzufügen, der die
Verwendung einer Authentifizierung voraussetzt:
acl users proxy_auth REQUIRED
Bei der Positionierung des Statements, das den soeben erstellten ACL-Eintrag ver-
wendet, ist Vorsicht geboten, was die Reihenfolge der Berechtigungsvergaben anbe-
langt. Wenn der Eintrag zu weit unten in der Konfiguration steht, könnte ein
Benutzer schon Zugriff erlangen, bevor die Authentifizierung überhaupt greift. Bei-
spiel:
http_access allow usershttp_access allow localnethttp_access allow localhost
Falsch wäre etwa:
http_access allow localnethttp_access allow localhosthttp_access allow users
Bei der falschen Konfiguration bekäme ein Benutzer bereits Zugriff aufgrund seiner
Position in einem lokalen Netz.
Sie können die Authentifizierung jetzt mit einem Webbrowser testen.
208.3 Implementierung eines Proxy-Servers
327
Abbildung 2 Authentifizierung bei einem Proxy-Server
Sollte der Authentifizierungs-Dialog nicht erscheinen, und Sie können den Proxy
ohne Authentifizierung verwenden, prüfen Sie noch mal die Reihenfolge der Berech-
tigungseinträge in der Datei squid.conf. Schieben Sie den Eintrag http_access allow
users im Zweifelsfall weiter nach oben.
477
Übungsfragen zu LPI 117-202
Die folgenden Fragen sollen Ihnen helfen, sich an die Art der Fragestellung in der
wirklichen Prüfung zu gewöhnen. Es macht keinen Sinn, die Fragen einfach auswen-
dig zu lernen, denn es sind keine Prüfungsfragen. Sie sollten versuchen, die Antwor-
ten zu jeder einzelnen Frage zu verstehen. Deshalb werden sowohl die richtigen als
auch die falschen Antworten im Lösungsteil des Buchs detailliert besprochen. Das
Üben mit diesen Fragen soll Sie auch an die Herangehensweise an eventuell Ihnen
unbekannte Themen nahe bringen. Ein unbekanntes Kommando in einer Frage ist
nämlich noch längst kein Grund, eine Frage einfach nicht zu beantworten. Oft führt
ein wenig Logik oder das Ausschlussverfahren dennoch zum Ziel.
Fragen
Frage 1:
Sie verwalten eine Apache-Webserver, auf dem vertrauliche Dokumente gespeichert
sind. Um die Verwaltung zu vereinfachen, wollen Sie die Benutzer, die auf den Server
zugreifen dürfen, in einer Gruppe zusammenfassen. Welche Datei werden Sie erstel-
len bzw. bearbeiten?
� A: /etc/passwd
� B: /etc/groups
� C: .htaccess
� D: .htgroup
� E: httpd.conf
Frage 2:
Sie verwenden zu Testzwecken einen Apache-Webserver auf einer Workstation. Sie
müssen den Zugriff aus dem Netzwerk verhindern. Mit welcher Direktive erreichen
Sie das?
� A: Port 81
� B: Listen 127.0.0.1:80
� C: Listen 82
� D: ServerType standalone
� E: ServerType inetd
Übungsfragen zu LPI 117-202
478
Frage 3:
Sie stellen bei einem hoch frequentierten Apache-Webserver fest, dass der Zugriff auf
Webseiten nur verzögert erfolgt. CPU-Ressourcen und Arbeitsspeicher sind jedoch nicht
ausgelastet. Wie erhöhen Sie die Serverperformance? (Wählen Sie zwei Antworten!)
� A: Fügen Sie dem Server weitere IP-Adressen hinzu.
� B: Erhöhen Sie den Wert für MinSpareServers.
� C: Legen Sie den ServerType mit standalone fest.
� D: Legen Sie den ServerType mit inetd fest.
� E: Konfigurieren Sie einen anderen Port.
Frage 4:
Sie müssen einen Apache-Webserver neu starten. Sie wollen hierfür ein Skript ver-
wenden, das ausdrücklich für solche administrativen Eingriffe gedacht ist. Welches
Kommando werden Sie verwenden? (Geben Sie ggf. benötigte Optionen mit an!)
Frage 5:
Sie müssen einer existierenden Passwortdatei eines Apache-Webservers einen
neuen Benutzer namens ritchie hinzufügen. Wie lautet das richtige Kommando,
wenn der aktuelle Pfad dem ServerRoot entspricht?
� A: bin/htpasswd passwortdatei ritchie
� B: bin/htpasswd -c passwortdatei ritchie
� C: useradd ritchie -m
� D: adduser ritchie
� E: echo ritchie >> .htaccess
Frage 6:
Welche Direktive eines Apache-Webservers legt fest, welches Verzeichnis aus der
Sicht eines Benutzers das Hauptverzeichnis des Webservers ist?
� A: ServerRoot
� B: ApacheRoot
� C: DocumentRoot
� D: Path
� E: httpd-Path
Übungsfragen zu LPI 117-202
512
Antworten und Erklärungen zu den Prüfungsfragen
Hier finden Sie die Erläuterungen zu allen Fragen des zweiten Teils. Sie sollten unbe-
dingt auch die Kommentare zu den falschen Antworten lesen. Einige Fakten werden
hier nicht zufällig mehrfach erwähnt, sondern weil wesentliche Prüfungsinhalte auf
diese Weise besser in Ihrem Gedächtnis haften bleiben.
Frage 1:
D: .htgroup ist die richtige Datei für diese Aufgabe. Hier können Sie Benutzer, die
zuvor in einer Passwortdatei angelegt wurden, gruppieren. Sie können die Datei auch
anders nennen, aber .htgroup ist der übliche Name.
zu A: /etc/passwd enthält normale Benutzerkonten.
zu B: /etc/groups enthält Benutzergruppen, die aber üblicherweise nicht zur Zugriffs-
steuerung auf Webserver verwendet werden.
zu C: .htaccess wird ebenfalls zur Zugriffssteuerung auf Apache-Server verwendet. Sie
müssen im vorliegenden Fall sogar die .htgroup-Datei in der Datei .htaccess als Auth-GroupFile angeben.
zu E: httpd.conf ist die Hauptkonfigurationsdatei des Apache-Servers.
Frage 2:
B: Listen 127.0.0.1:80 bewirkt, dass httpd nur noch an der Loopback-Adresse
lauscht. Ein Zugriff vom Netzwerk aus ist dann nicht mehr möglich.
zu A: Port 81 wird bei älteren Apache-Versionen verwendet, um den Server mit einem
alternativen Port zu konfigurieren. Aber der Server wäre weiterhin vom Netzwerk
aus erreichbar.
zu C: Listen 82 sorgt dafür, dass Apache an Port 82 lauscht. Hierbei werden aber wei-
terhin alle Netzwerkschnittstellen verwendet.
zu D: ServerType standalone klingt natürlich wie eine sehr gute Antwort, bewirkt aber
lediglich, dass Apache alleinstehend, also ohne vorgeschalteten Superdaemon
(inetd), läuft. Das ist übrigens die Standardeinstellung.
zu E: ServerType inetd teilt dem Webserver mit, dass er durch inetd aufgerufen wird.
Eine solche Konfiguration sollte man übrigens aus Gründen der schlechteren Perfor-
mance vermeiden.
Frage 3:
B: »Erhöhen Sie den Wert für MinSpareServers.« Diese Maßnahme erhöht die Anzahl
der Prozesse, die auf eingehende Verbindungen lauschen. Benutzer können so
schneller bedient werden.
Antworten und Erklärungen zu den Prüfungsfragen
513
C: »Legen Sie den ServerType mit standalone fest.« Das ist zwar die Standardeinstel-
lung, muss aber gegenüber den anderen Antworten in Erwägung gezogen werden –
insbesondere, weil die anderen Antworten entweder keine oder sogar eine negative
Auswirkung auf die Serverleistung haben.
zu A: »Fügen Sie dem Server weitere IP-Adressen hinzu.« Das bringt nichts in Bezug
auf die Leistung des Servers.
zu D: »Legen Sie den ServerType mit inetd fest.« Das verzögert sogar die Antwort bei
jedem Benutzerzugriff.
zu E: »Konfigurieren Sie einen anderen Port.« Das bringt nichts in Bezug auf die Leis-
tung des Servers.
Frage 4:
apachectl restart ist die einzige akzeptable Antwort auf diese Frage. Es gibt natürlich
auch andere Methoden, Apache neu zu starten, aber hier war ausdrücklich nach dem
dafür vorgesehenen Skript gefragt.
Frage 5:
A: bin/htpasswd passwortdatei ritchie ist richtig, wenn Sie einen Benutzer einer
existierenden Passwortdatei hinzufügen wollen. Da der aktuelle Pfad ServerRoot ent-
spricht, muss dem htpasswd-Kommando der relative Pfad bin/ vorangestellt werden.
zu B: bin/htpasswd -c passwortdatei ritchie ist hier falsch, weil die Option -c nur bei
der Erstellung einer neuen Passwortdatei verwendet wird.
zu C und D: useradd ritchie -m und adduser ritchie sind falsch, weil diese Komman-
dos zur Erstellung normaler Benutzerkonten verwendet werden und nicht für Apa-
che-Benutzer in Passwortdateien.
zu E: echo ritchie >> .htaccess ist völlig falsch, weil in dieser Datei keine Benutzer-
konten angelegt werden. Es wird hier lediglich die Passwortdatei angegeben.
Frage 6:
C: DocumentRoot ist die Direktive, die das Hauptverzeichnis für den Kontent des Web-
servers angibt.
zu A: ServerRoot ist das Serverhauptverzeichnis, in dem sich auch Module und Kon-
figurationsdateien des Servers befinden. Hierauf darf ein Benutzer natürlich nicht
zugreifen.
zu B, D und E: ApacheRoot, Path und httpd-Path sind einfach frei erfunden, also falsch.
Index
543
Index
$HISTSIZE ....................................................................462
$PS1................................................................................462
.bashrc .......................................................................... 461
.config..............................................................................25
.forward ....................................................................... 387
.htaccess ............................................................306, 307
.htgroup .......................................................................307
/bin ................................................................................ 186
/bin/hostname ...........................................................171
/bin/login ...................................................................467
/boot ................................................... 21, 34, 39, 79, 186
/boot/boot.b ..............................................................443
/boot/grub.....................................................................57
/boot/grub/............................................................... 440
/boot/grub/grub.cfg ..................................................35
/boot/grub/stage2.................................................. 440
/boot/grub2 ...............................................................442
/boot/initrd......................................................... 29, 445
/dev ........................................................................117, 186
/dev/cdrom ..................................................................117
/dev/disk/by-uuid ......................................................72
/dev/fd0 ...................................................................... 189
/dev/ft0 .......................................................................190
/dev/hd ..........................................................................117
/dev/hda........................................................................117
/dev/hda1 ..................................................................... 118
/dev/hda2 .................................................................... 118
/dev/hda3 .................................................................... 118
/dev/hda5 .................................................................... 118
/dev/hdb .......................................................................117
/dev/hdc ........................................................................117
/dev/hdd .......................................................................117
/dev/mapper .............................................................. 131
/dev/nft0 ....................................................................190
/dev/nst0 ....................................................................190
/dev/sd...........................................................................117
/dev/sda ........................................................................117
/dev/sdb ........................................................................117
/dev/st0 .............................................................. 190, 196
/dev/zero ...................................................................... 85
/etc................................................................................. 186
/etc/aliases .................................................................386
/etc/auto.master ....................................................... 90
/etc/bashrc ................................................................. 461
/etc/bind/db.root ................................................... 204
/etc/bind/named.conf...........................................203
/etc/courier ................................................................396
/etc/crontab ......................................................474, 476
/etc/default/grub.....................................................442
/etc/dhclient.conf....................................................350
/etc/dovecot ..............................................................394
/etc/exports ................................................................341
/etc/fail2ban .............................................................. 433
/etc/false .................................................................... 470
/etc/fstab..................... 63, 64, 66, 67, 68, 85, 89, 193
/etc/group ......................................................... 169, 472
/etc/grub.d........................................................... 58, 442
/etc/HOSTNAME ...................................................... 170
/etc/hostname .......................................................... 170
/etc/hosts........................................................... 169, 201
/etc/hosts.allow.............................170, 348, 420, 425
/etc/hosts.deny ......................................170, 420, 425
/etc/inetd.conf .................................................426, 427
/etc/init.d .................................................................51, 52
/etc/inittab ............................................................49, 50
/etc/issue .....................................................................176
/etc/issue.net.............................................................. 177
/etc/known_hosts ....................................................421
/etc/ld.so.cache........................................................460
/etc/ld.so.conf ..........................................................460
/etc/ldap/ldap.conf ................................................. 359
/etc/lilo.conf ....................................................... 29, 443
/etc/login.defs.......................................................... 468
/etc/lvm........................................................................122
/etc/lvm/cache/.cache............................................122
/etc/mail/local-host-names ................................ 379
/etc/mailname ......................................................... 380
/etc/mdadm/mdadm.conf ..................................109
/etc/motd..................................................................... 177
/etc/mtab ......................................................................69
/etc/named.boot ......................................................210
/etc/named.conf ............................................203, 204
/etc/network...............................................................165
/etc/nologin.............................................................. 420
/etc/nsswitch.conf ................................ 169, 370, 373
/etc/openldap ........................................................... 358
/etc/openvpn .............................................................158
/etc/pam.conf ...........................................................368
/etc/pam.d ..................................................................368
/etc/passwd..................................... 169, 367, 469, 471
/etc/postfix ............................................................... 380
/etc/procmailrc ....................................................... 390
/etc/profile ................................................................ 468
/etc/proftpd ................................................................415
Index
544
/etc/pump.conf ........................................................350
/etc/pure-ftpd ............................................................412
/etc/rc.boot ................................................................467
/etc/rc.d ....................................................................51, 52
/etc/rc.local ................................................................467
/etc/resolv.conf ........................................................ 168
/etc/rsyncd.conf....................................................... 199
/etc/samba/smbpasswd ....................................... 334
/etc/security/limits.conf ...................................... 372
/etc/security/limits.d............................................. 372
/etc/security/opasswd........................................... 372
/etc/services ..............................................................401
/etc/shadow ................................................................471
/etc/squid.conf ......................................................... 322
/etc/squid3/squid.conf.......................................... 322
/etc/ssh/ssh_config ............................................... 420
/etc/ssh/ssh_host_dsa_key .................................421
/etc/ssh/ssh_host_dsa_key.pub ........................421
/etc/ssh/ssh_host_key .......................................... 422
/etc/ssh/ssh_host_key.pub ................................. 422
/etc/ssh/ssh_host_rsa_key ................................. 422
/etc/ssh/ssh_host_rsa_key.pub ........................ 422
/etc/ssh_known_hosts......................................... 420
/etc/sshrc ................................................................... 420
/etc/sysconfig/iptables .........................................205
/etc/sysconfig/network-scripts/ ........................167
/etc/sysctl.conf ...............................................400, 458
/etc/syslog.conf........................................................ 472
/etc/udev ................................................................... 100
/etc/udev/rules.d......................................................101
/etc/udev/udev.conf ...............................................101
/etc/vsftpd.conf........................................................410
/home........................................................................... 186
/lib.................................................................................. 186
/lib/modules..........................................................23, 39
/lib/security ...............................................................368
/mnt ...............................................................................187
/opt.................................................................................187
/proc........................................................................ 78, 187
/proc/config.gz ............................................................27
/proc/kmsg ................................................................448
/proc/mdstat .............................................................108
/proc/modules.....................................................40, 42
/proc/partitions ......................................................... 78
/proc/swaps .................................................................86
/proc/sys/kernel ........................................................ 45
/proc/sys/net/ipv4 ................................................400
/proc-Dateisystem .................................................. 455
/root ...............................................................................187
/sbin ...............................................................................187
/sbin/mingetty ...........................................................50
/tmp ...............................................................................187
/usr .................................................................................187
/usr/local/apache2 .................................................. 301
/usr/local/apache2/conf ...................................... 302
/usr/local/apache2/conf/httpd.conf .............. 302
/usr/local/squid ...................................................... 320
/usr/src ............................................................ 21, 39, 181
/usr/src/ ........................................................................ 23
/usr/src/linux .................................................21, 33, 39
/usr/src/linux/Documentation............................21
/var .................................................................................187
/var/log/fail2ban.log ..............................................434
/var/log/maillog ...................................................... 379
/var/log/messages .......................................... 175, 447
/var/log/syslog ................................................. 175, 447
/var/named ................................................................207
/var/named/named.ca ......................................... 204
/var/spool/cron........................................................476
~./ssh/known_hosts................................................421
~/.bash_login............................................................ 468
~/.bash_profile ........................................................ 468
~/.bashrc..................................................................... 468
~/.procmailrc ............................................................ 390
~/.profile..................................................................... 468
~/.ssh/authorized_keys ........................................422
~/.ssh/id_dsa ............................................................. 423
~/.ssh/id_dsa.pub .................................................... 423
~/.ssh/id_rsa ..............................................................423
~/.ssh/id_rsa.pub ..................................................... 423
~/.ssh/ssh_know_hosts ....................................... 420
A
ACCEPT........................................................................ 405
access.conf ................................................................. 302
access.db............................................................. 378, 379
access.log...................................................................... 311
ACL (Bind) ................................................................... 222
ACL (squid)......................................................... 323, 324
action.d ........................................................................ 433
Active Directory ........................................................357
Ad-hoc Netzwerke ...................................................140
agetty ............................................................................467
Aktive Partition ......................................................... 80
Aktiver Modus .........................................................409
Amanda ....................................................................... 196
anonymous ................................................................410
Apache.........................................................................300
apache2 ........................................................................... 51
apache2ctl .................................................................. 304
Index
545
apachectl .................................................................... 304
AppArmor................................................................... 224
arch/i386/boot/bzImage ........................................ 28
arp ................................................................................... 137
ARP-Cache.................................................................... 137
Auslagerungsdatei ....................................................70
authorized_keys ...................................................... 423
auto .................................................................................68
auto.master ................................................................. 90
auto.misc...................................................................... 90
autofs........................................................................89, 91
B
BackupPC .................................................................... 196
Backupstrategien ......................................................187
Bacula ........................................................................... 196
Bandlaufwerk ............................................................ 189
Bedingte Weiterleitung ..........................................217
Benutzerkonten (ldap)........................................... 362
Bibliotheken ..............................................................459
BIND ....................................................................202, 204
binrpm-pkg ...................................................................37
BIOS ....................................................................... 80, 438
Birthday-Attacke ...................................................... 228
blkid ................................................................................. 71
Bootloader ..................................................................439
Bootpartition.............................................................442
Bugtraq ........................................................................428
bunzip2 .........................................................................185
bzcat ...............................................................................185
bzip2...................................................................... 184, 185
C
Cache (squid) ............................................................. 322
Cache-Only-DNS.......................................................203Cache-Poisoning ...................................................... 222
C-Compiler ....................................................................25
cdrecord......................................................................... 93CD-ROM .........................................................................117
CDRW............................................................................ 189
CERT ..............................................................................429
cfdisk............................................................................... 78chkconfig .......................................................................53
chroot ........................................................................... 223
CIAC...............................................................................429CIDR-Notation .......................................................... 144
co .......................................................................................25
configure ...................................................................... 181
Courier ............................................................... 394, 396cpio ................................................................................190
cron ...............................................................................474
cron.allow ...................................................................476cron.deny ....................................................................476
crond.............................................................................474
crontab ................................................................474, 476cryptoloop ....................................................................99
cryptsetup.....................................................................99
CTRL-ALT-DEL..............................................................50
Cyrus .............................................................................394
D
Datensicherung ........................................................ 186dd ............................................................................. 85, 191debugfs .......................................................................... 76debugreiserfs ................................................................77defaults ..........................................................................69Delivermail................................................................. 376depmod.......................................................................... 44devfs ............................................................................. 100device.map ................................................................... 58dhclient........................................................................350DHCP.............................................................................349DHCP-Bereiche ......................................................... 352dhcpcd ..........................................................................350DHCP-Clients .............................................................350dhcpd.conf...................................................................351dhcpd.leases............................................................... 354DHCP-Relay-Agent ...................................................355DHCP-Server ...............................................................351dhcrelay ....................................................................... 356Differenzielles Backup ........................................... 188dig ...........................................................................173, 174Distinguished Name.............................................. 360dm_mod........................................................................99dma.................................................................................451DM-Crypt ......................................................................99dmesg .....................................................35, 60, 175, 448DNAT...................................................................405, 407DNS .......................................................................201, 202DNSSEC ........................................................................ 225dnssec-keygen........................................................... 225DocumentRoot ...............................................302, 304dosfsck ........................................................................... 74Dovecot........................................................................394dovecot.conf ..............................................................394dracut ..............................................................................37DROP............................................................................ 405DSA-Schlüssel ............................................................422
Index
546
dump ......................................................................68, 193
dumpe2fs ...................................................................... 76
DVD-Laufwerk.............................................................117
DVDRW ........................................................................ 189
Dynamic Link Library ............................................459
dynamically linked .................................................459
E
e2fsck ...................................................................... 73, 128
Endzylinders................................................................ 79
error.log ........................................................................ 311
ethereal ......................................................................... 155
evice Mapper .............................................................. 131
exec .................................................................................68
Exim ...............................................................................381
exim .............................................................................. 376
exim.conf ....................................................................384
export ...........................................................................463
exportfs ....................................................................... 342
ext2.............................................................. 73, 75, 80, 82
ext3 .............................................................. 73, 75, 80, 82
ext4...................................................................................73
F
facility........................................................................... 472
fail2ban ........................................................................ 433
fail2ban.conf ..............................................................434
FAT-32 ..............................................................................81
fdisk..................................................................78, 84, 105
Festplatte ......................................................................117
filter.d ........................................................................... 433
Fingerprint ..................................................................421
Floppystreamer ........................................................190
FORWARD .................................................................. 404
forwarders ................................................................. 206
Forward-Lookup-Zonen ....................... 208, 211, 214
FQDN ............................................................................ 169
free...................................................................................86
fsck......................................................... 61, 66, 68, 73, 75
fsck.cramfs.....................................................................73
fsck.ext2..........................................................................73
fsck.ext3..........................................................................73
fsck.jfs ............................................................................. 74
fsck.minix ......................................................................73
fsck.msdos .................................................................... 74
fsck.reiserfs ...................................................................73
fsck.vfat.......................................................................... 74
fsck.xfs ........................................................................... 74
FTP ................................................................................409
FTP-Server..................................................................409
G
gadmin-proftpd.........................................................415
gcc ......................................................................25, 34, 182
Gerätedateien............................................................. 117
getty ..............................................................................467
grpquota ........................................................................68
GRUB.............................................................57, 438, 440
GRUB (Legacy) ........................................................... 441
GRUB 2 .........................................................................442
GRUB Shell.................................................................... 59
GRUB Stages.............................................................. 440
grub.cfg ................................................................. 28, 442
grub.conf ..................................................................... 441
grub2-mkconfig ..................................................37, 442
grub-mkconfig ....................................................37, 442
gunzip........................................................................... 184
gzip ........................................................................ 183, 184
H
halt....................................................................................55
Hardlink...................................................................... 464
Hardwarerouter.......................................................400
hdparm ......................................................................... 112
hide files ...................................................................... 332
host................................................................................. 173
host (Kommando) .................................................... 173
Hostkey...............................................................420, 421
Hostname .................................................................... 171
Hostroute.....................................................................145
hosts.allow................................................................. 420
hosts.deny ................................................................. 420
HPFS .................................................................................81
htdocs .......................................................................... 302
htpasswd .....................................................................305
http
//lpievent.lpice.eu/ ................................................ 15
//www.isc.org ...............................................350, 351
//www.linuxbase.org........................................... 56
//www.linuxfoundation.org............................. 56
//www.samba.org............................................... 338
httpd .................................................................. 300, 302
httpd.conf ......................................................... 302, 303
HTTPS ................................................................... 313, 314
Index
547
I
ICMP-Anfragen ..........................................................147
id_rsa ............................................................................ 423
id_rsa.pub ................................................................... 423
ifconfig ................................................................. 134, 142
ifconfig (IPv4) .............................................................143
ifconfig (IPv6)............................................................ 144
IMAP ............................................................................. 376
IMAP4 ........................................................................... 393
inetd ..............................................................................426
inetd.conf.................................................................... 427
init ............................................... 47, 48, 49, 50, 55, 442
initdefault ..................................................................... 49
initramfs ..............................................................29, 446
initrd .............................................................................444
inittab ....................................................................49, 442
Inkrementelles Backup ......................................... 188
INPUT .......................................................................... 403
insmod .....................................................................42, 43
interaktive Shell .......................................................468
interfaces .................................................................... 166
interrupts.....................................................................451
ioports ...........................................................................451
ip (Kommando) .................................................138, 152
IP-Forwarding........................................................... 408
iptables ...............................................................402, 431
iptables-restore ....................................................... 408
iptables-save ............................................................. 408
IRIX ...................................................................................81
isc.org ...........................................................................202
ISO9660 .........................................................................91
iwconfig ........................................................................139
iwlist.............................................................................. 140
J
Jail .................................................................................. 223
jail.conf ........................................................................434
Joliet ................................................................................ 92
journal.............................................................................75
K
Kerberos ...................................................................... 367
Kernel ................................................................20, 22, 38
Kernelparameter......................................................442
kinitrd..............................................................................35
klogin............................................................................ 427
Kopierbackup ............................................................ 188
L
lame-servers ............................................................. 208
LDAP......................................................................357, 367
ldapadd ............................................................... 361, 362
LDAP-Client................................................................ 359
ldapdelete ...................................................................366
ldapmodify ........................................................ 361, 366
ldappasswd................................................................. 365
ldapsearch..........................................................363, 364
LDAP-Servers ............................................................. 358
ldconfig .......................................................................460
ldd ..................................................................................459
LDIF ............................................................................... 359
LDIF-Dateien .............................................................. 365
Lease-Vorgang...........................................................350
libncurses5-dev........................................................... 34
libpam-ldap ................................................................ 373
libpam-ldapd ............................................................. 373
libwrap ......................................................................... 427
Lilo .................................................................................438
lilo.conf ........................................................................443
Linus Torvalds....................................................... 19, 39
Linux Foundation...................................................... 56
Linux Standard Base ................................................. 56
Linux Unified Key Setup.........................................99
ln.................................................................................... 464
login ............................................................................. 468
Loginprozess..............................................................467
Login-Shell................................................................. 468
Logische Volumen.................................................... 121
loop-aes..........................................................................99
LSB ................................................................................... 56
lsdel ................................................................................. 76
lsdev ...............................................................................451
lsmod .......................................................................40, 43
lsof .................................................................60, 149, 453
lspci .............................................................................. 450
lsusb ............................................................................. 450
ltrace ............................................................................. 453
LUKS ................................................................................99
lvcreate..........................................................................125
lvdisplay ...................................................................... 126
lvextend....................................................................... 126
LVM .........................................................................81, 120
lvm.conf........................................................................122
lvm2 ............................................................................... 121
LVM-Konfiguration.................................................. 121
LVM-Snapshot........................................................... 129
lvreduce ........................................................................128
lvremove ..................................................................... 130
Index
548
M
Mail Transfer Agent ................................................ 376
Mail User Agent........................................................ 376
Mail-Aliasse ................................................................386
Maildir.......................................................................... 392
maildirmake .............................................................. 393
Maildrop......................................................................394
mailq .............................................................................388
main.cf ........................................................................ 380
Major Release ...............................................................23
make ........................................................................25, 181
make bzImage ............................................................. 28
make clean.................................................................... 28
make cloneconfig .......................................................27
make config ..................................................................25
make deb-pkg...............................................................35
make dep....................................................................... 28
make gconfig ............................................................... 26
make install.................................................................182
make menuconfig ...............................................26, 33
make modules ............................................................ 28
make modules_install .......................................28, 34
make mrproper .......................................................... 29
make oldconfig............................................................27
make xconfig............................................................... 26
make zImage ............................................................... 28
Makefile ........................................................... 25, 33, 181
makemap .................................................................... 378
Map-Installer .............................................................444
MASQUERADE ................................................402, 405
Master Boot Record ............................... 117, 438, 442
master.cf..................................................................... 380
MaxSpareServers ......................................................312
Mbox............................................................................. 392
MBR ....................................................438, 439, 442, 443
md_mod...................................................................... 105
MDA .....................................................................376, 389
mdadm ............................................................... 105, 107
mdadm.conf ..............................................................109
menu.lst ................................................................58, 441
Microkernel.................................................................. 38
mingetty........................................................................ 49
Minix ........................................................................ 19, 39
Minor Release...............................................................23
MinSpareServers ............................................. 304, 312
mkdosfs ..........................................................................81
mke2fs ............................................................... 77, 82, 83
mkfs .......................................................................... 81, 82
mkfs.cramfs ................................................................. 82
mkfs.ext2 .......................................................................81
mkfs.ext3........................................................................81
mkfs.jfs........................................................................... 82
mkfs.msdos ...................................................................81
mkfs.ntfs ........................................................................81
mkfs.reiserfs .................................................................81
mkfs.vfat.........................................................................81
mkfs.xfs ..........................................................................81
mkinitramfs ..................................................................35
mkinitrd ........................................................ 29, 37, 446
mkisofs.....................................................................91, 94
mkswap................................................................... 84, 85
mod_auth .................................................................. 308
mod_perl..................................................................... 310
mod_php.................................................................... 308
mod_ssl ........................................................................313
modinfo..........................................................................41
modprobe ..................................................................... 43
modprobe.conf ........................................................... 45
modprobe.conf.local ................................................ 45
Module ........................................................................ 308
modules.conf............................................................... 45
modules.dep ................................................................ 44
Monolithische Kernel .............................................. 38
mount............................................................... 64, 65, 66
mountd ................................................................341, 344
mounten .......................................................................64
Mountpoint .................................................................64
mt ................................................................................... 196
MTA .......................................................................376, 377
MUA .............................................................................. 376
N
named ......................................................................... 204
named.conf ...................................................... 203, 207
NAT ............................................................................... 407
nc .................................................................................... 150
NCSA ............................................................................300
ncurses .................................................................... 26, 34
ncurses-devel .............................................................. 36
net (samba).................................................................336
NetBIOS........................................................................330
netcat ..........................................................150, 385, 430
netstat .......................................................................... 146
Neustart ......................................................................... 54
newaliases...................................................................386
NFS ......................................................................... 66, 340
nfs ....................................................................................66
NFS-Client ................................................................... 343
NFS-Server ...................................................................341
Index
549
nfsstat...........................................................................346
Nicht interaktive Shell ...........................................468
Nicht rückspulend...................................................190
nmap.............................................................................. 153
nmbd ............................................................................330
nmblookup ................................................................ 334
noauto............................................................................68
noexec............................................................................68
Normalbackup .......................................................... 188
nosuid ............................................................................68
nouser ............................................................................69
nslookup .................................................... 173, 174, 206
nss_ldap .......................................................................373
NTFS .................................................................................81
O
OpenLDAP ...................................................................357
OpenLDAP-Server.................................................... 358
openssl .......................................................................... 315
OpenVAS .....................................................................436
Openvpn.......................................................................158
openvpn .......................................................................158
Organisationseinheit ..............................................361
OUTPUT ...................................................................... 404
P
Paging.............................................................................70
PAM ............................................................................... 367
pam_cracklib .............................................................. 371
pam_cracklib.so .......................................................369
pam_ldap.so .......................................................371, 373
pam_limits ......................................................... 371, 372
pam_listfile ........................................................ 371, 372
pam_unix .................................................................... 371
pam_unix.so..............................................................369
Partition ........................................................................ 79
Partitione ...................................................................... 78
Partitionstabelle........................................80, 117, 439
Passiver Modus........................................................ 409
passwd.......................................................................... 472
patch ...............................................................................30
Patchlevel ..................................................................... 24
PATH ............................................................................. 461
Perl................................................................................ 308
PHP ............................................................................... 308
Physikalische Volumen.......................................... 121
PID 1................................................................................. 47
ping.................................................................................147
ping6............................................................................. 148
POP ................................................................................ 376
POP3 ..............................................................................393
Portforwarding ........................................................ 407
Portlistener .................................................................431
portmap........................................................................341
Portscanner................................................................. 153
POSIX-Shell................................................................ 468
POST ..............................................................................438
Postfix .......................................................................... 379
postfix .......................................................................... 376
POSTROUTING ......................................................... 404
Power On Self Test...................................................438
poweroff .........................................................................55
prepare-all......................................................................27
PREROUTING ............................................................ 404
Primary IDE ................................................................. 117
Procmail ......................................................................389
ProFTPD ........................................................................415
proftpd.conf ................................................................415
promiskuitiver Modus ...........................................156
Protokolldateien ......................................................447
Proxy-Server .............................................................. 319
ps ...................................................................................... 48
pstree .............................................................................. 48
Pulled Pork .................................................................436
pump ............................................................................350
Pure-FTPd.....................................................................412
putty.............................................................................. 419
pvcreate ........................................................................124
pvdisplay ......................................................................124
Q
qmail ............................................................................. 376
Quellen........................................................................... 39
Queues .........................................................................388
R
RAID .............................................................................. 103
RAID-Arrays ............................................................... 107
RAID-Level ..................................................................104
reboot ..............................................................................55
REDIRECT ................................................................... 405
Redirect-D ....................................................................317
reiserfs........................................................................... 80
reiserfstune ...................................................................77
Index
550
REJECT ..........................................................................405
Rekursion einschränken........................................221
Relay-Server ................................................................377
Remote-Shell .............................................................468
reshape........................................................................... 111
resize2fs ........................................................ 111, 127, 128
respawn .........................................................................50
restore ..................................................................193, 194
Reverse-Lookup-Zone ........................................... 209
rmmod .....................................................................42, 43
rndc .....................................................................206, 207
ro ......................................................................................68
Rockridge ...................................................................... 92
ROM ..............................................................................438
Root-Server ......................................................202, 209
route ..................................................................... 135, 144
Router...........................................................................399
Routing-Tabelle .........................................................136
rpc.mountd .................................................................341
rpcinfo.......................................................................... 345
RPC-Portmapper .......................................................341
RSA-Key ....................................................................... 422
rsync ..............................................................................197
rsync-Dämon............................................................. 199
rückspulend ...............................................................190
Runlevel...................................................................47, 48
runlevel.......................................................................... 54
Runlevelwechsel ........................................................ 54
rw .....................................................................................68
S
Samba ...........................................................................330
Sandbox....................................................................... 223
SCSI .................................................................................. 78
SCSI Laufwerke............................................................117
SCSI Streamer ............................................................190
SCSI-Geräte...................................................................115
sdparm ...........................................................................115
Secondary IDE .............................................................117
Sekundäre Zonen......................................................215
SELinux ........................................................................ 224
Sendmail ..................................................................... 376
sendmail.cf ..................................................................377
sendmail.mc ...............................................................377
ServerRoot ................................................................. 304
ServerType................................................................. 304
sfdisk..............................................................................110
Shared Object ............................................................459
showmount................................................................344
sh-Shell........................................................................ 468
shutdown ..................................................50, 55, 75, 177
Sicherungsarten ....................................................... 188
slapd .............................................................................. 358
slapd.conf.................................................................... 358
slurpd............................................................................ 358
Smarthost ....................................................................377
SMB................................................................................330
smb.conf.......................................................................331
smbclient ....................................................................339
smbd .............................................................................330
smbfs .....................................................................66, 339
smbmount..................................................................339
smbpasswd................................................................. 334
smbstatus ................................................................... 333
smbusers ............................................................. 331, 333
SMTP .....................................................................377, 385
Snapshot...................................................................... 129
Snapshotvolumen ................................................... 129
SNAT....................................................................405, 407
Snort ............................................................................. 435
Softlink........................................................................ 464
Softlinks..........................................................................52
Software-RAID........................................................... 105
Softwarerouter.........................................................400
sparedisk ......................................................................110
Split-Brain ................................................................... 227
Split-DNS-Konfiguration ......................................228
Split-Horizon ............................................................. 227
Split-View ....................................................................228
Squid ............................................................................. 319
squid.conf ................................................................... 322
srm.conf...................................................................... 302
SSH.........................................................................416, 417
ssh_config.................................................................. 420
ssh_known_hosts................................................... 420
ssh-add .........................................................................424
ssh-agent .....................................................................424
sshd .......................................................................417, 419
sshd_config ................................................................ 419
ssh-keygen.................................................421, 422, 423
sshrc ............................................................................. 420
SSH-Tunnel................................................................. 418
SSID ...............................................................................140
SSL ...................................................................................313
SSLCertificateFile ......................................................315
SSLCertificateKeyFile...............................................315
stable............................................................................... 23
Standardgateway ..................................................... 136
Startscripten .................................................................52
StartServers .................................................................312
Index
551
Startzylinder ................................................................ 79
static.key ......................................................................158
statically linked ........................................................459
strace..............................................................................451
stream .......................................................................... 427
strings........................................................................... 452
submit.mc................................................................... 378
suid ..................................................................................68
Superblocks.................................................................. 76
Superdaemon............................................................426
Superserver ................................................................426
swap .................................................................................81
Swapdatei...................................................................... 85
swapoff..................................................................... 71, 84
swapon ..................................................................... 71, 84
Swappartition.............................................................. 84
SWAT............................................................................. 338
sync .................................................................................70
sysctl .............................................................................. 119
syslogd ......................................................................... 472
System.map ........................................................... 21, 34
T
Tanenbaum, Andrew S. ..................................... 19, 39
tar ...................................................33, 180, 182, 195, 196
tcpd................................................................................ 170
tcpdchk ...............................................................426, 427
tcpdmatch ..................................................................426
tcpdump ...................................................................... 148
TCP-Wrapper ............................................................. 425
TCP-Wrappern........................................................... 170
telinit ........................................................................50, 55
telnet....................................................................385, 430
testparm ...................................................................... 334
time ................................................................................. 36
traceroute .................................................................... 172
truecrypt .......................................................................99
tsclient ......................................................................... 418
TSIG ...............................................................................226
tune2fs ..............................................................75, 83, 115
U
udev ............................................................................. 100
udev_rules...................................................................101
udevadm ..................................................................... 102
udevmonitor ............................................................. 102
UDF...................................................................................91
UFS ................................................................................. 322
Umgebungs-Variablen .......................................... 461
umount................................................... 64, 66, 74, 453
uname ..............................................23, 40, 43, 185, 451
unmounten..................................................................64
update-grub ...........................................................28, 35
update-grub2 .............................................................442
update-rc.d ....................................................................53
user ..................................................................................68
useradd ........................................................................ 472
userdel.......................................................................... 472
Userland ........................................................................20
usermod ...................................................................... 472
users ................................................................................69
usrquota ........................................................................68
UW-IMAP.....................................................................394
V
Verschlüsselte Dateisysteme ................................96
veto files ...................................................................... 332
vgcreate ........................................................................125
vgdisplay ......................................................................125
vgextend ..................................................................... 129
vgreduce ...................................................................... 129
vgscan............................................................................122
VirtualBox ..................................................................106
VirtualHost................................................................. 316
virtuelle Hosts (Apache).........................................313
vmlinuz.................................................................... 21, 39
Volumen-Gruppen................................................... 121
vsftpd............................................................................410
W
wall ................................................................................. 177
Warteschlangen........................................................388
wget ..................................................................................33
WINS .............................................................................330
wireshark...................................................................... 155
X
X11-Tunnel ...................................................................417
XFS ................................................................................... 83
xfs_check ......................................................................86
xfs_fsr.............................................................................86
xfs_info..........................................................................86
Index
552
xfs_repair......................................................................86
xfsdump ........................................................................ 87
xfsrestore ................................................................87, 88
xinetd ........................................................................... 170
Z
zcat................................................................................. 184
zImage .............................................................................21
zlib ................................................................................... 28
Zonendateien ....................................................207, 211
Zonentransfer einschränken ...............................221