Addison wesley linux system administration aug 2002 ISBN 3827319927 - Pdf 53

Linux-Systemadministration


Open Source Software wird gegenüber kommerziellen Lösungen immer wichtiger.
Addison-Wesley trägt dieser Entwicklung Rechnung mit den Büchern der Open Source
Library. Administratoren, Entwickler und User erhalten hier professionelles Know-how,
um freie Software effizient einzusetzen. Behandelt werden Themen wie Betriebssysteme,
Netzwerke und Sicherheit als auch Programmierung.
In Vorbereitung:
Sicherheit ist ein Problem aller Betriebssysteme,
und meist ist es teuer, eine Installation wirklich
sicher zu machen. In diesem Buch zeigt der Autor,
dass dies auch ohne einen größeren finanziellen
Aufwand möglich ist.
Hier erfahren Sie, wie Sie Linux mit Hilfe von
Open-Source-Tools sicher machen.
Linux Security
Josef Brunner
ca. 700 Seiten, 1 CD-ROM
EUR 49,95 [D]/sFr39,50
ISBN 3-8273-1999-4


Jochen Hein

Linux-Systemadministration
Einrichtung, Verwaltung, Netzwerkbetrieb

An imprint of Pearson Education
München • Boston • San Francisco • Harlow, England
Don Mills, Ontario • Sydney • Mexico City

Alle Rechte vorbehalten
Einbandgestaltung: Marco Lindenbeck ()
Lektorat: Sylvia Hasselbach,
Korrektorat: Petra Kienle, Fürstenfeldbruck
Satz: reemers publishing services gmbh, Krefeld, www.reemers.de
Druck: Bercker, Kevelaer
Printed in Germany


Kapitelübersicht
Vorwort

XV

1

Linux – das Betriebssystem der Zukunft?

1

2

Linux-Standards

13

3

Ablauf eines Systemstarts


217

9

Unix-Tools

237

10 Werkzeuge (nicht nur) für Programmierer

311

11 Source- und Konfigurations-Management

327

12 XML unter Linux

343

13 Emulatoren unter Linux

351

14 Linux in einer vernetzten Umgebung

373

15 TCP/IP-Grundlagen



vi

Kapitelübersicht

23 Network Information Service

505

24 Dynamische IP-Konfiguration

513

25 Anonymous-ftp-Server

523

26 Internetzugang über Wählverbindungen

535

27 Virtuelle Private Netze (VPN)

551

28 Netzwerkadministration

559

A Der Standardeditor vi

4

Linux – das Betriebssystem der Zukunft?

XV
1

1.1

Linux-Distributionen

1

1.2

Linux-Features im Überblick

2

1.3

Linux-Distributionen im Vergleich

3

1.4

Die Zukunft von Linux

9


Linux Internationalization Initiative (Li18nux)

28

2.6

Die Free Standards Group

29

2.7

Standards, Standards, Standards

29

Ablauf eines Systemstarts

31

3.1

Überblick über einen Systemstart

31

3.2

Das Basic-Input/Output-System (BIOS)


56

3.8

Die init-Skripte im LSB

62

3.9

init-Konzepte ohne symbolische Links

63

Konfiguration und Administration

65

4.1

Anpassungen und Nachvollziehbarkeit

65

4.2

Kernel- und Hardware-Konfiguration

65

6

Inhaltsverzeichnis

4.7

Dokumentationen

123

4.8

Bibliotheken

124

4.9

Benutzerbezogene Konfiguration

125

Benutzer, Gruppen und Berechtigungen

133

5.1

Benutzerrechte als Konzept


146

5.7

Standardwerte für Berechtigungen

149

5.8

Berechtigungen und Gruppen im Einsatz

150

5.9

Weitere Dateirechte

152

5.10

Feiner unterteilte Berechtigungen oder der allmächtige
Benutzer root

153

5.11

Vergleich von Linux mit anderen Systemen


6.5

Konzepte und Begriffe

164

6.6

Aufruf und Kommandozeilenoptionen

166

6.7

Bedienung: Escape, Meta, Alt, Control und Shift

167

6.8

Tutorial, Hilfe und Info-Mode

170

6.9

Konfiguration

171


6.15

Sonstige Erweiterungen

195


Inhaltsverzeichnis

7

8

9

ix

Das X-Window-System

197

7.1

Das Konzept von X

197

7.2


Allgemeine X11-Kommandozeilen-Optionen

210

7.8

Zugriffskontrolle

211

7.9

Tools und nützliche Programme für X

215

Datensicherung

217

8.1

Notwendigkeit der Datensicherung

217

8.2

Plattenfehler überstehen mit RAID


234

8.8

Tipps und Tricks zur Datensicherung

235

Unix-Tools

237

9.1

Small is beautiful

237

9.2

Dateiverwaltung

239

9.3

Andere kleine Helfer

248


9.9

Die Shell als Bindeglied zwischen den verschiedenen
Programmen

287

9.10

Prozesse und Jobs

301

9.11

Small is Beautiful – auch heute noch?

308


x

Inhaltsverzeichnis

10 Werkzeuge (nicht nur) für Programmierer
10.1

... sondern auch für Anwender und Systemverwalter

311

Revision Control System (RCS)

327

11.3

Das Concurrent Versions System

336

11.4

Subversion – die zweite Generation von CVS

338

11.5

Andere Systeme zur Versionsverwaltung

341

12 XML unter Linux

327

343

12.1


Die Emacs-Erweiterung xslide

349

12.7

Die DocBook-Anwendung

350

13 Emulatoren unter Linux

351

13.1

Emulatoren allgemein

351

13.2

Der BIOS-Emulator dosemu

352

13.3

Der Windows-Emulator wine


14.4

Netzwerkbezogene Kernel-Konfiguration

379

14.5

Das Address Resolution Protocol (ARP)

395

14.6

Advanced Routing

397


Inhaltsverzeichnis

15 TCP/IP-Grundlagen

xi

399

15.1

Protokolle


409

15.7

Architekturunabhängiges Datenformat

410

16 IP-Adressen und Rechnernamen

413

16.1

Rechnernamen als Hilfsmittel

413

16.2

Zuordnung von Namen und IP-Adressen in der
Datei /etc/hosts

415

16.3

Domain Name Service


17.2

Web-Browser einmal anders

425

17.3

Angemeldete Benutzer im lokalen Netz

427

17.4

Warnungen an entfernte Rechner schicken mit rwall

428

17.5

Übertragen von Dateien mit rdist

428

17.6

Abgleich von Dateien über das Netz

430


Kompatibilität mit älteren Anwendungen

436

18.3

Authentifizierung eines Benutzers in der ssh

436

18.4

Die Verschlüsselungen von ssh

439

18.5

ssh benutzen

440

18.6

TCP-Verbindungen tunneln

442


xii


19.3

Das File-Transfer-Protokoll (ftp)

447

19.4

Die r-Tools

451

19.5

Ausführen von Programmen auf entfernten Rechnern

451

19.6

Anmeldung auf entfernten Rechnern

454

19.7

Übertragung von Dateien

455


Probleme beim Einsatz von NFS

461

20.6

Der Automounter amd

464

20.7

Andere verteilte Dateisysteme

468

21 Linux im heterogenen Netz

471

21.1

Andere Netzwerkprotokolle als TCP/IP

471

21.2

Linux als NetWare-Client und -Server


22.1

Gründe für den Betrieb eines Nameservers

483

22.2

Das Konzept des Domain Name Service

483

22.3

Auswahl eines DNS-Servers

485

22.4

Allgemeines zur Konfiguration eines Nameservers

485

22.5

Primary Nameserver

486

22.10 Dynamische DNS-Updates

502

22.11 Sicherheit und DNS

502

22.12 Weitere Informationen zum DNS

504

23 Network Information Service

505

23.1

Allgemeines zu NIS

505

23.2

NIS-Dienste als Client nutzen

506

23.3


In die Zukunft mit NIS

511

24 Dynamische IP-Konfiguration

513

24.1

Nutzen der dynamischen Konfiguration

513

24.2

Dynamic Host Configuration Protocol

514

24.3

Das bootp-Protokoll

516

24.4

Variable Netzwerkkonfiguration


25.4

Administration eines ftp-Servers

526

25.5

Nach der Installation

533

26 Internetzugang über Wählverbindungen

535

26.1

Allgemeines zu Wählverbindungen

535

26.2

Point-to-Point Protocol

536

26.3



27.1

Sparen mit Virtuellen Privaten Netzen

27.2

Das Design eines Virtuellen Privaten Netzes

552

27.3

Crypto IP Encapsulation (CIPE)

553

27.4

Konfiguration von FreeS/WAN

554

27.5

Key-Management

556

27.6


Performance im Netz

569

28.5

TCP-Dienste prüfen

573

28.6

Fehlersuche bei RPC-Services

575

28.7

Network File System

575

28.8

Hacker-Tools

575

28.9

gesamte Flexibilität, aber auch die Komplexität von Unix auf. Mit diesem Buch
möchte ich dazu beitragen, dass Sie diese Komplexität in den Griff bekommen
und die Flexibilität effektiv nutzen können.
Linux ist ein freies Betriebssystem. Das gilt nicht nur für den Kernel, sondern
auch für fast alle anderen Programme. Frei heißt hier, analog zur GNU General
Public License (GPL), dass der Quellcode frei verfügbar ist, und zielt nicht auf
die teilweise kostenlose Verbreitung von Linux.
In der Freeware-Szene gibt es im Wesentlichen vier unterschiedliche Lizenzen,
die alle ihre Berechtigung für bestimmte Zwecke haben:

·
·
·
·

Das BSD- oder X-Copyright, das die Verwendung des Codes auch in kommerziellen und proprietären Systemen erlaubt
Die GPL, die fordert, dass die Programme oder daraus entstandene verbesserte Versionen weiterhin frei sind
Programme, deren kommerzielle Nutzung oder Verbreitung untersagt ist
Programme, die keinerlei Copyright unterliegen, so genannte Public-DomainProgramme

Durch diese liberalen Lizenzbedingungen wurde Linux zu dem, was es heute ist.
Insbesondere spielte die Verfügbarkeit der GNU-Programme eine entscheidende
Rolle, da hiermit die Utilities eines Unix-Systems bereits frei verfügbar waren.
Weiterhin war die Portierung des X-Window-Systems wichtig, das Grundbausteine für grafische Benutzeroberflächen liefert.
Freie Software ist bessere Software, weil diese dem Anwender die Möglichkeit
gibt, die Programme anzupassen, zu verbessern, zu verstehen oder einfach nur
Fehler zu korrigieren. Diese Möglichkeit hat der Anwender von proprietärer
Software nicht, er ist auf Gedeih und Verderb seinem Software-Lieferanten ausgeliefert. Dies ist, neben der Möglichkeit, das System vollständig untersuchen zu
können, das ausschlaggebende Argument für Linux oder andere Freeware-Systeme wie NetBSD oder FreeBSD. Ein weiterer Vorteil für Anwender ist, dass verschiedene Anbieter Support für das System leisten können.
Neben den Programmen selbst ist auch die zugehörige Dokumentation frei verfügbar. Das Linux Documentation Project hat es sich zur Aufgabe gemacht, sowohl HowTo-Dokumente als auch vollständige Handbücher zu schreiben. Zum

Ausgaben des Rechners sind in Courier (Typewriter) gesetzt.
Eingaben des Benutzers sind ebenfalls in Courier gesetzt, aber zusätzlich
durch Fettdruck hervorgehoben.
Variable Eingaben, die vom Anwender passend zu ersetzen sind, werden mit
einer kursiven Schrift dargestellt.
Zur Unterscheidung zwischen verschiedenen Shells und privilegierten und
nicht privilegierten Benutzern verwende ich verschiedene Shell-Prompts:

·
·
·

# steht für den Systemadministrator, der die bash benutzt.
> steht für einen Benutzer mit der tcsh.
$ steht für einen Anwender mit der bash.

Zur Erläuterung folgt das Listing 1, das ein tcsh-Benutzer durchgeführt hat. Der
Benutzer root wird in diesem Buch nur an den Stellen verwendet, an denen es
unbedingt notwendig ist. Die Trennung zwischen Benutzer und Systemadministrator ist eines der grundlegenden Unix-Konzepte und dient der Sicherheit der
Benutzer und Systemdaten sowie der Systemstabilität.


Mailing-Listen

xvii

(linux):~> echo 'Das ist eine Eingabe' | sed s/Ein/Aus/
Das ist eine Ausgabe
Listing 1 Beispiel für den Einsatz verschiedener Schriften


eingerichtet, die in der Regel jedem Interessenten offenstehen. Zur Verwaltung
der Listen wird das Programmpaket majordomo verwendet. Wenn Sie eine Mailing-Liste abonnieren möchten, senden Sie eine Mail an den Benutzer mailto:
mit dem Text help im Textteil der Nachricht. Danach
erhalten Sie eine Anleitung zur Bedienung des Verwaltungsprogramms.

Danksagung
Zunächst möchte ich mich bei allen Linux-Hackern und -Anwendern sowie bei
allen Programmierern bedanken, die dieses Buch erst möglich gemacht haben.
Ebenso möchte ich den Korrekturlesern danken, die viele Fehler und Inkonsistenzen aufgespürt haben und das Buch zu dem gemacht haben, was es heute ist.


xviii

Vorwort

Wenn Sie Fragen oder Anregungen haben, so können Sie mich über E-Mail unter
der Adresse mailto: erreichen.

Vorwort zur vierten Auflage
Ich verfolge die Entwicklung von Linux bereits seit 1992 – und immer wenn ich
zurückblicke, schaue ich auf eine stürmische Entwicklung und eine interessante
Zeit zurück. Denn trotz allen technischen Fortschritten ist die entscheidende
Komponente von Linux immer noch vorhanden: eine Gemeinschaft von Anwendern und Entwicklern, die sehr hilfsbereit ist. Man spürt einfach, dass ein sehr
wichtiges Element der Motivation der Spaß an der Entwicklung und am Miteinander ist.
Dieses Miteinander färbt, erzwungen von den Bestimmungen der GPL, auch auf
kommerzielle Entwickler ab, wenn diese sich an Open-Source-Projekten beteiligen. Für Firmen ist das eine große Chance, denn vielfach können auch sie »auf
den Schultern von Giganten stehen«. Auf der anderen Seite gibt es aber auch einen Interessenskonflikt zwischen dem Wunsch nach Freiheit, der das GNU-Projekt antreibt, und Firmen, die aus den frei verfügbaren Projekten kommerzielle
und proprietäre Entwicklungen machen wollen. Unix ist in diese Falle geraten,
bei Linux bestehen gute Aussichten, dass dies nicht passiert.
Das Besondere an Linux ist aber immer noch, dass es eine Gemeinschaft aus Programmierern, Anwendern und Systemverwaltern ist, die es an ihre Bedürfnisse

mittels ftp oder Modem vorzuziehen. Bei vielen Distributionen erwirbt man
auch einen Anspruch auf Support durch den Distributor und ein Handbuch, das
die Installation und die ersten Schritte beschreibt.


2

1 Linux – das Betriebssystem der Zukunft?

1.2

Linux-Features im Überblick

Linux ist ein leistungsfähiges Betriebssystem, das sich in den letzten Jahren von
einem »Hacker-System« zu einem vielfach auch kommerziell eingesetzten System gewandelt hat. Die Gründe für diese Entwicklung sind vielfältig. Einige
Gründe möchte ich hier vorstellen und zudem einen Überblick über die Einsatzmöglichkeiten von Linux geben:

·
·
·
·
·
·
·
·
·
·
·

Linux ist frei, d. h., praktisch der gesamte Quellcode des Systems ist jedermann zugänglich. Damit können Interessierte Verbesserungen implementieren und Fehler beseitigen oder ganz einfach lernen, wie das System funktioniert.


Das System ist durch die mitgelieferten Handbücher (/usr/doc oder /usr/
share/doc), Manpages und viele Bücher zu diesem Thema sehr gut dokumentiert. Sollte die Dokumentation einmal eine Frage offenlassen, so kann
man schlimmstenfalls immer noch im Quellcode nach der Lösung suchen.

Diese Liste ist sicher nicht vollständig und lässt sich daher noch beinahe beliebig
fortsetzen. Dabei werden von verschiedenen Anwendern jeweils andere Schwerpunkte gesetzt. Es existiert kein System, das jeden möglichen Anwender zufrieden stellen kann.

1.3

Linux-Distributionen im Vergleich

Wie oben schon erwähnt, existiert eine Vielzahl von Linux-Distributionen. Hieraus eine »gute« Distribution für den eigenen Bedarf auszuwählen, ist nicht einfach. Im Folgenden werde ich einige Distributionen, die ich im Laufe der Zeit
ausprobiert habe, kurz vorstellen und die jeweiligen Vor- und Nachteile aufzeigen. Diese Liste kann nicht vollständig sein, da ich nicht jede Distribution zur
Verfügung habe und ein vernünftiger Test mit hohem Zeitaufwand verbunden
ist. Auch sind viele Erkenntnisse mit einer neuen Version der entsprechenden
Distribution wertlos geworden.
Zu jeder Distribution gehört normalerweise eine entsprechende Installationsanleitung. Diese kann in Form einer README-Datei, eines Booklets zur CD oder
eines Handbuchs vorliegen. Dort wird in der Regel die Installation des Systems
sehr detailliert beschrieben, so dass ich hier auf eine derartige Beschreibung verzichte. Vielmehr werde ich einige Unterschiede zwischen den Distributionen
aufzeigen. Dabei werden sich je nach den Ansprüchen des Anwenders unterschiedliche Distributionen als besonders geeignet erweisen.
Aufgrund der GNU General Public License (GPL), die für viele der unter Linux
verwendeten Programme und den Kernel gilt, ist jeder Distributor verpflichtet,
entweder den Quellcode der entsprechenden Programme mitzuliefern oder auf
Anfrage nachzureichen. Zu vielen Distributionen findet man daher auch die
Quellen der Programme auf CD. Bei Problemen kann man dann einzelne Programme neu übersetzen oder nachsehen, mit welchen Optionen diese Programme installiert wurden. Gerade in diesem Bereich findet man deutliche Unterschiede zwischen den Distributionen.
Ein weiterer Unterschied besteht im Support durch die Entwickler. Manche CDs
werden ohne Support angeboten, andere enthalten einen Anspruch auf Support
(via E-Mail, Fax oder Telefon) durch den Distributor. Oft wird vom Hersteller
auch eine Mailing-Liste betrieben, in der speziell für die eigene Distribution Support geleistet wird. Genauere Informationen dazu finden Sie in der Dokumentation zu Ihrer Distribution.

·

Die Installationsroutine sollte ohne oder mit nur einer Diskette auskommen,
wenn von CD, Festplatte oder Netz installiert wird. Es ist für Einsteiger oder
PC-Benutzer, deren PC noch nicht mit einem Betriebssystem ausgestattet ist,
sehr hilfreich, wenn eine solche Diskette bereits beiliegt. Dies setzt voraus,
dass auch nur eine Diskette benötigt wird, also keine Auswahl aus vielen vorkonfigurierten Boot-Disketten getroffen werden muss.
Das Installationsprogramm sollte ein integriertes Hilfesystem enthalten. Damit ist es möglich, während der Installation zusätzliche Informationen anzuzeigen und den Benutzer zu unterstützen.
Bei Eingabefehlern sollte man einzelne Einstellungen erneut vornehmen können, ohne neu beginnen zu müssen. Das sollte für möglichst viele Eingaben
des Benutzers gelten.
Die Paketauswahl sollte vor, nicht während der Installation stattfinden. Dabei
soll dann auch der zur Verfügung stehende Platz geprüft werden. Damit ist
es möglich, den zeitaufwendigsten Teil ohne Benutzerinteraktion ablaufen zu
lassen.


1.3 Linux-Distributionen im Vergleich

·
·
·
·
·
·
·
·
·
·
·


hoch, so dass der Markt in dieser Hinsicht hoffentlich nicht weiter wächst.


6

1.3.1

1 Linux – das Betriebssystem der Zukunft?

Debian-(GNU/Linux)-Distribution

Die Debian GNU/Linux-Distribution ( wurde zunächst
von Ian Murdock entwickelt. Im Laufe der Zeit haben sich viele Entwickler ebenfalls für Debian engagiert. Dadurch wurde diese Distribution zu einem weltweiten Projekt, das eine zeitlang auch von der Free Software Foundation (FSF)
unterstützt wurde. Die FSF betrachtete diese Distribution als »Testfall« für das
eigene Betriebssystem Hurd.
Das wesentliche Merkmal ist, dass diese Distribution frei im Sinne der GPL ist.
Sie kann im Rahmen der GPL beliebig kopiert und kommerziell eingesetzt werden, auch ohne dass eine entsprechende CD oder ähnliches erworben wurde.
Viele Entwickler haben die Copyright-Bedingungen ihrer Programme geändert,
damit sie problemlos in dieser Distribution verwendet werden können.
Programme, deren Lizenz nicht den »Debian Free Software Guidelines« entspricht, können nicht Bestandteil von Debian werden. Dazu hat sich das Projekt
in seinem »Social Contract« verpflichtet – damit wird die Distribution immer frei
(im Sinne einer Weitergabe ohne Restriktion) verfügbar sein. Obwohl diese »unfreien« Programme nicht Teil von Debian sind, können diese auf Debian-Systemen benutzt werden. Im contrib oder non-free Bereich werden viele Programme im Debian-Paketformat bereitgestellt. Auch das Bugtracking-System wird
hier zum Support verwendet. Durch diese strikte Trennung wird sichergestellt,
dass jedermann die Debian-Distribution benutzen und verteilen kann.
Zur Installation und für Updates von Programmpaketen wurden ein eigenes Paketformat (.deb) und ein eigenes Tool (dpkg) entwickelt. Ein wesentlicher Vorteil gegenüber anderen Distributionen ist, dass das System oder einzelne Programme problemlos auf den aktuellen Stand gebracht werden können, ohne
dass die Festplatte formatiert und die Software komplett neu installiert werden
muss. Die hierzu entwickelten Strategien haben in neuester Zeit auch Einzug in
andere Distributionen (z. B. S.u.S.E. und Red Hat) gehalten. Als Frontend zu
dpkg, das nur mit einzelnen Paketen umgeht, stehen dselect und apt zur Verfügung.
Ein weiterer Vorteil ist das konsequente Bugtracking, das über Mailing-Listen

verwendet das rpm-Format für Pakete und hat zu deren Verwaltung ein eigenes
Programm (rpm Red Hat Package Management) entwickelt. Das macht die Verwendung der entsprechenden Pakete auf anderen Linux-Systemen eher schwerer, allerdings hat sich dieses Format als Standard durchgesetzt. Mehr Informationen zum rpm-Format finden Sie unter .

1.3.4

Die Slackware-Distribution

Im Internet wird die Slackware-Distribution per ftp verteilt. Sie können sie aber
auch auf CD erwerben. Die Slackware war einmal etwas wie die »Standarddistribution« und weltweit sehr oft installiert. Slackware gilt immer noch als eine Art
»Geheimtipp« für Bastler, im Vergleich zu den anderen Distributionen wird sie
aber scheinbar nicht mehr so häufig eingesetzt.

1.3.5

Die S.u.S.E.-Distribution

Die S.u.S.E. GmbH ( hat zunächst damit begonnen, die internationale Slackware-Distribution für den deutschen Markt anzupassen. Vor einiger Zeit haben sich die Entwickler aber von Slackware gelöst und eine eigenstän-



Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status