SUSE Linux

10.1
07.04.2006

www.novell.com Referenz

Referenz
Autorenliste: Jörg Arndt, Stefan Behlert, Frank Bodammer, James Branam, Volker Buzek, Klara Cihlarova, Stefan Dirsch, Olaf Donjak, Roman Drahtmüller, Thorsten Dubiel, Torsten Duwe, Thomas Fehr, Stefan Fent, Werner Fink, Jakub Friedl, Kurt Garloff, Joachim Gleißner, Carsten Groß, Andreas Grünbacher, Berthold Gunreben, Franz Hassels, Andreas Jaeger, Jana Jaeger, Klaus Kämpf, Andi Kleen, Hubert Mantel, Lars Marowsky-Bree, Chris Mason, Johannes Meixner, Lars Müller, Matthias Nagorni, Anas Nashif, Siegfried Olschner, Edith Parzefall, Peter Pöml, Thomas Renninger, Hannes Reinecke, Scott Rhoades, Thomas Rölz, Heiko Rommel, Tanja Roth, Marcus Schäfer, Thomas Schraitle, Klaus Singvogel, Frank Sundermeyer, Elisabeth Tobiasson, Hendrik Vogelsang, Klaus G. Wagner, Rebecca Walter, Christian Zoz Diese Veröffentlichung ist das geistige Eigentum von Novell, Inc. Ihr Inhalt darf ganz oder teilweise dupliziert werden, sofern jede Kopie einen sichtbaren CopyrightHinweis trägt. Alle Informationen in diesem Buch wurden mit größter Sorgfalt zusammengestellt. Doch auch dadurch kann hundertprozentige Richtigkeit nicht gewährleistet werden. Weder SUSE LINUX GmbH noch die Autoren noch die Übersetzer können für mögliche Fehler und deren Folgen haftbar gemacht werden. Novell, das Novell-Logo, das N-Logo und SUSE sind eingetragene Marken von Novell, Inc., in den Vereinigten Staaten und anderen Ländern. * Linux ist eine eingetragene Marke von Linus Torvalds. Alle anderen Drittanbieter-Marken sind das Eigentum der jeweiligen Inhaber. Vorschläge und Kommentare richten Sie bitte an documentation@suse.de.

Inhaltsverzeichnis

Über dieses Handbuch Teil I Fortgeschrittene Installationsszenarien 1 Installation mit entferntem Zugriff
1.1 1.2 1.3 1.4 1.5 Installation auf entfernten Systemen . . . . . . Installationsquellen auf dem Server einrichten . . Vorbereitung des Bootvorgangs für das Zielsystem Booten des Zielsystems für die Installation . . . Überwachen des Installationsvorgangs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xi 15 17
17 27 38 48 53

2 Fortgeschrittene Festplattenkonfiguration
2.1 2.2 LVM-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . Soft-RAID-Konfiguration . . . . . . . . . . . . . . . . . . . . . .

57
57 65

3 Aktualisieren des Systems und Paketverwaltung
3.1 3.2 3.3 Aktualisieren von SUSE Linux . . . . . . . . . . . . . . . . . . . . Software-Änderungen von Version zu Version . . . . . . . . . . . . . RPM - der Paket-Manager . . . . . . . . . . . . . . . . . . . . .

71
71 74 94

Teil II Administration 4 Sicherheit in Linux
4.1 4.2 Masquerading und Firewalls . . . . . . . . . . . . . . . . . . . . SSH: Sicherer Netzwerkbetrieb . . . . . . . . . . . . . . . . . . .

107 109
109 121

4.3 4.4 4.5

Verschlüsseln von Partitionen und Dateien . . . . . . . . . . . . . . Einschränken von Berechtigungen mit AppArmor . . . . . . . . . . . Sicherheit und Vertraulichkeit . . . . . . . . . . . . . . . . . . .

127 131 140

5 Zugriffskontrolllisten unter Linux
5.1 5.2 5.3 5.4 5.5 5.6 Traditionelle Dateiberechtigungen . Vorteile von ACLs . . . . . . . . Definitionen . . . . . . . . . . . Arbeiten mit ACLs . . . . . . . . ACL-Unterstützung in Anwendungen Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

155
155 157 158 158 167 168

6 Dienstprogramme zur Systemüberwachung
6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 6.20 Liste der geöffneten Dateien: lsof . . . . . . . . . . . . . . Liste der Benutzer bzw. Prozesse, die auf Dateien zugreifen: fuser Dateieigenschaften: stat . . . . . . . . . . . . . . . . . . USB-Geräte: lsusb . . . . . . . . . . . . . . . . . . . . Informationen zu einem SCSI-Gerät: scsiinfo . . . . . . . . Prozesse: top . . . . . . . . . . . . . . . . . . . . . . . Prozessliste: ps . . . . . . . . . . . . . . . . . . . . . . Prozessbaum: pstree . . . . . . . . . . . . . . . . . . . Wer macht was: w . . . . . . . . . . . . . . . . . . . . . Speichernutzung: free . . . . . . . . . . . . . . . . . . . Kernel Ring Buffer: dmesg . . . . . . . . . . . . . . . . . Dateisysteme und ihre Nutzung: mount, df und du . . . . . . Das Dateisystem /proc . . . . . . . . . . . . . . . . . . . PCI-Ressourcen: lspci . . . . . . . . . . . . . . . . . . . Systemaufrufe eines aktiven Programms: strace . . . . . . . . Bibliotheksaufrufe eines aktiven Programms: ltrace . . . . . . Erforderliche Bibliothek angeben: ldd . . . . . . . . . . . . Zusätzliche Informationen zu ELF-Binärdateien . . . . . . . . . Prozessübergreifende Kommunikation: ipcs . . . . . . . . . . Zeitmessung mit time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

169
170 171 171 172 172 173 174 176 176 177 177 178 178 182 183 184 184 185 186 186

Teil III System 7 32-Bit- und 64-Bit-Anwendungen in einer 64-Bit-Systemumgebung
7.1 7.2 7.3 7.4 Laufzeitunterstützung . . . . . . . . . . . . . . . . Software-Entwicklung . . . . . . . . . . . . . . . . Software-Kompilierung auf Doppelarchitektur-Plattformen Kernel-Spezifikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

187 189
189 190 191 192

8 Booten und Konfigurieren eines Linux-Systems
8.1 8.2 8.3 Der Linux-Bootvorgang . . . . . . . . . . . . . . . . . . . . . . Der init-Vorgang . . . . . . . . . . . . . . . . . . . . . . . . . Systemkonfiguration über /etc/sysconfig . . . . . . . . . . . . . .

193
193 197 207

9 Der Bootloader
9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 Auswählen eines Bootloaders . . . . Booten mit GRUB . . . . . . . . . Konfigurieren des Bootloaders mit YaST Deinstallieren des Linux-Bootloaders . Erstellen von Boot-CDs . . . . . . . Der grafische SUSE-Bildschirm . . . . Fehlerbehebung . . . . . . . . . . Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

211
212 212 222 228 228 229 230 232

1 0 Spezielle Funktionen von SUSE Linux
10.1 10.2 10.3 10.4 Informationen zu speziellen Software-Paketen Virtuelle Konsolen . . . . . . . . . . . . Tastaturzuordnung . . . . . . . . . . . . Sprach- und länderspezifische Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

233
233 240 241 242

1 1 Druckerbetrieb
11.1 11.2 11.3 11.4 11.5 11.6 11.7 Workflow des Drucksystems . . . . . . . . . . . . . Methoden und Protokolle zum Anschließen von Druckern Installieren der Software . . . . . . . . . . . . . . Konfigurieren des Druckers . . . . . . . . . . . . . Konfiguration für Anwendungen . . . . . . . . . . . Sonderfunktionen in SUSE Linux . . . . . . . . . . . Fehlerbehebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

247
249 249 250 251 257 258 264

1 2 Gerätemanagement über dynamischen Kernel mithilfe von udev
12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 Das /dev-Verzeichnis . . . . . . . . . . . . . . . Kernel-uevents und udev . . . . . . . . . . . . . . Treiber, Kernel-Module und Geräte . . . . . . . . . . Booten und erstes Einrichten des Geräts . . . . . . . . Fehlersuche bei udev-Ereignissen . . . . . . . . . . . Ereignisse für die Kernelgeräte mit udev-Regeln steuern . Permanente Gerätebenennung . . . . . . . . . . . . Das ersetzte hotplug-Paket . . . . . . . . . . . . . Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

273
273 274 274 275 276 277 277 278 279

1 3 Dateisysteme in Linux
13.1 13.2 13.3 13.4 13.5 Terminologie . . . . . . . . . Wichtige Dateisysteme in Linux . Weitere unterstützte Dateisysteme Large File Support unter Linux . . Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

281
281 282 289 290 291

1 4 Das X Window-System
14.1 14.2 14.3 14.4 X11-Konfiguration mit SaX2 . . . . . . . Optimierung der X-Konfiguration . . . . . Installation und Konfiguration von Schriften OpenGL – 3D-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

293
293 295 301 307

1 5 FreeNX: Fernsteuerung eines anderen Computers
15.1 15.2 15.3 15.4 Erste Schritte in NX . . . . . Erweiterte FreeNX-Konfiguration Fehlerbehebung . . . . . . . Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

311
311 314 321 324

1 6 Authentifizierung mit PAM
16.1 16.2 16.3 16.4 Struktur einer PAM-Konfigurationsdatei PAM-Konfiguration von sshd . . . . . Konfiguration von PAM-Modulen . . . Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

325
326 328 330 333

1 7 Virtualisierung mit Xen
17.1 17.2 17.3 17.4 17.5 Installation von Xen . . . . . . . . . . . . Domäneninstallation . . . . . . . . . . . . Starten und Steuern von Xen-Domänen mit xm . Fehlerbehebung . . . . . . . . . . . . . . Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

335
337 337 338 339 340

Teil IV Dienste 1 8 Grundlegendes zu Netzwerken
18.1 18.2 18.3 18.4 IP-Adressen und Routing . . . . . . . . . . . IPv6 – Das Internet der nächsten Generation . . . Namensauflösung . . . . . . . . . . . . . . Konfigurieren von Netzwerkverbindungen mit YaST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

343 345
348 351 361 363

18.5 18.6 18.7

Verwalten der Netzwerkverbindungen mit NetworkManager . . . . . . Manuelle Netzwerkkonfiguration . . . . . . . . . . . . . . . . . . smpppd als Einwählhelfer . . . . . . . . . . . . . . . . . . . . .

375 378 391

1 9 SLP-Dienste im Netzwerk
19.1 19.2 19.3 19.4 Registrieren eigener Dienste SLP-Frontends in SUSE Linux SLP aktivieren . . . . . . Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

395
395 396 397 398

2 0 Das Domain Name System (DNS)
20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 DNS-Terminologie . . . . . . . . . . . Konfiguration mit YaST . . . . . . . . . Starten des Namenservers BIND . . . . . Die Konfigurationsdatei /etc/dhcpd.conf . Zonendateien . . . . . . . . . . . . . Dynamische Aktualisierung von Zonendaten Sichere Transaktionen . . . . . . . . . DNS-Sicherheit . . . . . . . . . . . . Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

399
399 400 408 410 415 420 420 422 422

2 1 Arbeiten mit NIS
21.1 21.2 Konfigurieren von NIS-Servern . . . . . . . . . . . . . . . . . . . Konfigurieren von NIS-Clients . . . . . . . . . . . . . . . . . . .

423
423 430

2 2 Verteilte Nutzung von Dateisystemen mit NFS
22.1 22.2 22.3 22.4 22.5 Importieren von Dateisystemen mit YaST Manuelles Importieren von Dateisystemen Exportieren von Dateisystemen mit YaST . Manuelles Exportieren von Dateisystemen Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

433
433 434 435 436 438

2 3 DHCP
23.1 23.2 23.3 23.4 Konfigurieren eines DHCP-Servers mit YaST DHCP-Softwarepakete . . . . . . . . . Der DHCP-Server dhcpd . . . . . . . . Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

439
440 444 444 449

2 4 Zeitsynchronisierung mit NTP
24.1 24.2 24.3 Konfigurieren eines NTP-Client mit YaST . . . . . . . . . . . . . . . Konfigurieren von xntp im Netzwerk . . . . . . . . . . . . . . . . Einrichten einer lokalen Referenzuhr . . . . . . . . . . . . . . . .

451
451 455 456

2 5 LDAP – Ein Verzeichnisdienst
25.1 25.2 25.3 25.4 25.5 25.6 25.7 LDAP und NIS . . . . . . . . . . . . . . . . Struktur eines LDAP-Verzeichnisbaums . . . . . Serverkonfiguration mit slapd.conf . . . . . . . Datenbehandlung im LDAP-Verzeichnis . . . . . YaST LDAP-Client . . . . . . . . . . . . . . Konfigurieren von LDAP-Benutzern und -Gruppen Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

457
459 460 464 469 473 482 483

2 6 Der HTTP-Server Apache
26.1 26.2 26.3 26.4 26.5 26.6 26.7 26.8 26.9 Schnellstart . . . . . . . . . . . . . . . . . . . Konfigurieren von Apache . . . . . . . . . . . . . Starten und Beenden von Apache . . . . . . . . . Installieren, Aktivieren und Konfigurieren von Modulen Aktivieren von CGI-Skripts . . . . . . . . . . . . . Einrichten eines sicheren Webservers mit SSL . . . . . Vermeiden von Sicherheitsproblemen . . . . . . . . Fehlerbehebung . . . . . . . . . . . . . . . . . Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

485
485 487 503 505 514 517 524 526 527

2 7 Dateisynchronisierung
27.1 27.2 27.3 27.4 27.5 27.6 27.7 Verfügbare Software zur Datensynchronisierung Kriterien für die Auswahl eines Programms . . Einführung in Unison . . . . . . . . . . . . Einführung in CVS . . . . . . . . . . . . . Einführung in Subversion . . . . . . . . . . Einführung in rsync . . . . . . . . . . . . . Einführung in mailsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

531
531 535 539 541 544 547 549

2 8 Samba
28.1 28.2 28.3 28.4 28.5 28.6 Terminologie . . . . . . . . . Starten und Stoppen von Samba . Konfigurieren eines Samba-Servers Konfigurieren der Clients . . . . Samba als Anmeldeserver . . . . Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

553
553 555 555 561 562 563

2 9 Der Proxyserver Squid
29.1 29.2 29.3 29.4 29.5 29.6 29.7 29.8 29.9 Einige Tatsachen zu Proxy-Caches . . . . . . Systemvoraussetzungen . . . . . . . . . . Starten von Squid . . . . . . . . . . . . Die Konfigurationsdatei /etc/squid/squid.conf Konfigurieren eines transparenten Proxy . . cachemgr.cgi . . . . . . . . . . . . . . squidGuard . . . . . . . . . . . . . . . Erstellung von Cache-Berichten mit Calamaris Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

565
566 568 570 572 578 581 583 585 586

Teil V Mobilität 3 0 Mobile Computernutzung mit Linux
30.1 30.2 30.3 30.4 Notebooks . . . . . . Mobile Hardware . . . Mobiltelefone und PDAs Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

587 589
589 597 598 599

3 1 PCMCIA
31.1 31.2 31.3 Steuern der PCMCIA-Karten mithilfe von pccardctl . . . . . . . . . . PCMCIA im Detail . . . . . . . . . . . . . . . . . . . . . . . . Fehlerbehebung . . . . . . . . . . . . . . . . . . . . . . . . .

601
602 602 606

3 2 Verwaltung der Systemkonfigurationsprofile
32.1 32.2 32.3 32.4 32.5 32.6 Terminologie . . . . . . . Einrichten von SCPM . . . . Konfigurieren von SCPM über Konfigurieren von SCPM über Fehlerbehebung . . . . . . Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . eine grafische Benutzeroberfläche die Befehlszeile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

611
612 613 614 621 624 625

3 3 Energieverwaltung
33.1 33.2 33.3 33.4 33.5 33.6 Energiesparfunktionen . . . . . APM . . . . . . . . . . . . . ACPI . . . . . . . . . . . . . Ruhezustand für Festplatte . . . Das powersave-Paket . . . . . . Das YaST Energieverwaltungsmodul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

627
628 629 631 639 640 650

3 4 Drahtlose Kommunikation
34.1 34.2 34.3 Wireless LAN . . . . . . . . . . . . . . . . . . . . . . . . . . Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . Infrarot-Datenübertragung . . . . . . . . . . . . . . . . . . . .

655
655 668 680

Index

685

Über dieses Handbuch
Dieses Handbuch vermittelt Ihnen Hintergrundinformationen zur Funktionsweise von SUSE Linux. Es richtet sich in der Hauptsache an Systemadministratoren und andere Benutzer mit Grundkenntnissen der Systemadministration. Dieses Handbuch beschreibt eine Auswahl an Anwendungen, die für die tägliche Arbeit erforderlich sind, und bietet eine ausführliche Beschreibung erweiterter Installations- und Konfigurationsszenarien. Fortgeschrittene Installationsszenarien Implementieren von SUSE Linux in komplexen Umgebungen. Administration Hier lernen Sie, wie Sie Ihr SUSE Linux-System sicher machen und den Zugriff auf das Dateisystem steuern können. Außerdem lernen Sie einige wichtige Dienstprogramme für Linux-Administratoren kennen. System Hier werden die Komponenten des Linux-Systems erläutert, sodass Sie deren Interaktion besser verstehen. Dienste In diesem Abschnitt erfahren Sie, wie Sie die unterschiedlichen Netzwerk- und Dateidienste konfigurieren, die zum Lieferumfang von SUSE Linux gehören. Mobilität Dieser Abschnitt enthält eine Einführung in die mobile Computernutzung mit SUSE Linux. Außerdem erfahren Sie, wie Sie die zahlreichen Optionen für die drahtlose Computernutzung, die Energieverwaltung und die Profilverwaltung konfigurieren.

1 Feedback
Wir würden uns über Ihre Kommentare und Vorschläge zu diesem Handbuch und anderen zu diesem Produkt gehörenden Dokumentationen freuen. Bitte verwenden Sie die Funktion user comments unten auf den einzelnen Seiten der Online-Dokumentation, um Ihre Kommentare einzugeben.

2 Zusätzliche Dokumentation
Weitere Handbücher zu diesem SUSE Linux-Produkt finden Sie online unter http:// www.novell.com/documentation/ oder auf Ihrem installierten System im Verzeichnis /usr/share/doc/manual/: SUSE Linux Start Dieses Handbuch erläutert die Installation von SUSE Linux sowie die grundlegenden Schritte in Ihrer neuen Desktop-Umgebung. Eine Online-Version dieses Dokuments finden Sie unter http://www.novell.com/documentation/suse101/ SUSE Linux Anwendungen Dieses Handbuch vermittelt Ihnen einen Überblick über die wichtigsten Programme von SUSE Linux. Eine Online-Version dieses Dokuments finden Sie unter http://www.novell.com/documentation/suse101/. Novell AppArmor 2.0-Administrationshandbuch Dieses Handbuch enthält ausführliche Informationen zur Verwendung von AppArmor in Ihrer Umgebung. Eine Online-Version dieses Dokuments finden Sie unter http://www.novell.com/documentation/apparmor/.

3 Konventionen in der Dokumentation
In diesem Handbuch werden folgende typografische Konventionen verwendet: • /etc/passwd: Datei- und Verzeichnisnamen • Platzhalter: Ersetzen Sie Platzhalter durch den tatsächlichen Wert. • PATH: die Umgebungsvariable PATH • ls, --help: Befehle, Optionen und Parameter • user: Benutzer oder Gruppen

xii

Referenz

Alt , Alt + F1 : Eine Taste oder Tastenkombination; Tastennamen werden wie auf der Tastatur in Großbuchstaben dargestellt

• Datei, Datei → Speichern unter: Menüelemente, Schaltflächen • Tanzende Pinguine (Kapitel „Pinguine“, ↑Verweis): Dies ist ein Verweis auf ein Kapitel in einem anderen Buch.

4 Informationen zur Herstellung dieses Handbuchs
Dieses Handbuch wurde in Novdoc, einer Untermenge von DocBook (siehe http:// www.docbook.org), geschrieben. Die XML-Quelldateien wurden mit xmllint überprüft, von xsltproc verarbeitet und mit einer benutzerdefinierten Version der Stylesheets von Norman Walsh in HTML konvertiert.

5 Danksagung
Die Entwickler von Linux treiben in weltweiter Zusammenarbeit mit hohem freiwilligem Einsatz die Weiterentwicklung von Linux voran. Wir danken ihnen für ihr Engagement – ohne sie gäbe es diese Distribution nicht. Bedanken wollen wir uns außerdem auch bei Frank Zappa und Pawar. Unser besonderer Dank geht selbstverständlich an Linus Torvalds. Viel Spaß! Ihr SUSE-Team

Über dieses Handbuch

xiii

.

Teil I. Fortgeschrittene Installationsszenarien .

.

sowie Netzwerkserver. Falls Sie Installation mit entferntem Zugriff 17 . B.1 Installation auf entfernten Systemen In diesem Abschnitt werden die gängigsten Installationsszenarien für Installationen auf entferneten Systemen beschrieben.Installation mit entferntem Zugriff Es gibt mehrere Möglichkeiten. SUSE Linux zu installieren. Prüfen Sie für jedes Szenario die Liste der Voraussetzungen und befolgen Sie das für dieses Szenario beschriebene Verfahren. ANMERKUNG In den folgenden Abschnitten wird das System. auf dem die neue SUSE LinuxInstallation ausgeführt wird. Dazu gehören physische Medien. können Sie aus mehreren netzwerkbasierten Ansätzen auswählen oder eine vollautomatische Installation von SUSE Linux ausführen. Der Begriff Installationsquelle wird für alle Quellen der Installationsdaten verwendet. die in Kapitel Installation mit YaST (↑Start) beschrieben wird. die die Installationsdaten im Netzwerk verteilen. als Zielsystem oder Installationsziel bezeichnet. Anschließend werden alle in diesen Installationsszenarien verwendeten Techniken ausführlicher erläutert. CD und DVD. z. Abgesehen von der normalen Installation von CD oder DVD. 1 1. Die einzelnen Methoden werden mithilfe zweier kurzer Checklisten erläutert: in der einen Liste sind die Voraussetzungen für die jeweilige Methode aufgeführt und in der anderen Liste wird das grundlegende Verfahren beschrieben.

1. „X11-Konfiguration mit SaX2“ (S. WICHTIG Die Konfiguration des X Window Systems ist nicht Teil des entfernten Installationsvorgangs. FTP oder SMB mit funktionierender Netzwerkverbindung • Zielsystem mit funktionierender Netzwerkverbindung • Steuersystem mit funktionierender Netzwerkverbindung und VNC-Viewer-Software oder Java-fähiger Browser (Firefox. die mit dem Installationsprogramm über VNC verbunden ist. die dem Zielsystem zugewiesen wird 18 Referenz . Stellen Sie bei dieser Art der Installation sicher. 293) beschrieben zu konfigurieren.1 Einfache Installation mit entferntem Zugriff über VNC . geben Sie telinit 3 ein und starten Sie SaX2. um dieses für die Installation zu booten.für einen bestimmten Schritt ausführliche Anweisungen benötigen. Melden Sie sich nach Abschluss der Installation beim Zielsystem als root an.Statische Netzwerkkonfiguration Diese Art der Installation erfordert physischen Zugriff auf das Zielsystem. HTTP. Die Installation selbst wird vollständig von einer entfernten Arbeitsstation gesteuert. Konqueror. Das Eingreifen des Benutzers ist wie bei der manuellen Installation erforderlich (siehe Kapitel Installation mit YaST (↑Start)). um die Grafikhardware wie in Abschnitt 14.1.1. dass die folgenden Anforderungen erfüllt sind: • Quelle der Installation mit entferntem Zugriff: NFS. Internet Explorer oder Opera) • Physisches Bootmedium (CD oder DVD) zum Booten des Zielsystems • Gültige statische IP-Adressen. folgen Sie den entsprechenden Links. die der Installationsquelle und dem Steuersystem bereits zugewiesen sind • Gültige statische IP-Adresse.

die Installation mit entferntem Zugriff 19 . Das Zielsystem bootet in eine textbasierte Umgebung und gibt die Netzwerkadresse und Display-Nummer an. 5 Führen Sie die Installation wie in Kapitel Installation mit YaST (↑Start) beschrieben aus. nachdem dieses neu gebootet wurde. „VNC-Installation“ (S.Gehen Sie wie folgt vor. 48) beschrieben. um dieses für die Installation zu booten. Um die Installation abzuschließen. Dies wird ausführlich in Abschnitt 1. „Booten des Zielsystems für die Installation“ (S. 3 Wenn der Bootbildschirm des Zielsystems erscheint. legen Sie mithilfe der Eingabeaufforderung für die Boot-Optionen die entsprechenden VNC-Optionen und die Adresse der Installationsquelle fest. 4 Öffnen Sie auf der steuernden Arbeitsstation eine VNC-Viewer-Anwendung oder einen Webbrowser und stellen Sie wie in Abschnitt 1. Die Installation selbst wird vollständig über eine entfernte Arbeitsstation ausgeführt.5. 53) beschrieben eine Verbindung zum Zielsystem her.2 Einfache Installation mit entferntem Zugriff über VNC .Dynamische Netzwerkkonfiguration über DHCP Diese Art der Installation erfordert physischen Zugriff auf das Zielsystem.2.1. unter der die grafische Installationsumgebung über eine VNC-Viewer-Anwendung oder einen Browser erreichbar ist. 27) beschrieben ein. müssen Sie die Verbindung zum Zielsystem wiederherstellen.4. VNC-Installationen geben sich selbst über OpenSLP bekannt und können mithilfe von Konqueror im Modus service:// oder slp:// ermittelt werden. um diese Art der Installation durchzuführen: 1 Richten Sie die Installationsquelle wie in Abschnitt 1. 6 Schließen Sie die Installation ab. 1.1. 2 Booten Sie das Zielsystem mithilfe der ersten CD oder DVD des SUSE LinuxMedienkits. „Installationsquellen auf dem Server einrichten“ (S. Die Netzwerkkonfiguration erfolgt über DHCP.

der IP-Adressen zur Verfügung stellt Gehen Sie wie folgt vor. legen Sie mithilfe der Eingabeaufforderung für die Boot-Optionen die entsprechenden VNC-Optionen und die Adresse der Installationsquelle fest. 27) beschrieben ein. „Booten des Zielsystems für die Installation“ (S. Konqueror. 20 Referenz . 48) beschrieben.über VNC mit dem Installationsprogramm verbunden ist. Für die eigentliche Konfiguration ist jedoch das Eingreifen des Benutzers erforderlich. Stellen Sie bei dieser Art der Installation sicher.2. Internet Explorer oder Opera) • Physisches Bootmedium (CD.5. Das Zielsystem bootet in eine textbasierte Umgebung und gibt die Netzwerkadresse und Display-Nummer an. VNC-Installationen geben sich selbst über OpenSLP bekannt und können mithilfe von Konqueror im Modus service:// oder slp:// ermittelt werden.2. Wählen Sie einen NFS-. um diese Art der Installation durchzuführen: 1 Richten Sie die Installationsquelle wie in Abschnitt 1. 3 Wenn der Bootbildschirm des Zielsystems erscheint. Weitere Informationen zu SMB-Installationsquellen finden Sie in Abschnitt 1. FTP oder SMB mit funktionierender Netzwerkverbindung • Zielsystem mit funktionierender Netzwerkverbindung • Steuersystem mit funktionierender Netzwerkverbindung und VNC-Viewer-Software oder Java-fähiger Browser (Firefox. dass die folgenden Anforderungen erfüllt sind: • Quelle der Installation mit entferntem Zugriff: NFS. unter der die grafische Installationsumgebung über eine VNC-Viewer-Anwendung oder einen Browser erreichbar ist. 36).4. HTTP. HTTPoder FTP-Netzwerkserver. 2 Booten Sie das Zielsystem mithilfe der ersten CD oder DVD des SUSE LinuxMedienkits. Dies wird ausführlich in Abschnitt 1. „Verwalten einer SMB-Installationsquelle“ (S. „Installationsquellen auf dem Server einrichten“ (S. DVD oder benutzerdefinierte Bootdiskette) zum Booten des Zielsystems • Laufender DHCP-Server.

5 Führen Sie die Installation wie in Kapitel Installation mit YaST (↑Start) beschrieben aus. 1. HTTP. nachdem dieses neu gebootet wurde.4 Öffnen Sie auf der steuernden Arbeitsstation eine VNC-Viewer-Anwendung oder einen Webbrowser und stellen Sie wie in Abschnitt 1.1. Internet Explorer oder Opera) Installation mit entferntem Zugriff 21 .3 Installation auf entfernten Systemen über VNC . 53) beschrieben eine Verbindung zum Zielsystem her. Der Zielcomputer wird über den entfernten Zugriff gestartet und gebootet. FTP oder SMB mit funktionierender Netzwerkverbindung • TFTP-Server • Laufender DHCP-Server für Ihr Netzwerk • Zielsystem.1. Stellen Sie bei dieser Art der Installation sicher. dass die folgenden Anforderungen erfüllt sind: • Quelle der Installation mit entferntem Zugriff: NFS. müssen Sie die Verbindung zum Zielsystem wiederherstellen. Das Eingreifen des Benutzers ist lediglich für die eigentliche Installation erforderlich. das PXE-Boot-. Netzwerk.und Wake-on-LAN-fähig. Um die Installation abzuschließen. angeschlossen und mit dem Netzwerk verbunden ist • Steuersystem mit funktionierender Netzwerkverbindung und VNC-Viewer-Software oder Java-fähiger Browser (Firefox. Konqueror. „VNC-Installation“ (S.PXE-Boot und Wake-on-LAN Diese Art der Installation wird vollständig automatisch durchgeführt. Dieser Ansatz ist für standortübergreifende Implementierungen geeignet. 6 Schließen Sie die Installation ab.5.

HTTPoder FTP-Netzwerkserver aus oder konfigurieren Sie eine SMB-Installationsquelle wie in Abschnitt 1. das vom Zielsystem abgerufen werden kann. „Verwalten einer SMB-Installationsquelle“ (S.3.1. „Vorbereiten des Zielsystems für PXE-Boot“ (S.Gehen Sie wie folgt vor. 4 Bereiten Sie das Zielsystem für PXE-Boot vor. 22 Referenz . 5 Initiieren Sie den Bootvorgang des Zielsystems mithilfe von Wake-on-LAN.2.2.3. 47) beschrieben.5.3.5. „Einrichten eines TFTP-Servers“ (S. müssen Sie die Verbindung zum Zielsystem wiederherstellen. Dies wird ausführlich in Abschnitt 1. 7 Führen Sie die Installation wie in Kapitel Installation mit YaST (↑Start) beschrieben aus.5.1.7. „VNC-Installation“ (S. 6 Öffnen Sie auf der steuernden Arbeitsstation eine VNC-Viewer-Anwendung oder einen Webbrowser und stellen Sie wie in Abschnitt 1. 36) beschrieben. um diese Art der Installation auszuführen: 1 Richten Sie die Installationsquelle wie in Abschnitt 1. „Einrichten eines DHCP-Servers“ (S. auf dem das Bootimage gespeichert wird.2. „Installationsquellen auf dem Server einrichten“ (S. Dies wird ausführlich in Abschnitt 1. 8 Schließen Sie die Installation ab. Wählen Sie einen NFS-. 27) beschrieben ein. 39) beschrieben. 2 Richten Sie einen TFTP-Server ein. Dies wird ausführlich in Abschnitt 1. Um die Installation abzuschließen.3. 38) beschrieben. der IP-Adressen für alle Computer bereitstellt und dem Zielsystem den Speicherort des TFTP-Servers bekannt gibt. nachdem dieses neu gebootet wurde. 46) beschrieben. Dies wird ausführlich in Abschnitt 1. 3 Richten Sie einen DHCP-Server ein. 53) beschrieben eine Verbindung zum Zielsystem her. „Wake-on-LAN“ (S.

1. FTP oder SMB mit funktionierender Netzwerkverbindung • Zielsystem mit funktionierender Netzwerkverbindung • Steuersystem mit funktionierender Netzwerkverbindung und funktionierender SSHClient-Software • Physisches Bootmedium (CD.2.4 Einfache Installation mit entferntem Zugriff über SSH . die dem Zielsystem zugewiesen wird Gehen Sie wie folgt vor. Die Installation selbst wird vollständig von einer entfernten Arbeitsstation gesteuert. die der Installationsquelle und dem Steuersystem bereits zugewiesen sind • Gültige statische IP-Adresse. dass die folgenden Anforderungen erfüllt sind: • Quelle der Installation mit entferntem Zugriff: NFS. die mit dem Installationsprogramm über SSH verbunden ist. DVD oder benutzerdefinierte Bootdiskette) zum Booten des Zielsystems • Gültige statische IP-Adressen. Das Eingreifen des Benutzers ist wie bei der regulären Installation erforderlich (siehe Kapitel Installation mit YaST (↑Start)). 27) beschrieben ein. um diese Art der Installation durchzuführen: 1 Richten Sie die Installationsquelle wie in Abschnitt 1. Stellen Sie bei dieser Art der Installation sicher.Statische Netzwerkkonfiguration Diese Art der Installation erfordert physischen Zugriff auf das Zielsystem. HTTP.1. Installation mit entferntem Zugriff 23 . 2 Booten Sie das Zielsystem mithilfe der ersten CD oder DVD des SUSE LinuxMedienkits. um dieses für die Installation zu booten und um die IP-Adresse des Installationsziels zu ermitteln. „Installationsquellen auf dem Server einrichten“ (S.

nachdem dieses neu gebootet wurde. die über VNC mit dem Installationsprogramm verbunden ist. Für die eigentliche Konfiguration ist jedoch das Eingreifen des Benutzers erforderlich. unter der die grafische Installationsumgebung von einen beliebigen SSHClient adressiert werden kann. FTP oder SMB mit funktionierender Netzwerkverbindung 24 Referenz . 5 Führen Sie die Installation wie in Kapitel Installation mit YaST (↑Start) beschrieben aus. HTTP.1.3 Wenn der Bootbildschirm des Zielsystems erscheint. dass die folgenden Anforderungen erfüllt sind: • Quelle der Installation mit entferntem Zugriff: NFS. 6 Schließen Sie die Installation ab.3. müssen Sie die Verbindung zum Zielsystem wiederherstellen. 1. Um die Installation abzuschließen. die Adresse der Installationsquelle und die SSH-Aktivierung fest. Dies wird ausführlich in Abschnitt 1. Stellen Sie bei dieser Art der Installation sicher. legen Sie mithilfe der Eingabeaufforderung für die Boot-Optionen die entsprechenden Parameter für die Netzwerkverbindung.5 Einfache Installation auf entfernten Systemen über SSH . Die Installation selbst wird vollständig über eine entfernte Arbeitsstation ausgeführt.4. Das Zielsystem bootet in eine textbasierte Umgebung und gibt die Netzwerkadresse an. 4 Öffnen Sie auf der steuernden Arbeitsstation ein Terminalfenster und stellen Sie wie in „Herstellen der Verbindung mit dem Installationsprogramm“ (S.Dynamische Netzwerkkonfiguration über DHCP Diese Art der Installation erfordert physischen Zugriff auf das Zielsystem. um dieses für die Installation zu booten und um die IP-Adresse des Installationsziels zu ermitteln. „Benutzerdefinierte Boot-Optionen“ (S. 50) beschrieben. 55) beschrieben eine Verbindung zum Zielsystem her.

2 Booten Sie das Zielsystem mithilfe der ersten CD oder DVD des SUSE LinuxMedienkits. HTTPoder FTP-Netzwerkserver. 5 Führen Sie die Installation wie in Kapitel Installation mit YaST (↑Start) beschrieben aus. Installation mit entferntem Zugriff 25 . Das Zielsystem bootet in eine textbasierte Umgebung und gibt die Netzwerkadresse an. 36). nachdem dieses neu gebootet wurde.2. der IP-Adressen zur Verfügung stellt Gehen Sie wie folgt vor.2.5. „Installationsquellen auf dem Server einrichten“ (S. Weitere Informationen zu SMB-Installationsquellen finden Sie in Abschnitt 1. 50). den Speicherort der Installationsquelle und die SSHAktivierung fest.4. 3 Wenn der Bootbildschirm des Zielsystems erscheint. 4 Öffnen Sie auf der steuernden Arbeitsstation ein Terminalfenster und stellen Sie wie in „Herstellen der Verbindung mit dem Installationsprogramm“ (S. Weitere Informationen sowie ausführliche Anweisungen zur Verwendung dieser Parameter finden Sie in Abschnitt 1. Um die Installation abzuschließen. 55) beschrieben eine Verbindung zum Zielsystem her.3. unter der die grafische Installationsumgebung über einen beliebigen SSHClient erreichbar ist. legen Sie mithilfe der Eingabeaufforderung für die Boot-Optionen die entsprechenden Parameter für die Netzwerkverbindung.• Zielsystem mit funktionierender Netzwerkverbindung • Steuersystem mit funktionierender Netzwerkverbindung und funktionierender SSHClient-Software • Physisches Bootmedium (CD oder DVD) zum Booten des Zielsystems • Laufender DHCP-Server. 6 Schließen Sie die Installation ab. „Benutzerdefinierte Boot-Optionen“ (S. 27) beschrieben ein. müssen Sie die Verbindung zum Zielsystem wiederherstellen. Wählen Sie einen NFS-. „Verwalten einer SMB-Installationsquelle“ (S. um diese Art der Installation durchzuführen: 1 Richten Sie die Installationsquelle wie in Abschnitt 1.

3 Richten Sie einen DHCP-Server ein.und Wake-on-LAN-fähig. 38) beschrieben. der IP-Adressen für alle Computer bereitstellt und dem Zielsystem den Speicherort des TFTP-Servers bekannt gibt. 36).1. „Verwalten einer SMB-Installationsquelle“ (S. 26 Referenz .2. Wählen Sie einen NFS-. 39) beschrieben. Weitere Informationen zur Konfiguration einer SMBInstallationsquelle finden Sie in Abschnitt 1. Der Zielcomputer wird über den entfernten Zugriff gestartet und gebootet. das vom Zielsystem abgerufen werden kann.3. auf dem das Bootimage gespeichert wird. 2 Richten Sie einen TFTP-Server ein. „Einrichten eines DHCP-Servers“ (S. angeschlossen und mit dem Netzwerk verbunden ist • Steuersystem mit funktionierender Netzwerkverbindung und SSH-Client-Software Gehen Sie wie folgt vor. Dies wird ausführlich in Abschnitt 1.PXE-Boot und Wake-on-LAN Diese Art der Installation wird vollständig automatisch durchgeführt. „Installationsquellen auf dem Server einrichten“ (S.2. HTTPoder FTP-Netzwerkserver. Dies wird ausführlich in Abschnitt 1. Stellen Sie bei dieser Art der Installation sicher. HTTP. Netzwerk.2. um diese Art der Installation auszuführen: 1 Richten Sie die Installationsquelle wie in Abschnitt 1. das PXE-Boot-. FTP oder SMB mit funktionierender Netzwerkverbindung • TFTP-Server • Laufender DHCP-Server für Ihr Netzwerk. der dem zu installierenden Host eine statische IP-Adresse zuweist • Zielsystem.5. 27) beschrieben ein.6 Installation auf entfernten Systemen über SSH . „Einrichten eines TFTP-Servers“ (S.3.1.1. dass die folgenden Anforderungen erfüllt sind: • Quelle der Installation mit entferntem Zugriff: NFS.

1. 8 Schließen Sie die Installation ab. 47) beschrieben.4 Bereiten Sie das Zielsystem für PXE-Boot vor. „Verwalten einer SMB-Installationsquelle“ (S. 46) beschrieben. welches Betriebssystem auf dem Computer ausgeführt wird. TIPP Für die Linux-Installation kann auch ein Microsoft Windows-Computer als Installationsserver verwendet werden. „Vorbereiten des Zielsystems für PXE-Boot“ (S.7. „Wake-on-LAN“ (S. Auf anderen Versionen von SUSE LINUX Enterprise Server oder SUSE Linux muss die Installationsquelle manuell eingerichtet werden.5.3.3. 55) beschrieben eine Verbindung zum Zielsystem her.2.5. der als Netzwerk-Installationsquelle für SUSE Linux verwendet werden soll. Um die Installation abzuschließen.5. stehen für die Serverkonfiguration mehrere Möglichkeiten zur Verfügung. Dies wird ausführlich in Abschnitt 1. nachdem dieses neu gebootet wurde. 5 Initiieren Sie den Bootvorgang des Zielsystems mithilfe von Wake-on-LAN. Dies wird ausführlich in Abschnitt 1.2. Weitere Einzelheiten finden Sie in Abschnitt 1.3 und höher einrichten. 6 Starten Sie auf der steuernden Arbeitsstation einen SSH-Client und stellen Sie wie in Abschnitt 1. Installation mit entferntem Zugriff 27 . 7 Führen Sie die Installation wie in Kapitel Installation mit YaST (↑Start) beschrieben aus. „SSH-Installation“ (S.2 Installationsquellen auf dem Server einrichten Je nachdem. 36). Am einfachsten lässt sich ein Installationsserver mit YaST auf SUSE LINUX Enterprise Server 9 oder SUSE Linux 9. müssen Sie die Verbindung zum Zielsystem wiederherstellen.

Der ausgewählte Serverdienst wird bei jedem Systemstart automatisch gestartet. die im folgenden Schritt definiert wird. als root an. 1 Melden Sie sich bei dem Computer. in dem die Installationsdaten gespeichert werden sollen. 433).und NFS-Netzwerk-Installationsserver. Wenn ein Dienst des ausgewählten Typs auf dem System bereits ausgeführt wird und Sie diesen Dienst für den Server manuell konfigurieren möchten. FTP oder NFS). Informationen zu NFS und Exportvorgängen finden Sie in Kapitel 22. FTP. Name steht für den Namen der Installationsquelle. Es unterstützt HTTP-. Dieser Schritt bezieht sich auf die automatische Konfiguration der Serverdienste. Legen Sie einen Aliasnamen für das Stammverzeichnis auf dem FTPoder HTTP-Server fest. 2 Starten Sie YaST → Verschiedenes → Installationsserver. Geben Sie in beiden Fällen das Verzeichnis an. 6 Konfigurieren Sie die Installationsquelle. indem Sie Keine Netzwerkdienste konfigurieren wählen. 4 Wählen Sie den gewünschten Servertyp (HTTP. Die Installationsquelle befindet sich später unter ftp://Server-IP/Alias/Name (FTP) oder unter http://Server-IP/Alias/Name (HTTP). Wenn Sie im vorherigen Schritt NFS ausgewählt haben. Verteilte Nutzung von Dateisystemen mit NFS (S. 28 Referenz .2. legen Sie Platzhalter und Exportoptionen fest. Wenn die automatische Konfiguration deaktiviert ist. Der Zugriff auf den NFS-Server erfolgt über nfs://Server-IP/Name .1. der als Installationsserver verwendet werden soll. wird dieser Schritt übersprungen.1 Einrichten eines Installationsservers mithilfe von YaST YaST bietet ein grafisches Werkzeug zum Erstellen von Netzwerk-Installationsquellen. in dem die Installationsdaten auf dem Server zur Verfügung gestellt werden sollen. deaktivieren Sie die automatische Konfiguration des Serverdiensts. 5 Konfigurieren Sie den erforderlichen Servertyp. 3 Wählen Sie Serverkonfiguration.

wenn die automatische Konfiguration der ausgewählten Netzwerkdienste mit YaST anfänglich deaktiviert wurde. Der die meiste Zeit in Anspruch nehmende Schritt bei der Konfiguration eines Installationsservers ist das Kopieren der eigentlichen Installations-CDs. Der Installationsserver ist jetzt vollständig konfiguriert und betriebsbereit. in dem sich die ISO-Dateien lokal befinden. „Booten des Zielsystems für die Installation“ (S.4. 7 Laden Sie die Installationsdaten hoch. Legen Sie die Medien in der von YaST angegebenen Reihenfolge ein und warten Sie. 48). Je nachdem. welches Produkt mithilfe dieses Installationsservers verteilt werden soll. diese Medien zur Verfügung zu stellen. Wenn Sie die Option Nach zusätzlichen CDs verlangen aktivieren. YaST ermöglicht das Bereitstellen von ISO-Images der Medien an Stelle von Kopien der Installations-CDs. bis der Kopiervorgang abgeschlossen ist. Weitere Informationen zu dieser Option finden Sie in Abschnitt 1. Sie müssen diesen Dienst lediglich ordnungsgemäß manuell konfigurieren und starten. sollten Sie Ihre Installationsquelle auf jeden Fall über OpenSLP bekannt machen.Bevor die Installationsmedien in ihr Zielverzeichnis kopiert werden. TIPP Wenn Ihr Netzwerk diese Option unterstützt. aktivieren Sie das entsprechende Kontrollkästchen und geben Sie den Verzeichnispfad an. indem Sie Beenden wählen. werden Sie von YaST automatisch daran erinnert. aktivieren Sie die entsprechende Option. Die Zielsysteme werden einfach unter Verwendung der SLP-Boot-Option gebootet und finden die Netzwerk-Installationsquelle ohne weitere Konfigurationsschritte. Dadurch ersparen Sie sich die Eingabe des Netzwerk-Installationspfads auf den einzelnen Zielcomputern. Wenn Sie diese Funktion verwenden möchten. Installation mit entferntem Zugriff 29 . Um den Installationsserver über OpenSLP im Netzwerk bekannt zu geben. kehren Sie zur Übersicht der vorhandenen Informationsquellen zurück und schließen Sie die Konfiguration. Wenn alle Quellen erfolgreich kopiert wurden. Es sind keine weiteren Aktionen erforderlich. Er wird bei jedem Systemstart automatisch gestartet. können für die vollständige Produktinstallation mehrere Zusatz-CDs oder Service-Pack-CDs erforderlich sein. müssen Sie den Namen der Installationsquelle angeben (dies sollte im Idealfall eine leicht zu merkende Abkürzung des Produkts und der Version sein).

Im zweiten Schritt exportieren Sie das Verzeichnis mit den Installationsdaten in das Netzwerk.2. Beispiel: mkdir install/Produkt/Produktversion cd install/Produkt/Produktversion Ersetzen Sie Produkt durch eine Abkürzung des Produktnamens (in diesem Fall SUSE Linux) und Produktversion durch eine Zeichenkette.Um eine Installationsquelle zu deaktivieren. Im ersten Schritt erstellen Sie die Verzeichnisstruktur für die Installationsdaten und kopieren diese in die Struktur. um ein Verzeichnis für die Installationsdaten zu erstellen: 1 Melden Sie sich als root an. die den Produktnamen und die Version enthält. in dem die Installationsdaten gespeichert werden sollen. Sie können sie jedoch manuell entfernen. starten Sie das YaST-Installationserver-Modul und wählen Sie in der Übersicht der vorhandenen Installationsquellen die Option Konfigurieren. Gehen Sie wie folgt vor. 3 Führen Sie für die einzelnen im Medienkit enthaltenen CDs die folgenden Befehle aus: a Kopieren Sie den gesamten Inhalt der Installations-CD in das ServerInstallationsverzeichnis: 30 Referenz . Die Installationsdaten selbst verbleiben im ausgewählten Verzeichnis. Wählen Sie den zu entfernenden Eintrag und wählen Sie anschließend die Option Löschen. 2 Erstellen Sie ein Verzeichnis.2 Manuelles Einrichten einer NFS-Installationsquelle Das Einrichten einer NFS-Quelle für die Installation erfolgt in zwei Schritten. Dieses Löschverfahren bezieht sich nur auf das Deaktivieren des Serverdienstes. um die Liste der verfügbaren Installationsquellen zu öffnen. und wechseln Sie in dieses Verzeichnis. wählen Sie in der Übersicht die Option Ändern. um die Installationsquelle zu konfigurieren. Wenn der Installationsserver die Installationsdaten für mehrere Produkte einer Produktversion zur Verfügung stellen soll. 1.

4 Wählen Sie Verzeichnis hinzufügen und geben Sie den Pfad des Verzeichnisses ein. 3 Wählen Sie NFS-Server starten und Firewall-Port öffnen und klicken Sie auf Weiter. Der NFS-Server. Installation mit entferntem Zugriff 31 . in dem sich die Installationsdaten befinden.cp -a /media/Pfad_zum_CD-ROM-Laufwerk . cdrom. Gehen Sie wie folgt vor. auf die die Installationsdaten exportiert werden sollen. um die Installationsquellen unter Verwendung von YaST über NFS zu exportieren: 1 Melden Sie sich als root an. Ersetzen Sie Pfad_zum_CD-ROM-Laufwerk durch den tatsächlichen Pfad. 5 Wählen Sie Host hinzufügen und geben Sie die Hostnamen der Computer ein. wird automatisch gestartet und in den Bootvorgang integriert. Weitere Informationen darüber. die für die meisten Konfigurationen ausreichend ist. b Benennen Sie das Verzeichnis in die CD-Nummer um: mv Pfad_zum_CD-ROM-Laufwerk CDx Ersetzen Sie x durch die Nummer der CD. 2 Starten Sie YaST → Netzwerkdienste → NFS-Server. In diesem Fall lautet es /Produktversion. dvd oder dvdrecorder sein. finden Sie auf der Manualpage zu exports. in dem sich das CD. Geben Sie die gewünschten Exportoptionen an oder übernehmen Sie die Vorgabe. An Stelle der Hostnamen können Sie hier auch Platzhalter. auf dem sich die SUSE Linux-Installationsquellen befinden. 6 Klicken Sie auf Beenden. welche Syntax beim Exportieren von NFS-Freigaben verwendet wird.oder DVD-Laufwerk befindet. der auf dem System verwendet wird. Netzwerkadressbereiche oder einfach den Domänennamen Ihres Netzwerks eingeben. Dies kann je nach Laufwerktyp. cdrecorder.

65535 description=NFS Installation Source 32 Referenz . geben Sie an Stelle des allgemeinen Platzhalters * Netzmasken oder Domänennamen an. führen Sie die folgenden Befehle aus: insserv /etc/init. Die Bekanntgabe des NFS-Servers über OpenSLP stellt dessen Adresse allen Clients im Netzwerk zur Verfügung. Um den Zugriff auf diesen Server zu beschränken. Speichern und schließen Sie diese Konfigurationsdatei. die die folgenden Zeilen enthält: # Register the NFS Installation Server service:install. gehen Sie wie folgt vor: 1 Melden Sie sich als root an. Weitere Informationen hierzu finden Sie auf der Manualpage für den Befehl export.d/.Wenn Sie die Installationsquellen nicht mit dem YaST-NFS-Servermodul. sondern manuell exportieren möchten. indem Sie rcnfsserver restart eingeben. 1 Melden Sie sich als root an.reg.sync) Dadurch wird das Verzeichnis /Produktversion auf alle Hosts exportiert.d/nfsserver insserv /etc/init.nfs. 3 Um den NFS-Dienst zu der beim Booten des System generierten Liste der Server hinzuzufügen. 2 Wechseln Sie in das Verzeichnis /etc/slp.suse.d/portmap 4 Starten Sie den NFS-Server mit dem folgenden Befehl: rcnfsserver start Wenn Sie die Konfiguration des NFS-Servers zu einem späteren Zeitpunkt ändern müssen.root_squash.suse:nfs://$HOSTNAME/path_instsource/CD1.en. ändern Sie die Konfigurationsdatei wie erforderlich und starten die den NFS-Daemon neu. die Teil dieses Netzwerks sind oder eine Verbindung zu diesem Server herstellen können. 2 Öffnen Sie die Datei /etc/exports und geben Sie die folgende Zeile ein: /Produktversion *(ro. 3 Erstellen Sie eine Konfigurationsdatei namens install.reg.

4 Speichern Sie diese Konfigurationsdatei und starten Sie den OpenSLP-Daemon mit dem folgenden Befehl: rcslpd start Weitere Informationen zu OpenSLP finden Sie in der Paket-Dokumentation im Verzeichnis /usr/share/doc/packages/openslp/ oder in Kapitel 19. FTP-Installationsquellen können ebenfalls mit OpenSLP im Netzwerk bekannt gegeben werden.Ersetzen Sie path_instsource durch den eigentlichen Pfad der Installationsquelle auf dem Server. 1 Erstellen Sie wie in Abschnitt 1. 2 Konfigurieren Sie den FTP-Server für die Verteilung des Inhalts des Installationsverzeichnisses: a Melden Sie sich als root an und installieren Sie mithilfe des YaST-PaketManagers das Paket pure-ftpd (ein einfacher FTP-Server). 30) ein Verzeichnis für die Installationsquellen.3 Manuelles Einrichten einer FTP-Installationsquelle Das Erstellen einer FTP-Installationsquelle erfolgt ähnlich wie das Erstellen einer NFSInstallationsquelle.2.2. 395). „Manuelles Einrichten einer NFS-Installationsquelle“ (S. SLPDienste im Netzwerk (S. 1. b Wechseln Sie in das Stammverzeichnis des FTP-Servers: cd/srv/ftp c Erstellen Sie im Stammverzeichnis des FTP-Servers ein Unterverzeichnis für die Installationsquellen: mkdirInstquelle Ersetzen Sie Instquelle durch den Produktnamen. Installation mit entferntem Zugriff 33 .2.

suse:ftp://$HOSTNAME/srv/ftp/instsource/CD1. Die Zeile service: sollte als eine fortlaufende Zeile eingegeben werden.d Kopieren Sie den Inhalt der Installations-CDs in das Stammverzeichnis des FTP-Servers (ähnlich wie in Abschnitt 1. sofern dies von Ihrer Netzwerkkonfiguration unterstützt wird: a Erstellen Sie eine Konfigurationsdatei namens install.ftp. die die folgenden Zeilen enthält: # Register the FTP Installation Server service:install. e Starten Sie pure-ftpd: pure-ftpd & 3 Geben Sie die Installationsquelle über OpenSLP bekannt.suse.d/. 30) beschrieben).65535 description=FTP Installation Source Ersetzen Sie instsource durch den Namen des Verzeichnisses auf dem Server.en. in dem sich die Installationsquelle befindet. b Speichern Sie diese Konfigurationsdatei und starten Sie den OpenSLPDaemon mit dem folgenden Befehl: rcslpd start 34 Referenz . Wenn diese Einstellungen dauerhaft übernommen werden sollen.2. fügen Sie sie zu /etc/fstab hinzu. „Manuelles Einrichten einer NFS-Installationsquelle“ (S. Schritt 3 (S. Alternativ dazu können Sie den Inhalt des bereits vorhandenen InstallationsRepositorys auch in der change-root-Umgebung des FTP-Servers einhängen: mount --bind Pfad_zur_Instquelle /srv/ftp/Instquelle Ersetzen Sie Pfad_zur_Instquelle und Instquelle durch die entsprechenden Werte für Ihre Konfiguration. 30).reg unter /etc/slp/reg.2.

2. 30) ein Verzeichnis für die Installationsquellen. 1 Erstellen Sie wie in Abschnitt 1.1. c Erstellen Sie einen symbolischen Link vom Speicherort der Installationsquellen zum Stammverzeichnis des Webservers (/srv/www/htdocs): ln -s /Pfad_Instquelle /srv/www/htdocs/Instquelle d Ändern Sie die Konfigurationsdatei des HTTP-Servers (/etc/apache2/ default-server.2. Installation mit entferntem Zugriff 35 . HTTP-Installationsquellen können ebenfalls mit OpenSLP im Netzwerk bekannt gegeben werden.1. „Manuelles Einrichten einer NFS-Installationsquelle“ (S.conf) so. 486) beschrieben. Ersetzen Sie die folgende Zeile: Options None durch Options Indexes FollowSymLinks e Laden Sie die HTTP-Server-Konfiguration mit rcapache2 reload neu. 2 Konfigurieren Sie den HTTP-Server für die Verteilung des Inhalts des Installationsverzeichnisses: a Installieren Sie den Webserver Apache wie in Abschnitt 26. „Installation“ (S. dass sie symbolischen Links folgt.2. b Wechseln Sie in das Stammverzeichnis des HTTP-Servers (/srv/www/ htdocs) und erstellen Sie ein Unterverzeichnis für die Installationsquellen: mkdirInstquelle Ersetzen Sie Instquelle durch den Produktnamen.2.4 Manuelles Einrichten einer HTTP-Installationsquelle Das Erstellen einer HTTP-Installationsquelle erfolgt ähnlich wie das Erstellen einer NFS-Installationsquelle.

der die gesamte Baumstruktur der Installation aufnehmen soll. die die folgenden Zeilen enthält: # Register the HTTP Installation Server service:install.3 Geben Sie die Installationsquelle über OpenSLP bekannt. Die Zeile service: sollte als eine fortlaufende Zeile eingegeben werden. um eine exportierte Windows-Share mit den SUSE LinuxInstallationsquellen einzurichten: 1 Melden Sie sich auf dem Windows-Computer an. Gehen Sie wie folgt vor.suse:http://$HOSTNAME/srv/www/htdocs/instsource/CD1/.reg unter /etc/slp/reg. 1.5 Verwalten einer SMB-Installationsquelle Mithilfe von SMB (Samba) können Sie die Installationsquellen von einem Microsoft Windows-Server importieren und die Linux-Implementierung starten.suse. Produkt ist dabei durch den tatsächlichen Produktnamen (in diesem Fall SUSE Linux) zu ersetzen. b Speichern Sie diese Konfigurationsdatei und starten Sie den OpenSLPDaemon mit dem folgenden Befehl: rcslpd restart. 3 Geben Sie diesen Ordner wie in der Windows-Dokumentation beschrieben im Netzwerk frei. 36 Referenz .http .65535 description=HTTP Installation Source Ersetzen Sie instsource durch den eigentlichen Pfad der Installationsquelle auf dem Server.d/.2. 2 Öffnen Sie den Explorer und erstellen Sie einen neuen Ordner. ohne dass ein Linux-Computer vorhanden sein muss. sofern dies von Ihrer Netzwerkkonfiguration unterstützt wird: a Erstellen Sie eine Konfigurationsdatei namens install.en. 4 Wechseln Sie in den freigegebenen Ordner und erstellen Sie einen Unterordner namens Produkt. und nennen Sie ihn beispielsweise INSTALL.

9 Öffnen Sie die Datei instorder und fügen Sie die folgende Zeile hinzu: /product/CD1 Um eine SMB-eingehängte Freigabe als Installationsquelle zu verwenden.xml und boot. 2 Wählen Sie Installation. um eine Auswahl der Installationsquellen anzuzeigen. 8 Öffnen Sie die Datei order und fügen Sie die folgende Zeile hinzu: /NLD/CD1 smb://Benutzer:Passwort@Hostname/ProduktCD1 Ersetzen Sie Benutzer durch den Benutzernamen. media. Hostname sollte durch den Netzwerknamen des Windows-Computers ersetzt werden.1.5 Kopieren Sie jede SUSE Linux-CD in einen separaten Ordner und nennen Sie diese Ordner CD1. CD2. 4 Wählen Sie „SMB“ und geben Sie den Namen oder die IP-Adresse des WindowsComputers. oder geben Sie Guest an. gehen Sie wie folgt vor: 1 Booten Sie das Installationsziel. den Sie auf dem WindowsComputer verwenden. um die Gastanmeldung für diese Freigabe zu aktivieren. control. 6 Wechseln Sie in das oberste Verzeichnis des freigegebenen Ordners (INSTALL in diesem Beispiel) und kopieren Sie die folgenden Dateien und Ordner aus Produkt/CD1 in diesen Ordner: content. den Freigabenamen (INSTALL in diesem Beispiel). Passwort sollte entweder durch Ihr Anmeldepasswort oder durch eine beliebige Zeichenkette für die Gastanmeldung ersetzt werden. 7 Erstellen Sie unter INSTALL einen neuen Ordner und nennen Sie ihn yast. den Benutzernamen und das Passwort ein. Wechseln Sie in den Ordner yast und erstellen Sie die Dateien order und instorder. Installation mit entferntem Zugriff 37 . 3 Drücken Sie F3 und F4 . CD3 usw.

sodass sie die für eine TFTP-. wie eine vorhandene DHCP-Serverkonfiguration erweitert wird. 2 Fügen Sie der Konfigurationsdatei des DHCP-Servers.Wenn Sie die Eingabe drücken.und WOL-Umgebung erforderlichen Daten zur Verfügung stellt. } 38 Referenz .3 Vorbereitung des Bootvorgangs für das Zielsystem In diesem Abschnitt werden die für komplexe Boot-Szenarien erforderlichen Konfigurationsschritte beschrieben. wird YaST gestartet und Sie können die Installation ausführen.3. PXEBoot. 1.1 Einrichten eines DHCP-Servers Das Einrichten eines DHCP-Servers unter SUSE Linux erfolgt manuell durch Bearbeiten der entsprechenden Konfigurationsdateien. die sich unter /etc/ dhcpd.conf befindet. PXE. TFTP und Wake-on-LAN. 1. In diesem Abschnitt wird beschrieben. die von den Installationsroutinen auf dem Zielcomputer abgerufen werden soll. Manuelles Einrichten eines DHCP-Servers Die einzige Aufgabe des DHCP-Servers ist neben der Bereitstellung der automatischen Adresszuweisung für die Netzwerk-Clients die Bekanntgabe der IP-Adresse des TFTPServers und der Datei. Er enthält zudem Konfigurationsbeispiele für DHCP.0". der den DHCP-Server hostet. 1 Melden Sie sich als root auf dem Computer an. folgende Zeilen hinzu: group { # PXE related stuff # # "next server" defines the tftp server that will be used next server ip_tftp_server: # # "filename" specifies the pxelinux image on the tftp server # the server runs in chroot under /srv/tftpboot filename "pxelinux.

Um den Hostnamen und die IP-Adresse an einen bestimmten Host zu binden. Ersetzen Sie alle in diesem Beispiel verwendeten Variablen durch die in Ihrer Umgebung verwendeten Werte. indem Sie rcdhcpd restart ausführen. müssen Sie die IP-Adresse. explizit angeben. das xinetd und tftp unterstützt. Wenn Sie SSH für die Fernsteuerung einer PXE. fixed-address some_ip_address. damit Sie über SSH eine Verbindung zum System herstellen können.0".conf verfügbaren Optionen finden Sie auf der Manualpage dhcpd.Ersetzen Sie ip_tftp_server durch die IP-Adresse des TFTP-Servers. Installation mit entferntem Zugriff 39 .und Wake-on-LAN-Installation verwenden möchten. die der DHCP-Server dem Installationsziel zur Verfügung stellen soll. host test { hardware ethernet mac_address. müssen Sie die HardwareAdresse (MAC) des Systems kennen und angeben.3. entweder mit YaST oder manuell auf einem beliebigen Linux-Betriebssystem. Nach dem Neustart weist der DHCP-Server dem angegebenen Host eine statische IPAdresse zu. Weitere Informationen zu den in dhcpd.conf. 1.2 Einrichten eines TFTP-Servers Richten Sie einen TFTP-Server ein. Der TFTP-Server übergibt das Bootimage an das Zielsystem. sobald dieses gebootet ist und eine entsprechende Anforderung sendet. } } Die Host-Anweisung gibt den Hostnamen des Installationsziels an. Ändern Sie hierzu die oben erwähnte DHCP-Konfiguration gemäß dem folgenden Beispiel: group { # PXE related stuff # # "next server" defines the tftp server that will be used next server ip_tftp_server: # # "filename" specifiies the pxelinux image on the tftp server # the server runs in chroot under /srv/tftpboot filename "pxelinux. 3 Starten Sie den DHCP-Server neu.

Führen Sie anschließend folgenden Befehl aus: chmod 755 tftp.3. die auf dem Computer aktiv ist. 4 Klicken Sie auf Firewall-Port öffnen. Das Standardverzeichnis /tftpboot wird erstellt und automatisch ausgewählt. die sich unter /etc/xinetd. dass der Server gestartet und in die Boot-Routine aufgenommen wird. 41) beschrieben die für das Bootimage erforderlichen Dateien hinzu. 4 Ändern Sie die Konfiguration von xinetd. Ihrerseits sind hierbei keine weiteren Aktionen erforderlich. 5 Klicken Sie auf Durchsuchen. eine Datei namens tftp in diesem Verzeichnis. 3 Fügen Sie wie in Abschnitt 1.3. Manuelles Einrichten eines TFTP-Servers 1 Melden Sie sich als root an und installieren Sie die Pakete tftp und xinetd. um nach dem Verzeichnis mit dem Bootimage zu suchen. um sicherzustellen.d/ befindet. um sicherzustellen. tftpd wird zur Boot-Zeit von xinetd gestartet.cfg. um die Einstellungen zu übernehmen und den Server zu starten. 3 Klicken Sie auf Aktivieren. sofern sie noch nicht vorhanden sind. Diese Option ist nur verfügbar.Einrichten eines TFTP-Servers mit YaST 1 Melden Sie sich als root an. indem Sie touch tftp eingeben. wenn auf dem Server eine Firewall installiert ist. 40 Referenz . dass der tftp-Server beim Booten gestartet wird: a Erstellen Sie. 2 Erstellen Sie die Verzeichnisse /srv/tftpboot und /srv/tftpboot/ pxelinux. um den entsprechenden Port in der Firewall zu öffnen. „PXE-Boot“ (S. 2 Starten Sie YaST → Netzwerkdienste → TFTP-Server und installieren Sie das erforderliche Paket. sofern noch nicht vorhanden. 6 Klicken Sie auf Beenden.

message und memtest in das Verzeichnis /srv/tftpboot.tftpd -s /tftpboot no c Speichern Sie die Datei und starten Sie xinetd mit rcxinetd restart neu.com/labs/manage/wfm/download/pxespec.3 PXE-Boot Einige technische Hintergrundinformationen sowie die vollständigen PXE-Spezifikationen finden Sie in der PXE-(Preboot Execution Environment-)Spezifikation (ftp:// download. indem Sie folgenden Befehl eingeben: cp -a /usr/share/syslinux/pxelinux.cfg/default. 3 Kopieren Sie die Datei /usr/share/syslinux/pxelinux.cfg in das Verzeichnis /srv/tftpboot/pxelinux . initrd.0 in das Verzeichnis /srv/tftpboot.pdf).cfg /srv/tftpboot/pxelinux.3.0 /srv/tftpboot 4 Wechseln Sie in das Verzeichnis des Installations-Repositorys und kopieren Sie die Datei isolinux.b Öffnen Sie die Datei tftp und fügen Sie die folgenden Zeilen hinzu: service tftp { socket_type protocol wait user server server_args disable } = = = = = = = dgram udp yes root /usr/sbin/in. 1 Wechseln Sie in das Verzeichnis des Installations-Repositorys und kopieren Sie die Dateien linux.intel. indem Sie folgenden Befehl eingeben: cp -a boot/loader/isolinux.cfg/default Installation mit entferntem Zugriff 41 . indem Sie folgenden Befehl eingeben: cp -a boot/loader/linux boot/loader/initrd boot/loader/message boot/loader/memtest /srv/tftpboot 2 Installieren Sie unter Verwendung von YaST das Paket syslinux direkt von den Installations-CDs oder -DVDs. 1.

kann dieser Eintrag ausgelassen werden. z. Im Fall einer Broadcom GigaBit-Netzwerkkarte muss der Eintrag wie folgt lauten: insmod=bcm5700. readinfo und framebuffer beginnen.cfg/default und entfernen Sie die Zeilen. 48).cfg/default. Passen Sie das Protokollpräfix für die Installationsquelle gemäß der Netzwerkkonfiguration an und geben Sie 42 Referenz . wenn der Client mit mehreren Netzwerkkarten ausgestattet ist. netdevice=eth0 Dieser Eintrag definiert die Schnittstelle des Client-Netzwerks. SSHoder VNC-Boot-Parameter. 6 Fügen Sie die folgenden Einträge in die append-Zeilen der standardmäßigen Kennungen failsafe und apic ein: insmod=e100 Mit diesem Eintrag wird das Kernel-Modul für eine Intel 100 MBit/s Netzwerkkarte auf die PXE-Clients geladen. Im Folgenden finden Sie die Beispieldatei /srv/tftpboot/pxelinux. ftp oder smb. FTP. Falls nur eine Netzwerkkarte verwendet wird. Pfad_Instquelle muss durch den Pfad der Installationsquellen ersetzt werden. „Booten des Zielsystems für die Installation“ (S. das wie folgt lauten sollte: http. Ersetzen Sie IP_Instserver durch die IP-Adresse des Installationsservers. die für die Netzwerkinstallation verwendet werden muss. HTTP-. Dieser Eintrag ist jedoch nur erforderlich und muss entsprechend angepasst werden. hängen Sie sie an den Eintrag install an.4. B. install=nfs://IP_Instserver/Pfad_Instquelle/CD1 Dieser Eintrag gibt den NFS-Server und die Installationsquelle für die ClientInstallation an. Der Eintrag ist abhängig von der Client-Hardware und muss entsprechend angepasst werden. WICHTIG Wenn den Installationsroutinen weitere Boot-Optionen. übergeben werden sollen. Einen Überblick über die Parameter sowie einige Beispiele finden Sie in Abschnitt 1. die mit gfxboot.5 Bearbeiten Sie die Datei /srv/tftpboot/pxelinux.oder SMB-Quellen werden auf ähnliche Weise adressiert. Eine Ausnahme ist das Protokollpräfix.

mit der die Verbindung zum Installationsprogramm hergestellt werden soll. Die durch \ getrennten Zeilen müssen als fortlaufenden Zeile ohne Zeilenumbruch und ohne den \ eingegeben werden. default linux # default label linux kernel linux append initrd=initrd ramdisk_size=65536 insmod=e100 \ install=nfs://ip_instserver/path_instsource/product # failsafe label failsafe kernel linux append initrd=initrd ramdisk_size=65536 ide=nodma apm=off acpi=off \ insmod=e100 install=nfs://ip_instserver/path_instsource/product # apic label apic kernel linux append initrd=initrd ramdisk_size=65536 apic insmod=e100 \ install=nfs://ip_instserver/path_instsource/product # manual label manual kernel linux append initrd=initrd ramdisk_size=65536 manual=1 # rescue label rescue kernel linux append initrd=initrd ramdisk_size=65536 rescue=1 # memory test label memtest kernel memtest # hard disk label harddisk kernel linux append SLX=0x202 implicit display prompt timeout 0 message 1 100 Installation mit entferntem Zugriff 43 . indem Sie die Optionen vnc und vncpassword oder ssh und sshpassword zum Eintrag install hinzufügen.die bevorzugte Methode an.

Wenn keine Konfigurationsdatei vorhanden oder der DEFAULT-Eintrag in der Konfigurationsdatei nicht vorhanden ist. agiert es. Legt die standardmäßige Kernel-Befehlszeile fest. die sich im Verzeichnis /usr/share/doc/packages/syslinux/ befindet. außer. PXELINUX stattdessen Image booten soll und die angegebenen APPEND-Optionen an Stelle der im globalen Abschnitt der Datei (vor dem ersten LABEL-Befehl) angegebenen Optionen verwendet werden sollen. dass explizit eingegebene Kernel-Optionen sie überschreiben können.. Wenn PXELINUX automatisch gebootet wird. Es sind bis zu 128 LABEL-Einträge zulässig. dass GRUB die folgende Syntax verwendet: 44 Referenz . Fügt der Kernel-Befehlszeile eine oder mehrere Optionen hinzu. dass.3. Gibt an. Diese werden sowohl bei automatischen als auch bei manuellen Bootvorgängen hinzugefügt. ist die Vorgabe der Kernel-Name „linux“ ohne Optionen.. Beachten Sie.. Der folgende Abschnitt dient als Kurzreferenz für die in dieser Konfiguration verwendeten PXELINUX-Optionen. 1. wird standardmäßig der globale Eintrag verwendet (sofern vorhanden)..Ersetzen Sie ip_instserver und path_instsource durch die in Ihrer Konfiguration verwendeten Werte. Weitere Informationen zu den verfügbaren Optionen finden Sie in der Dokumentation des Pakets syslinux. wenn Kennung als zu bootender Kernel eingegeben wird. dass die Option für das automatische Booten (boot) automatisch hinzugefügt wird. Die Optionen werden an den Beginn der Kernel-Befehlszeile gesetzt und ermöglichen. APPEND Optionen..4 PXELINUX-Konfigurationsoptionen Die hier aufgeführten Optionen sind eine Teilmenge der für die PXELINUX-Konfigurationsdatei verfügbaren Optionen. DEFAULT Kernel Optionen. Die Vorgabe für Image ist dieselbe wie für Kennung und wenn keine APPEND-Optionen angegeben sind.. als wären die Einträge nach DEFAULT an der Boot-Eingabeaufforderung eingegeben worden. LABEL Kennung KERNEL Image APPEND Optionen.

Argument 0 4 Beschreibung Führt einen normalen Bootvorgang aus Führt einen lokalen Bootvorgang mit dem noch im Arbeitsspeicher vorhandenen UNDI-Treiber (Universal Network Driver Interface) aus Führt einen lokalen Bootvorgang mit dem gesamten PXE-Stack. bedeutet dies. der sich im Arbeitsspeicher befindet 5 Installation mit entferntem Zugriff 45 .title mytitle kernel my_kernel my_kernel_options initrd myinitrd während PXELINUX diese Syntax verwendet: label mylabel kernel mykernel append myoptions Kennungen werden wie Dateinamen umgesetzt und müssen nach der Umsetzung (sogenanntes Mangling) eindeutig sein. APPEND mit einem Bindestrich als Argument in einem LABEL-Abschnitt kann zum Überschreiben einer globalen APPEND-Option verwendet werden. LOCALBOOT Typ Wenn Sie unter PXELINUX LOCALBOOT 0 an Stelle einer KERNEL-Option angeben. APPEND Es wird nichts angehängt. Der Kernel muss kein Linux-Kernel. einschließlich des UNDI-Treibers aus. da beide auf denselben DOS-Dateinamen umgesetzt würden. sondern kann ein Bootsektor oder eine COMBOOT-Datei sein.1. Die beiden Kennungen „v2.1. dass diese bestimmte Kennung aufgerufen und die lokale Festplatte an Stelle eines Kernels gebootet wird.31“ wären beispielsweise unter PXELINUX nicht unterscheidbar.30“ und „v2.

Der größtmögliche Wert für das Zeitlimit ist 35996 (etwas weniger als eine Stunde).Alle anderen Werte sind nicht definiert. Mithilfe dieser Option kann auch die Preboot-Online-Hilfe implementiert werden (für die Kernel-Befehlszeilenoptionen. WARNUNG Die PXE-Option darf im BIOS nicht vor der Boot-Option für die Festplatte stehen. Andernfalls würde dieses System versuchen. Dateinamen an F11 und F12 zu binden. PROMPT flag_val Wenn flag_val 0 ist. Das Zeitlimit wird aufgehoben. wenn die Taste Umschalttaste oder Alt gedrückt wird oder die Feststelltaste oder die Taste Rollen gesetzt ist (dies ist die Vorgabe). geben Sie 0 an. dass der Benutzer die Befehlseingabe abschließt. Beachten Sie. wie lange die Boot-Eingabeaufforderung angezeigt werden soll. indem Sie die PXE-Option in die BIOS-Boot-Reihenfolge aufnehmen. da angenommen wird. 46 Referenz . 1. wird die Boot-Eingabeaufforderung immer angezeigt. F2 Dateiname F1 Dateiname ..3. wenn an der Boot-Eingabeaufforderung eine Funktionstaste gedrückt wird. F9 Dateiname F10Dateiname Zeigt die angegebene Datei auf dem Bildschirm an..) Aus Gründen der Kompabilität mit früheren Versionen kann F10 auch als F0 verwendet werden. sich selbst bei jedem Booten neu zu installieren.usw. Mit einem Zeitlimit von Null wird das Zeitüberschreitungsoption deaktiviert (dies ist die Vorgabe). dass derzeit keine Möglichkeit besteht. Wenn flag_val 1 ist. sobald der Benutzer eine Eingabe über die Tastatur vornimmt. wird die Boot-Eingabeaufforderung nur angezeigt..oder PXE-Stacks nicht wissen. TIMEOUT Zeitlimit Gibt in Einheiten von 1/10 Sekunde an. bevor der Bootvorgang automatisch gestartet wird. Wenn Sie die Werte für die UNDI.5 Vorbereiten des Zielsystems für PXE-Boot Bereiten Sie das System-BIOS für PXE-Boot vor.

Diese Daten sind für das Initiieren von Wake-on-LAN erforderlich. 3 Öffnen Sie ein Terminal und geben Sie als root den folgenden Befehl ein.8 Manuelles Wake-on-LAN 1 Melden Sie sich als root an. gestartet werden. 1. Installation mit entferntem Zugriff 47 .3. das die MAC-Adresse des Computers enthält. oder steuern Sie einen Computer in diesem Netzwerksegment per entferntem Zugriff so. dass er als Absender dieser Anforderungen agiert. WICHTIG Wenn sich der Steuercomputer nicht im selben Netzwerksegment wie das zu startende Installationsziel befindet. um das Ziel zu starten: ether-wakeMAC_Ziel Ersetzen Sie MAC_Ziel durch die MAC-Adresse des Ziels.7 Wake-on-LAN Mit Wake-on-LAN kann ein Computer über ein spezielles Netzwerkpaket. 2 Starten Sie YaST → Software Management und installieren Sie das Paket netdiag. Außerdem müssen Sie sich die MAC-Adresse des Zielsystems notieren. dass versehentlich ein falscher Computer gestartet wird. 1. konfigurieren Sie die WOL-requests entweder so. dass sie als Multicasts verteilt werden. ist es nicht möglich.3.6 Vorbereiten des Zielsystems für Wake-on-LAN Wake-on-LAN (WOL) erfordert.3. Da jeder Computer einen eindeutigen MAC-Bezeichner hat. dass die entsprechende BIOS-Option vor der Installation aktiviert wird.1.

Sichere Einstellungen.4 Booten des Zielsystems für die Installation Abgesehen von der in Abschnitt 1.2 F-Tasten Die Menüleiste unten im Bildschirm enthält einige erweiterte Funktionen. wenn Sie sie als BootOptionen eingeben würden (siehe Abschnitt 1.1. 1. Verwenden Sie bei Problemen Installation . Weitere Informationen zu Fehlerbehebung beim Installationsvorgang finden Sie in Abschnitt „Probleme bei der Installation“ (Kapitel 9. Häufige Probleme und deren Lösung. die bei einigen Setups erforderlich sind. ↑Start).7. 50)). 48 Referenz . „Benutzerdefinierte Boot-Optionen“ (S.3.4. In der Regel wird durch die Auswahl von Installation der Bootvorgang für die Installation gestartet. Mithilfe der F-Tasten können Sie zusätzliche Optionen angeben. Installation .4. 41) beschriebenen Vorgehensweise gibt es im Wesentlichen zwei unterschiedliche Möglichkeiten. die der Installations-Kernel für die entsprechende Hardware benötigt.3. Die verfügbaren Optionen finden Sie in der folgenden Tabelle. was der Fall wäre. ohne dass Sie die detaillierte Syntax dieser Parameter kennen müssen.ACPI deaktiviert bzw. den Bootvorgang für die Installation anzupassen. 1.3.1 Standardmäßige Boot-Optionen Die Boot-Optionen wurden bereits ausführlich in Kapitel Installation mit YaST (↑Start) beschrieben. 47) und Abschnitt 1.4. um die Boot-Optionen anzugeben. „PXE-Boot“ (S. „Wake-on-LAN“ (S.3. die an die Installationsroutinen weitergegeben werden. Sie können entweder die standardmäßigen Boot-Optionen und F-Tasten oder die Eingabeaufforderung für die Boot-Optionen im Bootbildschirm für die Installation verwenden.

. Standardwert Keine Englisch Zweck Bietet Hilfe Wählt die Installationssprache Ändert die Bildschirmauflösung für die Installation F3 • Die Standardwerte sind abhängig von der Grafikhardware F4 Wählt die Installationsquelle • CD-ROM/DVD • SLP • FTP • HTTP • NFS • SMB • Festplatte CD-ROM/DVD F5 Führt die Treiberaktualisierung von Diskette aus Treiber Keine Installation mit entferntem Zugriff 49 ..Tabelle 1.1 Taste F1 F2 F-Tasten bei der Installation Verfügbare Optionen Keine Alle unterstützten Sprachen • Expertenmodus • VESA • Auflösung 1 • Auflösung 2 • .

.1.netmask=. hängen Sie einfach alle Optionen in der Reihenfolge an.2 In diesem Kapitel verwendete Installationsszenarien (Boot-Szenarien) Für den Bootvorgang Boot-Optionen erforderliche Parameter Keine: System bootet automatisch • Adresse des Installationsservers • Netzwerkgerät • IP-Adresse • Netzmaske • Gateway • VNC-Aktivierung • VNC-Passwort Nicht erforderlich Installationsszenario Kapitel Installation mit YaST (↑Start) Abschnitt 1.. Um eine Boot-Zeichenkette zu erhalten. In der folgenden Tabelle sind alle in diesem Kapitel erwähnten Installationsszenarien mit den erforderlichen Parametern für das Booten sowie die entsprechenden BootOptionen aufgeführt. vncpassword=.Statische Netzwerkkonfiguration“ (S..1. hostip=. netdevice=..) in dieser Zeichenkette durch die für Ihre Konfiguration geeigneten Werte. das Verwenden der Boot-Optionen ist jedoch viel einfacher.4.. In einigen automatisierten Setups können die Boot-Optionen über die Datei initrd oder eine info-Datei bereit gestellt werden. Ersetzen Sie alle Werte (. wenn mehrere Netzwerkgeräte verfügbar sind) • hostip=some_ip • netmask=some _netmask • gateway=ip_gateway 50 Referenz .http.1. Beispiel (alle in einer Zeile): install=. „Einfache Installation mit entferntem Zugriff über VNC . in der sie in dieser Tabelle angezeigt werden... Tabelle 1.... vnc=. Viele Parameter können mit den linuxrc-Routinen auch zu einem späteren Zeitpunkt konfiguriert werden.. ftp. 18) • install=(nfs.3 Benutzerdefinierte Boot-Optionen Mithilfe geeigneter Boot-Optionen können Sie den Installationsvorgang vereinfachen. die an die Installationsroutinen übergeben wird.smb)://Pfad_zu _Instmedium • netdevice=some _netdevice (nur erforderlich....

ftp.smb)://Pfad_zu _Instmedium • netdevice=some _netdevice (nur erforderlich.http.1.http.2.1.Statische Netzwerkkonfiguration“ (S. ftp.PXEBoot und Wake-onLAN“ (S.Nicht zutreffend.smb)://Pfad_zu _Instmedium • vnc=1 • vncpassword=some _password Abschnitt 1.Installationsszenario Für den Bootvorgang Boot-Optionen erforderliche Parameter • vnc=1 • vncpassword=some _password Abschnitt 1. „Installation auf entfernten Systemen über VNC . Prozess wird lationsservers über PXE und DHCP verwaltet • Adresse des TFTPServers • VNC-Aktivierung • VNC-Passwort • Adresse des Installationsservers • Netzwerkgerät • IP-Adresse • Netzmaske • Gateway • SSH-Aktivierung • SSH-Passwort • install=(nfs.3. 21) • Adresse des Instal. wenn mehrere Netzwerkgeräte verfügbar sind) • hostip=some_ip • netmask=some _netmask • gateway=ip_gateway • usessh=1 Abschnitt 1.1. „Einfache Installation mit entferntem Zugriff über SSH . 19) • Adresse des Installationsservers • VNC-Aktivierung • VNC-Passwort • install=(nfs.4. 23) Installation mit entferntem Zugriff 51 . „Einfache Installation mit entferntem Zugriff über VNC .Dynamische Netzwerkkonfiguration über DHCP“ (S.

1. 52 Referenz . 26) • Adresse des Instal. „Einfache Installation auf entfernten Systemen über SSH .5.Nicht zutreffend.html.Installationsszenario Für den Bootvorgang Boot-Optionen erforderliche Parameter • sshpassword=some _password Abschnitt 1.http.6. Prozess wird lationsservers über PXE und DHCP verwaltet • Adresse des TFTPServers • SSH-Aktivierung • SSH-Passwort TIPP Weitere Informationen zu den linuxrc-Boot-Optionen für das Booten eines Linux-Systems finden Sie in /usr/share/doc/packages/linuxrc/ linuxrc.smb)://Pfad_zu _Instmedium • usessh=1 • sshpassword=some _password Abschnitt 1.Dynamische Netzwerkkonfiguration über DHCP“ (S. 24) • Adresse des Installationsservers • SSH-Aktivierung • SSH-Passwort • install=(nfs. ftp.1.PXEBoot und Wake-onLAN“ (S. „Installation auf entfernten Systemen über SSH .

dass ein VNCClient eine Verbindung zum Installationsprogramm herstellt. kann die Installation und Systemkonfiguration mit VNC oder SSH von einer entfernten Arbeitsstation aus überwacht werden. Das Installationsprogramm gibt die IP-Adresse bekannt und zeigt die für die Verbindung zum Installationsprogramm erforderliche Nummer an. In diesem Abschnitt wird das Setup mithilfe einer VNC-Viewer-Anwendung oder eines Webbrowsers beschrieben. vorausgesetzt.4. können Sie die Adressinformationen des Installationsziels über einen SLP-Browser abrufen. wenn Sie von der VNC-Client-Software dazu aufgefordert werden. Geben Sie diese Daten ein. Wenn Sie physischen Zugriff auf das Zielsystem haben. und geben Sie Ihr Passwort ein. Da sich das Installationsziel über OpenSLP selbst bekannt gibt. Das Zielsystem bootet in eine textbasierte Umgebung und wartet darauf. Vorbereiten der VNC-Installation Um das Installationsziel für eine VNC-Installation vorzubereiten. OpenSLP wird von der Netzwerkkonfiguration und von allen Computern unterstützt: 1 Starten Sie KDE und den Webbrowser Konqueror. ohne dass Sie physischen Zugriff auf die Installation selbst haben müssen. 1.5 Überwachen des Installationsvorgangs Es gibt mehrere Möglichkeiten der entfernten Überwachung des Installationsvorgangs.5. Wenn beim Booten für die Installation die richtigen Boot-Optionen angegeben wurden. müssen Sie lediglich die entsprechenden Boot-Optionen beim anfänglichen Bootvorgang für die Installation angeben (siehe Abschnitt 1.1. 50)).3. werden diese Informationen sofort nach dem Booten des Systems für die Installation zur Verfügung gestellt.1 VNC-Installation Mithilfe einer beliebigen VNC-Viewer-Software können Sie die Installation von SUSE Linux von praktisch jedem Betriebssystem aus entfernt überwachen. Installation mit entferntem Zugriff 53 . „Benutzerdefinierte Boot-Optionen“ (S.

aus steuern.com/download . Durch Klicken auf dieses Symbol wird der KDE-VNC-Viewer geöffnet.tightvnc. Sie können entweder eine unabhängige VNC-Viewer-Anwendung unter einem beliebigen Betriebssystem starten oder die Verbindung über einen Java-fähigen Webbrowser herstellen. einschließlich anderer Linux-.2 Geben Sie service://yast. Stellen Sie auf einem Linux-Computer sicher. dass das Paket tightvnc installiert ist. Gehen Sie wie folgt vor. in dem Sie die Installation ausführen können. Installieren Sie auf einem Windows-Computer den Windows-Port dieser Anwendung. Herstellen der Verbindung mit dem Installationsprogramm Im Wesentlichen gibt es zwei Möglichkeiten. 54 Referenz .suse in die Adressleiste ein. Daraufhin wird das Zielsystem als Symbol im Konqueror-Fenster angezeigt. der über die Homepage von TightVNC (http://www.installation. eine Verbindung zu einem VNC-Server (dem Installationsziel in diesem Fall) herzustellen. Windows. :1 hinzufügen. 2 Geben Sie die IP-Adresse und die Display-Nummer des Installationsziels wie vom SLP-Browser oder dem Installationsprogramm selbst zur Verfügung gestellt ein: IP-Adresse:Display-Nummer Auf dem Desktop wird ein Fenster geöffnet.html) erhältlich ist.oder Mac OS-Betriebssysteme. in dem die YaST-Bildschirme wie bei einer normalen lokalen Installation angezeigt werden. Alternativ können Sie die VNC-ViewerSoftware auch mit der zur Verfügung gestellten IP-Adresse ausführen und am Ende der IP-Adresse für die Anzeige. in der die Installation ausgeführt wird. Mit VNC können Sie die Installation eines Linux-Systems von jedem Betriebssystem. um eine Verbindung zu dem auf dem Zielcomputer ausgeführten Installationsprogramm herzustellen: 1 Starten Sie den VNC-Viewer.

wenn Sie dazu aufgefordert werden. Weitere Einzelheiten finden Sie in Abschnitt 1.Wenn Sie die Verbindung zum Installationsprogramm mithilfe eines Webbrowsers herstellen.4. 2 Geben Sie in der Adressleiste Folgendes ein: http://ip_addresse_des_ziels:5801 3 Geben Sie Ihr VNC-Passwort ein. sind Sie von der VNC-Software bzw. Konqueror. Vorbereiten der SSH-Installation Zusätzlich zum Installieren der entsprechenden Softwarepakete (OpenSSH für Linux und PuTTY für Windows) müssen Sie nur die entsprechenden Boot-Optionen übergeben. Internet Explorer. Gehen Sie wie folgt vor. die von der Installationsroutine nach dem anfänglichen Bootvor- Installation mit entferntem Zugriff 55 . Herstellen der Verbindung mit dem Installationsprogramm 1 Rufen Sie die IP-Adresse des Installationsziels ab.3. 1. Opera usw. Wenn Sie physischen Zugriff auf den Zielcomputer haben. um eine VNC-Installation auszuführen: 1 Starten Sie Ihren bevorzugten Webbrowser. verwenden Sie einfach die IP-Adresse. „Benutzerdefinierte Boot-Optionen“ (S. solange dieser Java unterstützt. Die YaSTBildschirme werden im Browserfenster wie bei einer normalen lokalen Installation angezeigt.) ausführen. OpenSSH wird auf allen SUSE Linux-basierten Betriebssystemen standardmäßig installiert. Sie können die Installation des Linux-Systems in einem beliebigen Browser (Firefox. dem zu Grunde liegenden Betriebssystem vollkommen unabhängig.5. um SSH für die Installation zu aktivieren. 50).2 SSH-Installation Mithilfe von SSH können Sie die Installation des Linux-Computers unter Verwendung einer beliebigen SSH-Client-Software von einem entfernten Standort aus überwachen.

Wenn Sie sich erfolgreich authentifiziert haben. 2 Geben Sie an der Befehlszeile den folgenden Befehl ein: ssh -X root@IP-Adresse_Ziel Ersetzen Sie IP-Adresse_Ziel durch die IP-Adresse des Installationsziels. das mit der SSH-Boot-Option festgelegt wurde. 3 Wenn Sie zur Eingabe eines Benutzernamens aufgefordert werden. um das Installationsprogramm zu starten. geben Sie das Passwort ein. Verwenden Sie andernfalls die IP-Adresse. die diesem Host in der DHCP-Serverkonfiguration zugewiesen wurde. 5 Geben Sie yast ein.gang auf der Konsole angezeigt wird. Es wird ein Fenster geöffnet. wird eine Befehlszeilenaufforderung für das Installationsziel angezeigt. geben Sie root ein. 4 Wenn Sie zur Eingabe eines Passworts aufgefordert werden. in dem die üblichen YaST-Bildschirme wie in Kapitel Installation mit YaST (↑Start) beschrieben angezeigt werden. 56 Referenz .

das viel flexibler als die physische Partitionierung in Standardkonfigurationen ist. Ein RAID (Redundant Array of Independent Disks) bietet verbesserte Datenintegrität.1 LVM-Konfiguration Dieser Abschnitt erläutert kurz die Prinzipien von LVM und seinen grundlegenden Funktionen. Speichern Sie Ihre Daten. mit denen es in vielen Situationen nützlich ist. Stromausfälle und fehlerhafte Befehle. 2 2. Arbeiten Sie nie ohne Backup. wie LVM mit YaST eingerichtet wird.2. In Abschnitt 2. Leistung und Fehlertoleranz.Fortgeschrittene Festplattenkonfiguration Komplexe Systemkonfigurationen erfordern besondere Festplattenkonfigurationen. 60) erfahren Sie. bevor Sie LVM implementieren oder Volumes neu konfigurieren. Fortgeschrittene Festplattenkonfiguration 57 . Mithilfe seiner Snapshot-Funktionalität können Sie problemlos Daten-Backups erstellen. Das Logical Volume Management (LVM) ist ein Schema für die Festplattenpartitionierung. Risiken umfassen auch Anwendungsausfälle. „LVMKonfiguration mit YaST“ (S.1. verwenden Sie ein bestimmtes Startskript oder udev. Um eine persistente Gerätebenennung für SCSI-Geräte zu ermöglichen. WARNUNG Der Einsatz von LVM kann mit einem höheren Risiko (etwa des Datenverlusts) verbunden sein.

die in einer Volume-Gruppe zusammengefasst sind. nachdem die erste Partitionierung bei der Installation abgeschlossen wurde. VG 1 enthält zwei Partitionen von DISK 1 und eine von DISK 2. 58) stellt die physische Partitionierung (links) der LVM-Segmentierung (rechts) gegenüber. aus dem bei Bedarf logische Volumes (LVs) erzeugt werden können. Er wurde entwickelt. auf den das Betriebssystem zugreifen kann. wobei mehrere Festplatten oder Teile davon eine einzige VG bilden können. „Physische Partitionierung versus LVM“ (S. Da es schwierig ist.1 Physische Partitionierung versus LVM DATENTRÄGER TEIL TEIL TEIL DATENTRÄGER 1 TEIL TEIL VG 1 DATENTRÄGER 2 TEIL TEIL TEIL VG 2 LV 1 LV 2 LV 3 LV 4 MP MP MP MP MP MP MP Abbildung 2. VG 2 enthält die restlichen zwei Partitionen von DISK 2. der eine viel einfachere und sicherere Möglichkeit zur Änderung der Aufteilung ermöglicht als die physische Umpartitionierung. da gelegentlich die Segmentierung des Festplattenspeichers geändert werden muss. von denen jede einen Einhängepunkt (MP) hat. Hintergrundinformationen zum physischen Partitionieren erhalten Sie in „Partitionstypen“ (Kapitel 1. ↑Start) und Abschnitt „Partitionierung“ (Kapitel 2. Auf der rechten Seite wurden zwei Festplatten in zwei bzw. Das Betriebssystem greift dann auf diese logischen Volumes statt auf physische Partitionen zu. Installation mit YaST. als physische Volumes 58 Referenz . Abbildung 2.1. Es wurden zwei LVM-Volume-Gruppen (VG 1 und VG 2) angelegt. Auf der linken Seite wurde eine einzelne Festplatte in drei physische Partitionen (PART) aufgeteilt. ↑Start). Systemkonfiguration mit YaST.1 Der Logical Volume Manager Der Logical Volume Manager (LVM) ermöglicht eine flexible Verteilung von Festplattenspeicher über mehrere Dateisysteme. Auf diese Weise bietet LVM eine Art Abstraktion vom physischen Festplattenplatz.1. Partitionen in einem laufenden System zu ändern. In LVM werden die physischen Festplattenpartitionen. bietet LVM einen virtuellen Pool (Volume-Gruppe.2. kurz: VG) an Speicherplatz. drei physische Partitionen aufgeteilt. Volume-Gruppen können sich über mehr als eine Festplatte erstrecken.

• Die Snapshot-Funktion ermöglicht vor allem bei Servern konsistente Backups im laufenden System. ob Sie das neue Format oder die abwärtskompatible Version verwenden möchten. Er verwendet den Device-Mapper.6 inteFortgeschrittene Festplattenkonfiguration 59 . die für solche Aktionen geeignet ist. Er ist abwärtskompatibel zum bisherigen LVM und kann alte Volume-Gruppen weiter verwalten. kann dies die Leseund Schreibgeschwindigkeit wie bei RAID 0 verbessern. einen „Striping-Modus“ zu aktivieren. In den Volume-Gruppen wurden vier logische Volumes (LV 1 bis LV 4) angelegt. dass sich die Arbeit mit dem LVM sehr von der mit konventionellen Partitionen unterscheidet. LVM 2 benötigt keine Kernel-Patches mehr. Ein weiterer Vorteil des LVM ist die Möglichkeit. Dies wird in diesem Beispiel durch die Grenze zwischen LV 1 und LV 2 veranschaulicht. Voraussetzung ist allerdings hotswap-fähige Hardware. Ab Kernel Version 2. Dann ist es möglich. Musikarchiven oder Benutzerverzeichnissen. Wenn Sie neue Volume-Gruppen anlegen. /usr) der freie Platz dem Ende zu. Wenn sich diese physischen Volumes auf verschiedenen Festplatten befinden. bis zu 256 LVs anlegen zu können. Wenn Sie einen wachsenden Datenbestand haben wie bei Datenbanken. der den Datenstrom eines logischen Volumes über mehrere physische Volumes verteilt. • Es ist möglich. der in Kernel 2. müssen Sie entscheiden. Anleitungen und weiterführende Informationen zur Konfiguration des LVM finden Sie im offiziellen LVM-Howto unter http://tldp. Die Grenzen zwischen verschiedenen logischen Volumes müssen sich nicht mit den Partitionsgrenzen decken. • Mit dem LVM können Sie sogar im laufenden System Festplatten oder LVs hinzufügen. Beachten Sie jedoch. B.6 steht Ihnen LVM in der Version 2 zur Verfügung. die vom Betriebssystem über die zugewiesenen Einhängepunkte benutzt werden können. Dateisysteme zu haben. bietet sich der Logical Volume Manager an. LVM-Funktionen: • Mehrere Festplatten/Partitionen können zu einem großen logischen Volume zusammengefügt werden. • Neigt sich bei einem LV (z.org/HOWTO/LVM-HOWTO/. können Sie dieses bei geeigneter Konfiguration vergrößern. Aufgrund dieser Eigenschaften lohnt sich der Einsatz von LVM bereits bei umfangreich genutzten Home-PCs oder kleinen Servern. die größer sind als eine physische Festplatte.(PV) bezeichnet.

Sie sollten die Physical Extent Size also nur dann erhöhen (z. die mit LVM verwendet werden sollen. Gewöhnlich ist jedoch eine Volume-Gruppe ausreichend. „Anlegen einer Volume-Gruppe“ (S. 61)). Beginnend mit diesem Kernel kann LVM nur noch in der Version 2 verwendet werden. 16 oder 32 GB).1.2 LVM-Konfiguration mit YaST Zur LVM-Konfiguration mit YaST gelangen Sie über den YaST-Expertenmodus des Partitionierungsmoduls (siehe Abschnitt „Partitionierung“ (Kapitel 2. 60 Referenz . Der gesamte Plattenplatz in einer Volume-Gruppe wird in Blöcken dieser Größe verwaltet. wenn Sie größere logische Volumes als 256 GB benötigen. eine anzulegen (siehe Abbildung 2. indem Sie zunächst auf Anlegen → Nicht formatieren klicken und anschließend 0x8E Linux LVM als Partitions-ID wählen. wird system vorgeschlagen. Dieser Wert wird normalerweise auf 4 MB festgelegt. Sie erstellen eine LVM-Partition.griert ist. Die Physical Extent Size bestimmt die maximale Größe eines physischen Blocks in der Volume-Gruppe. Zusätzliche Gruppen können mit Gruppe hinzufügen hinzugefügt werden. auf 8. Erstellen von Volume-Gruppen Wenn auf Ihrem System noch keine Volume-Gruppe existiert. Systemkonfiguration mit YaST. Mit diesem Partitionierungswerkzeug können Sie vorhandene Partitionen bearbeiten und löschen sowie neue Partitionen erstellen. B. 2.2. um mit der Konfiguration von LVM zu beginnen. werden Sie aufgefordert. In diesem Kapitel ist mit LVM daher immer LVM in der Version 2 gemeint. klicken Sie auf LVM. ↑Start)). Dies lässt eine Maximalgröße für ein physisches und logisches Volume von 256 GB zu. Als Name für die Volume-Gruppe. auf der sich die Dateien des SUSE LINUX Systems befinden. Nachdem Sie alle mit LVM zu verwendenden Partitionen erstellt haben.

Swap. Wenn eine Partition bereits einer VolumeGruppe zugeordnet ist. stellen Sie die aktuelle Volume-Gruppe im Auswahlfeld links oben ein. die einer Volume-Gruppe zugeordnet sind. denen keine Partitionen mehr zugeordnet sind. die entweder den Typ „Linux LVM“ oder „Linux native“ haben.2 Anlegen einer Volume-Gruppe Konfigurieren von physischen Volumes Sobald eine Volume-Gruppe angelegt wurde. werden auch physische Volumes (PV) genannt. Mit den Schaltflächen rechts oben ist es möglich. zusätzliche Volume-Gruppen anzulegen und bestehende Volume-Gruppen zu löschen. Falls es mehrere Volume-Gruppen gibt. listet das folgende Dialogfeld alle Partitionen auf. wird der Name der Volume-Gruppe in der Liste angezeigt.Abbildung 2. Fortgeschrittene Festplattenkonfiguration 61 . Partitionen.oder DOS-Partitionen werden nicht angezeigt. Es können allerdings nur solche Volume-Gruppen gelöscht werden. Nicht zugewiesene Partitionen sind mit „--“ gekennzeichnet.

3 Setup für physische Volumes Um der ausgewählten Volume-Gruppe eine zuvor nicht zugewiesene Partition zuzuweisen. Der Name der Volume-Gruppe wird dann bei der ausgewählten Partition eingetragen.Abbildung 2. Anderenfalls bleibt der Speicherplatz in den Partitionen unbenutzt. muss jeder Volume-Gruppe mindestens ein physisches Volume zugeordnet sein. die das Betriebssystem benutzen soll. Sie können nach Bedarf logische Volumes mithilfe der entsprechenden Schaltflächen Hinzufügen. einer Volume-Gruppe zuordnen. um zur Konfiguration der logischen Volumes zu gelangen. Nachdem Sie alle physischen Volumes zugeordnet haben. Die Liste darunter enthält alle logischen Volumes in der Volume-Gruppe. Wählen Sie im Auswahlfeld oben links die aktuelle Volume-Gruppe. klicken Sie zuerst auf die Partition und anschließend auf Volume hinzufügen. Alle normalen Linux-Partitionen. alle Swap-Partitionen und alle existierenden logischen Volumes werden hier aufgeführt. Bevor Sie das Dialogfeld schließen können. klicken Sie auf Weiter. Der verfügbare Platz in der aktuellen Volume-Gruppe wird daneben angezeigt. Sie sollten alle Partitionen. denen ein Einhängepunkt zugewiesen wurde. die Sie für LVM vorgesehen haben. Bearbeiten und Entfernen. Konfigurieren von logischen Volumes Nachdem die Volume-Gruppe mit physischen Volumes gefüllt ist. bestimmen Sie im nächsten Dialogfeld die logischen Volumes. bis 62 Referenz .

der Platz in der Volume-Gruppe verbraucht ist. Fortgeschrittene Festplattenkonfiguration 63 . wenn der von dem LV benötigte Festplattenplatz gleichmäßig über n physische Volumes verteilt werden kann. den Datenfluss im logischen Volume über verschiedene physische Volumes zu verteilen (Striping). Weisen Sie jeder Volume-Gruppe mindestens ein logisches Volume zu. ist ein logisches Volume mit drei Stripes nicht möglich. verbessert dies in der Regel die Lese. Abbildung 2. das Dateisystem und der Einhängepunkt eingegeben werden. Ein Striping-LV mit n Stripes kann jedoch nur richtig angelegt werden. Es ist auch möglich.und Schreibgeschwindigkeit (wie bei RAID 0). Wenn sich diese physischen Volumes auf verschiedenen Festplatten befinden. klicken Sie auf Hinzufügen und füllen das anschließende Popup-Fenster aus. Wie bei der Partitionierung kann die Größe. Normalerweise wird in einem logischen Volume ein Dateisystem wie reiserfs oder ext2 erstellt und ein Einhängepunkt wird festgelegt. Die auf diesem logischen Volume gespeicherten Dateien sind dann im installierten System an diesem Einhängepunkt zu finden. Sind beispielsweise nur zwei physische Volumes verfügbar.4 Verwaltung der logischen Volumes Um ein neues logisches Volume anzulegen.

um in den YaSTExpertenmodus für Partitionierung zu gelangen und Ihre Arbeit abzuschließen. Direkte Verwaltung von LVM Falls Sie LVM bereits konfiguriert haben und lediglich etwas ändern möchten. 64 Referenz . können Sie jetzt die vorhandenen logischen Volumes eingeben. Fehler an dieser Stelle können erst festgestellt werden. die Richtigkeit Ihrer Angaben zum Striping zu überprüfen. Im Wesentlichen erlaubt dieses Dialogfeld dieselben Aktionen wie oben beschrieben. Abbildung 2. wenn LVM auf der Festplatte in Betrieb genommen wird. mit Ausnahme der physischen Partitionierung.WARNUNG: Striping YaST hat zurzeit keine Möglichkeit. Sie können Ihr LVM-System mit den oben beschriebenen Methoden verwalten. gibt es eine alternative Methode. Klicken Sie auf Weiter. Bevor Sie fortfahren. Wählen Sie im YaST-Kontrollzentrum System → LVM. Es zeigt die vorhandenen physischen Volumes und logischen Volumes in zwei Listen an.5 Erstellen logischer Volumes Falls Sie auf Ihrem System LVM bereits konfiguriert haben. weisen Sie diesen logischen Volumes passende Einhängepunkte zu.

Die Leistung ist zwar sehr gut. da es keine Datensicherheit gibt. Solange noch eine Festplatte intakt ist. da es im Vergleich zum IDE-Protokoll eine größere Anzahl an Festplatten effektiver ansteuern kann und besser für eine parallele Verarbeitung der Befehle geeignet ist. Soft RAID bietet die Vorteile von RAID-Systemen ohne die zusätzlichen Kosten für hardwareseitige RAID-Controller. die IDE.oder SATA-Festplatten unterstützen. steht eine Kopie des Inhalts auf einer anderen zur Verfügung. um die Leistung und/oder die Datensicherheit zu optimieren. indem er die einzelnen Dateiblöcke über mehrere Festplattenlaufwerke verteilt.2. 2. Ist eine Festplatte zerstört. Bei RAID 0 werden mindestens zwei Festplatten zusammengefasst. ist das RAID-System zerstört und Ihre Daten sind verloren. In RAID-Systemen gibt es mehrere Strategien für das Kombinieren mehrerer Festplatten in einem RAID-System.2 Soft-RAID-Konfiguration Der Sinn eines RAID (Redundant Array of Independent Disks) ist es. mithilfe von YaST mehrere Festplatten zu einem Soft-RAID-System zu vereinen – eine sehr günstige Alternative zu einem Hardware-RAID. Dies wird als Festplattenspiegelung bezeichnet. RAID 1 Dieser Level bietet eine ausreichende Sicherheit für die Daten. mehrere Festplattenpartitionen in einer großen virtuellen Festplatte zusammenzufassen. Es gibt folgende gängige RAID-Level: RAID 0 Dieser Level verbessert die Leistung des Datenzugriffs. Jede diese Strategien weist dabei andere Ziele. Vorteile und Merkmale auf. Dies geht allerdings zu Lasten von Prozessorzeit und Arbeitsspeicher. Im Grunde ist dies gar kein RAID. weil diese 1:1 auf eine andere Festplatte kopiert werden. weshalb Soft RAID für Hochleistungssysteme nicht wirklich geeignet ist. Es gibt einige RAID-Controller.2. doch die Bezeichnung RAID 0 hat sich für diese Art von System eingebürgert. Die meisten RAID-Controller verwenden das SCSI-Protokoll. aber wenn auch nur eine der Festplatten ausfällt.1 RAID-Level SUSE Linux bietet Ihnen die Möglichkeit. können alle anderen fehler- Fortgeschrittene Festplattenkonfiguration 65 . Diese Variationen werden im Allgemeinen als RAIDLevel bezeichnet.

wobei diese Vorgehensweise mit einer dedizierten Paritätsfestplatte kombiniert wird. RAID 0+1. Wird der Schaden jedoch nicht festgestellt.und nicht auf Blockebene. Die Paritätsdaten werden im Fall eines Festplattenfehlers zum Erstellen einer Ersatzfestplatte verwendet. Die Schreibleistung leidet durch den Kopiervorgang im Vergleich zu einer normalen physischen Festplatte ein wenig (10 bis 20 % langsamer). Erst dadurch geht die Integrität der Daten wirklich verloren. da sonst Datenverlust droht. Level 3 bietet Byte-basiertes Verteilen mit einer dedizierten Paritätsfestplatte und kann nicht gleichzeitig mehrere Anforderungen verarbeiten. RAID 4 Level 4 verteilt die Daten auf Blockebene wie bei Level 0. wobei einige von diesen proprietäre Implementierungen verschiedener Hardwarehersteller sind. sodass sich beim Ausfall einer Partition durch den dazugehörigen Paritätsblock der Inhalt rekonstruieren lässt. die bei RAID 5 auf einer der Partitionen angelegt werden. weil die Daten doppelt vorhanden sind und somit parallel ausgelesen werden können. dass RAID 1 fast eine doppelt so schnelle Transaktionsrate und nahezu dieselbe Schreibgeschwindigkeit wie einzelne Festplatten bieten. Die Daten werden wie bei RAID 0 über die Festplatten verteilt. dass die beschädigten Daten auf die intakte Festplatte gespiegelt werden. Diese werden mit XOR miteinander verknüpft. RAID 2 und RAID 3 Dies sind keine typischen RAID-Implementierungen.). Dennoch wird Level 4 gelegentlich eingesetzt. Weitere RAID-Level Es wurden noch weitere RAID-Level entwickelt (RAIDn. Der nutzbare Festplattenplatz entspricht der Anzahl der eingesetzten Festplatten minus einer. RAID 30. RAID 10. Für die Sicherheit sorgen die Paritätsblöcke. dafür ist der Lesezugriff deutlich schneller.haft sein. Diese beiden Level werden nur selten verwendet. Im Allgemeinen kann gesagt werden. Diese Level sind nicht sehr weit verbreitet und werden aus diesem Grund hier nicht näher beschrieben. 66 Referenz . Level 2 verteilt die Daten auf Bit. ohne dass Daten verloren gehen. Bei RAID 5 ist zu beachten. was Leistung und Redundanz betrifft. kann es passieren. Die Paritätsfestplatte kann beim Schreibzugriff jedoch Engpässe verursachen. RAID 5 RAID 5 ist ein optimierter Kompromiss aus Level 0 und Level 1. dass nicht mehrere Festplatten gleichzeitig ausfallen dürfen. Wenn eine Festplatte ausfällt. RAID 50 usw. muss sie schnellstmöglich ausgetauscht werden.

Mit diesem Partitionierungswerkzeug können Sie vorhandene Partitionen bearbeiten und löschen sowie neue Partitionen erstellen. wird in der Liste der Name des RAIDGeräts (z. Für RAID 0 und RAID 1 sind mindestens zwei Partitionen erforderlich. nur Partitionen gleicher Größe zu verwenden. Systemkonfiguration mit YaST. um die RAID-Konfiguration zu starten. für RAID 1 in der Regel exakt zwei. B.oder DOS-Partitionen werden nicht angezeigt. Es wird empfohlen.2 Soft-RAID-Konfiguration mit YaST Zur Soft-RAID-Konfiguration gelangen Sie über den YaST-Expertenmodus des Partitionierungsmoduls. klicken Sie auf RAID → RAID anlegen. damit das Risiko eines Datenverlusts durch den Defekt einer Festplatte (bei RAID 1 und 5) verhindert bzw. „RAID-Partitionen“ (S.2. 65)). /dev/md0) angezeigt. indem Sie zunächst auf Anlegen → Nicht formatieren klicken und anschließend 0xFD Linux RAID als Partitions-ID wählen. Fortgeschrittene Festplattenkonfiguration 67 .6. Für RAID 5 sind mindestens drei Partitionen erforderlich. ↑Start) beschrieben ist. Nicht zugewiesene Partitionen sind mit „--“ gekennzeichnet. 68)). Wenn Sie auf Weiter klicken. Wenn eine Partition einem RAID-Volume bereits zugewiesen ist. Die einzelnen Partitionen eines RAIDs sollten auf verschiedenen Festplatten liegen. „RAID-Level“ (S.1. Sie erstellen die RAID-Partitionen. 1 und 5 (weitere Informationen hierzu finden Sie in Abschnitt 2. Swap. der in Abschnitt „Partitionierung“ (Kapitel 2. Wenn Sie alle gewünschten Partitionen erstellt haben. Wählen Sie im nächsten Dialogfeld zwischen RAID-Level 0. die mit Soft-RAID verwendet werden sollen. die Leistung bei RAID 0 optimiert wird.2.2. werden im folgenden Dialogfeld alle Partitionen entweder mit dem Typ „Linux RAID“ oder „Linux native“ angezeigt (siehe Abbildung 2.

„Dateisystemeinstellungen“ (S. um das Einstellungsdialogfeld aufzurufen.7. Weisen Sie alle für RAID reservierten Partitionen zu. 68 Referenz .Abbildung 2. in dem Sie die Leistung optimieren können (siehe Abbildung 2. Klicken Sie nach dem Zuweisen aller Partitionen auf Weiter. klicken Sie zuerst auf die Partition und anschließend auf Hinzufügen.6 RAID-Partitionen Um dem ausgewählten RAID-Volume eine zuvor nicht zugewiesene Partition zuzuweisen. 69)). Anderenfalls bleibt der Speicherplatz in den Partitionen unbenutzt. Der Name des RAID-Geräts wird dann zur ausgewählten Partition hinzugefügt.

Grundsätzliche Vorgehensweise bei einem Systemfehler ist es.7 Dateisystemeinstellungen Legen Sie wie bei der konventionellen Partitionierung das zu verwendende Dateisystem sowie die Verschlüsselung und den Einhängepunkt für das RAID-Volume fest.Abbildung 2. 2. Ihr LinuxSystem herunterzufahren und die defekte Festplatte durch eine neue. dass die RAIDPartitionen als solche beim Booten erkannt werden. Fortgeschrittene Festplattenkonfiguration 69 . gleichartig partitionierte Platte zu ersetzen.3 Fehlerbehebung Prüfen Sie die Datei /proc/mdstats. Ersetzen Sie „X“ durch die entsprechende Geräte-ID. um festzustellen.2. sind im Expertenmodus des Partitionierungsmoduls das Gerät /dev/md0 und andere Geräte mit RAID gekennzeichnet. Wenn Sie die Konfiguration mit Beenden abgeschlossen haben. ob eine RAID-Partition zerstört ist. Starten Sie das System anschließend neu und geben Sie den Befehl mdadm /dev/mdX --add /dev/sdX ein. Durch Aktivieren der Option Persistenter Superblock wird gewährleistet. Damit wird die neue Festplatte automatisch in das RAIDSystem integriert und vollautomatisch rekonstruiert.

2.com/?l=linux-raid&r=1&w=2. 70 Referenz .org/HOWTO/Software-RAID-HOWTO.html Linux-RAID-Mailinglisten sind beispielsweise unter folgender URL verfügbar: http://marc.HOWTO .html • http://en.tldp.2.theaimsgroup.4 Weitere Informationen Weitere Informationen sowie eine Anleitung zur Konfiguration von Soft-RAID finden Sie in den angegebenen HOWTO-Dokumenten unter: • /usr/share/doc/packages/raidtools/Software-RAID.

die ausgewählte Software sowie die Versionsnummer von SUSE Linux bestimmt. 3. Pakete können auch manuell mithilfe des RPM-Paket-Managers verwaltet werden.Aktualisieren des Systems und Paketverwaltung SUSE Linux bietet die Möglichkeit. eine Wechselfestplatte. Die Platzanforderungen werden durch Ihr jeweiliges Partitionierungsprofil. Dies gilt hauptsächlich für die in /etc gespeicherten Dateien sowie einige der Verzeichisse und Dateien in /var und /opt.1 Aktualisieren von SUSE Linux Software weist normalerweise von Version zu Version mehr „Umfang“ auf. Melden Sie sich zur Aktualisieren des Systems und Paketverwaltung 71 . Es gibt keine Faustregel hinsichtlich des Speicherplatzes einzelner Partitionen. ein bestehendes System zu aktualisieren. Zudem empfiehlt es sich. dass demnächst kein Speicherplatz mehr zur Verfügung steht. beispielsweise ein Bandlaufwerk (Streamer). einen USB-Stick oder ein ZIP-Laufwerk. 3 3. sichern Sie die Daten vor der Aktualisierung und partitionieren Sie Ihr System neu. ohne es vollständig neu zu installieren. die Benutzerdaten in /home (den HOME-Verzeichnissen) auf ein Sicherungsmedium zu schreiben.1. Wenn Sie befürchten.1 Vorbereitung Kopieren Sie vor der Aktualisierung die alten Konfigurationsdateien auf ein separates Medium. Folglich sollten Sie vor dem Aktualisieren mit df den verfügbaren Plattenplatz überprüfen. Man unterscheidet zwischen zwei Arten von Aktualisierungen: die Aktualisierung einzelner Software-Pakete und die Aktualisierung des gesamten Systems. um die Daten zu sichern.

6G 37G 4% /windows/C 2. Beispiel 3. PostgreSQL Führen Sie vor der Aktualisierung von PostgreSQL (postgres) den dump-Vorgang für die Datenbanken durch. „Über df -h angezeigte Liste“ (S. Dies ist nur erforderlich. 72 Referenz . die vor dem Beginn der Systemaktualisierung überprüft werden müssen.6G 2.1G 57% /windows/D 3. die Sie sich notieren sollten (eingehängt als /).6G Used Avail Use% Mounted on 22G 53G 29% / 0 506M 0% /dev/shm 5. Abhängig von den individuellen Anpassungen. Rufen Sie hierzu die Überprüfungs-Dienstprogramme pwck und grpck als root auf und beseitigen Sie sämtliche gemeldeten Fehler.1. In Beispiel 3. Überprüfen von „passwd“ und „group“ in „/etc“ Stellen Sie vor dem Aktualisieren des Systems sicher. Ziehen Sie die Manualpage (Handbuchseite) zu pg_dump zurate.2 Potenzielle Probleme Wenn Sie ein standardmäßiges System von der Vorgängerversion auf diese Version aktualisieren. ermittelt YaST die erforderlichen Änderungen und wendet sie an. Nachfolgend sind weitere Punkte aufgeführt. Nur Benutzer root verfügt über die Leseberechtigung für alle lokalen Dateien. dass /etc/passwd und /etc/ group keine Syntaxfehler enthalten. Mit dem Befehl df / können Sie den Gerätenamen der Stammpartition anzeigen. Ihre Sicherungsdaten zurückzukopieren. Notieren Sie sich vor der Aktualisierung die Stammpartition. die Sie vorgenommen haben.Sicherung dieser Daten als root an.8G 111G 5% /home 1.1 Über df -h angezeigte Liste Filesystem /dev/hda3 tmpfs /dev/hda5 /dev/hda1 /dev/hda2 Size 74G 506M 116G 39G 4. wenn Sie PostgreSQL bereits vor der Aktualisierung verwendet haben.1. kommt es bei einigen Schritten der vollständigen Aktualisierung zu Problemen und Ihnen bleibt nur die Möglichkeit. 72) ist /dev/hda3 die Stammpartition.

Anpassungen sind zu einem späteren Zeitpunkt mit YaST möglich.1. verschiedene Systemkomponenten zu sichern. die vorgeschlagene Kombination zu akzeptieren. Aktualisieren des Systems und Paketverwaltung 73 .3. 71) wurde /dev/hda3 ausgewählt). YaST liest die alte fstab auf dieser Partition. fahren Sie mit dem nächsten Schritt fort. Wählen Sie in YaST eine Sprache aus und klicken Sie im Dialogfeld Installationsmodus auf Aktualisieren. beispielsweise Update basiert auf der Auswahl „Standard-System mit KDE“ oder „Standard-System mit GNOME“. 3 Passen Sie im Dialogfeld Installationseinstellungen die Einstellungen gemäß Ihren Anforderungen an. Wenn nur eine vorhanden ist. überprüfen Sie die in den Untermenüs von Software-Auswahl aufgeführten Pakete (und aktivieren Sie sie gegebenenfalls) oder fügen Sie die Unterstützung für zusätzliche Sprachen hinzu.3 Aktualisieren mit YaST Im Anschluss an die in Abschnitt 3.1.1. Installation mit YaST.1. „Vorbereitung“ (S. Durch Sicherungen wird der Aktualisierungsvorgang verlangsamt. dass nur die bereits installierte Software aktualisiert werden soll oder dass dem System neue Software-Komponenten hinzugefügt werden sollen (Aufrüstungsmodus). 71) erläuterte Vorbereitung kann Ihr System nun aktualisiert werden: 1 Booten Sie das System wie zu Installationszwecken (siehe Beschreibung in Abschnitt „Systemstart für die Installation“ (Kapitel 1. Wenn mehrere vorhanden sind.1. wenn Sie über keine aktuelle Systemsicherung verfügen. „Vorbereitung“ (S. 4 Geben Sie im daraufhin angezeigten Dialogfeld an. 2 YaST ermittelt. Es empfiehlt sich. ↑Start)). wählen Sie die richtige Partition aus und bestätigen Sie mit Weiter (im Beispiel in Abschnitt 3. wenn Sie Ihr System jedoch erweitern möchten. Verwenden Sie diese Option. Sie haben zudem die Möglichkeit. um die hier aufgeführten Dateisysteme zu analysieren und einzuhängen. ob mehrere Root-Partitionen vorhanden sind. Wählen Sie nicht die Option Neuinstallation. Normalerweise können die Standardeinstellungen unverändert übernommen werden.

0 auf 9. die sich auf den täglichen Betrieb des Systems auswirken – entweder auf Benutzeroder Administratorebene – werden hier genannt.novell. gibt YaST eine Warnung aus.1 Ziehen Sie den Artikel „Bekannte Probleme und Besonderheiten in SUSE Linux 9. Systemkonfiguration mit YaST. Pakete dieser Art sollten nur im Aktualisierungsmodus aktualisiert werden. geht aus den nachfolgenden Erläuterungen hervor. Zahlreiche Pakete enthalten beispielsweise shared libraries.1“ (in der SUSE Support-Datenbank unter http://portal.2. Wenn Sie ein Paket auswählen. Signifikante Änderungen. dass die Konsistenz Ihres Systems stets gewährleistet ist. ob grundlegende Einstellungen vollkommen neu konfiguriert wurden.novell. 3. Wichtige Aktualisierungen einzelner Pakete stehen unter http://www.4 Aktualisieren einzelner Pakete Ungeachtet der insgesamt aktualisierten Umgebung ist die Aktualisierung einzelner Pakete stets möglich. Ab diesem Punkt liegt es jedoch bei Ihnen. 3.1. Wenn diese Programme und Anwendungen im aktiven System aktualisiert werden. Ratschläge zur Aktualisierung finden Sie unter http://www. kann es zu Fehlfunktionen kommen. Wählen Sie gemäß Ihren Anforderungen Komponenten in der YaST-Paketauswahl aus. Nutzen Sie die unten aufgeführten Links.suse. Probleme und spezielle Aspekte der jeweiligen Version werden bei Bekanntwerdung online zur Verfügung gestellt. dass für den Gesamtbetrieb des Systems unerlässlich ist.3.com/ products/linuxprofessional/downloads/ zur Verfügung (YaST Online Update (YOU)) – ziehen Sie Abschnitt „Online-Aktualisierung von Software“ (Kapitel 2.com/linux/download/updates/.2 Software-Änderungen von Version zu Version Welche Aspekte sich zwischen den Versionen genau geändert haben. ob Konfigurationsdateien an andere Speicherorte verschoben wurden oder ob es bedeutende Änderungen gängiger Anwendungen gegeben hat.com) zurate 74 Referenz . Diese Zusammenfassung gibt beispielsweise Aufschluss darüber.1 Von 9. ↑Start) zurate. sicherzustellen.

Diese Funktion befindet sich noch in der Testphase und wird von einigen Hardware-Komponenten möglicherweise nicht unterstützt.6 unterstützt Standby und Ruhezustand mit ACPI. Beachten Sie folgende Details: • Das Laden von Modulen wird über die Datei /etc/modprobe.conf konfiguriert.6 SUSE Linux basiert nun vollständig auf Kernel 2. Standby und Ruhezustand mit ACPI Kernel 2.(Schlüsselwort: Besonderheiten). Upgrade auf Kernel 2. ob die Datei /etc/fstab den alten Parameternamen enthält. überprüfen Sie. • Das Modul ide-scsi ist für das Brennen von CDs nicht mehr erforderlich.6. • Die Energieverwaltung (insbesondere ACPI) wurde verbessert und kann mithilfe eines YaST-Moduls konfiguriert werden. Informationen zu diesem Paket finden Sie in /usr/share/ doc/packages/powersave. 2. Einhängen von VFAT-Partitionen Beim Einhängen von VFAT-Partitionen muss der Parameter code in codepage geändert werden. Wenn beim Einhängen einer VFAT-Partition Probleme auftreten. • Das Präfix snd_ wurde von den Optionen des ALSA-Soundmoduls entfernt.ko auf. Ein grafisches Frontend steht im kpowersave-Paket zur Verfügung. • Module weisen das Suffix . Die Datei /etc/modules. Diese Artikel werden für jede Version von SUSE Linux veröffentlicht. YaST versucht. die Datei zu konvertieren (siehe auch Skript /sbin/generate-modprobe. Aktualisieren des Systems und Paketverwaltung 75 .4. Die Vorgängerversion.4 nicht funktionsfähig sind.conf). • sysfs ergänzt nun das /proc-Dateisystem. da die enthaltenen Anwendungen mit Kernel 2. kann nicht mehr verwendet werden. Zur Verwendung dieser Funktion benötigen Sie das powersave-Paket.conf ist veraltet.

müssen mit linuxthreads oder NPTL (Native POSIX Thread Library) kompiliert werden.com zurate (Schlüsselwort: Besonderheiten).Eingabegeräte Ziehen Sie hinsichtlich der Änderungen in Bezug auf Eingabegeräte den bereits erwähnten Portal-Artikel „Bekannte Probleme und Besonderheiten in SUSE Linux 9.h.1 (AMD64.4.x Mit NGPT (Next Generation POSIX Threading) verknüpfte Anwendungen können mit glibc 2. in denen linuxthreads gegen 76 Referenz .1 verwendet werden. die Threads abbrechen (Thread Cancellation) verwenden.suse.4. Bei C++-Programmen mit MultithreadUnterstützung. Wenn NPTL zu Problemen führt. Für Bereiche.h) mit #include enthalten. Native POSIX Thread Library und glibc 2. and resolv. die nicht im Lieferumfang von SUSE Linux enthalten sind. h_errno und _res verwenden. kann die ältere linuxthreads-Implementierung verwendet werden. NPTL ist der Vorzug zu geben. Anpassungen für Native POSIX Thread Library NPTL ist in SUSE Linux 9.1“ in der Support-Datenbank unter http://portal. i686): linuxthread mit Floating Stacks Hinweise zu Kernel und linuxthreads mit Floating Stacks: Anwendungen. netdb. i586. IPF.2. da dies der Standard für die Zukunft ist. i586.x nicht verwendet werden. NPTL ist mit der älteren linuxthreads-Bibliothek binärkompatibel.3. müssen die Header-Dateien (errno.1 als Thread-Paket enthalten.h. und zwar unter Verwendung folgender Umgebungsvariable (ersetzen Sie kernel-version durch die Versionsnummer des entsprechenden Kernel): LD_ASSUME_KERNEL=kernel-version Folgende Versionsnummern sind möglich: 2. Alle betroffenen Anwendungen. i586): linuxthreads ohne Floating Stacks 2. i686):. 2.3. s390x.5 (i386. um zur Verwendung der linuxthreads-Bibliothek aufzufordern. muss die Umgebungsvariable LD_ASSUME_KERNEL=2.1 (AMD64. die errno.4.

Befehle wie ifup eth0 oder ifdown eth0 können weiterhin verwendet werden. Aktualisieren des Systems und Paketverwaltung 77 . Die detaillierte Beschreibung finden Sie in /usr/share/doc/packages/sysconfig/README.den POSIX-Standard verstößt. Aus diesem Grund werden eindeutige Kennzeichnungen. dass getpid in allen Threads denselben Wert zurückgibt und dass mit pthread_atfork registrierte Thread-Behandlungsroutinen bei Verwendung von vfork nicht funktionieren. Die Gerätekonfigurationen befinden sich in /etc/sysconfig/hardware. Jetzt sucht das System nach neuer Hardware und initialisiert sie umgehend.251. Dies umfasst Folgendes: Signalbehandlungssystem.local als „link-local“-Domäne Die Resolver-Bibliothek behandelt die Top-Level-Domäne . auf diese Weise wird die Konfiguration der neuen Netzwerkschnittstelle ermöglicht.0. Geben Sie als Benutzer root den Befehl /sbin/yast2 sound ein. Schnittstellennamen können sofort bei ihrer Anzeige verwendet werden. für die Benennung von Schnittstellenkonfigurationen verwendet. Bisher wurde die Hardware im Anschluss an die Konfiguration einer nicht vorhandenen Schnittstelle initialisiert. Port 5353. Wenn die Domäne . Die von diesen Geräten bereitgestellten Schnittstellen befinden sich normalerweise in /etc/ sysconfig/network (mit unterschiedlichen Namen). Hierfür steht das YaST-Soundmodul zur Verfügung. Dies ist eine inkompatible Änderung.local bereits in der Namenserverkonfiguration verwendet wird. ist ein Name wie eth0 or eth1 für Konfigurationszwecke nicht mehr geeignet. Da der Name einer Netzwerkschnittstelle dynamisch generiert wird und immer mehr HotPlug-Geräte verwendet werden. beispielsweise die MAC-Adresse oder der PCI-Steckplatz. Soundkonfiguration Nach einer Aktualisierung müssen die Soundkarten neu konfiguriert werden.0. Die Konfigurationsdateien wurden neu benannt. Top-Level-Domäne .local als „link-local“Domäne und sendet anstelle normaler DNS-Abfragen Multicast-DNS-Abfragen an die Multicast-Adresse 224. Netzwerkschnittstellenkonfiguration Die Konfiguration der Netzwerkschnittstelle wurde verändert. die Tatsache. sind NPTL-Anpassungen erforderlich.

sort usw. chown.org.multicastdns. Systemübergreifende UTF-8-Codierung UTF-8 ist die standardmäßige Codierung für das System. werden sie entstellt. Wenn diese Dateinamen NichtASCII-Zeichen enthalten. jedoch mit dem POSIX-Standard von 2001 kompatibel (Single UNIX Specification. Version 3 == IEEE Std 1003. Bei einer Standardinstallation wird also ein Gebietsschema mit UTF-8-Codierung festgelegt.html.org angezeigt werden (kostenlos. TIPP Drittanbieter-Software ist möglicherweise noch nicht mit dem neuen Standard kompatibel. mit dem die Codierung von Dateinamen in UTF-8 erfolgt. Registrierung erforderlich).UTF-8. In diesem Fall wird die Umgebungsvariable wie oben beschrieben festgelegt. 78 Referenz .de/~mfabian/suse-cjk/locales. Weitere Informationen hierzu finden Sie unter http://www.) nicht mehr mit dem POSIX-Standard von 1992. Das bisherige Verhalten kann mithilfe einer Umgebungsvariablen erzwungen werden: _POSIX2_VERSION=199209 Der neue Wert lautet 200112 und wird als Standard für _POSIX2_VERSION verwendet.unix.1-2001 == ISO/IEC 9945:2002). Konvertieren von Dateinamen in UTF-8 Dateien in zuvor erstellten Dateisystemen verwenden die UTF-8-Codierung für Dateinamen nicht (sofern nicht anders angegeben). Weitere Informationen zum MulticastDNS finden Sie unter http://www. Verwenden Sie zur Korrektur das convmv-Skript.suse . Mit dem POSIX-Standard von 2001 kompatible Shell-Werkzeuge In der Standardeinstellung sind Shell-Werkzeuge aus dem coreutils-Paket (tail. head.verwenden Sie einen anderen Domänennamen. Der SUS-Standard kann unter http://www. beispielsweise en_US.

/etc/gshadow veraltet /etc/gshadow wird nicht mehr verwendet und wurde entfernt.3 durch Apache 2 Der Apache-Webserver (Version 1.apache .update zur Verfügung.0/en/ zur Verfügung Bei einem System mit installiertem HTTP(Hypertext Transfer Protocol-)Server wird das Apache-Paket entfernt und Apache 2 installiert. nun nicht mehr möglich. Die detaillierte Dokumentation zu Version 2.0 steht auf der Webseite unter http://httpd. Die Konfigurationsdateien aus /etc/httpd befinden sich nun in /etc/ apache2. und zwar hinsichtlich der Zugriffssteuerungslisten (Access Control Lists. Deshalb sind einige nicht mit dem Standard kompatible Vorgänge. OpenLDAP Da sich das Datenbankformat geändert hat. in denen die Konvertierung nicht möglich ist. Ersetzen von Apache 1. ACLs).3) wurde durch Apache 2 ersetzt. wird diese Datei nicht unterstützt und aus den angegebenen Gründen ignoriert. Es gibt jedoch sicherlich Fälle. Die Schema-Überprüfung wurde wesentlich verbessert. Selbst die Shadow-Suite enthält keine Schnittstelle dieser Art. die mit dem bisherigen LDAP (Lightweight Directory Access Protocol)-Server möglich waren.org/docs-2. Im Rahmen der Aktualisierung versucht das System. Die Syntax der Konfigurationsdatei hat sich teilweise geändert. Im Anschluss muss das System entweder mit YaST oder manuell angepasst werden. muss die Datenbank neu aufgebaut werden. da diese Datei aus folgenden Gründen überflüssig ist: • Sie wird von glibc nicht unterstützt. • Von den meisten Werkzeugen. Aktualisieren des Systems und Paketverwaltung 79 . • Es gibt keine offizielle Schnittstelle für diese Datei. Im Anschluss an die Installation stehen aktualisierungsbezogene Informationen in der Datei /usr/share/ doc/packages/openldap2/README. die das Gruppenpasswort überprüfen. diese Konvertierung automatisch durchzuführen.

An Apache gerichtete Abfragen und von Apache erhaltene Antworten können mithilfe von Filtern verarbeitet werden. „Multiprocessing-Module“ (S. Die anderen Authentifizierungsmethoden können weiterhin verwendet werden.Für die Handhabung mehrerer gleichzeitiger Abfragen können entweder Threads oder Vorgänge ausgewählt werden.html#ss23. Abhängig vom MPM werden Abfragen von Apache 2 unterschiedlich verarbeitet. 510) detailliert erläutert. das nur authentifizierten Benutzern den Zugriff auf bestimmte Ressourcen ermöglicht. So muss beispielsweise ein Modul. dem Multiprocessing-Modul (MPM).5.pl Weitere Informationen erhalten Sie unter http://www. die gewünschte Ladesequenz der Module anzugeben und den Benutzern diese Aufgabe abzunehmen. Diese Eigenschaften werden in Abschnitt 26. Die Prozessverwaltung wird nun von einem unabhängigen Modul übernommen. Von Samba 2. Apache 2 unterstützt nun das neueste Internetprotokoll.4.x steht die winbind-Authentifizierung nicht mehr zur Verfügung.x auf Samba 3. Folglich ist für Apache 2 das apache2-prefork-Paket (aus Stabilitätsgründen empfohlen) oder das apache2-worker-Paket erforderlich. In früheren Versionen wurde sie anhand der Ladesequenz ermittelt.org/Doc/ FAQ/FAQ-23. Die Ausführungssequenz der Module ist häufig von großer Wichtigkeit. dass die Seiten für Benutzer ohne Zugriffsberechtigungen angezeigt werden. als Erstes geladen werden. um zu verhindern. Dies betrifft sowohl die Leistung als auch die Verwendung von Modulen. Aus diesem Grund wurden folgende Programme entfernt: /usr/sbin/wb_auth /usr/sbin/wb_ntlmauth /usr/sbin/wb_info_group.4. Es wurde ein Mechanismus implementiert. der es Modulprogrammierern ermöglicht.8p1) Anstelle von gssapi wird nun gssapi-with-mic unterstützt.x Nach der Aktualisierung von Samba 2.x auf Samba 3. IPv6. um potenziellen MITM (Man In The Middle-)-Angriffen vorzubeugen. Die beiden Versionen sind nicht 80 Referenz . OpenSSH-Aktualisierung (Version 3.squid-cache.

Folglich werden die standardmäßigen Systemeinstellungen verwendet. Sylesheets usw. wechseln Sie einfach zum entsprechenden Geräteverzeichnis in Aktualisieren des Systems und Paketverwaltung 81 .) werden in /usr/share/xml installiert. Der Grund dafür ist. Das manuelle Einhängen der Medien mit mount ist nicht mehr erforderlich. dass lokale Einstellungen von OpenSSH nicht weitergeleitet werden. Wechseldatenträger mit subfs Wechseldatenträger werden nun mit subfs integriert. werden in Terminal-Anwendungen möglicherweise entstellte Zeichen angezeigt. libiodbc verworfen Benutzer von FreeRADIUS müssen Verbindungen ab sofort mit unixODBC herstellen. Wenn Probleme auftreten. die von einem entfernten Host aus als normaler Benutzer (nicht root) ausgeführt werden. die möglicherweise nicht mit den Einstellungen des entfernten Terminals übereinstimmen. Folglich stehen einige Verzeichnisse in /usr/share/sgml nicht mehr zur Verfügung. Telnet und RSH (Remote Shell)) zwischen Version 9 (Standardkonfiguration mit aktivierter UTF-8-Codierung) und älteren Systemen (SUSE Linux 9. Folglich ist die Authentifizierung mit Kerberos-Tickets aus älteren Verteilungen nicht möglich. SSH. XML-Ressourcen in /usr/share/xml XML-Ressourcen (DTDs. wenn der Benutzer die Standard-Gebietsschemata für root ändert (nur LC_CTYPE ist standardmäßig festgelegt). in denen UTF-8 nicht aktiviert bzw. Dies wirkt sich auf YaST im Expertenmodus (Textmodus) und auf Anwendungen aus. Die von root aufgerufenen Anwendungen sind nur betroffen. da andere Authentifizierungsmethoden zum Einsatz kommen.0 und frühere Versionen.und Terminal-Anwendungen Wenn von einem entfernten Host aus eine Verbindung (insbesondere über SSH (Secure Socket Shell). da libiodbc verworfen wurde. Wenn Sie das entsprechende Medium einhängen möchten. bearbeiten Sie Ihre Skripts und Makefiles oder verwenden Sie die offiziellen Kataloge (insbesondere /etc/xml/catalog oder /etc/sgml/ catalog). nicht unterstützt wird) aufgebaut wird.kompatibel.

Standardmäßig ist die Anmeldung bei entfernten Systemen nicht möglich. solange ein Programm auf sie zugreift. sowie einige Spiele beeinträchtigt. öffnet das entsprechende YaST-Modul die benötigten TCP (Transmission Control Protocol).2 Ziehen Sie den Artikel „Bekannte Probleme und Besonderheiten in SUSE Linux 9. Mit YaST können Sie die Firewall-Einstellungen präzisieren.2. Wenn dies nicht erwünscht ist. da IPv6-Adressen nicht von allen Internetdienstanbietern (ISP) unterstützt werden und beim Surfen im Web Fehlermeldungen ausgegeben werden oder bei der Anzeige von Webseiten Verzögerungen auftreten. 3. beispielsweise SLP.suse. Wenn beim Installieren oder Konfigurieren eines Diensts auf das Netzwerk zugegriffen werden muss. Zudem werden das Suchen im Netzwerk sowie Multicast-Anwendungen. Dies bedeutet. Samba ("Netzwerkumgebung")./media.2 Von 9. Firewall-Aktivierung im Vorschlags-Dialogfeld bei der Installation Für erhöhte Sicherheit wird die integrierte Firewall-Lösung SUSEFirewall2 am Ende der Installation im Vorschlags-Dialogfeld aktiviert.und UDP (User Datagram Protocol)-Ports sämtlicher interner und externer Schnittstellen. Die Funktion wurde deaktiviert.com) zurate (Schlüsselwort: Besonderheiten). KDE und IPv6-Unterstützung Standardmäßig ist die IPv6-Unterstützung für KDE (K Desktop Environment) nicht aktiviert. Sie kann mithilfe des /etc/sysconfig-Editors von YaST aktiviert werden. Medien können nicht ausgeworfen werden. kann der Benutzer die Ports im YaST-Modul schließen oder weitere detaillierte Firewall-Einstellungen angeben.1 auf 9. 82 Referenz .2“ (in der SUSE Support-Datenbank unter http://portal. dass sämtliche Ports anfänglich geschlossen sind und im Bedarfsfall über das Vorschlags-Dialogfeld geöffnet werden können.

Konfiguration des Drucksystems Am Ende der Installation (Vorschlags-Dialogfeld) müssen die für das Drucksystem benötigten Ports in der Firewall-Konfiguration geöffnet sein. SMB (Server Message Block) ebenfalls geöffnet sein. Umstellung auf X. bei der Neuzusammenstellung des endgültigen Pakets kommt es jedoch zu einer höheren CPU-Auslastung. Diese Technik führt zu einer deutlich geringeren Paketgröße und weniger Zeitaufwand beim Herunterladen.YaST Online Update und Delta-Pakete YaST Online Update (YOU) unterstützt nun eine besondere Art von RPM-Paket. Port 515/TCP (für das alte LPD-(Line Printer Daemon-)Protokoll und die von Samba genutzten Ports müssen für das Drucken über LPD bzw. Legen Sie in /etc/sysconfig/ onlineupdate fest.Org Xorg xorgconfig xorgcfg Aktualisieren des Systems und Paketverwaltung 83 . die den Zugriff auf wichtige Dateien und Befehle mit den alten Namen ermöglichen.Org Die Umstellung von XFree86 auf X.1 XFree86 XFree86 xf86config xf86cfg Befehle X. ob YOU diese Delta-Pakete verwenden soll.Org wird über Kompatibilitätslinks ermöglicht. Technische Details finden Sie in /usr/share/doc/packages/deltarpm/README. Tabelle 3. Port 631/TCP und Port 631/UDP werden für CUPS (Common Unix Printing System) benötigt und sollten für den normalen Betrieb nicht geschlossen werden. in dem nur die binäre Abweichung von einem bestimmten Basispaket gespeichert wird.

beispielsweise xterm.old XFree86.und GNOME-Terminals und mlterm (Multilingual Terminal Emulator für X).log Xorg.0.2 XFree86 Protokolldateien in /var/log X.log. insbesondere. da sie entweder nicht mehr unterstützt werden oder in der Standardumgebung nicht funktionieren. Tabelle 3.0.Tabelle 3. SUSE Linux stellt Standardterminals bereit.Org Xorg.log XFree86.0. Änderungen im powersave-Paket Die Konfigurationsdateien in /etc/sysconfig/powersave wurden geändert.old Bei der Umstellung auf X.3 Alt Aufgeteilte Konfigurationsdateien in /etc/sysconfig/powersave Jetzt aufgeteilt in /etc/sysconfig/powersave/ common common cpufreq events battery sleep 84 Referenz .0.log. die möglicherweise als Ersatz für aterm und eterm dienen. Terminal-Emulatoren für X11 Einige Terminal-Emulatoren wurden entfernt. die KDE. da sie UTF8 nicht unterstützen.Org wurden die Pakete von XFree86* in xorg-x11* umbenannt.

org1.1 das Standardverzeichnis für Benutzereinstellungen. Die Namen der sleep-Statusangaben wurden wie nachfolgend angegeben geändert. 84) aufgeführten Tabellen verschoben. APM suspend) • standby (ACPI S3. muss deren Anpassung nun in /etc/ sysconfig/powersave/events erfolgen. Die neuen Namen sind aus Tabelle 3. „Aufgeteilte Konfigurationsdateien in /etc/sysconfig/powersave“ (S.conf geändert haben.Alt Jetzt aufgeteilt in thermal /etc/powersave. Aktualisieren des Systems und Paketverwaltung 85 . APM suspend) • standby (ACPI S1.4. APM suspend) • suspend to ram (ACPI S3. 86) ersichtlich. Von: • suspend (ACPI S4. „Packer“ (S. Wenn Sie die „event“-Variablen in /etc/ powersave.ooo-1. Bestehende Variablen wurden in die in Tabelle 3. ~/.org (OOo) Verzeichnisse: OOo wird nun in /usr/lib/ooo-1. Packer: Es gibt einige neue Packer für das Aufrufen der OOo-Komponenten.1 anstelle von /opt/OpenOffice.conf ist inzwischen veraltet.org installiert.3.1 ist nun anstelle von ~/OpenOffice. APM standby) OpenOffice. APM standby) In: • suspend to disk (ACPI S4.

KDE. --skip-check. --java-path. 86 Referenz .Tabelle 3. --gui. --lang (die Sprache wird nun anhand von Locales bestimmt).und GNOME-Erweiterungen stehen in den Paketen OpenOffice_org-kde und OpenOffice_org-gnome zur Verfügung.und GNOME-(GNU Network Objekt Model Environment-)Symbolen.und GNOME-Unterstützung KDE. Folgende Optionen werden nicht mehr unterstützt: --default-configuration. --messages-in-window und --quiet.4 Alt Packer Neu /usr/bin/oocalc /usr/bin/oodraw /usr/bin/ooimpress /usr/bin/oomath /usr/sbin/oopadmin – /usr/bin/oofromtemplate /usr/bin/ooweb /usr/bin/oowriter /usr/bin/ooffice /usr/bin/ooo-wrapper /usr/X11R6/bin/OOo-calc /usr/X11R6/bin/OOo-draw /usr/X11R6/bin/OOo-impress /usr/X11R6/bin/OOo-math /usr/X11R6/bin/OOo-padmin /usr/X11R6/bin/OOo-setup /usr/X11R6/bin/OOo-template /usr/X11R6/bin/OOo-web /usr/X11R6/bin/OOo-writer /usr/X11R6/bin/OOo /usr/X11R6/bin/OOo-wrapper Der Packer unterstützt nun die Option --icons-set für das Umschalten zwischen KDE.

Für High-End-Hardware stehen andere Mixer zur Verfügung. installiert.conf (5). nicht auf vmlinuz und initrd. der vor der Installation des neuen Kernel aktiv war. Der Zugriff auf den Kernel.previous möglich. und dieser Eintrag auf vmlinuz. ist die Installation und Deinstallation von der Shell aus mithilfe von rpm -i Paket. Aktualisieren des Systems und Paketverwaltung 87 .previous und initrd. die über diesen Patch verfügt. anschließend muss die ordnungsgemäße Funktion des neuen Kernel überprüft und der alte Kernel deinstalliert werden. Diese Funktion soll es Administratoren ermöglichen. envy24control (nur ICE1712) oder hdspmixer (nur RME Hammerfall). kann auf den zuvor aktiven Kernel zugegriffen werden. beispielsweise QAMix.previous und initrd . der dem Standardeintrag ähnelt.rpm problemlos möglich. Verwenden Sie dieses Programm anstelle von cdrecord-dvd mit dem Patch. einen Eintrag für die zusätzlichen Kernel hinzuzufügen. Vor dem Installieren mehrerer Kernel empfiehlt es sich. DVD+RL) gebrannt werden. Details finden Sie auf den GRUB-Infoseiten (info grub) und der Manualpage (Handbuchseite) lilo. um die Unterstützung für das Brennen von DVDs bereitzustellen. cdrecord-dvd. Brennen von DVDs In der Vergangenheit wurde ein Patch aus dem cdrecord-Paket auf die Binärdatei cdrecord angewendet. KAMix. Mehrere Kernel Es können mehrere Kernel gleichzeitig installiert werden. DVD-RW. Mit dem growisofs-Programm aus dem dvd+rw-tools-Paket können nun sämtliche DVD-Medien (DVD+R. Die standardmäßigen Bootloader-Menüs enthalten nur einen Kernel-Eintrag. Nun wird eine neue Binärdatei. Wenn ein Bootloader-Eintrag erstellt wird. DVD+RW. Obwohl YaST diese Funktion noch nicht unterstützt. DVD-R.previous verweist.kmix-Soundmixer Der kmix-Soundmixer ist standardmäßig voreingestellt. Alternativ unterstützen GRUB und LILO Platzhalter für Bootloader-Einträge. um die problemlose Auswahl zu ermöglichen. die Aufrüstung von einem Kernel auf einen anderen durch Installieren des neuen Kernel vorzunehmen. ist über vmlinuz.

keytab Sicherungsdateien Sicherungsdatei /etc/krb5. es kann auch eine URL als Installationsquelle angegeben werden.conf. muss lediglich der Parameter kpasswd_server durch admin_server ersetzt werden. Kerberos für die Authentifizierung im Netzwerk Kerberos ist anstelle von heimdal der Standard für die Netzwerkauthentifizierung. Dies ist normalerweise nicht erforderlich.conf /etc/krb5. Starten der manuellen Installation an der Kernel-Eingabeaufforderung Der Modus Manuelle Installation steht im Bootloader-Bildschirm nicht mehr zur Verfügung.5 Alte Datei /etc/krb5.5.heimdal /etc/krb5. „Sicherungsdateien“ (S. da die Installationsoptionen direkt an der Kernel-Eingabeaufforderung festgelegt werden können. Mit manual=1 an der Boot-Eingabeaufforderung kann linuxrc weiterhin in den manuellen Modus versetzt werden. 88) dargestellt.keytab. Bei einer Systemaktualisierung werden Sicherungskopien von Konfigurationsdateien erstellt.heimdal Die Client-Konfiguration (/etc/krb5.conf) ist mit der von heimdal weitgehend identisch. wie in Tabelle 3.com) zurate (Schlüsselwort: Besonderheiten).3“ (in der SUSE Support-Datenbank unter http://portal. Die serverbezogenen Daten (kdc und kadmind) können nicht kopiert werden. Nach der Systemaktualisierung steht die alte heimdal-Datenbank weiterhin unter /var/heimdal 88 Referenz .3 Ziehen Sie den Artikel „Bekannte Probleme und Besonderheiten in SUSE Linux 9.3.2. beispielsweise textmode=1.suse. Tabelle 3. Die automatische Konvertierung einer bestehenden heimdal-Konfiguration ist nicht möglich. Wenn keine besondere Konfiguration vorgenommen wurde.2 auf 9.3 Von 9.

die Veröffentlichung erfolgt gemäß GPL (GNU Public License). PAM-Konfiguration Neue Konfigurationsdateien (mit Kommentaren für mehr Information) common-auth Standardmäßige PAM-Konfiguration für auth-Abschnitt Aktualisieren des Systems und Paketverwaltung 89 .zur Verfügung.Org-Konfigurationsdatei Vom SaX2-Konfigurationswerkzeug werden die X. In der Vergangenheit wurde lediglich das XView(OpenLook-)Basissystem bereitgestellt. xview-devel-examples. die Partitionierung mit JFS wird jedoch von YaST nicht angeboten.conf erstellt Keine XView. X. Ein noch wichtigerer Punkt: OLVWM (OpenLook Virtual Window Manager) ist ebenfalls nicht mehr verfügbar.Org-Konfigurationseinstellungen in /etc/X11/xorg.und OpenLook-Unterstützung mehr Die Pakete xview. Der Kernel-Dateisystemtreiber ist weiterhin vorhanden. Die XView-Bibliotheken stehen nach der Systemaktualisierung nicht mehr zur Verfügung. Bei einer kompletten Neuinstallation wird kein Kompatibilitätslink zwischen XF86Config und xorg.conf geschrieben. olvwm und xtoolpl wurden verworfen. JFS: Nicht mehr unterstützt Aufgrund technischer Probleme wird JFS nicht mehr unterstützt. Tripwire ist unter SUSE Linux nicht mehr verfügbar. AIDE als Tripwire-Ersatz Verwenden Sie als System zur Erkennung von Eindringlingen (Intrusion Detection System) AIDE (Paketname aide). MIT-Kerberos verwaltet die Datenbank unter /var/lib/kerberos/ krb5kdc. xview-devel.

so pam_unix2.gz /etc --atime-preserve 90 Referenz . Wenn Sie über folgende Konfigurationsdatei verfügen (sollte bei den meisten Anwendungen der Standard sein): #%PAM-1.so pam_pwcheck.so pam_unix2. nach der Datei. wie --atime-preserve oder --numeric-owner. Das Anfügen von Optionen. Einer zu einem späteren Zeitpunkt installierten Anwendung werden die bereits angewendeten Änderungen vererbt und der Administrator muss nicht daran denken.oder Verzeichnisspezifikation führt dazu. eine einzige Datei zu ändern und zu verwalten.0 auth include account include password include session include common-auth common-account common-password common-session Strengere tar-Syntax Die tar-Verwendungssyntax ist nun strenger Die tar-Optionen müssen den Dateioder Verzeichnisspezifikationen vorangestellt werden.common-account Standardmäßige PAM-Konfiguration für account-Abschnitt common-password Standardmäßige PAM-Konfiguration für password-Abschnitt common-session Standardmäßige PAM-Konfiguration für Sitzungsverwaltung Sie sollten diese standardmäßigen Konfigurationsdateien aus Ihrer anwendungsspezifischen Konfigurationsdatei aufnehmen. dass bei tar ein Problem auftritt. Befehle dieser Art funktionieren nicht mehr: tar czf etc.so use_first_pass use_authtok /var/yp können Sie sie folgendermaßen ändern: #%PAM-1.tar.0 auth required account required password required password required #password required session required pam_unix2. Die Änderungen sind einfach.so pam_unix2. anstelle der etwa vierzig Dateien.so pam_make. Überprüfen Sie Ihre Sicherungsskripts. da es einfacher ist. die zuvor auf dem System vorhanden waren. die Konfiguration anzupassen.

Die Aktualisieren des Systems und Paketverwaltung 91 . Rufen Sie entweder su .auf. oder stellen Sie ALWAYS_SET_PATH auf yes (ja) in /etc/default/su ein. um eine Anmelde-Shell mit der vollständigen Umgebung für root zu starten.4 Von 9. wenn Sie das Standardverhalten von su ändern möchten.0 Ziehen Sie den Artikel „Bekannte Probleme und Besonderheiten in SUSE Linux 10“ (in der SUSE Support-Datenbank unter http://portal. Weitere Informationen finden Sie in Abschnitt 33. Einrichten von D-BUS für die prozessübergreifende Kommunikation in . „Konfigurieren des powersave-Pakets“ (S.1. Alle erforderlichen Aktionen können mit hotplug ausgeführt werden. powersave-Konfigurationsvariablen Namen der powersave-Konfigurationsvariablen wurden aus Konsistenzgründen geändert. 641). Das pcmcia-Startskript wurde entfernt und cardctl wird durch pccardctl ersetzt.com) zurate (Schlüsselwort: Besonderheiten).2. Durch den Aufruf dbus-launch wird dbus-daemon gestartet. Anmelden als Superuser mit su Standardmäßig wird durch den Aufruf von su zur Anmeldung als root der PATH für root nicht eingestellt. Stattdessen wird die Verwaltung. von einem KernelModul vorgenommen.3 auf 10. die sysconfig-Dateien sind unverändert. Weitere Informationen finden Sie in /usr/share/doc/packages/ pcmciautils/README.suse. wie bei Cardbus-Karten und anderen Teilsystemen.xinitrc In vielen Anwendungen wird jetzt D-BUS für die prozessübergreifende Kommunikation verwendet.SUSE. 3. PCMCIA Mit cardmgr ist die Verwaltung von PC-Karten nicht mehr möglich.Weitere Informationen finden Sie auf den tar-Infoseiten.5.

xinitrc-Datei hinzu.d/ntp. Die neuen Dateinamen lauten wie folgt: /etc/slp. müssen Sie diese entsprechend ändern. wie f-spot. Umbenannte NTP-bezogene Dateien Aus Gründen der Kompatibilität mit LSB (Linux Standard Base) wurden die meisten Konfigurationsdateien und das init-Skript von xntp in ntp umbenannt. Kopieren Sie anschließend die neue Vorlagendatei mit folgendem Befehl in Ihr Home-Verzeichnis: cp /etc/skel/.xinitrc Fügen Sie anschließend Ihre Anpassungen aus der gespeicherten . Stattdessen werden mit udevd alle Hotplug-Hilfswerkzeuge gemäß den entsprechenden Regeln direkt aufgerufen. 92 Referenz .xinitrc-Datei verwenden.reg.xinitrc. Das Ereignis-Multiplexer-System unter /etc/hotplug. Falls Sie eine lokale ~/.d/ntp /usr/sbin/rcntp /etc/sysconfig/ntp Über den udev-Daemon verarbeitete Hotplug-Ereignisse Hotplug-Ereignisse werden jetzt vollständig über den udev-Daemon (udevd) verarbeitet.template ~/. Fehler auftreten. Andernfalls können in Anwendungen. tomboy oder Network Manager banshee. Udev-Regeln und Hilfswerkzeuge werden von udev und verschiedenen anderen Paketen bereitgestellt.systemweite Datei /etc/X11/xinit/xinitrc verwendet dbus-launch zum Starten des Fenster-Managers.reg /etc/init. banshee.d wird nicht mehr verwendet. Speichern Sie die alte Version der Datei ~/ .xinitrc.d und /etc/dev.d/ntp /etc/logrotate.

Aktualisieren des Systems und Paketverwaltung 93 . Benachrichtigung bezüglich Dateisystemänderung für GNOME-Anwendungen Für eine ordnungsgemäße Funktionsweise der GNOME-Anwendungen ist die Unterstützung für Benachrichtigungen bei Dateisystemänderungen erforderlich.0 auf 10.com) zurate (Schlüsselwort: Besonderheiten). Von diesem Speicherort können Sie beispielsweise base/p4/html/tei. die nur von FAM unterstützt werden). GNOME (gnome-vfs2 und libgda) enthält einen Packer. 3. (Begründung: Inotify wird nur von gamin unterstützt und ist für lokale Dateisysteme effizienter.org/Stylesheets/teic/.suse.tei-c. wird FAM bevorzugt (Begründung: Wenn FAM ausgeführt wird. Installieren Sie auf ausschließlich lokalen Dateisystemen das gamin-Paket (bevorzugt) oder führen Sie den FAM-Daemon aus. Führen Sie für entfernte Dateisysteme sowohl auf dem Server als auch auf dem Client FAM aus und öffnen Sie die Firewall für RPC-Aufrufe durch FAM. der für die Bereitstellung der Benachrichtigung bezüglich Dateisystemänderungen gamin oder fam auswählt: • Wenn der FAM-Daemon nicht ausgeführt wird.2. Weitere Informationen finden Sie unter http://www.xsl für die HTML-(HyperText Markup Language-)Ausgabe verwenden.TEI-XSL-Stylesheets Die TEI-XSL-Stylesheets (tei-xsl-stylesheets) mit neuem Verzeichnislayout finden Sie in /usr/share/xml/tei/stylesheet/rahtz/current.) • Wenn der FAM-Daemon ausgeführt wird. möchten Sie wahrscheinlich entfernte Benachrichtigungen erhalten. wird gamin bevorzugt.1 Ziehen Sie den Artikel „Bekannte Probleme und Besonderheiten in SUSE Linux 10“ (in der SUSE Support-Datenbank unter http://portal.5 Von 10.

müssen Sie keine Änderungen vornehmen. mit der Anwendungen eine Firefox-Instanz oder ein Firefox-Fenster öffnen.apache. ob Firefox bereits ausgeführt wird oder nicht.org/docs/2. Der HTTP-Server Apache (S.2/upgrading. Wenn Firefox bereits ausgeführt wird. 485) komplett überarbeitet.org/docs/2. Die neue Methode stand teilweise bereits in älteren Versionen zur Verfügung. der mit dem runtime-Editor von YaST konfiguriert werden muss.5 wurde die Methode geändert. Er ist jetzt ein eigenständiger Daemon.2 wurde Kapitel 26.apache.html und unter http://httpd . Wenn in Ihrer Anwendung weder mozilla-xremote-client noch firefox -remote verwendet wird. in denen das Verhalten im Packer-Skript implementiert war. Seine Hauptprogramme sind rpm und rpmbuild. Über die Befehlszeile können Sie das Verhalten mit den Befehlen firefox -new-window url oder firefox -new-tab url beeinflussen. Starten von FTP-Servern (vsftpd) Der vsftpd-FTP-Server wird standardmäßig nicht mehr über xinetd gestartet.html finden Sie eine Beschreibung der neuen Funktionen. 94 Referenz . Allgemeine Informationen zur Aktualisierung erhalten Sie unter http:// httpd. 3.2 Für Apache Version 2.2/new_features_2_2.3 RPM . In der leistungsstarken RPM-Datenbank können Benutzer.der Paket-Manager In SUSE LINUX wird RPM (RPM Package Manager) für die Verwaltung der Softwarepakete verwendet. Firefox 1. Dabei spielt es keine Rolle. Systemadministratoren und Paketersteller ausführliche Informationen über die installierte Software abfragen. Andernfalls lautet der neue Befehl zum Öffnen von URLs firefox url.Apache 2.5: Befehl zum Öffnen von URLs In Firefox 1. wird die Einstellung unter Open links from other applications in (Links aus anderen Anwendungen öffnen in) verwendet.

Aktualisieren des Systems und Paketverwaltung 95 . die Pakete alsa-devel. damit auch normale Benutzer die Signatur von RPM-Paketen prüfen können.) in eigene Pakete ausgelagert. Solche Pakete sind am Namenszusatz -devel zu erkennen. um das jeweilige Softwarepaket zu konfigurieren.rpm können Sie die Signatur eines RPM-Pakets überprüfen und so feststellen. Pakete auf Integrität überprüfen und Pakete signieren. Installierbare RPM-Archive sind in einem speziellen binären Format gepackt. an einzelne RPM-Archive richten. oder die zu Dokumentationszwecken in der RPM-Datenbank gespeichert werden. Diese Entwicklungspakete werden nur benötigt. rpmbuild dient dazu. gimp-devel und kdelibs3-devel.1 Prüfen der Authentizität eines Pakets RPM-Pakete von SUSE LINUX sind mit GnuPG signiert. wenn Sie Software selbst kompilieren möchten – beispielsweise die neuesten GNOME-Pakete.Im Wesentlichen hat rpm fünf Modi: Softwarepakete installieren. Der Schlüssel mit dem „Fingerabdruck“ lautet: 1024D/9C800ACA 2000-10-19 SuSE Package Signing Key <build@suse.und Include-Dateien usw. die bei der Installation von rpm benutzt werden.gnupg/ hinterlegt. Anfragen an die RPM-Datenbank bzw. Dies ist insbesondere bei UpdatePaketen aus dem Internet zu empfehlen. Diese Archive bestehen aus den zu installierenden Programmdateien und aus verschiedenen Metadaten.rpm. de-installieren oder aktualisieren. ob es wirklich von SUSE Linux oder einer anderen vertrauenswürdigen Stelle stammt. die RPM-Datenbank neu aufbauen.de> Key fingerprint = 79C1 79B2 E1C8 20C1 890F 9994 A84E DAE8 9C80 0ACA Mit dem Befehl rpm --checksig paket-1. Der Schlüssel befindet sich zusätzlich im Verzeichnis /usr/lib/rpm/gnupg/. Der öffentliche Paketsignierschlüssel von SUSE Linux ist standardmäßig in /root/.2. installierbare Pakete aus den unverfälschten Quellen herzustellen. RPM-Archive haben für gewöhnlich die Dateinamenerweiterung . B. Header.3. TIPP: Pakete zur Software-Entwicklung Bei etlichen Paketen sind die zur Software-Entwicklung erforderlichen Komponenten (Bibliotheken.3. z. 3.

rpm.rpmsave (Sicherungsdatei) und installiert nur dann die Version aus dem neuen Paket. wenn seine Abhängigkeiten erfüllt sind und keine Konflikte mit anderen Paketen bestehen. Dieser Befehl entfernt die Dateien der alten Version und installiert sofort die neuen Dateien.spec-Datei angegeben wurde.rpmorig. wohingegen mit -F nur zuvor installierte Pakete aktualisiert werden. Im Hintergrund wacht die RPM-Datenbank darüber. • Falls eine Konfigurationsdatei vom Systemadministrator vor dem Update geändert wurde. Durch die Wahl anderer Optionen können Sie rpm zwingen. dass keine Konflikte entstehen: Eine spezifische Datei darf nur zu einem Paket gehören.3. 96 Referenz . speichert rpm die geänderte Datei mit der Erweiterung . dass mit -U auch Pakete installiert werden.rpmnew-Dateien erscheinen immer dann.2 Verwalten von Paketen: Installieren. Vergleichen Sie in diesem Fall die Sicherungsdatei (. Andernfalls wird damit die Integrität des Systems gefährdet und möglicherweise die Update-Fähigkeit aufs Spiel gesetzt. wenn die Konfigurationsdatei bereits existiert und wenn die Kennung noreplace mit der . installiert rpm die neue Version der entsprechenden Datei. rpm fordert per Fehlermeldung die Pakete an.rpmsave-Dateien. die zum Erfüllen der Abhängigkeiten installiert werden müssen. Löschen Sie anschließend unbedingt alle . • .rpm. z. um Probleme mit zukünftigen Updates zu vermeiden. wenn sich die ursprünglich installierte Datei und die neue Version unterscheiden. Aktualisieren und Deinstallieren Im Normalfall ist das Installieren eines RPM-Archivs ganz simpel: rpm -i paket. Bei einem Update verwendet rpm zur sorgfältigen Aktualisierung der Konfigurationsdateien die folgende Strategie: • Falls eine Konfigurationsdatei vom Systemadministrator nicht geändert wurde. Mit diesem Befehl wird das Paket aber nur dann installiert.3. die vorher nicht im System vorhanden waren. Es sind keine Eingriffe seitens des Administrators nötig. jedoch ist dies nur für Spezialisten gedacht. Die Optionen -U oder --upgrade und -F oder --freshen können für das Update eines Pakets benutzt werden. B.: rpm -F paket. diese Standards zu ignorieren.rpmorig oder .und . Der Unterschied zwischen den beiden Versionen besteht darin.rpmorig oder .rpmsave) mit der neu installierten Datei und nehmen Sie Ihre Änderungen erneut in der neuen Datei vor.

Im Fall von pine verwenden Sie den Befehl: Aktualisieren des Systems und Paketverwaltung 97 . Der Schalter -U ist nicht einfach gleichbedeutend mit der Deinstallation mit der Option -e und der Installation mit der Option -i.3 RPM und Patches Um die Betriebssicherheit eines Systems zu garantieren. wenn die Datei zuvor nicht von der RPMDatenbank erkannt wurde. ob der Systemadministrator die Konfigurationsdatei geändert hat. Jedoch bietet SUSE RPM nun eine Funktion.rpmsave verwendet. obwohl keine Abhängigkeiten mehr bestehen. Eine Liste all dieser Dateien ist in /var/adm/rpmconfigcheck verfügbar. rpm löscht das Paket nur. Theoretisch ist es unmöglich.rpmsave entsteht bei einem Update aus einem älteren RPM auf einen neueren RPM. indem das vollständige Paket ersetzt wurde. Mit anderen Worten: . Bisher konnte ein Fehler in einem Paket nur eliminiert werden.rpmsave. Verwenden Sie -U. wann immer möglich.rpmorig wird zugewiesen. Die wichtigsten Überlegungen dazu werden am Beispiel „pine“ aufgezeigt: Ist der Patch-RPM für mein System geeignet? Um dies zu prüfen. solange eine andere Anwendung Tcl/Tk noch benötigt. um den weiteren Betrieb zu ermöglichen. Die Erweiterung . damit sie bei zukünftigen Updates nicht stören. die RPM-Datenbank mit der Option --rebuilddb neu aufzubauen. 3. Geben Sie rpm -e paket ein. Andernfalls wird . beispielsweise Tcl/Tk zu löschen.3. Falls in einem Ausnahmefall ein solcher Löschvorgang nicht möglich ist. wenn Sie ein Paket entfernen möchten. kann es nützlich sein.rpmnew-Dateien nach einem Abgleich entfernt werden.Im Anschluss an ein Update sollten alle . fragen Sie zunächst die installierte Version des Pakets ab. Bei großen Paketen mit Fehlern in kleinen Dateien kann dies schnell zu großen Datenmengen führen.rpmorig entsteht bei einem Update von einem Fremdformat auf RPM.conf) werden nicht überschrieben. . mit der Patches in Pakete installiert werden können. .und . müssen von Zeit zu Zeit Update-Pakete auf dem System installiert werden. Auch in diesem Fall nutzt RPM die Datenbank zur Unterstützung.rpmnew informiert nicht darüber. wenn keine nicht aufgelösten Abhängigkeiten vorhanden sind. Einige Konfigurationsdateien (wie /etc/httpd/httpd.

i586. Zeigen Sie die Dateiliste mit dem folgenden Befehl an: rpm -qpPl pine-4. können Sie auch diese Information der RPM-Datenbank entnehmen.44-224 Wenn Sie zu einem späteren Zeitpunkt wissen möchten. Welche Patches sind bereits auf dem System installiert und zu welchen Paketversionen gehören sie? Eine Liste aller Patches.44-188 pine = 4.conf /etc/pine. Wenn nur ein Patch in einem neuen System installiert ist (wie in unserem Beispiel).conf.patch.44-207 Dieser Patch passt zu drei verschiedenen Versionen von pine. Für pine rufen Sie diese Information mit dem folgenden Befehl ab: 98 Referenz . Auch die im Beispiel installierte Version wird aufgeführt. ob der Patch-RPM sich für diese Version von pine eignet: rpm -qp --basedon pine-4. d. Der einzige Unterschied liegt darin. falls der Patch bereits installiert ist.i586. Welche Dateien werden durch den Patch ersetzt? Die durch einen Patch betroffenen Dateien können leicht im Patch-RPM abgelesen werden.44-224. den folgenden Befehl: rpm -qPl pine /etc/pine. h.fixed /usr/bin/pine Oder verwenden Sie.rpm -q pine pine-4.rpm /etc/pine.rpm pine = 4.patch. welche Paketversion ursprünglich installiert war. kann über den Befehl rpm -qPa angezeigt werden. sieht die Liste wie folgt aus: rpm -qPa pine-4.44-224.conf.44-188 Prüfen Sie dann. dass ein passender RPM bereits installiert sein muss.44-195 pine = 4.conf /etc/pine. der Patch kann installiert werden.fixed /usr/bin/pine Wie kann ein Patch-RPM im System installiert werden? Patch-RPMs werden wie normale RPMs verwendet. Der rpm-Parameter -P ermöglicht die Auswahl von speziellen PatchFunktionen. die im System installiert sind.

DeltaPakete herunterzuladen.rpm > old.44-188 Weitere Informationen. was beim Übertragen von Update-Paketen über das Internet von Vorteil ist.rpm delta info new. In diesem Fall benötigen Sie die Installationsmedien nicht. die installierten Dateien entsprechen. da ein Delta-RPM auch mit einem installierten RPM arbeiten kann.cpio delta writedeltarpm new.cpio new.rpm -q --basedon pine pine = 4.4 Delta-RPM-Pakete Delta-RPM-Pakete enthalten die Unterschiede zwischen einer alten und einer neuen Version eines RPM-Pakets. 3. ergibt dies einen vollständig neuen RPM. Mit der Einstellung no verwendet YOU lediglich Patch-RPMs und normale RPMs. versucht YOU.3. Die Delta-RPM-Pakete sind sogar kleiner als Patch-RPMs. stehen auf den Manualpages von rpm und rpmbuild zur Verfügung. aber der Download kann länger dauern. Wenn YOU_USE_DELTAS leer oder auf filesystem gesetzt ist.rpm Aktualisieren des Systems und Paketverwaltung 99 . dass Sie in diesem Fall Ihre Installationsmedien bereithalten. Damit YaST bei YOU-Sitzungen Delta-RPM-Pakete verwendet.rpm vorhanden sind: prepdeltarpm -s seq -i info old. dass UpdateVorgänge mit Delta-RPMs erheblich mehr CPU-Zyklen beanspruchen als normale oder Patch-RPMs. Es ist nicht erforderlich. writedeltarpm und applydeltarpm sind Teil der Delta-RPM-Suite (Paket deltarpm) und helfen Ihnen beim Erstellen und Anwenden von Delta-RPM-Paketen. dass old.delta.rpm rm old.cpio prepdeltarpm -f new. Die Binärdateien prepdeltarpm. Der folgende Befehl setzt voraus. Wenn Sie ein Delta-RPM auf ein altes RPM anwenden.rpm und new.cpio new. auch zur Patch-Funktion von RPM.delta. Der Nachteil ist. dass eine Kopie des alten RPM vorhanden ist.cpio xdelta delta -0 old. Mit den folgenden Befehlen erstellen Sie ein Delta-RPM mit dem Namen new.rpm > new.cpio delta Mit applydeltarpm können Sie den neuen RPM aus dem Dateisystem rekonstruieren.rpm new. wenn das alte Paket bereits installiert ist: applydeltarpm new.delta.rpm. setzen Sie YOU_USE_DELTAS in /etc/sysconfig/onlineupdate auf yes. Sorgen Sie dafür.

-c oder -d benutzen) Funktionen des Pakets auflisten. verwenden Sie die Option -r: applydeltarpm -r old.6. ein RPM-Archiv zu prüfen (durch Hinzufügen der Option -p) und auch die RPM-Datenbank nach installierten Paketen abzufragen.Um es aus dem alten RPM abzuleiten.) Dateiliste mit Statusinformation (impliziert -l) Nur Dokumentationsdateien auflisten (impliziert -l) Nur Konfigurationsdateien auflisten (impliziert -l) Dateiliste mit vollständigen Details (mit -l.rpm new. -R 100 Referenz .6 -i -l -f FILE Die wichtigsten RPM-Abfrageoptionen Paketinformation Dateiliste Abfrage nach Paket.rpm new. Siehe Tabelle 3. das die Datei FILE enthält. Tabelle 3. ohne auf das Dateisystem zuzugreifen.delta. die das Paket benötigt -s -d -c --dump --provides --requires. „Die wichtigsten RPM-Abfrageoptionen“ (S. die ein anderes Paket mit --requires anfordern kann Fähigkeiten. 3. (FILE muss mit dem vollständigen Pfad angegeben werden. 100).3.5 RPM-Abfragen Mit der Option -q initiiert rpm Abfragen und ermöglicht es.rpm Technische Details finden Sie in /usr/share/doc/packages/deltarpm/ README. Zur Angabe der benötigten Informationsart stehen mehrere Schalter zur Verfügung.

Sat 02 Oct 2004 03:59:56 AM CEST. Beispielsweise führt der folgende Befehl rpm -q -f /bin/rpm /usr/bin/wget zum Ergebnis: rpm-4.suse.2.1 Vendor: SUSE LINUX AG.de/feedback URL : http://wget.src.. [. „Skript für die Suche nach Paketen“ (S.1.] Die Option -f funktioniert nur.. postinstall. wenn Sie den kompletten Dateinamen mit dem vollständigen Pfad angeben. 101) gezeigte Information aus. This can be done in script files or via the command line. Beispiel 3.3.9.9. Übergeben Sie den partiellen Dateinamen als Parameter beim Aufruf des Skripts.de Group : Productivity/Networking/Web/Utilities Source RPM: wget-1.1-191 wget-1.suse. verwenden Sie ein Shell-Skript. Sie können so viele Dateinamen wie nötig angeben.dk/ Summary : A tool for mirroring FTP and HTTP servers Description : Wget enables you to retrieve WWW documents or FTP files from a server.9. „rpm -q -i wget“ (S.rpm Size : 1637514 License: GPL Signature : DSA/SHA1. wie in Beispiel 3.1-50.--scripts Installationsskripts (preinstall.2 rpm -q -i wget Name : wget Relocations: (not relocatable) Version : 1.1-50 Wenn nur ein Teil des Dateinamens bekannt ist. uninstall) Beispielsweise gibt der Befehl rpm -q -i wget die in Beispiel 3. Key ID a84edae89c800aca Packager : http://www. Aktualisieren des Systems und Paketverwaltung 101 . Nuernberg. 102) gezeigt.sunsite. Germany Release : 50 Build Date: Sat 02 Oct 2004 03:49:13 AM CEST Install date: Mon 11 Oct 2004 10:24:56 AM CEST Build Host: f53.

und Minor-Gerätenummern Eigentümer Gruppe Modus (Berechtigungen und Dateityp) Bei Konfigurationsdateien wird der Buchstabe c ausgegeben.Beispiel 3. Leiten Sie die Überprüfungen mit -V..5. die seit der Installation geändert wurden. Mit dieser Option zeigt rpm alle Dateien in einem Paket an. -y oder --verify ein.3 Skript für die Suche nach Paketen #! /bin/sh for i in $(rpm -q -a -l | grep $1)..T c /etc/wgetrc 102 Referenz .. Dieses Beispiel zeigt Informationen über das Paket rpm.7 5 S L T D U G M RPM-Überprüfungsoptionen MD5-Prüfsumme Dateigröße Symbolischer Link Änderungszeit Major. rpm verwendet acht verschiedene Zeichen als Hinweis auf die folgenden Änderungen: Tabelle 3. do echo "\"$i\" is in package:" rpm -q -f $i echo "" done Der Befehl rpm -q --changelog rpm zeigt eine detaillierte Liste der Änderungsinformation über ein bestimmtes Paket nach Datum sortiert. Mithilfe der installierten RPM-Datenbank sind Überprüfungen möglich. Beispielsweise für Änderungen an /etc/wgetrc (wget): rpm -V wget S.

etc. gepatcht und kompiliert.6 Installieren und Kompilieren von Quellpaketen Alle Quellpakete von SUSE Linux haben die Erweiterung .3. Nur installierte Betriebssystemsoftware wird in der RPM-Datenbank aufgeführt. die Datenbank mit der Option --rebuilddb neu zu erstellen.src. insbesondere nach einem kompletten Update. Wenn die Partition /usr eine Größe von 1 GB aufweist. Die Größe einer einzelnen Sicherungskopie beträgt ungefähr 1 MB für 1 GB in /usr.gz files.tar. Wenn Sie ein Quellpaket „installieren“. 3.spec-Dateien. TIPP Quellpakete können vom Installationsmedium auf die Festplatte kopiert und mit YaST entpackt werden. Das cron-Skript cron. Sie haben spezielle Einstellungen in einer Datei. Aktualisieren des Systems und Paketverwaltung 103 . kann diese Datenbank beinahe 30 MB belegen.patch-Dateien) SPECS für die .diff. Das liegt daran. dass die Quellpakete nicht in der RPM-Datenbank eingetragen sind. die ähnlich wie Meta-Makefiles den build-Prozess steuern BUILD Alle Quellen in diesem Verzeichnis werden entpackt. wie /etc/rpmrc. Legen Sie zuvor eine Sicherungskopie der alten Datenbank an.) und für die distributionsspezifischen Anpassungen (meistens .bz2 oder . Wenn die Datenbank viel größer als erwartet ist.tar. wird dem System nur der Quellcode hinzugefügt.rpm (Source-RPM). Die Anzahl der Kopien wird durch die Variable MAX_RPMDB_BACKUPS (Standard: 5) in /etc/sysconfig/ backup gesteuert. Die folgenden Verzeichnisse müssen für rpm und rpmbuild in /usr/src/ packages vorhanden sein (es sei denn. Sie werden im Paket-Manager jedoch nicht als installiert ([i]) gekennzeichnet.Die Dateien der RPM-Datenbank werden in /var/lib/rpm abgelegt. kann es nützlich sein. festgelegt): SOURCES für die originalen Quellen (.daily legt täglich (mit gzip gepackte) Kopien der Datenbank an und speichert diese unter /var/adm/backup/rpmdb.oder .

ist es möglich.tar.spec wird die Kompilierung gestartet. rpm.RPMS Speicherort der fertigen Binärpakete SRPMS Speicherort der Quell-RPMs Wenn Sie ein Quellpaket mit YaST installieren. WARNUNG Experimentieren Sie nicht mit Systemkomponenten (glibc.9.1-brokentime.patch /usr/src/packages/SOURCES/wget-1.9.9. 104 Referenz . da Sie damit die Funktionstüchtigkeit Ihres Systems aufs Spiel setzen. jedoch zusätzlich die erstellte Software installieren.src. -bc Wie -bp.diff /usr/src/packages/SOURCES/wget-1. werden alle erforderlichen Komponenten in /usr/src/packages installiert: die Quellen und Anpassungen in SOURCES und die relevante .spec Mit rpmbuild -b X /usr/src/packages/SPECS/wget.rpm-Paket. jedoch zusätzlich kompilieren.patch /usr/src/packages/SPECS/wget.). Das folgende Beispiel verwendet das wget. -bi Wie -bp.spec-Datei in SPECS.1-passive_ftp. Nach dem Installieren des Pakets mit YaST sollten Sie über Dateien ähnlich wie in folgender Liste verfügen: /usr/src/packages/SOURCES/nops_doc.diff /usr/src/packages/SOURCES/toplev_destdir.diff /usr/src/packages/SOURCES/wget-LFS-20040909. Vorsicht: Wenn das Paket die Funktion BuildRoot nicht unterstützt.1+ipvmisc.patch /usr/src/packages/SOURCES/wget-1. X ist ein Platzhalter für verschiedene Stufen des build-Prozesses (Einzelheiten siehe in --help oder der RPM-Dokumentation). Nachfolgend wird nur eine kurze Erläuterung gegeben: -bp Bereiten Sie Quellen in /usr/src/packages/BUILD vor: entpacken und patchen.bz2 /usr/src/packages/SOURCES/wget-wrong_charset. sysvinit usw. dass Konfigurationsdateien überschrieben werden.

Im Unterschied zu rpm sucht der Befehl build die SPEC-Datei im Quellverzeichnis. Wenn Sie. dass während der Erstellung ungewollt Dateien in das laufende System kopiert werden. Der erstellte Binär-RPM kann nun mit rpm -i oder vorzugsweise mit rpm -U erstellt werden. jedoch zusätzlich das Binärpaket erstellen. verwenden Sie als Benutzer root folgende Befehle: cd /usr/src/packages/SOURCES/ mv .spec Anschließend wird unter /var/tmp/build-root eine minimale Umgebung in /var/tmp/ build-root eingerichtet. wget neu erstellen möchten und die DVD unter /media/dvd im System eingehängt ist.7 Kompilieren von RPM-Pakten mit „build“ Bei vielen Paketen besteht die Gefahr. Nach erfolgreicher Kompilierung sollte dieses in /usr/src/packages/RPMS liegen. Um dies zu vermeiden. -ba Wie -bb. Zum Aufbau dieser chroot-Umgebung muss dem build-Skript ein kompletter Paketbaum zur Verfügung stehen. können Sie build verwenden. Ihre eigenen RPMs bevorzugt zu verwenden.. Legen Sie die Position mit build --rpms verzeichnis fest. Beispielsweise können Sie das Skript veranlassen. Nach erfolgreicher Kompilierung sollte das Binärpaket in /usr/src/packages/RPMS sein. Das Paket wird in dieser Umgebung erstellt. das eine definierte Umgebung herstellt. Durch die Installation mit rpm wird er in die RPM-Datenbank aufgenommen. build --rpms /media/dvd/suse/ wget. Dieser kann auf Festplatte. jedoch zusätzlich den Quell-RPM erstellen. wie im obigen Beispiel.spec ./SPECS/wget. in der das Paket erstellt wird. Das build-Skript bietet eine Reihe zusätzlicher Optionen. über NFS oder auch von DVD bereitgestellt werden. Danach befinden sich die resultierenden Pakete in /var/tmp/build-root/usr/src/ packages/RPMS. 3. --short-circuit Einige Schritte überspringen. die Initialisierung Aktualisieren des Systems und Paketverwaltung 105 .-bb Wie -bi.3.

3. Archive werden als virtuelle Dateisysteme dargestellt und bieten alle üblichen Menüoptionen von Midnight Commander.8 Werkzeuge für RPM-Archive und die RPM-Datenbank Midnight Commander (mc) kann den Inhalt von RPM-Archiven anzeigen und Teile daraus kopieren. ↑Start)). Kopieren Sie Archivkomponenten mit F5 . Ein Paket-Manager mit allen Funktionen ist als YaST-Modul verfügbar (siehe Abschnitt „Installieren und Entfernen von Software“ (Kapitel 2. Systemkonfiguration mit YaST. 106 Referenz . KDE bietet das Werkzeug kpackage als Frontend für rpm an. Weitere Informationen erhalten Sie über build --help oder die Manualpage build. Zeigen Sie die Archivstruktur mit den Cursortasten und der Eingabe an.der build-Umgebung auszulassen oder den Befehl rpm auf eine der oben erwähnten Stufen zu beschränken.3. Zeigen Sie den HEADER mit F3 an.

Administration .Teil II.

.

1. können Sie die KernelFunktionen verwenden. 4. mit denen Netzwerkpakete so bearbeitet werden können. Mit SSH (Secure Shell) können Sie sich über eine verschlüsselte Verbindung bei entfernten Hosts anmelden. In den technischen Anleitungen erhalten Sie Informationen über Sicherheitsaspekte von Linux-Netzwerken. Mithilfe von iptables – einer generischen Tabellenstruktur für die Definition von Regelsätzen – können Sie präzise steuern.1 Paketfilterung mit iptables Die Komponenten netfilter und iptables sind verantwortlich für das Filtern und Bearbeiten von Netzwerkpaketen sowie für NAT (Network Address Translation. dass Dritte Zugriff auf Ihr System erhalten. Übersetzung der Netzwerkadressen). die die verschiedenen Netzwerke voneinander trennt. dass zwischen internen und externen Netzwerkbereichen unterschieden wird. 4 4.Sicherheit in Linux Masquerading und eine Firewall stellen einen kontrollierten Datenfluss und Datenaustausch sicher. Die Verschlüsselung von Dateien oder ganzen Partitionen schützt Ihre Daten für den Fall. Das LinuxNetfilter-Framework ermöglicht die Einrichtung einer wirksamen Firewall. welche Pakete eine Netzwerkschnittstelle passieren dürfen.1 Masquerading und Firewalls Wann immer Linux in einer Netzwerkumgebung eingesetzt wird. Ein derartiger Paketfilter kann schnell und einfach mithilfe von SuSEfirewall2 und dem entsprechenden YaSTModul eingerichtet werden. Die Filterkriterien und alle dazugehörigen Aktionen werden Sicherheit in Linux 109 .

a. Der Linux-Kernel verwaltet drei Tabellen. entschieden. wobei jede einzelne für eine bestimmte Kategorie von Funktionen des Paketfilters dient: Filter Diese Tabelle enthält die meisten Filterregeln. bei dem es sich um einen Spezialfall von NAT handelt und der eingesetzt wird. die in IPHeadern gespeichert sind (z.in Ketten gespeichert. Die für den Vergleich zu verwendenden Ketten werden in Tabellen gespeichert. den Typ des Diensts). 110 Referenz . Mit dem Befehl iptables können Sie diese Tabellen und Regelsätze bearbeiten. welche Pakete durchgelassen (ACCEPT) oder abgelehnt (DROP) werden.und Zieladressen von Paketen definiert. um private Netzwerke mit dem Internet zu verbinden. mangle Die Regeln in dieser Tabelle ermöglichen das Bearbeiten von Werten. die nacheinander mit den einzelnen eingehenden Netzwerkpaketen verglichen werden müssen. Hier wird u. B. da sie die eigentliche Paketfilterung implementiert. nat In dieser Tabelle werden alle Änderungen an den Quell. Mithilfe dieser Funktionen können Sie das Masquerading implementieren.

1 iptables: Die möglichen Wege eines Pakets PREROUTING Eingehendes Paket mangle nat EINGABE mangle Filter Routing WEITERLEITEN Prozesse im lokalen System Filter mangle AUSGABE Routing mangle nat Filter POSTROUTING mangle nat Ausgehendes Paket Diese Tabellen enthalten mehrere vordefinierte Ketten.Abbildung 4. mit denen die Pakete verglichen werden: Sicherheit in Linux 111 .

WEITERLEITEN Diese Kette wird auf Pakete angewendet. EINGABE Diese Kette wird auf Pakete angewendet. die an interne Prozesse des Systems adressiert sind.PREROUTING Diese Kette wird auf eingehende Pakete angewendet. „iptables: Die möglichen Wege eines Pakets“ (S. Abbildung 4. dass es tatsächlich den Regeln der Tabelle filter entspricht. Nach den INPUT-Ketten der Tabellen mangle und filter erreicht das Paket schließlich sein Ziel. Das Paket wird zunächst an die Kette PREROUTING der Tabelle mangle und anschließend an die Kette PREROUTING der Tabelle nat weitergegeben. der als Gateway zwischen 112 Referenz . dass das tatsächliche Ziel des Pakets ein Prozess des Systems selbst ist. 4.2 Grundlegendes zum Masquerading Masquerading ist der Linux-Spezialfall von NAT (Network Address Translation). POSTROUTING Diese Kette wird auf alle ausgehenden Pakete angewendet. Der Einfachheit halber werden in dieser Abbildung die Tabellen als Teile von Ketten dargestellt. „Netzmasken und Routing“ (S.1.1. Damit die LAN-Hosts eine Verbindung zum Internet herstellen können. In Wirklichkeit sind diese Ketten jedoch in den Tabellen selbst enthalten. um ein kleines LAN (in dem die Hosts IP-Adressen aus dem privaten Bereich verwenden – siehe Abschnitt 18. vorausgesetzt. 349)) mit dem Internet (in dem offizielle IP-Adressen verwendet werden) zu verbinden. das an das System selbst adressiert ist. Im folgenden Schritt des Paket-Routings wird ermittelt. die aus dem System selbst stammen. Es kann verwendet werden. der Übersetzung von Netzwerkadressen. Dies geschieht auf dem Router. AUSGABE Diese Kette wird auf Pakete angewendet. die ein Netzwerkpaket auf einem System durchlaufen kann.1.2. Im einfachsten aller möglichen Fälle geht ein eingehendes Paket. 111) zeigt die Wege. müssen ihre privaten Adressen in eine offizielle Adresse übersetzt werden. die durch das System nur weitergeleitet werden. an der Schnittstelle eth0 ein.

Wenn einer der LAN-Hosts ein Paket an eine Internetadresse sendet. Dieser passive Modus ist in Bezug auf die Paketfilterung und das Masquerading weitaus problemloser. Um den Router entsprechend zu aktivieren. Zudem verfügt eine eingerichtete Verbindung in der Tabelle über einen zugeordneten Status. ist es nicht möglich. Sicherheit in Linux 113 . Der Zielhost der Verbindung kann Ihren Router sehen. Netscape. z. cucme. Anderenfalls können die Pakete nicht ordnungsgemäß weitergeleitet werden. Als Folge davon können bei einigen Anwendungsprotokollen. Da das Routing des eingehenden Verkehrs von der Masquerading-Tabelle abhängig ist. Für eine derartige Verbindung gibt es in der Tabelle keinen Eintrag.dem LAN und dem Internet agiert. Das zugrunde liegende Prinzip ist einfach: Der Router verfügt über mehrere Netzwerkschnittstellen. sodass dieser Tabelleneintrag nicht von einer zweiten Verbindung genutzt werden kann. Die Zieladresse für Anwortpakete ist wegen der Adressübersetzung wieder der Router. eth0) des Routers verbunden sind. Aus diesem Grund wird diese Technik als Masquerading bezeichnet. IRC (DCC. setzen Sie die Variable IP_FORWARD in der Datei /etc/ sysconfig/sysctl auf IP_FORWARD=yes. von dem die Pakete stammen. dass sowohl die BroadcastAdresse als auch die Netzmaske für alle lokalen Hosts identisch sind. Bevor der Router jedoch derartige Pakete weiterleiten kann. wird es zunächst zum Standardrouter weitergeleitet. erfährt aber nichts über den Host im internen Netzwerk. WICHTIG: Verwenden der richtigen Netzmaske Stellen Sie beim Konfigurieren des Netzwerks sicher. Der Router muss die eingehenden Pakete identifizieren und ihre Zieladressen übersetzen. die nicht an das lokale Netzwerk adressiert sind. CTCP) und FTP (im PORT-Modus) Probleme auftreten. B. muss er entsprechend konfiguriert werden. In SUSE Linux ist diese Funktion in einer Standardinstallation aus Sicherheitsgründen nicht aktiviert. B. Letztere verbindet den Router mit der Außenwelt und eine oder mehrere andere Schnittstellen verbinden ihn mit den LAN-Hosts. senden Sie alle Pakete. das StandardFTP-Programm und viele andere Programme verwenden den PASV-Modus. an ihr Standard-Gateway (den Router). Wenn diese Hosts im lokalen Netzwerk mit der Netzwerkkarte (z. von außen eine Verbindung zu einem internen Host herzustellen. ICQ. sodass die Pakete an den richtigen Host im Netzwerk weitergeleitet werden können. in der Regel eine Netzwerkkarte und eine separate Schnittstelle für die Verbindung mit dem Internet.

lesen Sie die HOWTO-Informationen mit dem Befehl less /usr/share/doc/howto/en/txt/Firewall-HOWTO. -Proxy interagiert. der mit einem Anwendungs-Gateway bzw. Ein Paketfilter untersucht jedoch nicht den Inhalt dieser Pakete. die an das Anwendungs-Gateway adressiert sind. Dieses Gateway bzw. Genau genommen ist die in diesem Abschnitt beschriebene Firewall eigentlich ein Paketfilter. Ein effektiverer.3 Grundlegendes zu Firewalls Firewall ist wohl der am weitesten verbreitete Begriff für einen Mechanismus. sofern sie legitim adressiert sind. z. werden vom Proxy aus dem Internet geholt. B. um mehrere iptables-Regeln zu generieren. muss der Browser für die Kommunikation über den Proxy konfiguriert sein. der zwei Netze miteinander verbindet und gleichzeitig für möglichst kontrollierten Datenverkehr sorgt. Das Paket könnte insofern einen Angriff auf ein CGI-Programm auf Ihrem Webserver enthalten und wird vom Paketfilter trotzdem durchgelassen. Alle angeforderten HTTP-Seiten werden aus dem Proxy-Cache bedient und Seiten. Weitere Informationen zu Paketfiltern und Firewalls finden Sie in der Datei „Firewall HOWTO“. der eigentliche Client des Servers zu sein. Es werden nur die Pakete angenommen. Ein Beispiel für einen derartigen Proxy ist Squid. Wenn dieses Paket installiert ist. In diesem Sinn kann ein solcher Proxy auf der Protokollebene der jeweiligen Anwendung als Masquerading-Host angesehen werden. Ein weiteres Beispiel ist die SUSE-Proxy-Suite (proxy-suite). In diesem Fall lehnt der Paketfilter alle Pakete ab. Im folgenden Abschnitt wird der zum Lieferumfang von SUSE Linux gehörende Paketfilter beschrieben. Um Squid verwenden zu können. ein HTTP-Proxyserver.4. Wenn Sie beispielsweise den öffentlichen Zugriff auf Ihren Webserver zulassen möchten. die aufgrund ihrer Adressierung Ihr Netz nicht erreichen sollen. Auf diese Weise können Sie Pakete blockieren. 4.gz. das die in /etc/sysconfig/SuSEfirewall2 gesetzten Variablen ausliest. müssen Sie den entsprechenden Port explizit öffnen. die im Cache nicht gefunden werden.1.1. also beispielsweise mit Ihrem Webserver als Ziel. dieser Proxy gibt vor. wenn auch komplexerer Mechanismus ist die Kombination mehrerer Systeme. die an deaktivierte Ports adressiert sind. die einen Proxy für das FTP-Protokoll zur Verfügung stellt. Ports und IP-Adressen.4 SuSEfirewall2 SuSEfirewall2 ist ein Skript. Ein Paketfilter regelt den Datenfluss anhand von bestimmten Kriterien wie Protokollen. Es definiert 114 Referenz . die im Paket howto enthalten ist. ein Paketfilter.

Interne Zone Diese Zone bezieht sich auf das private Netzwerk.1.drei Sicherheitszonen. „Netzmasken und Routing“ (S. 349)) verwenden. Die Konfiguration kann mit YaST ausgeführt werden (siehe „Konfiguration mit YaST“ (S. Wenn die Hosts in diesem Netzwerk IP-Adressen aus dem privaten Bereich (siehe Abschnitt 18. wobei es sich in den meisten Fällen um ein LAN handelt. die sehr gut kommentiert ist. sowohl vom externen als auch vom internen Netzwerk aus erreicht werden können. die von entfernten Hosts stammen. In den meisten Fällen handelt es sich bei dem externen Netzwerk um das Internet.2. Lokal generierte Pakete werden von der Firewall nicht erfasst. da die DMZ-Systeme vom internen Netzwerk isoliert sind. die sich in dieser Zone befinden. Diese Konfiguration kann als zusätzliche Verteidigungslinie vor das interne Netzwerk gesetzt werden. muss der Host vor diesem geschützt werden. Demilitarisierte Zone (DMZ) Während Hosts. Zudem stehen weitere Beispielszenarien in /usr/share/doc/packages/SuSEfirewall2/EXAMPLES zur Verfügung. müssen Sie NAT (Network Address Translation) aktivieren. Diese Regelsätze gelten jedoch nur für Pakete. Sie lässt sich jedoch auch manuell in der Datei /etc/sysconfig/ SuSEfirewall2 vornehmen. Daher muss jede Schnittstelle mit eingehendem Verkehr einer der drei Zonen zugeordnet werden. Sicherheit in Linux 115 . B. der gemäß der Filterregel nicht explizit erlaubt ist. es könnte aber auch ein anderes unsicheres Netzwerk sein. damit Hosts im internen Netzwerk auf externe Hosts zugreifen können. Legen Sie für alle Zonen die zulässigen Dienste und Protokolle fest. 116)). obwohl nur die erste und die zweite Zone in der folgenden Beispielkonfiguration berücksichtigt werden: Externe Zone Davon ausgehend. dass es keine Möglichkeit gibt. wird durch iptables unterdrückt. Vorgänge im externen Netzwerk zu steuern. ein WLAN. Jegliche Art von Netzwerkverkehr. können sie selbst nicht auf das interne Netzwerk zugreifen. z.

auf die Sie über die Baumstruktur auf der linken Seite direkt zugreifen können. In einer Standardinstallation wird SuSEfirewall2 automatisch gestartet. Die Konfiguration ist in sieben Abschnitte aufgeteilt. kann YaST die automatisch generierte Firewall-Konfiguration mit den Optionen Firewall-Ports auf ausgewählten Schnittstellen öffnen oder Firewall-Port öffnen in den Serverkonfigurationsmodulen ändern. Außerdem können Sie in diesem Dialogfeld die Firewall starten und stoppen. Der Zugriff auf die YaST-Dialogfelder für die grafische Konfiguration erfolgt über das YaST-Kontrollzentrum. wählen Sie Einstellungen speichern und Firewall nun neu starten. deaktiviert oder neu konfiguriert werden. Die Firewall kann mit dem YaST-Firewall-Konfigurationsmodul aktiviert. Einige Servermodul-Dialogfelder enthalten die Schaltfläche Firewall-Details zum Aktivieren zusätzlicher Dienste und Ports. Um die neuen Einstellungen für eine aktive Firewall zu übernehmen. Wählen Sie Sicherheit und Benutzer → Firewall. Start In diesem Dialogfeld legen Sie das Startverhalten fest.Konfiguration mit YaST WICHTIG: Automatische Firewall-Konfiguration Im Anschluss an die Installation startet YaST automatisch eine Firewall für alle konfigurierten Schnittstellen. Wenn ein Server auf dem System konfiguriert und aktiviert ist. 116 Referenz .

z. B. Anforderungen vom externen an das interne Netzwerk werden blockiert.2 Die YaST-Firewall-Konfiguration Schnittstellen Hier werden alle bekannten Netzwerkschnittstellen aufgelistet. Mit der Option Benutzerdefiniert können Sie auch eine spezielle Schnittstelle mit eigenen Einstellungen erstellen. markieren Sie sie.Abbildung 4. klicken Sie auf Bearbeiten und wählen Sie Keine Zone zugewiesen. Das System ist standardmäßig nur vor externen Zonen geschützt. Erlaubte Dienste Diese Option benötigen Sie. und ermöglichen den Hosts im internen Netzwerk gleichzeitig den transparenten Zugriff auf das externe Netzwerk. Aktivieren Sie die Dienste nach Auswahl der gewünschten Zone in Erlaubte Dienste für gewählte Zone. die den externen Hosts zur Verfügung stehen sollen. dem Internet. der extern sichtbar ist. Anforderungen aus dem internen Netzwerk werden scheinbar vom Masquerading-Server ausgegeben. Um eine Schnittstelle zu einer Zone hinzuzufügen. Wenn dem externen Netzwerk spezielle Dienste eines Sicherheit in Linux 117 . vor der es geschützt ist. Sie müssen alle Dienste explizit zulassen. Um eine Schnittstelle aus einer Zone zu entfernen. markieren Sie sie. klicken Sie auf Bearbeiten und wählen Sie anschließend eine der verfügbaren Zonen. Masquerading Mit der Masquerading-Funktionalität verbergen Sie das interne Netzwerk vor externen Netzwerken. um einer Zone Dienste Ihres Systems zur Verfügung zu stellen.

Wenn Sie die Firewall-Konfiguration abgeschlossen haben. Protokollierungs-Level Für die Protokollierung gibt es zwei Regeln: eine für akzeptierte und eine für nicht akzeptierte Pakete. Nicht akzeptierte Pakete werden verworfen (DROPPED) oder abgelehnt (REJECTED). Dies kann problematisch sein. da sich Windows-Hosts über Broadcasts miteinander bekannt machen und daher viele Pakete generieren.oder Masquerading-Konfiguration bezieht. IPsec-Unterstützung In diesem Dialogfeld konfigurieren Sie. Fügen Sie die erforderlichen Nummern der Ports oder Dienste getrennt durch Leerzeichen für die entsprechende Zone hinzu. Hier können Sie auch das Protokollieren von Broadcasts aktivieren. Manuelle Konfiguration In den folgenden Abschnitten sind detaillierte Anweisungen für eine erfolgreiche Konfiguration enthalten. fügen Sie für den Dienst eine spezielle Umadressierungsregel hinzu. Sie sind nur für komplexere Netzwerkinfra- 118 Referenz . Weitere Informationen hierzu finden Sie in der Datei /etc/services. die nicht akzeptiert werden. Die in der Konfigurationsdatei erwähnten Aspekte. Ports und Protokolle aufgelistet. welche Pakete als verbürgt angesehen werden sollen. die Broadcasts zulassen sollen. Wählen Sie die Option Alles protokollieren. Wählen Sie Übernehmen.internen Computers zur Verfügung gestellt werden sollen. ob dem externen Netzwerk der IPsec-Dienst zur Verfügung stehen soll. ob er sich auf die Firewall. Für jeden Konfigurationsschritt wird angegeben. Mit der Option Zurück können Sie die Konfiguration ändern. Anschließend wird eine zonenbezogene Zusammenfassung der Firewall-Konfiguration geöffnet. die nicht akzeptiert werden. Broadcast In diesem Dialogfeld konfigurieren Sie die UDP-Ports. Nur kritische protokollieren oder Keine protokollieren für beide Regeln. um die Konfiguration zu speichern. um dieses Dialogfeld zu schließen. In dieser Zusammenfassung sind alle zulässigen Dienste. wählen Sie Weiter. die mit der DMZ (Demilitarisierte Zone) in Zusammenhang stehen. Unter Details konfigurieren Sie. Aktivieren Sie darin alle Einstellungen. werden hier nicht näher erläutert.

Geben Sie für eine ISDN-Verbindung ippp0 ein. da ihre private Netzwerkadressen (z. 192.168.x. durch Leerzeichen getrennt an. Sie sollten den externen Zugriff auf das interne Netzwerk in der Regel jedoch nicht zulassen. wenn zwischen den Hosts des internen Netzwerks und dem Internet ein Proxyserver geschaltet ist. B.d/rc?. Setzen Sie diese Variable für Firewalls ohne Masquerading auf yes. privaten Netzwerk verbundene Gerät (z. Dadurch werden symbolische Links für die SuSEfirewall2_*-Skripts in den Verzeichnissen unter /etc/init. FW_DEV_INT (Firewall.d/ angelegt. Für die von einem Proxyserver zur Verfügung gestellten Dienste ist das Masquerading nicht erforderlich. FW_MASQUERADE (Masquerading) Setzen Sie diese Variable auf yes.0/24 192. Es ist jedoch weitaus sicherer. geben Sie auto an. machen Sie keine Angaben. wenn der Zugriff auf das interne Netzwerk zugelassen werden soll. Die internen Hosts sind von außen nicht sichtbar. setzen Sie diese Variable auf yes. Masquerading) Wenn Sie die Masquerading-Funktion benötigen. FW_DEV_EXT (Firewall.10. eth0). Masquerading) Das mit dem internen.x) von Internetroutern ignoriert werden. FW_MASQ_NETS (Masquerading) Geben Sie die Hosts oder Netzwerke.0. B. für die die Masquerading-Funktion aktiviert werden soll. Beispiel: FW_MASQ_NETS="192.1" Sicherheit in Linux 119 . Um die der Standardroute entsprechende Schnittstelle zu verwenden. wenn Sie die Masquerading-Funktion benötigen.168. Aktivieren Sie zunächst mit dem YaST-Runlevel-Editor SuSEfirewall2 für Ihren Runlevel (wahrscheinlich 3 oder 5). Wenn es kein internes Netzwerk gibt und die Firewall nur den Host schützt. Für DSL-Verbindungen geben Sie dsl0 ein. Geben Sie für eine Modemverbindung ppp0 ein. Masquerading) Das mit dem Internet verbundene Gerät. In diesem Fall müssen die internen Computer offiziell zugewiesene IP-Adressen haben.strukturen größerer Unternehmen (Corporate Networks) relevant. die eine aufwändige Konfiguration und umfassende Kenntnisse erfordern. Dadurch wird den internen Hosts eine virtuelle direkte Verbindung zum Internet zur Verfügung gestellt. auf dem sie ausgeführt wird.168. FW_ROUTE (Firewall.

Die Dokumentation von nmap befindet sich im Verzeichnis /usr/share/doc/ packages/nmap und die Dokumentation von nessus ist nach der Installation des entsprechenden Pakets im Verzeichnis /usr/share/doc/packages/ nessus-core enthalten. DHCP und anderen verwendet.168. Prüfen Sie anschließend /var/log/messages.0 DST=192. TFTP. Geben Sie in diesem Fall die zu verwendenden UDP-Ports an. Diese Variable muss nur gesetzt werden. es sei denn. FW_SERVICES_EXT_TCP (Firewall) Geben Sie die zu öffnenden TCP-Ports an. ob die Verbindung tatsächlich abgelehnt wird.10. Sie möchten einen aktiven UDP-Dienst verfügbar machen. 120 Referenz . die in der Regel keine Dienste benötigt. FW_SERVICES_INT_TCP (Firewall) Mit dieser Variablen legen Sie die für das interne Netzwerk verfügbaren Dienste fest. Testen Sie im Anschluss an die Konfiguration die Firewall. um den Firewall-Host vor Angriffen aus dem internen Netzwerk zu schützen. Die Notation ist dieselbe wie für FW_SERVICES_EXT_TCP. Testen Sie auf einem externen Host anschließend beispielsweise mit telnet. UDP wird von Diensten wie DNS-Servern. Dem internen Netzwerk stehen nur die explizit aktivierten Dienste zur Verfügung. Für eine normale Arbeitsstation. müssen Sie hier keine Angaben machen. FW_SERVICES_EXT_UDP (Firewall) Lassen Sie dieses Feld leer. Die Firewall-Regeln werden erstellt.168. indem Sie SuSEfirewall2 start als root eingeben. IPSec. wenn FW_PROTECT_FROM_INT auf yes gesetzt ist.1 LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=15330 DF PROTO=TCP SPT=48091 DPT=23 WINDOW=5840 RES=0x00 SYN URGP=0 OPT (020405B40402080A061AFEBC0000000001030300) Weitere Pakete zum Testen der Firewall-Konfiguration sind „nmap“ oder „nessus“. aber die Einstellungen werden auf das interne Netzwerk angewendet. wo Sie ähnliche Einträge wie die folgenden sehen sollten: Mar 15 13:21:38 linux kernel: SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC=00:80:c8:94:c3:e7:00:a0:c9:4d:27:56:08:00 SRC=192.10. FW_SERVICES_INT_UDP (Firewall) Siehe FW_SERVICES_INT_TCP. Weitere Informationen hierzu finden Sie auch unter FW_SERVICES_INT_TCP und FW_SERVICES_INT_UDP.FW_PROTECT_FROM_INT (Firewall) Setzen Sie diese Variable auf yes.

netfilter.oder root-Zugriff zu erhalten oder in andere Systeme einzudringen. rlogin. das traditionelle FTP-Protokoll und einige Kopierverbindungen zwischen Computern. das illegale Konto könnte auch benutzt werden. Das bedeutet gewöhnlich.2. Zwar ist auch mit SSH weiterhin das Abfangen der übertragenen Daten möglich. In der Vergangenheit wurden Fernverbindungen mit telnet aufgebaut. doch ist der Inhalt verschlüsselt und kann nur entziffert werden. rsh. Es gibt andere ungeschützte Kommunikationskanäle. sogar ohne dass der autorisierte Benutzer etwas davon bemerkt.1 Das Paket OpenSSH SUSE Linux installiert das Paket OpenSSH standardmäßig. scp und sftp als Alternative für telnet.5 Weitere Informationen Die aktuellsten Informationen sowie weitere Dokumentationen zum PaketSuSEfirewall2 finden Sie im Verzeichnis /usr/share/doc/packages/ SuSEfirewall2. Die komplette Authentifizierung (gewöhnlich Benutzername und Passwort) und Kommunikation sowie sämtlicher Datenaustausch zwischen den Hosts erfolgen hier verschlüsselt. Daher stehen Ihnen die Programme ssh. 4. SUSE Linux bietet SSH-Funktionen mit dem Paket OpenSSH an. um Zugriff auf dieses Benutzerkonto zu erhalten. B.1. So wird durch SSH sichere Kommunikation über unsichere Netze wie das Internet möglich. auf Hosts von einem entfernten Standort aus zuzugreifen.4. wenn der Schlüssel bekannt ist. 4. rcp und ftp zur Ver- Sicherheit in Linux 121 . dass ein Benutzer zur Authentifizierung Zeichenfolgen für Anmeldung und Passwort sendet. Die SSH-Software liefert den gewünschten Schutz. können sie abgefangen und missbraucht werden.org bietet eine umfassende Sammlung von Dokumenten in zahlreichen Sprachen. das gegen Ausspionierung keine Vorkehrungen in Form von Verschlüsselung oder anderen Sicherheitsmechanismen trifft.2 SSH: Sicherer Netzwerkbetrieb Mit der steigenden Anzahl installierter Computer in Netzwerkumgebungen wird es häufig nötig. um Administrator. Solange diese Zeichenfolgen als Klartext übertragen werden. Die Homepage der Projekte „netfilter“ und „iptables“ unter der Adresse http://www. Damit wären nicht nur alle Dateien des Benutzers für einen Angreifer zugänglich. z.

fügung. Wenn sich die Benutzernamen auf earth und sun unterscheiden. Eine Option -l existiert für diesen Befehl nicht. B. Es ersetzt somit gleichermaßen telnet und rlogin.2. arbeiten. Das Programm slogin ist lediglich ein symbolischer Link.2. z. Nur so wird auch der zweite Befehl auf dem Host sun ausgeführt. Befehle auf einem entfernten System auszuführen. Nach erfolgreicher Authentifizierung können Sie dort in der Befehlszeile oder interaktiv.04. load average: 0. In der Standardkonfiguration ist der Zugriff auf ein SUSE Linux-System nur mit den OpenSSH-Dienstprogrammen möglich.tex sun: die Datei MyLetter.02 Anführungszeichen sind hier zum Zusammenfassen der beiden Anweisungen in einem Befehl erforderlich. 0. mkdir tmp" tux@otherplanet's password: 1:21pm up 2:17. Darüber hinaus bietet ssh die von rsh bekannte Möglichkeit. Nachdem das Passwort eingegeben wurde. Sollten sich der lokale Benutzername und der auf dem entfernten System unterscheiden. Beispielsweise kopiert scp MyLetter. 4.3 scp .2 Das ssh-Programm Mit ssh können Sie Verbindung zu einem entfernten System aufnehmen und dort interaktiv arbeiten. können Sie einen abweichenden Namen angeben. Es ist ein sicherer und verschlüsselter Ersatz für rcp. geben Sie den letzteren im Format benutzername@host an. Zudem wird am rechten Rand die geschätzte Restübertragungszeit (bis zum 122 Referenz . und nur wenn dies die Firewall erlaubt. 9 users.sicheres Kopieren scp kopiert Dateien auf einen entfernten Computer. beginnt scp mit der Datenübertragung und zeigt dabei den Fortschritt durch einen von links nach rechts anwachsenden Balken aus Sternen an. Der Host fordert Sie dann zur Eingabe des Passworts am System sun auf. 0. ssh otherplanet "uptime. B.15. Im folgenden Beispiel wird der Befehl uptime auf dem Host sun ausgeführt und ein Verzeichnis mit dem Namen tmp angelegt. mit YaST. z. Die Programmausgabe erfolgt auf dem lokalen Terminal des Hosts earth. ssh -l augustine sun oder ssh augustine@sun.tex vom Host earth auf den Host sun. Sie können sich z. mit dem Befehl ssh sun auf dem Rechner sun anmelden. 4. der auf ssh weist.B.

Bei einer sftp-Sitzung können Sie viele bereits von ftp bekannte Befehle verwenden. Die Option -p weist scp an. Der Befehl scp -r src/ sun:backup/ kopiert den kompletten Inhalt des Verzeichnisses src einschließlich aller Unterverzeichnisse in das Unterverzeichnis backup auf dem Host sun. 4. Das Programm sftp ist gegenüber scp vor allem beim Übertragen von Daten. Das Unterverzeichnis wird automatisch angelegt. Die Schlüsselpaare bestehen jeweils aus einem privaten und einem öffentlichen (engl. Jegliche Ausgabe kann durch die Option -q unterdrückt werden.2. darf ausschließlich der Systemadministrator die Dateien der privaten Schlüssel einsehen. Während des ersten Starts generiert der Daemon drei Schlüsselpaare. deren Dateinamen unbekannt sind.pub erkennbar) an den Client weitergegeben. 4. Dadurch wird das zu übertragende Datenvolumen minimiert. Eine Verbindung wird vom SSH-Client eingeleitet.2.und Softwareversion abzugleichen und eine Verbindung durch den falschen Port auszuschlie- Sicherheit in Linux 123 . public) Teil.5 Der SSH-Daemon (sshd) – Serverseite Damit die SSH-Clientprogramme ssh und scp eingesetzt werden können. Die Dateirechte werden durch die Standardinstallation entsprechend eingestellt. Deshalb wird dies als ein Public-Key-basiertes Verfahren bezeichnet. wenn es noch nicht existiert.Erreichen des rechten Balkenendes) angezeigt. -C sorgt für komprimierte Datenübertragung. Demgegenüber werden die öffentlichen Schlüsselbestandteile (an der Namenserweiterung . scp bietet auch ein rekursives Kopierverfahren für ganze Verzeichnisse. um die Protokoll. aber der Prozessor stärker belastet. Um die Sicherheit der Kommunikation über SSH zu gewährleisten. muss im Hintergrund der SSH-Daemon laufen und an TCP/IP-Port 22 auf Verbindungen warten. der die Verbindung anfordert. Die privaten Schlüssel werden lediglich lokal vom SSH-Daemon benötigt und dürfen an niemanden weitergegeben werden.sichere Dateiübertragung Das Programm sftp kann anstelle von scp zur sicheren Dateiübertragung verwendet werden. Sie sind für alle Benutzer lesbar. Der wartende SSH-Daemon und der anfragende SSH-Client tauschen Identifikationsdaten aus.4 sftp . den Zeitstempel von Dateien unverändert zu belassen. von Vorteil.

Diese einleitende Phase der Verbindung lässt sich mithilfe der Fehlersuchoption -v des SSH-Clients genau beobachten.nroff). der nicht in ~/. folgen Sie den Anweisungen in /usr/share/ doc/packages/openssh/README. Der SSH-Client teilt dem Server zudem die gewählte Verschlüsselungsmethode (engl. Jedoch kann mit dem Schalter -1 auch Version 1 des SSH-Protokolls erzwungen werden. Derartige Angriffe fallen entweder durch einen Host-Schlüssel auf. sind gleichzeitig viele SSH-Verbindungen möglich. Anhand dieser beiden verschlüsselt der SSH-Client einen von ihm frei gewählten Sitzungsschlüssel und sendet diesen an den SSH-Server. Der Client legt nach der ersten Kontaktaufnahme mit einem entfernten Host alle öffentlichen HostSchlüssel in ~/. die in /etc/ssh/ abgelegten privaten und öffentlichen Schlüssel extern und gut geschützt zu archivieren.ßen. Beide Seiten verwenden einen Algorithmus nach Diffie-Hellman. um ihre Schlüssel auszutauschen. Version 2 des SSH-Protokolls wird standardmäßig verwendet. Version 2 des SSH-Protokolls kommt ohne den Server-Schlüssel aus. d. Nach einer Neuinstallation von SUSE Linux wird automatisch die aktuelle Protokoll-Version 2 eingesetzt.ssh/known_hosts ab. So können Änderungen der Schlüssel erkannt 124 Referenz . Da ein untergeordneter Prozess des ursprünglichen SSH-Daemons antwortet. oder durch die Unfähigkeit des Servers. wie Sie in wenigen Schritten eine SSH 1-Umgebung in eine funktionierende SSH 2Umgebung umwandeln. Name und IP-Adresse eines anderen vorzutäuschen.ssh/known_hosts enthalten ist. cipher) mit. Möchten Sie nach einem Update weiterhin SSH 1 beibehalten.SuSE. Es empfiehlt sich. Dort ist ebenfalls beschrieben. Bei Verwendung der SSH Protokoll-Version 1 sendet der Server dann seinen öffentlichen Host-Schlüssel und einen stündlich vom SSH-Daemon neu generierten Server-Schlüssel. h. Versuche von fremden SSH-Servern. So können so genannte „man-in-the-middle“Angriffe unterbunden werden. Somit kann allein der kontaktierte SSH-Daemon mit seinen privaten Schlüsseln den Sitzungsschlüssel entziffern (siehe man /usr/share/doc/packages/openssh/RFC. Die zur Entschlüsselung des Sitzungsschlüssels zwingend erforderlichen privaten Hostund Server-Schlüssel können nicht aus den öffentlichen Teilen abgeleitet werden. den Sitzungsschlüssel mangels des passenden privaten Gegenstücks zu entschlüsseln. OpenSSH unterstützt zur Kommunikation zwischen SSH-Server und SSH-Client das SSH-Protokoll in den Versionen 1 und 2.

Wie bei den abzulösenden Programmen rsh und rlogin muss deshalb auch SSH eine im Alltag einfach zu nutzende Authentifizierungsmethode bieten. indem Sie am Anfang der Datei . Verwenden Sie keine kurzen und einfachen Wörter oder Phrasen.pub. Verwenden Sie ssh-keygen -p -t rsa oder ssh-keygen -p -t dsa. 4. Ziel von SSH war die Einführung einer sicheren.ssh/authorized_keys.xsession die Variable usessh auf yes setzen und sich über einen Display-Manager. B. SSH realisiert dies mithilfe eines weiteren Schlüsselpaares. indem Sie den Passwortsatz wiederholen. wie bereits oben erwähnt. Wenn sichergestellt ist. das für die Dauer einer X-Sitzung private Schlüssel bereithält. aber zugleich bedienerfreundlichen Software. z. Dazu liefert das SSH-Paket ein Hilfsprogramm: ssh-keygen.ssh/known_hosts entfernt werden. Dazu wird die gesamte X-Sitzung als untergeordneter Prozess von ssh-agent gestartet. Dies erspart den Benutzern beunruhigende Warnungen. ausgegeben. dass es sich trotz der Warnung um den korrekten SSH-Server handelt. Kopieren Sie den öffentlichen Teil des Schlüssels (in unserem Beispiel id_rsa. um Ihren alte Passwortsatz zu ändern.pub) auf den entfernten Computer und speichern Sie ihn dort unter ~/. Sie erreichen dies am einfachsten. das vom Benutzer erzeugt wird. anmelden. Anschließend wird der Speicherort des privaten und öffentlichen Schlüssels. die in ihrer einfachsten Form aus der Eingabe eines Passworts besteht. Alternativ können Sie ssh-agent startx verwenden. in unserem Beispiel der Dateien id_rsa und id_rsa. KDM oder XDM. Sollte dies nicht der Fall sein. Nach der Eingabe von ssh-keygen -t rsa oder ssh-keygen -t dsa wird das Schlüsselpaar generiert und der Basisdateiname zur Ablage der Schlüssel erfragt. Zur Authentifizierung werden Sie beim nächsten Verbindungsaufbau nach Ihrem Passwortsatz gefragt. Sicherheit in Linux 125 . Auf Dauer ist diese Vorgehensweise mühsamer als die Eingabe eines Passworts. sollte bei der hier beschriebenen Vorgehensweise ein Text von 10 bis 30 Zeichen Länge gewählt werden. Bestätigen Sie die Eingabe. überprüfen Sie bitte Ort und Inhalt dieser Dateien. ssh-agent.6 SSH-Authentifizierungsmechanismen Nun erfolgt die eigentliche Authentifizierung. Bestätigen Sie die Voreinstellung und beantworten Sie die Frage nach einem Passwortsatz Auch wenn die Software einen leeren Passwortsatz vorschlägt. Entsprechend liefert das SSH-Paket ein weiteres Werkzeug.2.und nach einer Neuinstallation die alten wieder eingespielt werden. muss der vorhandene Eintrag zu diesem System aus ~/.

Durch Hinzufügen der Option -A wird der Authentifizierungsmechanismus von sshagent auf den nächsten Computer mit übernommen. sind auch in der Datei /usr/share/doc/packages/ openssh/README. Gleichzeitig unterbindet dies die bisher bestehenden Abhörmöglichkeiten bei entfernt aufgerufenen und lokal betrachteten XAnwendungen. In den folgenden Beispielen wird SSH angewiesen. wenn Sie zuvor Ihren öffentlichen Schlüssel auf die beteiligten Zielhosts verteilt und dort korrekt gespeichert haben. ssh kann auch zur Umleitung von TCP/IP-Verbindungen benutzt werden. die sich mit der Einführung von Version 2 des SSH-Protokolls ergeben haben.7 X-. Allerdings ist das nur möglich. So können Sie an unterschiedlichen Computern arbeiten.und Weiterleitungsmechanismen Über die zuvor beschriebenen sicherheitsbezogenen Verbesserungen hinaus erleichtert SSH auch die Verwendung von entfernten X-Anwendungen. POP3-Port umzuleiten: ssh -L 25:sun:25 earth Mit diesem Befehl wird jede Verbindung zu Port 25 (SMTP) von earth auf den SMTPPort von sun über den verschlüsselten Kanal weitergeleitet.ssh/config permanent aktiviert werden. Alle wichtigen Änderungen. werden Sie jetzt nicht mehr nach Ihrem Passwort gefragt.Nun können Sie ssh oder scp wie gewohnt verwenden. Beenden Sie beim Verlassen Ihres Computers Ihre X-session unbedingt oder sperren Sie ihn durch eine entsprechende Anwendung. Sofern Sie Ihren öffentlichen Schlüssel wie oben beschrieben verteilt haben. wird auf dem entfernten Computer automatisch die DISPLAYVariable gesetzt und alle X-Ausgaben werden durch die bestehende SSH-Verbindung an den entfernten Computer exportiert. Beide Mechanismen sind in der Voreinstellung deaktiviert. Insoweit Sie ssh mit der Option -X aufrufen. Authentifizierungs. B. können jedoch in der systemweiten Konfigurationsdatei /etc/ssh/sshd_config oder der benutzereigenen Datei ~/. Dies ist insbesondere für Benutzer von SMTP-Servern ohne SMTP-AUTH oder POP-before-SMTP-Funktionen von Nutzen. ohne ein Passwort eingeben zu müssen.2. xlock. den SMTP. E-Mail kann so von jedem beliebigen Ort mit Netzanschluss zur Ausliefe- 126 Referenz .SuSE dokumentiert. z. 4.bzw.

In der folgenden Liste sind einige mögliche Szenarien beschrieben. empfiehlt es sich. Wenn Sie Ihr Notebook verlieren oder es gestohlen wird. wenn diese Sicherheit in Linux 127 . wenn Sie Ihren Computer verloren haben oder er gestohlen wird und unbefugte Personen Ihre vertraulichen Daten lesen möchten. Je vernetzter und mobiler Sie arbeiten. desto sorgfältiger sollten Sie im Umgang mit Ihren Daten sein. können alle Benutzer mit den entsprechenden Berechtigungen darauf zugreifen. hat jeder Benutzer. 4. die kein unberechtigter Dritter einsehen sollte. da die Verbindung zu privilegierten. Analog können mit folgendem Befehl alle POP3-Anfragen (Port 110) an earth auf den POP3-Port von sun weitergeleitet werden: ssh -L 110:sun:110 earth Beide Befehle müssen Sie als Benutzer root ausführen. Notebooks Wenn Sie mit Ihrem Notebook reisen. können Fremde nicht auf Ihre Daten zugreifen. lokalen Ports erfolgt. Der SMTP.3 Verschlüsseln von Partitionen und Dateien Vertrauliche Daten. die vertrauliche Daten enthalten. Das Verschlüsseln von Medien ergibt dann Sinn. Die Verschlüsselung von Dateien oder von ganzen Partitionen macht immer dann Sinn.und POP3-Host muss für diese Aufgabe auf localhost konfiguriert werden. dass die in diesem Abschnitt beschriebenen Methoden nicht Ihr laufendes System vor Manipulation schützen können. zu verschlüsseln. wenn Dritte entweder über eine Netzwerkverbindung oder direkt Zugriff auf das System haben. Bei bestehender SSH-Verbindung wird E-Mail wie gewohnt als normaler Benutzer verschickt und abgerufen. Zusätzliche Informationen entnehmen Sie den Manualpages für die einzelnen Programme und den Dateien unter /usr/share/doc/packages/openssh. alle Festplattenpartitionen.rung durch den „home“-Mailserver übertragen werden. Nachdem die verschlüsselten Medien erfolgreich eingehängt wurden. WARNUNG: Das Verschlüsseln von Medien bietet nur eingeschränkten Schutz Beachten Sie.

Das in Abschnitt „Partitionierung“ (Kapitel 2. Anlegen einer verschlüsselten Partition während der Installation WARNUNG: Passworteingabe Beachten Sie bei der Passworteingabe die Warnungen zur Passwortsicherheit und merken Sie sich das Passwort gut. Ohne das Passwort können Sie die verschlüsselten Daten weder öffnen noch wiederherstellen. Die Standardpartitionierung. Arbeitsstationen In Unternehmen. ↑Start) beschriebene YaST-Expertendialogfeld für die Partitionierung bietet die Möglichkeit zum Anlegen einer verschlüsselten Partition. Systemkonfiguration mit YaST. 4. Auch in diesem Fall bietet ein verschlüsseltes Dateisystem Schutz gegen den unbefugten Zugriff durch Dritte.sich in einem verschlüsselten Dateisystem oder in einer einzelnen verschlüsselten Datei befinden. da sie sich in das vorhandene Partitionsschema problemlos einfügt. die gewünschte Formatierung und den 128 Referenz . Dateien oder Partitionen zu verschlüsseln.3. z. Es wird ein Dialogfeld geöffnet. in denen fast jede Person auf Ihren Computer zugreifen kann. wie sie YaST bei der Installation vorschlägt. Sie müssen sie im Partitionsdialogfeld manuell hinzufügen. Partitionen oder einzelne Dateien zu verschlüsseln. Zum Verschlüsseln einer gesamten Partition legen Sie eine zu verschlüsselnde Partition im Partitionsschema fest. in dem Sie die Partitionierungsparameter für die neue Partition. Wechselmedien USB-Flash-Laufwerke oder externe Festplatten sind ebenso diebstahlgefährdet wie Notebooks.1 Einrichten eines verschlüsselten Dateisystems mit YaST YaST bietet Ihnen sowohl während der Installation als auch im installierten System die Möglichkeit. Klicken Sie wie beim Anlegen einer normalen Partition auf Anlegen. Eine verschlüsselte Datei kann jederzeit erstellt werden. sieht keine verschlüsselte Partition vor. B. empfiehlt es sich.

Verneinen Sie anschließend die Nachfrage. das Betriebssystem setzt den Bootvorgang wie gewohnt fort und blockiert somit den Zugriff auf Ihre Daten. ob Sie das Passwort erneut eingeben möchten. hängen Sie sie aus mit unmount Name_der_Partition. Beim Booten des Systems werden Sie vor dem Einhängen der Partition zur Eingabe des Passworts aufgefordert. Geben Sie im folgenden Dialogfeld das Passwort zweimal ein. um zu verhindern.Einhängepunkt. um fortzufahren. Klicken Sie auf Ja. Die neue verschlüsselte Partition wird erstellt. Einrichten einer verschlüsselten Partition im laufenden System WARNUNG: Aktivieren der Verschlüsselung auf einem laufenden System Das Anlegen verschlüsselter Partitionen auf einem laufenden System erfolgt wie das Anlegen der Partitionen während der Installation. wenn Sie das Dialogfeld durch Klicken auf OK schließen. aktivieren Sie die Option Nicht beim Systemstart einhängen im Dialogfeld Optionen für Fstab. Die betreffende Partition wird beim Booten des Systems nicht eingehängt. drücken Sie Eingabe . Sicherheit in Linux 129 . Wählen Sie auf einem laufenden System im YaST-Kontrollzentrum die Option System → Partitionierung. wenn Sie zur Eingabe des Passworts aufgefordert werden. dass andere Benutzer auf sie zugreifen. hängen Sie sie manuell ein mit mount Name_der_Partition Einhängepunkt. Durch das Verschlüsseln einer vorhandenen Partition werden jedoch alle darauf enthaltenen Daten zerstört. wenn Sie dazu aufgefordert werden. festlegen können. indem Sie auf Dateisystem verschlüsseln klicken. Führen Sie alle verbleibenden Schritte wie oben beschrieben aus. sondern wählen Sie Bearbeiten. Schließen Sie den Prozess ab. Geben Sie das Passwort ein. Wenn das verschlüsselte Dateisystem nur bei Bedarf eingehängt werden soll. Klicken Sie nicht wie oben beschrieben auf Anlegen. Wenn die verschlüsselte Partition nicht während des Bootvorgangs eingehängt werden soll. Um sie anschließend verfügbar zu machen. Das verschlüsselte Dateisystem wird in diesem Fall nicht eingehängt. Nach dem Einhängen steht die Partition allen Benutzern zur Verfügung. Wenn Sie die Partition nicht mehr benötigen.

vi fordert Sie auf.3. da die vi-Verschlüsselung nicht sehr stark ist. dass bei eingehängter Partition root immer auf die Daten zugreifen kann. kann vi im verschlüsselten Modus verwendet werden. dass diese Medien beim Booten des Systems eingehängt werden sollen. Um die Sicherheit noch mehr zu erhöhen.2 Verschlüsseln des Inhalts von Wechselmedien Wechselmedien wie externe Festplatten oder USB-Sticks werden von YaST ebenso erkannt wie andere Festplatten auch. Geben Sie allerdings nicht an. da sie in der Regel nur an das laufende System angeschlossen werden. können Sie die verschlüsselte Textdatei in einer verschlüsselten Partition ablegen. Wählen Sie Kryptodatei und geben Sie den Pfad zu der zu erstellenden Datei sowie den Platzbedarf der Datei an. ein neues Passwort festzulegen und verschlüsselt anschließend den Inhalt der Datei. Verschlüsseln von Dateien mit vi Der Nachteil verschlüsselter Partitionen ist. Dies wird empfohlen. Sie werden mithilfe eines LoopDevice eingehängt und verhalten sich wie normale Partitionen. Diese werden im selben YaST-Dialogfeld erstellt. dass sie dem System hinzugefügt werden können. ob das verschlüsselte Dateisystem beim Booten des Systems eingehängt werden soll. Dateien oder Partitionen auf solchen Medien können wie oben beschrieben verschlüsselt werden. ohne dass die Festplatte neu partitioniert werden muss. 4. Bei jedem Zugriff auf die Datei fordert vi das richtige Passwort an. 130 Referenz . Übernehmen Sie die Voreinstellungen für die Formatierung und den Dateisystemtyp.Installieren verschlüsselter Dateien Anstelle einer Partition können Sie für vertrauliche Daten in einzelnen Dateien auch verschlüsselte Dateisysteme erstellen. Um dies zu verhindern. Geben Sie zur Bearbeitung einer neuen Datei vi -x Dateiname ein. Der Vorteil verschlüsselter Dateien ist. Geben Sie anschließend den Einhängepunkt an und legen Sie fest.

Die Immunisierung eines Systems besteht im Wesentlichen aus dem Erstellen und Pflegen des AppArmor-Profilsatzes und der Überwachung aller Richtlinienverstöße oder Ausnahmen. und der Operationen. Mit Novell AppArmor brauchen Sie für die Programme. wenn sich die Softwarekonfiguration oder der gewünschte Aktionsumfang ändert. und Profile für diese Anwendungen anlegen.4. Mit AppArmor kann der Administrator den Bereich der Aktivitäten angeben. die Berechtigungen vermitteln. Dann müssen die Programme so gut wie möglich abgesichert werden. Als einzige Aufgabe muss der Administrator eine strenge Zugriffsrichtlinie und Ausführungsberechtigungen für jede Anwendung festlegen. AppArmor wird mit mehreren Werkzeugen geliefert. die in Ihrer Umgebung Angriffen ausgesetzt sind. die durch Angriffe gefährdet sind. Sicherheit in Linux 131 . die das Programm ausführen darf. um verdächtige Programme auf die geringste Berechtigungsstufe einzuschränken. Aktualisierungen oder Änderungen der Anwendungsprofile sind nur erforderlich. AppArmor bietet einfach zu handhabende Werkzeuge für Profilaktualisierungen oder -änderungen. wenn ein Fehler dem Angreifer erlaubt. h.4 Einschränken von Berechtigungen mit AppArmor Viele Sicherheitsrisiken resultieren aus Fehlern in vertrauenswürdigen Programmen. Für die wirksame Immunisierung eines Computersystems muss die Anzahl der Programme minimiert werden. sich diese Berechtigung zu verschaffen. AppArmor verlangt keine Programmierung oder den Einsatz von Skripts. die ein Angreifer gerne hätte. die immunisiert werden muss. Das Programm kann dieses Vertrauen nicht rechtfertigen. auf die das Programm zugreifen darf. die Sie bei der Profilerstellung unterstützen. nur Profile zu erstellen und verringern damit den Aufwand für die Immunisierung Ihres Computers erheblich. die insbesondere konzipiert wurde. Ein vertrauenswürdiges Programm läuft mit einer Berechtigung. dass Programme ihre Aufgaben erfüllen und keine anderen Aktionen ausführen. Novell® AppArmor ist eine Lösung für Anwendungssicherheit. indem er ein Sicherheitsprofil für diese Anwendung entwickelt — d. Administratoren müssen sich nur um die Anwendungen kümmern. Die Erstellung von AppArmor-Profilen zur Einschränkung einer Anwendung ist sehr bequem und einfach. eine Liste der Dateien. AppArmor-Profile erzwingen die Einhaltung von Richtlinien und stellen damit sicher. die durch die Protokollfunktion von AppArmor aufgezeichnet werden. die das Programm ausführen darf.

132 Referenz .4. können diesen Abschnitt überspringen. um die erforderlichen Pakete zu installieren. 3 Verwenden Sie die Suchfunktion von YaST (Schlüsselwort „AppArmor“).Benutzer bemerken AppArmor gar nicht. Diese Anleitung umreißt die grundlegenden Aufgaben. Wenn keine dieser Desktop-Optionen installiert oder sogar eine vollständig textbasierte Umgebung geplant ist.0-Administrationshandbuch. 2 Wählen Sie im YaST-Kontrollzentrum Software → Software-Management. die mit AppArmor ausgeführt werden müssen. muss der Administrator das Profil dieser Anwendung für die entsprechende Verhaltensweise anpassen. um ein System wirksam zu schützen. führen Sie mithilfe des YaST-Paket-Managers die folgenden Schritte aus. wählen Sie Beenden. Es läuft „im Hintergrund“ und erfordert keinerlei Benutzereingriffe. 4. um den Paket-Manager zu beenden. Wenn eine Aktivität der Anwendung nicht durch ein AppArmor-Profil abgedeckt ist oder durch AppArmor verhindert wird.oder die KDE-Desktop-Auswahl installieren. Die Leistung wird durch AppArmor nicht merklich eingeschränkt. die eine GNOME.1 Installation von Novell AppArmor Benutzer. 5 Nachdem YaST die Systemkonfiguration aktualisiert hat. Ausführlichere Informationen finden Sie im Novell AppArmor 2. 1 Melden Sie sich als root an und starten Sie YaST. um die folgenden Pakete zu installieren: • • • • • • apparmor-parser libapparmor apparmor-docs yast2-apparmor apparmor-profiles apparmor-utils 4 Wählen Sie alle diese Pakete für die Installation aus und wählen Sie dann Übernehmen. YaST löst etwaige Abhängigkeiten auf und installiert alle Pakete automatisch. da Novell AppArmor standardmäßig als Teil dieser Optionen installiert wird.

dass es bei jedem Systemstart gestartet wird.4. 2 Starten Sie System → Systemdienste (Runlevel). Siehe Abbildung 4. müssen Sie es explizit aktivieren.3. 3 Wählen Sie in der Diensteliste apparmor aus.2 Aktivieren von Novell AppArmor Nachdem Novell AppArmor installiert wurde. Verwenden Sie für diese Aufgabe die YaST-Systemdienste (Runlevel): 1 Melden Sie sich als root an und starten Sie YaST. um sicherzustellen. Abbildung 4.3 Aktivieren von Novell AppArmor mithilfe von YaST Mithilfe des YaST-Runlevel-Werkzeugs aktivieren Sie Dienste permanent – diese Einstellungen bleiben auch einen Neustart Ihres Systems in Kraft.4. Um AppArmor temporär – nur für die Dauer einer Sitzung – zu aktivieren. 133). gehen Sie wie folgt vor: Sicherheit in Linux 133 . 5 Klicken Sie zum Übernehmen der Einstellungen auf Beenden. „Aktivieren von Novell AppArmor mithilfe von YaST“ (S. 4 Klicken Sie zur permanenten Aktivierung von AppArmor auf Aktivieren.

die ein Profil brauchen. 4. die ein Profil erhalten sollen“ (S. 134 Referenz . 4 Aktualisieren Sie Ihre Profile. 135).1 Melden Sie sich als root an und starten Sie YaST. 4 Übernehmen Sie die Einstellungen mit Fertig. Andernfalls müssen Sie auf Sicherheitsereignisse reagieren. Weitere Informationen dazu finden Sie unter „Wählen der Anwendungen. indem Sie auf Konfigurieren → Aktivieren → OK klicken. 2 Starten Sie Novell AppArmor → AppArmor-Kontrollleiste. indem Sie AppArmor-Berichte erzeugen und auf Sicherheitsereignisse reagieren. 3 Bleiben Sie auf dem Laufenden über die Vorgänge auf Ihrem System. 2 Erstellen Sie die erforderlichen Profile wie in „Erstellen und Ändern von Profilen“ (S.3 Einführung in die Erstellung von Anwendungsprofilen Bereiten Sie einen erfolgreichen Einsatz von Novell AppArmor auf Ihrem System vor. die das AppArmor-Berichtwerkzeug protokolliert. wenn sich Ihre Umgebung ändert. 136) umrissen. Informationen finden Sie in „Aktualisieren Ihrer Profile“ (S. Prüfen Sie die Ergebnisse und passen Sie die Profile bei Bedarf an. 138). Informationen finden Sie in „Konfigurieren von Novell AppArmor-Ereignisbenachrichtigung und -Berichten“ (S. indem Sie die folgenden Punkte genau beachten: 1 Ermitteln Sie die Anwendungen. 140). 3 Setzen Sie den AppArmor-Status auf AppArmor ist aktiviert.4.

die derzeit mit offenen Netzwerkports laufen und eventuell ein Profil zur Beschränkung brauchen.1 Ausgabe von unconfined 19848 19887 19947 29205 /usr/sbin/cupsd not confined /usr/sbin/sshd not confined /usr/lib/postfix/master not confined /usr/sbin/sshd confined by '/usr/sbin/sshd (enforce)' In obigem Beispiel brauchen die Prozesse mit der Beschriftung not confined eventuell ein benutzerdefiniertes Profil zur Einschränkung. Verwenden Sie also nur Profile für die Anwendungen. PHP-Seiten und komplexere Webanwendungen können durch einen Webbrowser aufgerufen werden. Ermitteln Sie anhand der folgenden Liste die wahrscheinlichsten Kandidaten: Netzwerkagenten Programme (Server und Clients) haben offene Netzwerkports und Netzwerkagenten sind Serverprogramme. TIPP: Weitere Informationen Weitere Informationen über die Wahl der richtigen Anwendungen für ein Profil finden Sie im Kapitel Wählen von Programmen zur Immunisierung (Novell AppArmor 2. Webanwendungen CGI-Skripts in Perl. Die Prozesse mit der Angabe confined by sind bereits durch AppArmor geschützt.0-Administrationshandbuch). die ein Profil erhalten sollen Sie müssen nur die Programme schützen. die der cron-Daemon regelmäßig ausführt. Benutzerclients (wie Mail-Clients und Webbrowser) haben ebenfalls offene Netzwerkports und vermitteln Berechtigungen. die Sie wirklich ausführen. Beispiel 4. lesen Eingaben aus einer Vielzahl von Quellen. Um die Prozesse zu ermitteln. die auf diese Netzwerkports reagieren. Cron-Jobs Programme. die in Ihrer speziellen Konfiguration Angriffen ausgesetzt sind.Wählen der Anwendungen. führen Sie den Befehl unconfined als root aus. Sicherheit in Linux 135 .

d. Oder: Führen Sie den YaST → Novell AppArmor → -Assistenten zum Hinzufügen von Profilen aus und geben Sie den vollständigen Pfad der Anwendung an. 136) generiert wurden. schränkt es aber noch nicht ein. um ein Profil zu erstellen: 1 Melden Sie sich als root an und lassen Sie AppArmor das Profil der Anwendung grob umreißen. Zusätzlich können Sie mit AppArmor Ihre eigenen Profile für eine Gruppe von Anwendungen festlegen. Geben Sie dazu S in genprof ein Oder: 136 Referenz . um in einem sicheren Modus abzulaufen. Die Ausführung von unconfined (wie in „Wählen der Anwendungen. 2 Führen Sie die vollständige Palette der Anwendungsaktionen aus. für die ein Profil erstellt werden soll. Profile zu verwalten. die in /etc/apparmor/ README. bei der anderen werden die Befehlszeilenwerkzeuge genutzt. die in der AppArmor-Suite zur Verfügung stehen. damit AppArmor ein sehr genaues Bild der Aktivitäten ermittelt. die ein Profil erhalten sollen“ (S. h. indem Sie genprof programmname ausführen. Die eine besteht in der Verwendung des grafischen Frontend der YaST Novell AppArmor-Module. es protokolliert jede Aktivität des ausgeführten Programms. Es gibt zwei verschiedene Möglichkeiten. 3 Lassen Sie AppArmor die Protokolldateien analysieren.Erstellen und Ändern von Profilen Novell AppArmor unter SUSE Linux wird mit einem vorkonfigurierten Satz an Profilen für die wichtigsten Anwendungen geliefert.profiles definiert sind. Führen Sie für jede Anwendung die folgenden Schritte aus. die eventuell ein Profil benötigen. 135) beschrieben) identifiziert eine Liste von Anwendungen. die in Schritt 2 (S. Ein grundlegendes Profil wird umrissen und AppArmor wird in den Lernmodus gebracht.. Beide Methoden arbeiten grundsätzlich auf dieselbe Weise.

bleibt dieses Profil beim Verlassen dieses Lernzyklus im Lernmodus.0-Administrationshandbuch). Das Profil wird angewendet und AppArmor beschränkt die Anwendung entsprechend dem soeben erstellten Profil. Novell AppArmor 2. Sicherheit in Linux 137 . Suchen Sie die entsprechenden Protokolle in /var/log/messages oder führen Sie dmesg aus. Weitere Informationen über das Ändern des Modus für ein Profil finden Sie im Abschnitt Meldungs. Testen Sie Ihre Profileinstellungen. deutet darauf hin. indem Sie jede benötigte Aufgabe mit der soeben eingeschränkten Anwendung ausführen. Bestimmen Sie die Zugriffsberechtigungen oder Einschränkungen. die über ein vorhandenes Profil im Meldungsmodus verfügte. dass AppArmor Ihre Anwendung zu stark einschränkt: AppArmor: REJECTING w access to /var/run/nscd/socket (traceroute(2050) profile /usr/sbin/traceroute active /usr/sbin/traceroute) Um das Profil anzupassen. Normalerweise läuft das eingeschränkte Programm reibungslos und Sie bemerken überhaupt keine AppArmor-Aktivitäten. die während der Ausführung der Anwendung aufgezeichnet wurden. führen Sie erneut den Assistenten zum Hinzufügen von Profilen aus wie oben beschrieben und lassen Sie ihn die Protokolleinträge für diese spezielle Anwendung analysieren. Legen Sie die Zugriffsberechtigungen für jede Datei fest oder verwenden Sie Platzhalter. AppArmor prüft die Protokolle. prüfen Sie anhand der Systemprotokolle. wenn YaST Sie dazu auffordert. Erstellen von Novell AppArmor-Profilen. Wenn Sie jedoch in Ihrer Anwendung ein gewisses Fehlverhalten erkennen. bis das Profil fertig gestellt ist. wird Ihr Profil in den ErzwingenModus gesetzt. 4 Sobald alle Berechtigungen festgelegt sind. Novell AppArmor 2. Jeder Eintrag.0-Administrationshandbuch) und im Abschnitt Erzwingen-Modus (Kapitel 3. Erstellen von Novell AppArmor-Profilen. ob AppArmor Ihre Anwendung zu stark einschränkt. der dem folgenden Beispiel gleicht.Klicken Sie auf Scan system log for AppArmor events (Systemprotokoll auf AppArmor-Ereignisse prüfen) im Assistenten zum Hinzufügen von Profilen und folgen Sie den Anweisungen des Assistenten. und fordert Sie auf. für jedes protokollierte Ereignis die Zugriffsberechtigungen festzulegen.oder Lernmodus (Kapitel 3. Wenn genprof für eine Anwendung gestartet wurde.

die einen angegebenen E-Mail-Empfänger benachrichtigt. geben Sie die E-Mail-Adresse ein.TIPP: Weitere Informationen Weitere Informationen über die Erstellung und Änderung von Profilen finden Sie im Kapitel Erstellen von Novell AppArmor-Profilen (Novell AppArmor 2. Wenn Sie unbekannte Ereignisse in die Ereignisberichte aufnehmen möchten. wenn im System eine Novell AppArmor-Aktivität unter der gewählten Sicherheitsebene auftritt. dass ein Mailserver auf Ihrem System ausgeführt wird. Wählen Sie anschließend Novell AppArmor → AppArmor-Kontrollleiste. 4 Stellen Sie für jeden Eintragstyp (Terse (Knapp). und legen Sie den Schweregrad der aufzuzeichnenden Ereignisse fest.0 Administrationshandbuch) . 138 Referenz . damit Sie Sicherheitsereignisse überprüfen können. Diese Funktion steht derzeit über die YaST-Schnittstelle zur Verfügung. an welche die Berichte gesendet werden. 2 Melden Sie sich als root an und starten Sie YaST. Ereignisbenachrichtigung ist eine Novell AppArmorFunktion. Konfigurieren von Novell AppArmor-Ereignisbenachrichtigung und -Berichten Richten Sie Ereignisbenachrichtigung in Novell AppArmor ein. lassen Sie sich über alle Ereignisse in allen Sicherheitsstufen benachrichtigen. der die Ereignismitteilungen liefert. Zusammenfassung und Verbose (Ausführlich)) eine Berichthäufigkeit ein. ANMERKUNG Wenn Sie nicht mit der Ereigniskategorisierung von AppArmor vertraut sind. 3 Wählen Sie im Bereich Sicherheitsereignisbenachrichtigung aktivieren die Option Konfigurieren. Zum Einrichten der Ereignisbenachrichtigung in YaST gehen Sie wie folgt vor: 1 Stellen Sie sicher. aktivieren Sie Ereignisse mit unbekanntem Schweregrad aufnehmen.

3 Bearbeiten Sie die Häufigkeit der Berichtgenerierung. Mithilfe von Berichten können Sie wichtige Novell AppArmor-Sicherheitsereignisse nachlesen. Wählen Sie Novell AppArmor → AppArmor-Berichte. indem Sie nach Datumsbereich oder Programmname filtern. Novell AppArmor 2. aus Zusammenfassungsbericht der Ausführungssicherheit. Verwalten von Anwendungen mit Profil. den Sie prüfen oder konfigurieren möchten. Anwendungsprüfbericht und Sicherheitsereignisbericht (SIR). klicken Sie auf Jetzt ausführen.0-Administrationshandbuch). die nur für das logprof-Werkzeug nützlich sind. indem Sie Bearbeiten wählen und die erforderlichen Daten angeben. Sie können die Größe des Berichts reduzieren. ohne mühselig alle Meldungen durchsuchen zu müssen. 5 Blättern Sie durch die archivierten Berichte eines bestimmten Typs. 2 Wählen Sie den Berichttyp. Weitere Informationen über die Berichtkonfiguration finden Sie im Abschnitt „Berichte“ (Kapitel 4. Gehen Sie zur Konfiguration der AppArmor-Berichte wie folgt vor: 1 Melden Sie sich als root an und starten Sie YaST. E-Mail-Adresse. die in Protokolldateien aufgezeichnet wurden. indem Sie Archiv anzeigen auswählen und den gewünschten Berichttyp angeben. Konfigurieren Sie Novell AppArmor-Berichte. Verwalten von Anwendungen mit Profil. TIPP: Weitere Informationen Weitere Informationen über das Konfigurieren der Ereignisbenachrichtigung in Novell AppArmor finden Sie im Abschnitt „Einrichten der Ereignisbenachrichtigung“ (Kapitel 4. 4 Um einen Bericht des ausgewählten Typs zu generieren. Oder: Löschen Sie nicht mehr benötigte Berichte oder fügen Sie neue Berichte hinzu. Novell AppArmor 2. Sicherheit in Linux 139 .0-Administrationshandbuch). Exportformat und Speicherort der Berichte.5 Schließen Sie dieses Dialogfeld mit OK → Beenden. um Ihre Einstellungen anzuwenden.

nachdem Sie alle Fragen beantwortet haben.0Administrationshandbuch).und Systemkonfigurationen ändern sich im Lauf der Zeit. dass mehrere Benutzer (Multiuser) mehrere Aufgaben zur gleichen Zeit auf demselben Computer (Multitasking) ausführen können. 4 Beenden Sie YaST. Erstellen von Novell AppArmor-Profilen. TIPP: Weitere Informationen Weitere Informationen über das Aktualisieren Ihrer Profile aus den Systemprotokollen finden Sie im Abschnitt „Aktualisieren von Profilen aus Syslog-Einträgen“ (Kapitel 3. Daher kann Ihre Profileinstellung für AppArmor gelegentliche Anpassungen erfordern. Ihren Profilsatz entsprechend anzupassen. das außerhalb einer Profildefinition liegt. Jedes Anwendungsverhalten. wenn Sie dazu aufgefordert werden.oder Ausführungsberechtigungen für jede protokollierte Ressource oder jedes protokollierte ausführbare Programm an. kann auch über den Assistenten zum Aktualisieren von Profilen behandelt werden. 2 Starten Sie den Novell AppArmor → -Assistenten zum Aktualisieren von Profilen. dass Benutzer oftmals gar nicht wissen. Darüber hinaus ist das Betriebssystem netzwerktransparent. um Ihren Profilsatz zu aktualisieren: 1 Melden Sie sich als root an und starten Sie YaST. 4. Gehen Sie wie folgt vor. 140 Referenz . Ihre Änderungen werden auf die jeweiligen Profile angewendet.oder Unix-Systems ist. Dies bedeutet. Novell AppArmor 2. 3 Passen Sie Zugriffs.Aktualisieren Ihrer Profile Software. lokal auf dem Rechner befinden oder über das Netzwerk bereitgestellt werden.5 Sicherheit und Vertraulichkeit Eines der grundlegendsten Leistungsmerkmale eines Linux. ob sich die Daten oder Anwendungen. AppArmor prüft Ihr Systemprotokoll auf Verletzungen der Richtlinien oder andere AppArmor-Ereignisse und ermöglicht Ihnen. mit denen sie arbeiten.

Personen wichtige Informationen zu entlocken. wenn Sie sich an einen Bankangestellten wenden und nachweisen müssen. dass Sie der rechtmäßige Eigentümer eines bestimmten Kontos sind. auf Daten zuzugreifen: • persönliche Kommunikation mit jemandem. als Computer noch nicht miteinander vernetzt waren. müssen ihre jeweiligen Daten auch voneinander getrennt gespeichert werden können. Auch wenn sich dieses Kapitel in der Hauptsache mit der Vertraulichkeit von Daten beschäftigt. Datensicherheit war auch schon relevant. eine Unterschrift. Ein Webserver mag diesbezüglich weniger restriktiv sein. dass ein regelmäßig aktualisiertes. die bzw. Zugang zu den Daten auf einem Computer hat • direkt über die Konsole eines Computers (physischer Zugriff) • über eine serielle Schnittstelle oder • über eine Netzwerkverbindung In allen Fällen sollten sich die Benutzer authentifizieren müssen. Sicherheit in Linux 141 . das belegt. dass bei einem umfassenden Sicherheitskonzept immer dafür gesorgt werden muss. Sicherheit und der Schutz privater Daten müssen gewährleistet sein. Sie werden aufgefordert. dass er Ihre persönlichen Daten an andere Surfer preisgibt. funktionierendes und getestetes Backup verfügbar ist. 4. die Sie vorgeben zu sein. Ohne dieses Backup der Daten wird es nicht nur im Fall eines Hardwaredefekts schwierig sein.5. dass jemand sich unbefugterweise an den Daten zu schaffen gemacht hat. eine PIN oder ein Passwort anzugeben. eine Signatur. weiterhin auf die Daten zuzugreifen. In einigen Fällen ist es möglich. dass Sie die Person sind. aber Sie möchten sicherlich nicht.1 Lokale Sicherheit und Netzwerksicherheit Es gibt verschiedene Möglichkeiten. Dies gilt beispielsweise. Bei Verlust oder Defekt der Datenträger (im Allgemeinen Festplatten) mussten wichtige Daten genau wie heute verfügbar sein. wenn nur der Verdacht besteht. sei betont. der über die gewünschten Informationen verfügt bzw. bevor sie Zugriff auf die entsprechenden Ressourcen oder Daten erhalten.Damit mehrere Benutzer auf einem System arbeiten können. Bei dem ersten Fall in der obigen Liste ist die zwischenmenschliche Kommunikation erforderlich. sondern insbesondere auch dann.

könnte auch auf herkömmliche Weise versuchen. Das Opfer kann so möglicherweise nach und nach dazu gebracht werden. Die Trennlinie wird da gezogen. ohne sich dessen bewusst zu sein. Um zwischen den Geräten einfache Zeichen hin und her zu übertragen. indem Sie Benutzer aufklären und bewusst mit Sprache und Informationen umgehen. zwischen lokaler Sicherheit und Netzwerksicherheit zu unterscheiden. Dienstleister des Unternehmens oder sogar Familienmitglieder anzusprechen. die unbefugt auf Ihre Daten zugreifen möchte. Ein Person. Das lokale Lesen einer Datei auf einem lokalen Host unterliegt anderen Zugriffsbeschränkungen als das Öffnen einer Netzwerkverbindung zu einem Dienst auf einem anderen Host. wo Daten in Pakete verschnürt werden müssen. Stellen Sie Ihren Computer so auf. kann die Kommunikation einfach aufgezeichnet werden. Was mit einem Drucker möglich ist.und Netzkabel. Unter Hackern wird dies als Social Engineering bezeichnet. die an serielle Anschlüsse angeschlossen sind. Dagegen können Sie sich nur schützen. Dies gilt für alle 142 Referenz . Daher sollte der Computer so geschützt sein. In vielen Fällen werden solche Angriffe. Lokale Sicherheit Die lokale Sicherheit beginnt bei der Umgebung. weitere Informationen Preis zu geben. Zudem sollte der Bootvorgang gesichert werden. wird ein einfaches Kabel oder ein Infrarotanschluss verwendet. dass niemand dessen Komponenten entfernen. Empfangsmitarbeiter. dass das Maß an Sicherheit Ihrem Anspruch und Ihren Anforderungen genügt. geht selbstverständlich mit entsprechendem Aufwand auch anders. Bevor Angreifer in Computersysteme einbrechen. die einzelnen Benutzer voneinander zu trennen. in der der Computer aufgestellt ist. Das wichtigste bei der lokalen Sicherheit ist. um verschickt zu werden. Oft werden noch serielle Terminals verwendet. Dies gilt auch für Backups sowie Netzwerk.indem man beiläufig einige bekannte Details erwähnt und unter Verwendung geschickter Rhetorik ihr Vertrauen gewinnt. Daher ist es nötig. auf die entsprechende Hardware direkt zuzugreifen. erst sehr viel später entdeckt. da hier einige bekannte Tastenkombinationen unerwünschtes Verhalten zur Folge haben könnten. die auf Social Engineering basieren. indem Sie Passwörter für das BIOS und den Bootloader festlegen. versuchen sie häufig. Schützen Sie sich dagegen. sodass kein Benutzer die Rechte oder die Identität eines anderen Benutzers annehmen kann. ersetzen und beschädigen kann. Anders als Netzwerkschnittstellen benötigen diese für die Kommunikation mit dem Host kein Netzwerkprotokoll. Das Kabel selbst ist dabei der einfachste Angriffspunkt: Wenn ein alter Drucker daran angeschlossen ist. darauf zu achten.

erneut verschlüsselt. die nur in eine Richtung funktionieren. Stattdessen muss er alle möglichen Zeichenkombinationen für ein Passwort durchprobieren. Anschließend werden die beiden verschlüsselten Zeichenketten miteinander verglichen. z.Benutzer. die Wörterbücher zum Raten verwenden. der alle Rechte im System besitzt. Besser sind Kombinationen von Buchstaben. da der verwendete Algorithmus recht langsam war und Zeit im Sekundenbereich für das Verschlüsseln eines Passworts brauchte. dass Passwörter nicht leicht zu erraten sind. Bei acht Buchstaben pro Passwort gibt es ziemlich viele Kombinationen. Passwörter Auf einem Linux-System werden Passwörter nicht etwa im Klartext gespeichert. In den 1970er Jahren galt diese Methode als sicherer als andere. wenn jemand auf die entsprechende Datei zugreifen könnte. „ein “ Passwort wie „tantalize“ in „t@nt@1lz3“ umzuschreiben. „Der Name der Rose“ von Umberto Eco. Das Ersetzen einiger Buchstaben in einem Wort durch ähnliche Zahlen ist nicht sicher. etwa die Anfangsbuchstaben der Wörter eines Satzes. root kann unter anderem ohne Passworteingabe die Identität aller Benutzer annehmen und jede lokal gespeicherte Datei lesen. Das gespeicherte Passwort wird stattdessen verschlüsselt und jedes Mal. Aus diesem Grund darf die Passwortdatei nicht für jeden Benutzer sichtbar sein (/etc/shadow ist für einen normalen Benutzer nicht lesbar). damit eingegebene Passwörter mit den gespeicherten verglichen werden können. bis er dasjenige findet. Noch wichtiger ist. Dies macht natürlich nur dann Sinn. Es hilft daher nicht viel. Im Gegensatz dazu können Sicherheit in Linux 143 . Dies kann von Knackprogrammen. kann nicht einfach den Algorithmus erneut anwenden und das Passwort sehen. welches verschlüsselt so aussieht wie das Original. wenn man aus dem verschlüsselten Passwort nicht die ursprüngliche Textzeichenkette errechnen kann. Dies erreicht man durch so genannte Falltüralgorithmen. Daraus gewinnen Sie ein sicheres Passwort: „DNdRvUE9“. der das verschlüsselte Passwort in seinen Besitz gebracht hat. wenn es eingegeben wird. sehr leicht aufgelöst werden. In einem solchen Fall wären alle Konten auf dem System gefährdet. besonders aber für den Benutzer root. Ein Angreifer. Heutige PCs dagegen schaffen ohne weiteres mehrere hunderttausend bis Millionen Verschlüsselungen pro Sekunde. dass die Passwortdatei wegen eines Fehlers doch sichtbar wird. für den Fall. B. die kein bekanntes Wort bilden und nur für den Benutzer eine persönliche Bedeutung haben.

dass andere Personen diese Parameter während des Bootvorgangs verwenden. zusätzliche Optionen an den gestarteten Kernel weiterzugeben. der es ermöglicht. Dies ist für die Sicherheit des Systems unerlässlich. Nicht nur. dass mit einer Diskette oder einer CD-ROM gebootet werden kann. einen Fehler hat. der Sie oberflächlich gut kennt. Durch Anwenden der obigen Regel minimieren Sie also den möglichen Schaden. Ein falsch gesetztes Attribut bedeutet nicht nur. seine E-Mails als root zu lesen und zu schreiben. ähnlich wie der Kuckuck seine Eier von fremden Vögeln ausbrüten lässt. Wenn das Mail-Programm.000 Dateien einer SUSE-Distribution sind sorgfältig vergeben. Erfahrene und sicherheitsbewusste Administratoren verwenden die Option -l mit dem Befehl ls. um eine detaillierte Dateiliste zu erhalten. erfolgt dieser genau mit den Berechtigungen. sondern auch weil er root-Berechtigungen bei Systemstart vergibt.Passwörter wie „Saufkumpan“ oder „Jasmin76“ schon von jemandem erraten werden. Dateiberechtigungen Es gilt das Prinzip. mit dem Sie arbeiten. können Sie in /boot/grub/menu . anhand der sie eventuell falsch gesetzte Dateiberechtigungen gleich erkennen können. Der Bootvorgang Verhindern Sie. Solche Angriffe werden als Kuckuckseier bezeichnet. weil der Kernel selbst mitroot-Berechtigungen läuft. der für einen Angriff ausgenutzt wird. weil das Programm (das Ei) von einem fremden Benutzer (Vogel) ausgeführt (ausgebrütet) wird. im Fall von Konfigurationsdateien. Linux-Systeme werden in der Regel mit einem Bootloader gestartet. Damit könnte ein Angreifer beträchtlichen Schaden anrichten. dass Dateien überschrieben oder gelöscht werden können. Um zu verhindern. Der Administrator eines Systems sollte zusätzliche Software oder andere Dateien mit größtmöglicher Sorgfalt installieren und besonders gut auf die vergebenen Berechtigungen achten. Die einzelnen Berechtigungen der weit über 200. Diese geänderten Dateien könnten vom root oder. 211)).lst ein zusätzliches Passwort festlegen (siehe Kapitel 9. von Programmen mit root-Berechtigung ausgeführt werden. immer mit den niedrigst möglichen Privilegien für die jeweilige Aufgabe zu arbeiten. Der Bootloader (S. 144 Referenz . indem Sie die Laufwerke ausbauen oder indem Sie ein BIOS-Passwort setzen und im BIOS ausschließlich das Booten von Festplatte erlauben. die Sie zum Zeitpunkt des Angriffs hatten. Es ist beispielsweise definitiv nicht nötig.

SUSE Linux-Systeme verfügen über die Dateien permissions. Er muss sicherstellen. auch hierbei kann über die Benutzereingabe das Programm von seinem eigentlichen Weg abgebracht werden.paranoid. sondern mit der Berechtigung des Eigentümers der Datei. Es kann vorkommen. die für Konfigurationsprogramme von SUSE zur Vergabe der Rechte benutzt werden sollen. In diesen Dateien werden besondere Berechtigungen wie etwa allgemein schreibbare Verzeichnisse oder. Pufferüberläufe und Format-String-Programmfehler Wann immer ein Programm Daten verarbeiten soll. Die Auswahl der Dateien. wie im Fall von Dateien. Sicherheit in Linux 145 . dass die vom Benutzer generierten Daten etwas mehr Platz erfordern. Dies ist ein schwerer Fehler. Diese Programmierfehler werden normalerweise bei Programmen ausgenutzt. die eigentlich zu klein sind.und setgid-Programme. Durch dieses Überschreiben des Puffers über seine Grenzen hinaus ist es unter Umständen möglich.local zur Verfügung. Format-String-Programmfehler funktionieren etwas anders. als im Puffer zur Verfügung steht. dass die Daten durch das Programm richtig interpretiert werden und die Daten zu keinem Zeitpunkt in Speicherbereiche geschrieben werden. können Sie auch komfortabel mit YaST unter dem Menüpunkt Sicherheit treffen. die vom Benutzer und nicht vom Programmierer generiert wurden. insbesondere wenn das Programm mit besonderen Berechtigungen ausgeführt wird (siehe „Dateiberechtigungen“ (S. Weitere Informationen zu diesem Thema finden Sie in den Kommentaren in /etc/permissions oder auf der Manualpage für den Befehl chmod (man chmod). 144)). Ein Pufferüberlauf kann dann passieren. dass ein Programm Programmsequenzen ausführt.secure und permissions.easy. permissions. SetuserID-Bits festgelegt. Für den Administrator steht die Datei /etc/permissions. permissions . wenn beim Beschreiben eines Pufferspeicherbereichs nicht darauf geachtet wird. die sich alle im Verzeichnis /etc befinden. ist besondere Vorsicht geboten. wie groß der Puffer tatsächlich ist. anstatt nur Benutzerdaten zu verarbeiten. Dies ist in der Regel root). der sie gestartet hat. also setuid. Diese Vorsicht gilt in der Hauptsache für den Programmierer der Anwendung. in der er seine eigenen Einstellungen hinzufügen kann. die mit besonderen Berechtigungen ausgeführt werden. (Programme mit gesetztem Setuser-ID-Bit laufen nicht mit der Berechtigung des Benutzers. die von einem Benutzer geändert werden können oder könnten. Außerdem sollten die Daten in konsistenter Art und Weise vom Programm über die dafür vorgegebenen Schnittstellen weitergereicht werden.

h. In diesem Fall ist der Host ein Programm oder ein wichtiger Speicherbereich für das System. dass die Technik funktioniert. Viren benötigen zur Ausbreitung einen Wirt (Host). etwa der Master-Boot-Record. den Schreibzugriff auf Dateien einzuschränken. um sich zu verbreiten. Viren Entgegen anders lautenden Behauptungen gibt es tatsächlich Viren für Linux. mit der die Pakete entwickelt wurden. Viren sind klassische Symptome dafür. Da Pufferüberläufe und Format-String-Fehler bei der Verarbeitung von Benutzerdaten auftreten. ohne den sie nicht überlebensfähig sind. Linux hat aufgrund seiner Mehrbenutzer-Funktionalität die Möglichkeit. wenn der Administrator oder auch der Benutzer ein mangelndes Sicherheitsbewusstsein hat. 144)). erhöhen Sie also die Wahrscheinlichkeit. Sie benötigen keinen Host. sind sie nicht notwendigerweise nur ausnutzbar. Darüber hinaus sollten Sie nie leichtfertig ein Programm ausführen. Wenn Sie bei der Arbeit als root angemeldet sind. und er muss für den Programmcode des Virus beschreibbar sein. die ausschließlich in Netzwerken Probleme verursachen. Auch hier gilt wieder das Prinzip der geringstmöglichen Privilegien (siehe „Dateiberechtigungen“ (S. das Sie aus dem Internet bezogen haben und dessen genaue Herkunft Sie nicht kennen. 146 Referenz . indem Sie die besonderen Ausführungsrechte aus den Programmen entfernen. als Beweis.Sie können sich und Ihr System also vor solchen Fehlern schützen. dass Ihr System von solch einem Virus infiziert wird. Allerdings ist bis jetzt noch keiner dieser Viren in freier Wildbahn beobachtet worden. Deswegen sollten Pufferüberläufe und FormatString-Fehler sowohl für die lokalen Computer als auch für das Netzwerk als sicherheitsrelevant klassifiziert werden. SUSE-RPMPakete sind kryptographisch signiert und tragen mit dieser digitalen Unterschrift das Markenzeichen der Sorgfalt. was insbesondere für Systemdateien wichtig ist. Viele der bekannt gewordenen Fehler können auch über eine Netzwerkverbindung ausgenutzt werden. Viren sind nicht mit Würmern zu verwechseln. d. unter Linux ein Virus zu bekommen. ist es schwierig. Berücksichtigen Sie aber die Regel der geringstmöglichen Privilegien. dass auch ein hochsicheres System unsicher wird. wenn man bereits Zugriff auf ein lokales Konto hat. Die bekannten Viren sind von ihren Autoren als Proof of Concept geschrieben worden.

Das typische Anmeldeverfahren mit Benutzernamen und Passwort für die Benutzerauthentifizierung gehört weiter zur lokalen Sicherheit. Weitere Informationen finden Sie jedoch auf der Manualpage für xhost. wie ein Ausweis verwendet. Zugriff auf den X-Server. Sicherheit in Linux 147 . nach der Anmeldung um lokale Sicherheit. Konkret heißt das hier. Eine Authentifizierung einzig und allein auf einer IP-Adresse aufzubauen gilt jedoch nicht gerade als sicher. Dieses Cookie (das englische Wort „cookie“ bedeutet Keks. Dies wird mit dem Programm „xhost“ gesteuert. Bei X Windows geschieht dies auf zwei verschiedene Arten: Hostbasierte und Cookie-basierte Zugriffskontrolle. der die IP-Adresse stiehlt. der auf dem X-Server ein Fenster anzeigen möchte. die er verwaltet (die Anzeige). Bei der Cookie-basierten Zugriffskontrolle wird eine Zeichenkette. X Window-System und X-Authentifizierung Wie bereits erwähnt ist Netzwerktransparenz eine grundlegende Eigenschaft eines UnixSystems. dann muss der Server die Ressource. auf dem das Client-Programm laufen soll. Wenn Sie . Es könnte beispielsweise noch ein zweiter Benutzer auf dem Host mit dem Client-Programm arbeiten und dieser hätte dann genau wie jemand.Xauthority kann vom Benutzer mit dem Programm „xauth“ untersucht werden. die ein Epigramm enthalten) wird bei der Anmeldung in der Datei . zur Verfügung. gilt dies in besonderem Maße. Erstere basiert auf der IP-Adresse des Computers. dass dem Client-Programm bestimmte Berechtigungen gewährt werden müssen. Wenn ein X-Client mithilfe eines X-Servers über das Netzwerk angezeigt werden soll. um das gesamte System gegen Angriffe von außen zu schützen.Netzwerksicherheit Die Netzwerksicherheit ist wichtig. dem Windowing-System von Unix. dessen grafische Oberfläche dann über das Netzwerk auf Ihrem Computer angezeigt wird. Deswegen wird auf diese Authentifizierungsmethode auch nicht näher eingegangen. die nur der X-Server und der berechtigte Benutzer kennen.Xauthority im Home-Verzeichnis des Benutzers gespeichert und steht somit jedem X-Client. Sie können sich ohne Weiteres auf einem entfernten Computer anmelden und dort ein Programm starten. Die Datei . xhost trägt eine IP-Adresse eines legitimen Client in eine Mini-Datenbank auf dem X-Server ein. Gemeint sind hier die chinesischen Glückskekse. vor unberechtigten Zugriffen schützen. Bei X. Beim Anmelden über eine Netzwerkverbindung muss zwischen den beiden Sicherheitsaspekten differenziert werden: bis zur erfolgten Authentifizierung geht es um Netzwerksicherheit.Xauthority in Ihrem Home-Verzeichnis versehentlich umbenennen oder löschen.

sofern diese vorhanden sind. Über das Netzwerk ausbeutbare Pufferüberläufe und Format-String-Fehler sind wohl die häufigsten Varianten von entfernten Angriffen überhaupt. WARNUNG Wenn Sie den Host. um root-Berechtigungen zu erhalten. Dies wird auch als X-Forwarding bezeichnet. die die frisch gefundenen Sicherheitslücken ausnutzen. Mit SSH (Secure Shell) können Netzverbindungen vollständig verschlüsselt und offen an den X-Server weitergeleitet werden.2. Mit aktiviertem X-Forwarding könnten sich Angreifer über Ihre SSH-Verbindung mit Ihrem X-Server authentifiziert verbinden und beispielsweise Ihre Tastatureingaben abhören.können Sie keine neuen Fenster oder X-Clients mehr öffnen. Auch jemand. ohne dass der Benutzer die Verschlüsselung wahrnimmt. Weitere Informationen zur Sicherheit von X Window-Systemen finden Sie auf der Manualpage für den Befehl Xsecurity (man Xsecurity). Pufferüberläufe und Format-String-Programmfehler Wie in „Pufferüberläufe und Format-String-Programmfehler“ (S. dann sollten Sie X-Forwarding nicht verwenden. h. Selbst wenn dies nicht der Fall ist. mit dem er dann weitere Schwachstellen ausnutzen kann. was sicherlich daran liegt. Da bei freier Software der Quellcode für jedermann erhältlich ist (SUSE Linux liefert alle 148 Referenz . 145) beschrieben. kann damit die Sicherheitslücken ausnutzen. Wie auch bei den lokalen Varianten dieser Programmierfehler nutzen Angreifer Pufferüberläufe bei Netzwerkprogrammen meistens aus. d. die Probleme in ihrer Software zu beseitigen. Weitere Informationen zu SSH finden Sie in Abschnitt 4. könnte sich der Angreifer zumindest Zugang zu einem unprivilegierten lokalen Konto verschaffen. Über Sicherheits-MailingListen werden so genannte Exploits bekannt gemacht. sollten Pufferüberläufe und Format-String-Fehler sowohl für die lokalen Computer als auch das Netzwerk als sicherheitsrelevant klassifiziert werden. Im Laufe der Jahre hat sich herausgestellt. nicht als sicher einstufen. „SSH: Sicherer Netzwerkbetrieb“ (S. auf dem Sie sich anmelden. dass die freie Verfügbarkeit von Exploit-Code generell die Sicherheit von Betriebssystemen erhöht hat. Programme. 121). der nicht die genauen Details des Codes kennt. dass Betriebssystemhersteller dazu gezwungen waren. Dabei wird serverseitig ein X-Server simuliert und bei der Shell auf dem entfernten Host die DISPLAY-Variable gesetzt.

Spoofing ist ein Angriff. der eine Sicherheitslücke mitsamt ExploitCode findet. Viele Varianten sind denkbar. was unter Unix/Linux übrigens nur der Superuser (root) kann. bei dem Pakete mit falschen Absenderdaten. weil es die Meldung erhält. Dafür muss der Angreifer die Pakete. Wenn ein bestimmter Dienst jedoch fehlt. eine Weile analysiert haben. Bei diesen belauscht der Angreifer einfach nur die Netzverbindungen. Der Zweck eines DoS-Angriffs ist häufig. Man in the Middle: Sniffing. Komplexer wird es. die nicht kryptographisch gegen Hijacking gesichert sind und bei denen zu Beginn der Verbindung nur eine einfache Authentifizierung stattfindet. merkt das das Opfer. Hijacking. eine bereits eingerichtete Verbindung zu übernehmen (Connection-Hijacking). Das Opfer hat also. Spoofing Im Allgemeinen gilt: Ein entfernter Angriff. TCPConnection-Hijacking. Die meisten aktiven Angriffsvarianten verlangen das Verschicken von gefälschten Paketen. Sicherheit in Linux 149 . z. bei dem der Angreifer eine Position zwischen zwei kommunizierenden Hosts einnimmt. Dies kann auf verschiedenste Arten passieren: durch Überlasten des Servers. kann die Kommunikation Angriffen wie Man-in-the-middle-Angriffen (Sniffing. eine Netzwerkverbindung zum falschen Host geöffnet. Die einfachste Form eines Man-in-the-middle-Angriffs wird als Sniffer bezeichnet. DoS – Denial of Service Ziel von DoS-Angriffen ist das Blockieren eines Serverprogramms oder sogar des ganzen Systems. weil dieser sich als das Ziel ausgibt.verfügbaren Quellen mit). Solche Angriffe haben in der Regel eines gemeinsam: Das Opfer merkt nichts davon. die an ihm vorbeigeführt werden. kann jemand. wird als Man-in-the-middle-Angriff bezeichnet. die an ihm vorüber geführt werden. indem er mit unsinnigen Paketen beschäftigt wird. Der Angreifer profitiert dabei insbesondere bei Protokollen. B. damit er die richtigen TCP-Sequenznummern der TCP-Verbindung vorhersagen kann. Spoofing) und DNS-Poisoning ausgesetzt sein. oder durch Ausnutzen von entfernten Pufferüberläufen. wenn der „Man-in-the-middle“-Angreifer versucht. dass der Dienst nicht mehr verfügbar ist. versendet werden. dass die Verbindung wegen eines Fehlers beendet wird. Wenn er dann die Rolle des Zielhosts der Verbindung übernimmt. auch gleichzeitig noch einen Patch für das Problem anbieten. in der Regel der IP-Adresse. ohne es zu wissen.: Der Angreifer nimmt eine Verbindungsanforderung entgegen und stellt selbst eine Verbindung zum Ziel her. dafür zu sorgen.

Stattdessen sind sie darauf spezialisiert. die die Identität des Zielhosts der Verbindung verifizieren können. das dann bereits Update-Versionen des betroffenen Programms zur Verfügung stehen.2 Tipps und Tricks: Allgemeine Hinweise zur Sicherheit Für einen kompetenten Umgang mit dem Bereich Sicherheit ist es nötig. 4. Ein zeitlich genau abgestimmter DoS-Angriff gegen den Namenserver ist aus Sicht des Angreifers ebenfalls unerlässlich. weil seitens des Hosts keine Störungen des Angriffs mehr erwartet werden müssen. einen Rechner abrupt vom Netzwerk zu trennen (wenn auch nur für kurze Zeit). Würmer Würmer werden häufig mit Viren gleichgesetzt. indem Sie verschlüsselte Verbindungen verwenden. Der Angreifer analysiert in der Regel einige vom Server gesendete Pakete. ein verbürgtes Verhältnis zu anderen Hosts. Weil zwischen dem Zeitpunkt des Bekanntwerdens der Sicherheitslücken bis zum Auftauchen des Wurms auf dem Server in der Regel einige Zeit vergeht. DNS-Poisoning Beim DNS-Poisoning versucht der Angreifer. Viele Server haben. Es gibt aber einen markanten Unterschied. mit gefälschten (gespooften) DNS-Antwortpaketen den Cache eines DNS-Servers zu „vergiften“ (poisoning). mit neuen Entwicklungen Schritt zu halten und auf dem Laufenden zu sein. Gibt es eine Möglichkeit. ist es gut möglich.Viele der hier erwähnten Angriffsmöglichkeiten kommen in Kombination mit einem DoS vor. Lion oder Adore nutzen bekannte Sicherheitslücken von Serverprogrammen wie bind8 oder lprNG. was die neuesten 150 Referenz . um sich selbst als einer der verbürgten Hosts ausgeben zu können. Der Angreifer benötigt allerdings gute Kenntnisse der Vertrauensstruktur zwischen diesen Hosts.5. Man kann sich relativ einfach gegen Würmer schützen. Sie können sich selbst schützen. basierend auf IP-Adressen oder Hostnamen. das Informationen vom Server anfordert. Natürlich setzt dies voraus. sich so schnell wie möglich in Netzwerken zu verbreiten. um die erforderlichen Informationen zu erhalten. dann wirkt sich das förderlich auf einen aktiven Angriff aus. um überleben zu können. Anders als Viren müssen Würmer kein Hostprogramm infizieren. Bekannte Würmer wie Ramen. dass der Administrator die Sicherheits-Updates auch auf den entsprechenden Systemen installiert. sodass dieser bestimmte Daten an ein Opfer weitergibt.

Weitere Informationen hierzu finden Sie unter http://www .com ist eine der bekanntesten Sicherheits-Mailinglisten der Welt. ssh usw. ist die erste Informationsquelle für UpdatePakete. • Optimieren Sie die Zugriffsrechte für sicherheitskritische Dateien im System. kann dieses seine Aufgabe möglicherweise nicht mehr ordnungsgemäß erledigen. Diese Mailingliste suse-security@suse. Die SUSE-Sicherheitsmitteilungen (Security Announcements) werden über eine Mailingliste verbreitet. sich ein Kuckucksei oder einen Virus einzufangen. in die Sie sich unter der Adresse http:// www. Im Folgenden sind einige Grundregeln für die Sicherheit aufgeführt: • Vermeiden Sie es.novell.securityfocus.) zu erhalten. die in Sicherheitsmitteilungen empfohlen werden. bugtraq@securityfocus. die u. um neue Versionen der jeweiligen Software (bind. indem Sie die Datei /etc/permissions an die Sicherheitsanforderungen des Systems anpassen. entsprechend dem Prinzip. Die Liste suse-security-announce@suse.de. Das verringert das Risiko. Auf der anderen Seite stellt das Programm dann aber in der Regel auch kein Sicherheitspro- Sicherheit in Linux 151 .com/linux/security/securitysupport. • Halten Sie Ihre wichtigsten Pakete für den Netzwerkbereich immer auf dem neuesten Stand und abonnieren Sie die entsprechenden Mailinglisten.html eintragen können. Verwenden Sie standardmäßig ssh (secure shell) anstelle von telnet. Sie können sie auf derselben Webseite abonnieren. von Mitgliedern des SUSE-Sicherheitsteams erstellt wird.a. um Arbeiten von einem entfernten Standort aus durchzuführen. die allein auf der IP-Adresse basieren. Dasselbe gilt für Software. • Verwenden Sie nach Möglichkeit immer verschlüsselte Verbindungen.de ist ein informatives Diskussionsforum für den Bereich Sicherheit. die nur lokale Sicherheitsrelevanz hat. als root zu arbeiten.com. sendmail. und schützt Sie vor eigenen Fehlern. Wenn Sie das setuid-Bit aus einem Programm entfernen.Sicherheitsprobleme angeht. die geringstnötigen Privilegien für eine Aufgabe zu verwenden. • Benutzen Sie keine Authentifizierungsmethoden. rsh und rlogin. ftp. Ein sehr guter Schutz gegen Fehler aller Art ist das schnellstmögliche Installieren von Update-Paketen. Die Lektüre dieser Liste mit durchschnittlich 15-20 Beiträgen am Tag wird empfohlen.

Es überprüft nicht nur jeden einzelnen Port des Hosts. woher das Paket kommt. wo ein Angreifer tar-Archive einer Sicherheitssoftware mit einem trojanischen Pferd versehen hat.blem mehr dar. Denken Sie daran. denn dies könnte als aggressiver Akt aufgefasst werden. Verwenden Sie dazu jedoch ein externes Speichermedium. Sie finden den Schlüssel auf der ersten CD der Distribution oder auf den meisten Schlüsselservern der Welt. Das Programm „nmap“ ist dafür hervorragend geeignet. • Zur zuverlässigen Integritätsprüfung der Dateien in Ihrem System sollten Sie das Programm AIDE (Advanced Intrusion Detection Environment) verwenden. Scannen Sie niemals einen Rechner ohne das direkte Einverständnis des Administrators. Der von SUSE zum Signieren verwendete Schlüssel lautet wie folgt: ID:9C800ACA 2000-10-19 SUSE Package Signing Key <build@suse. um unbefugte Zugriffe auf diese zu verhindern. Wenn Sie ein Binärpaket installieren.rpm zeigt. Zum Glück wurde dies schnell bemerkt. Mit einer ähnlichen Vorgehensweise können Sie auch allgemein schreibbare Dateien (Berechtigungsstufe „world“) und Verzeichnisse bearbeiten. Mit der Option -p können Sie sehen.de> Key fingerprint = 79C1 79B2 E1C8 20C1 890F 9994 A84E DAE8 9C80 0ACA Der Befehl rpm --checksig package. ob die Prüfsumme und die Signatur eines (nicht installierten) Pakets stimmen. Vergleichen Sie die Ergebnisse von netstat mit einem vollständigen Portscan des Hosts von außen. das unter SUSE Linux verfügbar ist. SUSE-RPM-Pakete sind mit GPG signiert. sondern kann anhand der Antwort des Hosts Schlüsse über einen hinter dem Port wartenden Dienst ziehen. • Deaktivieren Sie jegliche Netzwerkdienste. das nicht über eine Netzwerkverbindung mit Ihrem Computer verbunden ist. Verschlüsseln Sie die von AIDE erstellte Datenbank. dass Sie nicht nur TCP-Ports scannen sollten. 152 Referenz . sondern auf jeden Fall auch UDP-Ports (Optionen -sS und -sU). welcher Prozess einen Port unter welchem Namen belegt. Das macht Ihr System sicherer. die Sie auf Ihrem Server nicht zwingend brauchen. sollten Sie sicher sein. Es gab schon Fälle. • Seien Sie vorsichtig beim Installieren von Drittanbietersoftware. Offene Ports (mit Socket-Status LISTEN) finden Sie mit dem Programm netstat. Bewahren Sie außerdem ein Backup dieser Datenbank an einem sicheren Ort auf. Als Optionen bieten sich netstat -ap oder netstat -anp an.

3 Zentrale Adresse für die Meldung von neuen Sicherheitsproblemen Wenn Sie ein Sicherheitsproblem finden (bitte überprüfen Sie zunächst die zur Verfügung stehenden Update-Pakete). Bitte fügen Sie eine genaue Beschreibung des Problems bei. Ohne eine zuverlässige Aussage über die Qualität des Backups ist das Backup unter Umständen wertlos. um den Zugriff auf die einzelnen Dienste Ihres Computers einzuschränken. • Verwenden Sie tcp_wrapper.com/linux/security/securitysupport. • Als zusätzlichen Schutz zu tcpd (tcp_wrapper) könnten Sie SuSEfirewall verwenden. • Richten Sie die Sicherheitsmaßnahmen redundant ein: Eine Meldung. SUSE bemüht sich. 4. man hosts_access). Ihnen so schnell wie möglich zu antworten.und Systemdateien. Nach Möglichkeit sollten Sie sich ein kleines Skript schreiben.html. ist besser als eine. Sicherheit in Linux 153 . schreiben Sie an die E-Mail-Adresse security@ suse. was ungewöhnlich ist und was nicht. welchen IP-Adressen der Zugriff gestattet ist.novell. Diese Aufgabe ist alles andere als trivial. • Überprüfen Sie die Protokolldateien. die zweimal gelesen wird. Weitere Informationen zu tcp_wrapper finden Sie auf den Manualpages zu tcpd und hosts_access (man 8 tcpd. und explizit anzugeben. Eine pgp-Verschlüsselung Ihrer E-Mail ist erwünscht. welches die Protokolldateien nach ungewöhnlichen Einträgen absucht. zusammen mit den Versionsnummern der verwendeten Pakete.5. die Sie nie sehen. Schließlich wissen nur Sie. SUSE verwendet folgenden PGP-Schlüssel: ID:3D25D3D9 1999-03-06 SUSE Security Team <security@suse.de.de> Key fingerprint = 73 5F 2E 99 DF DB 94 C4 8F 5A A3 AE AF 22 F2 D5 Dieser Schlüssel kann auch unter folgender URL heruntergeladen werden: http:// www.• Überprüfen Sie regelmäßig die Backups der Benutzer.

.

5. die das vorübergehende Ändern der aktuellen Benutzer.org/publications/posix. Erweiterte Funktionen sind das setuid-. Arbeiten mit der Shell. dass es sich um einen echten Standard aus der POSIX-Familie (Portable Operating System Interface) handelt.und das sticky-Bit.1 setuid-Bit In bestimmten Situationen sind die Zugriffsberechtigungen möglicherweise zu streng. das setgid. Mit ACLs können Berechtigungen flexibler als mit dem traditionellen Berechtigungskonzept definiert werden.Zugriffskontrolllisten unter Linux POSIX-ACLs (Zugriffskontrolllisten) können als Erweiterung des traditionellen Berechtigungskonzepts für Dateisystemobjekte verwendet werden. Der Begriff POSIX-ACL suggeriert.xpilot.1 Traditionelle Dateiberechtigungen Die Grundlagen der traditionellen Linux-Dateiberechtigungen werden in Abschnitt „Benutzer und Zugriffsberechtigungen“ (Kapitel 3.1e und POSIX 1003. Die entsprechenden Standardentwürfe POSIX 1003.1e/ eingesehen werden. ACLs unter vielen UNIX-artigen Betriebssystemen basieren allerdings auf diesen Entwürfen und die Implementierung der in diesem Kapitel beschriebenen Dateisystem-ACLs folgt diesen beiden Standards ebenfalls. ↑Start) erläutert. Zugriffskontrolllisten unter Linux 155 . Deshalb weist Linux zusätzliche Einstellungen auf. 5 5.2c wurden aus mehreren Gründen zurückgezogen.1. Die Standards können unter http://wt.und Gruppenidentität für eine bestimmte Aktion ermöglichen.

unabhängig davon. unter der es gespeichert wurde. von welchem Benutzer es gestartet wird. Wenn es einem Programm zugehörig 156 Referenz . das angibt. ob es einem ausführbaren Programm oder einem Verzeichnis zugehörig ist. setuid (set user ID (Benutzer-ID festlegen) ist ein spezielles Dateiattribut. Es gibt jedoch eine entsprechende Eigenschaft für Gruppen: das setgid-Bit. dass das setgid-Bit für die Gruppenberechtigung festgelegt ist. Betrachten wir einmal den passwd-Befehl: -rwsr-xr-x 1 root shadow 80036 2004-10-02 11:08 /usr/bin/passwd Sie sehen das s. der das Verzeichnis zugehörig ist. für das dieses Bit festgelegt wurde. 5. passwd zu ändern.Für das passwd-Programm sind beispielsweise im Regelfall root-Berechtigungen für den Zugriff auf /etc/passwd erforderlich.1. dass das System zum Ausführen entsprechend markierter Programme unter einer bestimmten Benutzer-ID veranlasst. Eine mögliche Lösung dieses Problems stellt der setuid-Mechanismus dar. da es zu gefährlich wäre. wird unter der Gruppen-ID ausgeführt. allen Benutzern den direkten Zugriff auf diese Datei zu gewähren. Ein mit der Gruppen-ID archive ausgeführtes Sicherungsprogramm kann auch ohne root-Berechtigungen auf dieses Verzeichnis zugreifen. werden der entsprechenden Gruppe „zugeordnet“. Ein Program. Durch das setuid-Bit führen alle Benutzer. archive ist die Gruppen-ID für alle geschriebenen Dateien. Der Eigentümer des Verzeichnisses sowie Mitglieder der Gruppe archive dürfen auf dieses Verzeichnis zugreifen. die den passwd-Befehl aufrufen. Betrachten wir einmal folgendes Beispielverzeichnis: drwxrws--.2 setgid-Bit Das setuid-Bit hat für Benutzer Gültigkeit. das angibt. den entsprechenden Vorgang als root aus. Benutzer. 5. Es macht einen Unterschied. Diese Datei enthält wichtige Informationen. die nicht Mitglied dieser Gruppe sind. Folglich werden in einem Verzeichnis mit dem setgid-Bit alle neu erstellten Dateien und Unterverzeichnisse der Gruppe zugewiesen. Folglich ist es einem normalen Benutzer im Regelfall nicht möglich.1. beispielsweise die Home-Verzeichnisse von Benutzern sowie Benutzer.2 tux archive 48 Nov 19 17:12 backup Sie sehen das s.und GruppenIDs. dass das setuid-Bit für die Benutzerberechtigung festgelegt ist.3 sticky-Bit Außerdem gibt es das sticky-Bit.

Wenn dieses Bit einem Verzeichnis zugewiesen ist. um die Einschränkungen des traditionellen Berechtigungskonzepts zu umgehen. Das Linux-System stellt den Windows-Clients Datei. set group id und das sticky-Bit gesetzt werden. Ext3. ACLs können als Erweiterung des traditionellen Berechtigungskonzepts verwendet werden. einzelnen Benutzern oder Gruppen. wenn Sie einen Windows-Server durch einen Linux-Server ersetzen möchten. einem Teil der Samba-Suite. ohne dass auf Anwendungsebene komplexe Berechtigungsmodelle implementiert werden müssen. JFS und XFS unterstützt. Berechtigungen zu gewähren. Die Vorzüge von ACLs zeigen sich. Für komplexere Szenarien oder erweiterte Anwendungen mussten Systemadministratoren früher eine Reihe von Tricks anwenden. Schreiben (w) und Ausführen (x) für den Eigentümer der Datei. die Gruppe und andere Benutzer. Einige der angeschlossenen Arbeitsstationen können auch nach der Migration weiter unter Windows betrieben werden. Ext2. Benutzern. Dieses Attribut kommt selten zum Einsatz. Mithilfe von ACLs können komplexe Szenarien umgesetzt werden. Berechtigungen zuzuweisen. da moderne Festplatten schnell genug sind. Diese Gruppen enthalten die Berechtigungen zum Lesen (r). wird eine auf diese Weise markierte Datei in den RAM geladen. Da Samba ACLs unterstützt.2 Vorteile von ACLs Traditionell sind für jedes Dateiobjekt unter Linux drei Berechtigungsgruppen definiert.ist. Zusätzlich können noch die Bits für set user id. Über winbindd. Zu den typischen Beispielen zählen die Verzeichnisse /tmp und /var/tmp: drwxrwxrwt 2 root root 1160 2002-11-19 17:15 /tmp 5. auf diese Weise muss sie nicht bei jeder Verwendung von der Festplatte abgerufen werden. ist es sogar möglich. Sie ermöglichen es. können Benutzerberechtigungen sowohl auf dem Linux-Server als auch über eine grafische Benutzeroberfläche unter Windows (nur Windows NT und höher) konfiguriert werden. Zugriffskontrolllisten unter Linux 157 . ACLs sind eine Funktion des Linux-Kernels und werden derzeit von ReiserFS. Dieses schlanke Konzept ist für die meisten in der Praxis auftretenden Fälle völlig ausreichend.und Druckdienste über Samba zur Verfügung. Dateien eines anderen Benutzers zu löschen. hindert es einen Benutzer daran. die nur in der Windows-Domäne existieren und über kein Konto auf dem Linux-Server verfügen. bei denen es sich nicht um den ursprünglichen Eigentümer oder die ursprüngliche Eigentümergruppe handelt.

Der Eintrag owning group definiert die Berechtigungen der Gruppe. Die Einträge des Typs named user definieren die Berechtigungen des Benutzers. 159) fasst die sechs möglichen Typen von ACL-Einträgen zusammen und beschreibt die für einen Benutzer oder eine Gruppe von Benutzern verfügbaren Berechtigungen. in welchem Fall die Einträge „owner“ und „owning group“ sich auf den neuen Eigentümer bzw. Die Einträge des Typs named group definieren die Berechtigungen der im Bezeichnerfeld des Eintrags angegebenen Gruppe. wenn das Objekt von seinem übergeordneten Verzeichnis erstellt wird.1. die sich der Eintrag bezieht. 158 Referenz . 5. Diese legen fest.3 Definitionen Benutzerklasse Das traditionelle POSIX-Berechtigungskonzept verwendet drei Klassen von Benutzern für das Zuweisen von Berechtigungen im Dateisystem: den Eigentümer (owner). auf den bzw. die neue Eigentümergruppe beziehen. Für einige Eintragstypen ist der Bezeichner für die Gruppe oder die Benutzer nicht definiert. die Eigentümergruppe (owning group) und andere Benutzer (other). Schreiben (w) und Ausführen (x) gesetzt werden. Pro Benutzerklasse können jeweils die drei Berechtigungsbits zum Lesen (r). einen Bezeichner für den Benutzer oder die Gruppe. der im Bezeichnerfeld des Eintrags angegeben ist.4 Arbeiten mit ACLs Tabelle 5. Ein ACL-Eintrag enthält einen Typ. Der Eintrag owner definiert die Berechtigungen des Benutzers. Der Superuser kann den Eigentümer (owner) oder die Eigentümergruppe (owning group) mit chown oder chgrp ändern. Zugriffs-ACL Die Zugriffsberechtigungen für Benutzer und Gruppen auf beliebige Dateisystemobjekte (Dateien und Verzeichnisse) werden über Access ACLs (Zugriffs-ACLs) festgelegt. die Eigentümer der Datei ist. „Typen von ACL-Einträgen“ (S. und Berechtigungen. ACL-Eintrag Jede ACL besteht aus mehreren ACL-Einträgen. der Eigentümer der Datei oder des Verzeichnisses ist.5. welche Berechtigungen ein Dateisystemobjekt übernimmt. Standard-ACL Standard-ACLs können nur auf Verzeichnisse angewendet werden.

Der Eintrag other definiert die Berechtigungen aller anderen Benutzer. „Maskierung von Zugriffsberechtigungen“ (S. 160) verdeutlicht. Der Eintrag mask schränkt die durch die Einträge „named user“. Eine erweiterte ACL geht über dieses Konzept hinaus. „named group“ und „owning group“ gewährten Berechtigungen ein.. das nicht leer ist. die den traditionellen Berechtigungsbits für Dateien und Verzeichnisse entsprechen. Sie muss einen Eintrag des Typs „mask“ enthalten und kann mehrere Einträge des Typs „named user“ und „named group“ haben.2. Die in den Einträgen „owner“ und „owning group“ gewährten Berechtigungen sind immer wirksam. d. sind nicht wirksam. indem durch ihn festgelegt werden kann. Tabelle 5.1 Typ owner named user owning group named group mask other Typen von ACL-Einträgen Textformat user::rwx user:name:rwx group::rwx group:name:rwx mask::rwx other::rwx Zugriffskontrolllisten unter Linux 159 . werden sie wirksam. Berechtigungen. Sind Berechtigungen sowohl in einem der oben genannten Einträge als auch in der Maske vorhanden. die Berechtigungen werden nicht gewährt. die nur in der Maske oder nur im eigentlichen Eintrag vorhanden sind. h. Dieser Mechanismus wird mit dem Beispiel in Tabelle 5.Nur die Einträge des Typs „named user“ und „named group“ verfügen über ein Bezeichnerfeld. welche der Berechtigungen in diesen Einträgen wirksam und welche maskiert sind. „owning group“ und „other“. Es gibt zwei grundlegende Klassen von ACLs: Eine minimale ACL enthält nur die Einträge für die Typen „owner“.

Die Abbildungen sind in drei Blöcke gegliedert. Berechtigungsbits“ (S. wie sie beispielsweise auch ls -l anzeigt.1. Other class-Berechtigungen werden dem entsprechenden ACL-Eintrag zugeordnet. Dies ist in Abbildung 5.2. Berechtigungsbits“ (S. „Minimale ACL: ACL-Einträge vs. Im Fall einer erweiterten ACL – mit „mask“ – werden die „group class“-Berechtigungen dem „mask“-Eintrag 160 Referenz . In beiden Fällen werden die Berechtigungen owner class dem ACL-Eintrag „owner“ zugeordnet.1.Tabelle 5. Abbildung 5.1 ACL-Einträge und Dateimodus-Berechtigungsbits Abbildung 5. „Minimale ACL: ACL-Einträge vs. 161) zeigen eine minimale und eine erweiterte ACL. 160) und Abbildung 5.4. 160) dargestellt. Berechtigungsbits“ (S. „Erweiterte ACL: ACL-Einträge vs.2 Eintragstyp named user mask Maskierung von Zugriffsberechtigungen Textformat user:geeko:r-x mask::rwwirksame Berechtigungen: Berechtigungen r-x rwr-- 5. Berechtigungsbits Im Fall einer minimalen ACL – ohne „mask“ – werden die „group class“-Berechtigungen dem ACL-Eintrag „owning group“ zugeordnet. der mittlere Block zeigt ein Beispiel einer ACL und der rechte Block zeigt die entsprechenden Berechtigungsbits gemäß dem herkömmlichen Berechtigungskonzept. Die Zuordnung der Berechtigungen des Typs group class ist in den beiden Fällen jedoch unterschiedlich.1 Minimale ACL: ACL-Einträge vs. Der linke Block zeigt die Typspezifikationen der ACL-Einträge.

. wobei er dem Eigentümer sämtliche Berechtigungen (0) gewährt. „Erweiterte ACL: ACL-Einträge vs. Es werden ähnliche Informationen wie im folgenden Beispiel zurückgegeben: Zugriffskontrolllisten unter Linux 161 . Weitere Informationen hierzu finden Sie auf der Manualpage umask. Dies ist in Abbildung 5. Die Zugriffsberechtigungen. sind die Obergrenze für alle anderen „Feineinstellungen“. Die Ausgabe für dieses Beispiel sieht wie folgt aus: drwxr-x--. 5. mydir Mit dem Befehl getfacl mydir prüfen Sie den anfänglichen Status der ACL.2.. Der Befehl umask 027 legt die Standardberechtigungen fest. 161) dargestellt... mkdir mydir erstellt das Verzeichnis mydir mit den durch umask festgelegten Standardberechtigungen.. spiegelt sich dies in der ACL wider und umgekehrt. welche Zugriffsberechtigungen gleich beim Erstellen von Dateiobjekten maskiert werden sollen. tux project3 . ob alle Berechtigungen ordnungsgemäß zugewiesen wurden. Abbildung 5. können Sie mit dem Befehl umask festlegen. Berechtigungsbits Durch diese Art der Zuordnung ist die reibungslose Interaktion von Anwendungen mit und ohne ACL-Unterstützung gewährleistet. die per ACL vorgenommen werden. Die Verwendung dieser Befehle wird im folgenden Beispiel erläutert: Bevor Sie das Verzeichnis erstellen. der Gruppe den Schreibzugriff (2) verweigert und allen anderen Benutzern überhaupt keine Berechtigungen erteilt (7). Mit dem Befehl ls -dl mydir können Sie prüfen. Berechtigungsbits“ (S.zugeordnet. die mittels der Berechtigungsbits festgelegt wurden.4.2 Erweiterte ACL: ACL-Einträge vs. Die entsprechenden Berechtigungsbits werden von umask maskiert oder deaktiviert. Werden Berechtigungsbits geändert.2 Ein Verzeichnis mit einer Zugriffs-ACL Mit getfacl und setfacl in der Befehlszeile können Sie auf ACLs zugreifen.

und Ausführberechtigungen gewähren. tux project3 . indem Sie folgenden Befehl eingeben: setfacl -m user:geeko:rwx. die mit ls -dl mydir ausgegeben werden. Die Berechtigungsbits des Typs „group class“. dass Sie dem zusätzlichen Benutzer geeko und der zusätzlichen Gruppe mascots Lese-. „named group“ und „owning group“.# file: mydir # owner: tux # group: project3 user::rwx group::r-x other::--- Die ersten drei Zeilen der Ausgabe nennen Namen. mydir 162 Referenz . sodass alle Berechtigungen wirksam sind. Im letzten Teil geben Sie den Namen des Verzeichnisses an. Insgesamt liefert Ihnen der Befehl getfacl im Fall dieser minimalen ACL keine Informationen. für das diese Änderungen gelten sollen. es sei denn.. Die drei nächsten Zeilen enthalten die drei ACL-Einträge „owner“. # file: mydir # owner: tux # group: project3 user::rwx user:geeko:rwx group::r-x group:mascots:rwx mask::rwx other::--- Zusätzlich zu den von Ihnen erstellten Einträgen für den Benutzer geeko und die Gruppe mascots wurde ein „mask“-Eintrag generiert. Mit dem Befehl getfacl können Sie sich die resultierende ACL ansehen.. Der mask-Eintrag wird automatisch gesetzt. welche ACL-Einträge geändert werden (mehrere Einträge werden durch Kommas voneinander getrennt). Ändern Sie die ACL so.group:mascots:rwx mydir Mit der Option -m kann per setfacl die vorhandene ACL geändert werden. „mask“ legt die maximal wirksamen Zugriffsberechtigungen für alle Einträge innerhalb der „group class“ fest. entsprechen jetzt dem mask-Eintrag.. Schreib. Außerdem passt setfacl vorhandene mask-Einträge automatisch an die geänderten Einstellungen an. drwxrwx---+ . Dazu gehören „named user“.. die Sie mit ls nicht auch erhalten hätten. Sie deaktivieren diese Funktion mit -n. „owning group“ und „other“. Das nachfolgende Argument gibt an. Eigentümer und Eigentümergruppe des Verzeichnisses.

Die erste Spalte der Ausgabe enthält ein zusätzliches +. Die ursprünglichen Berechtigungen können jederzeit mit dem Befehl chmod g+w mydir wiederhergestellt werden. um darauf hinzuweisen.. dass die mask-Bits entsprechend angepasst wurden: Die Schreibberechtigung ist wieder auf den Eigentümer von mydir beschränkt. Bearbeiten Sie den mask-Eintrag mit setfacl oder chmod. Allerdings sind die wirklich wirksamen Zugriffsberechtigungen für die „owning group“ als die Schnittmenge aus den für „owning group“ und den für „mask“ gesetzten Berechtigungen definiert. deren tatsächlich wirksame Berechtigungsbits nicht mit den ursprünglich gesetzten übereinstimmen. „Maskierung von Zugriffsberechtigungen“ (S.. Geben Sie beispielsweise chmod g-w mydir ein.. Dieser Befehl fügt allen Einträgen Kommentare hinzu.2. Solche Berechtigungsbits würden normalerweise bedeuten. liefert Ihnen bereits die Ausgabe des Befehls ls den Hinweis darauf. tux project3 . dass für dieses Objekt eine erweiterte ACL vorhanden ist. dass die „owning group“ (hier project3) ebenfalls Schreibzugriff auf das Verzeichnis mydir hätte. 160)). mydir getfacl mydir erzeugt folgende Ausgabe: # file: mydir # owner: tux # group: project3 user::rwx user:geeko:rwx group::r-x group:mascots:rwx mask::r-x other::--- # effective: r-x # effective: r-x Nachdem Sie mit dem Befehl chmod den Schreibzugriff über die „group class“-Bits deaktiviert haben. Zugriffskontrolllisten unter Linux 163 . Was die wirksamen Berechtigungen der „owning group“ in diesem Beispiel betrifft. Dies wird durch die Ausgabe des Befehls getfacl bestätigt. hat sich also nach dem Hinzufügen der ACL-Einträge nichts geändert. in unserem Beispiel also r-x (siehe Tabelle 5. Gemäß der Ausgabe des Befehls ls beinhalten die Berechtigungen für den mask-Eintrag auch Schreibzugriff. ls -dl mydir gibt dann Folgendes aus: drwxr-x---+ . weil sie vom mask-Eintrag herausgefiltert werden..

die folgenden Änderungen (Option -m) an der Standard-ACL vorzunehmen. Fügen Sie dem vorhandenen Verzeichnis mydir eine Standard-ACL hinzu. die Dateisystemobjekte anlegen. Existiert eine Standard-ACL für das übergeordnete Verzeichnis. der die Zugriffsberechtigungen für das neu erstellte Dateisystemobjekt definiert. der festlegt. 164 Referenz . werden die mit umask definierten Berechtigungsbits mit dem mode-Parameter von den Berechtigungen abgezogen und das Ergebnis wird dem neuen Objekt zugewiesen. Hat das übergeordnete Verzeichnis keine Standard-ACL.3 Ein Verzeichnis mit einer Standard-ACL Verzeichnisse können über eine Standard-ACL verfügen. Dabei handelt es sich um einen speziellen Typ von ACL.4. welche Zugriffsberechtigungen neue Unterobjekte dieses Verzeichnisses bei ihrer Erstellung erben. indem Sie folgenden Befehl eingeben: setfacl -d -m group:mascots:r-x mydir Die Option -d des Befehls setfacl weist setfacl an. Auswirkungen einer Standard-ACL Die Zugriffsberechtigungen in der Standard-ACL eines Verzeichnisses werden an Dateien und Unterverzeichnisse unterschiedlich vererbt: • Ein Unterverzeichnis erbt die Standard-ACL des übergeordneten Verzeichnisses sowohl als seine eigene Standard-ACL als auch als Zugriffs-ACL. Eine Standard-ACL wirkt sich sowohl auf Unterverzeichnisse als auch auf Dateien aus. Standard-ACLs in der Praxis Die drei folgenden Beispiele führen Sie an die wichtigsten Operationen an Verzeichnissen und Standard-ACLs heran: 1. Alle Systemaufrufe. verwenden einen mode-Parameter. entsprechen die dem neuen Objekt zugewiesenen Berechtigungsbits der Schnittmenge aus den Berechtigungen des mode-Parameters und den in der Standard-ACL festgelegten Berechtigungen. • Eine Datei erbt die Standard-ACL als ihre eigene Zugriffs-ACL.5. umask wird in diesem Fall nicht beachtet.

Standard-ACLs haben keine direkten Auswirkungen auf Zugriffsberechtigungen. mkdir mydir/mysubdir getfacl mydir/mysubdir # file: mydir/mysubdir # owner: tux # group: project3 user::rwx group::r-x group:mascots:r-x mask::r-x other::--default:user::rwx default:group::r-x default:group:mascots:r-x default:mask::r-x default:other::--- Zugriffskontrolllisten unter Linux 165 . die mit default beginnen. Diese neuen Objekte übernehmen Berechtigungen nur aus der Standard-ACL ihres übergeordneten Verzeichnisses. das die Standard-ACL übernimmt. Sie wirken sich nur beim Erstellen von Dateisystemobjekten aus. Im nächsten Beispiel wird mit mkdir ein Unterverzeichnis in mydir angelegt. Obwohl Sie den Befehl setfacl nur mit einem Eintrag für die Gruppe mascots für die Standard-ACL ausgeführt haben.Sehen Sie sich das Ergebnis dieses Befehls genauer an: getfacl mydir # file: mydir # owner: tux # group: project3 user::rwx user:geeko:rwx group::r-x group:mascots:rwx mask::rwx other::--default:user::rwx default:group::r-x default:group:mascots:r-x default:mask::r-x default:other::--- getfacl gibt sowohl die Zugriffs-ACL als auch die Standard-ACL zurück. um so eine gültige Standard-ACL zu bilden. hat setfacl automatisch alle anderen Einträge aus der Zugriffs-ACL kopiert. 2. Die Standard-ACL setzt sich aus allen Zeilen zusammen.

. Sie können Dateien mit beschränkten Zugriffsberechtigungen erstellen und diese anschließend als ausführbar markieren. Die Standard-ACL. Legen Sie mit touch eine Datei im Verzeichnis mydir an. Am konkreten Beispiel heißt dies.4. allerdings wurde der mask-Eintrag dahin gehend angepasst. dass alle Zugriffsberechtigungen. Aus dem ACL-Eintrag der „group class“ wurden keine Berechtigungen entfernt.. dass Berechtigungsbits. zum Beispiel Compiler. Beispiel: touch mydir/myfile. Die ACL- 166 Referenz . wird ein Auswertungsalgorithmus angewendet.. aus den entsprechenden ACL-Einträgen entfernt werden.Wie erwartet. umask oder die Standard-ACL enthalten keine weiteren Einschränkungen (siehe „Auswirkungen einer Standard-ACL“ (S. tux project3 . 3. 5. reibungslos mit ACLs interagieren können. hat das neu angelegte Unterverzeichnis mysubdir die Berechtigungen aus der Standard-ACL des übergeordneten Verzeichnisses geerbt. dass Anwendungen. dass neue Dateien mit Lese.. Auf diese Weise ist sichergestellt. maskiert werden.und Schreibberechtigungen für alle Benutzerklassen angelegt werden. ist ebenfalls dieselbe. vorausgesetzt. die dieses Verzeichnis an ihre untergeordneten Objekte weitervererbt.4 Der ACL-Auswertungsalgorithmus Bevor ein Prozess oder eine Anwendung Zugriff auf ein durch eine ACL geschütztes Dateisystemobjekt erhält. Dies bedeutet. die nicht im mode-Wert enthalten sind. ls -l mydir/myfile gibt dann Folgendes zurück: -rw-r-----+ . mydir/myfile Die Ausgabe von getfacl mydir/myfile lautet wie folgt: # file: mydir/myfile # owner: tux # group: project3 user::rwgroup::r-x # effective:r-group:mascots:r-x # effective:r-mask::r-other::--- touch übergibt mode mit dem Wert 0666. die nicht mit mode gesetzt werden. Die Zugriffs-ACL von mysubdir ist ein exaktes Abbild der Standard-ACL von mydir. 164)). Über den mask-Mechanismus ist gewährleistet. dass die richtigen Benutzer und Gruppen die Dateien wie gewünscht ausführen können.

Einträge werden grundsätzlich in der folgenden Reihenfolge untersucht: „owner“. der Editor unterstützt ACLs. Berechtigungen werden nicht akkumuliert. Schreibt der Editor die Änderungen in die Originaldatei. gehen die ACLs möglicherweise verloren. Über den Eintrag. die den Anforderungen moderner Anwendungen gerecht werden. die nach Abschluss der Änderungen in die alte umbenannt wird.5 ACL-Unterstützung in Anwendungen Mit ACLs können sehr anspruchsvolle Berechtigungsszenarien umgesetzt werden. wenn keiner der passenden group-Einträge die erforderlichen Berechtigungen enthält. Ähnliches gilt. also potenziell auch mehrere group-Einträge dazu passen können. mv. es sei denn. 5. Viele Editoren und Dateimanager bieten jedoch keine ACL-Unterstützung. der am besten auf den Prozess passt. In diesem Fall löst ein per Zufallsprinzip ausgewählter Eintrag das Ergebnis „Zugriff verweigert“ aus. „named user“. Zugriffskontrolllisten unter Linux 167 . Legt der Editor eine neue Datei an. bei deren Verwendung die ACLs erhalten bleiben. ob die Zugriffs-ACL nach Abschluss der Bearbeitung weiterhin vorliegt. Wenn Dateien mit einer Zugriffs-ACL im Editor bearbeitet werden. wird schließlich der Zugriff geregelt. wenn ein Prozess zu mehr als einer Gruppe gehört. „owning group“ oder „named group“ und „other“. Mit Ausnahme von Star Archiver gibt es derzeit keine Backup-Anwendungen. Für das Endresultat „Zugriff gewährt“ ist es natürlich unerheblich. Die grundlegenden Dateibefehle (cp. welcher dieser Einträge den Ausschlag gegeben hat. hängt es vom Backup-Modus des verwendeten Editors ab. ls usw. Aus den passenden Einträgen mit den erforderlichen Berechtigungen wird per Zufallsprinzip ein Eintrag ausgesucht. bleibt die Zugriffs-ACL erhalten. Das traditionelle Berechtigungskonzept und ACLs lassen sich geschickt miteinander kombinieren. Komplizierter werden die Verhältnisse.) unterstützen ACLs ebenso wie Samba und Konqueror. Beim Kopieren von Dateien mit Emacs gehen die ACLs der entsprechenden Dateien beispielsweise noch verloren.

Weitere Informationen finden Sie außerdem auf den Manualpages für getfacl(1).6 Weitere Informationen Ausführliche Informationen zu ACLs finden Sie unter http://acl.5. 168 Referenz .at/. acl(5) und setfacl(1).bestbits .

Dienstprogramme zur Systemüberwachung In diesem Kapitel werden verschiedene Programme und Mechanismen vorgestellt. # command -x -y output line 1 output line 2 output line 3 is annoyingly long. für die tägliche Arbeit nützliche Dienstprogramme sowie deren wichtigste Optionen beschrieben. Weiterhin werden einige. Für die vorgestellten Befehle werden jeweils beispielhafte Ausgaben dargestellt.. falls erforderlich. Dienstprogramme zur Systemüberwachung 169 .oder #-Zeichen als Eingabeaufforderung).]) gekennzeichnet und lange Zeilen werden. Weitere Informationen zu allen Befehlen finden Sie auf den entsprechenden Manualpages. Auslassungen sind durch eckige Klammern ([. so long that \ we have to break it output line 3 [. sind die Beschreibungen kurz gehalten.. mit denen Sie den Zustand Ihres Systems untersuchen können.. Umbrüche langer Zeilen sind durch einen umgekehrten Schrägstrich (\) gekennzeichnet. umgebrochen. mit der Sie eine kurze Liste der verfügbaren Parameter anzeigen können. Die meisten Befehle verstehen auch die Option --help..] output line 98 output line 99 6 Damit möglichst viele Dienstprogramme erwähnt werden können. Darin ist die erste Zeile der Befehl selbst (nach einem >.

3.3 208464 11867 \ /usr/lib/locale/en_GB.utf8/LC_MONETARY bash 5552 tester mem REG 3.utf8/LC_CTYPE bash 5552 tester mem REG 3.so bash 5552 tester mem REG 3.3 584 2 / bash 5552 tester txt REG 3.3 52 11831 \ /usr/lib/locale/en_GB.so bash 5552 tester 0u CHR 136.5 7 /dev/pts/5 Es wurde die spezielle Shell-Variable $$ verwendet.3 21544 9109 \ /usr/lib/gconv/gconv-modules.3 1512 117619 /home/tester bash 5552 tester rtd DIR 3.6.3 56 11735 \ /usr/lib/locale/en_GB.3 2375 11663 \ /usr/lib/locale/en_GB. verwenden Sie -p. die für den Prozess mit der Prozess-ID PID geöffnet sind.utf8/LC_MEASUREMENT bash 5552 tester mem REG 3. Um beispielsweise alle von der aktuellen Shell verwendeten Dateien anzuzeigen.utf8/LC_NUMERIC bash 5552 tester mem REG 3.3 498816 13047 /bin/bash bash 5552 tester mem REG 0.5.1 Liste der geöffneten Dateien: lsof Um eine Liste aller Dateien anzuzeigen.3 882134 11868 \ /usr/lib/locale/en_GB.6.3 97165 8828 /lib/ld-2. wird dieser Befehl selten ver- 170 Referenz .5.0 0 [heap] (stat: No such \ file or directory) bash 5552 tester mem REG 3.5 bash 5552 tester mem REG 3.so.3 34 11862 \ /usr/lib/locale/en_GB.3 366 9720 \ /usr/lib/locale/en_GB.6.1 bash 5552 tester mem REG 3. geben Sie Folgendes ein: tester@linux:~> lsof -p $$ COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME bash 5552 tester cwd DIR 3.3 290856 12204 /lib/libncurses.3. Da dies in der Regel recht viele sind.utf8/LC_TIME bash 5552 tester mem REG 3.3 127 11664 \ /usr/lib/locale/en_GB.utf8/LC_ADDRESS bash 5552 tester mem REG 3.3 26936 13004 /lib/libhistory.so.3 190200 13006 /lib/libreadline.utf8/LC_MESSAGES/SYS_LC_MESSAGES bash 5552 tester mem REG 3.utf8/LC_PAPER bash 5552 tester mem REG 3.utf8/LC_COLLATE bash 5552 tester mem REG 3.3.utf8/LC_TELEPHONE bash 5552 tester mem REG 3.3 1386997 8837 /lib/libc-2.5.3 62 11839 \ /usr/lib/locale/en_GB.5 7 /dev/pts/5 bash 5552 tester 1u CHR 136. werden alle aktuell geöffneten Dateien angezeigt.so.utf8/LC_IDENTIFICATION bash 5552 tester mem REG 3. Wird der Befehl lsof ohne Parameter eingegeben.cache bash 5552 tester mem REG 3.3 290 11736 \ /usr/lib/locale/en_GB.5 7 /dev/pts/5 bash 5552 tester 255u CHR 136.3 217016 115687 /var/run/nscd/passwd bash 5552 tester mem REG 3.3 54 11842 \ /usr/lib/locale/en_GB.3 23 11866 \ /usr/lib/locale/en_GB.6.utf8/LC_NAME bash 5552 tester mem REG 3.so bash 5552 tester mem REG 3.1 bash 5552 tester mem REG 3. deren Wert die Prozess-ID der Shell ist.3 13836 8843 /lib/libdl-2.5 7 /dev/pts/5 bash 5552 tester 2u CHR 136.

1 136. die auf Dateien zugreifen: fuser Es kann hilfreich sein.5 1.0 136. das unter /mnt eingehängt ist.0 136. kann das Aushängen des Dateisystems erfolgreich ausgeführt werden.5 136. Beispiel: Liste aller verwendeten zeichenorientierten Geräte: tester@linux:~> lsof | grep CHR bash 3838 tester 0u bash 3838 tester 1u bash 3838 tester 2u bash 3838 tester 255u bash 5552 tester 0u bash 5552 tester 1u bash 5552 tester 2u bash 5552 tester 255u X 5646 root mem lsof 5673 tester 0u lsof 5673 tester 2u grep 5674 tester 1u grep 5674 tester 2u CHR CHR CHR CHR CHR CHR CHR CHR CHR CHR CHR CHR CHR 136. unmount gibt „device is busy“ zurück. zu ermitteln.2 Liste der Benutzer bzw. 6. less /mnt/notes. Sie möchten ein Dateisystem aushängen.txt Nach dem Beenden des Prozesses less.5 136.5 136. Mit dem Befehl fuser können Sie anschließend ermitteln.5 2 2 2 2 7 7 7 7 1006 7 7 7 7 /dev/pts/0 /dev/pts/0 /dev/pts/0 /dev/pts/0 /dev/pts/5 /dev/pts/5 /dev/pts/5 /dev/pts/5 /dev/mem /dev/pts/5 /dev/pts/5 /dev/pts/5 /dev/pts/5 6. der auf einem anderen Terminal ausgeführt wurde.5 136. Prozesse.0 136. Die Liste der Dateien kann jedoch mit Suchfunktionen kombiniert werden. Angenommen.5 136.0 136.wendet. welche Prozesse auf das Gerät zugreifen: tester@linux:~> fuser -v /mnt/* USER tester PID ACCESS COMMAND 26597 f.5 136....3 Dateieigenschaften: stat Mit dem Befehl stat zeigen Sie die Eigenschaften einer Datei an: tester@linux:~> stat /etc/profile File: `/etc/profile' Size: 7930 Blocks: 16 Device: 303h/771d Inode: 40657 Access: (0644/-rw-r--r--) Uid: ( 0/ IO Block: 4096 Links: 1 root) Gid: ( regular file 0/ root) Dienstprogramme zur Systemüberwachung 171 . um sinnvolle Listen zu generieren. welche Prozesse oder Benutzer aktuell auf bestimmte Dateien zugreifen.

Mit der Option -l werden alle dem System bekannten SCSI-Geräte aufgelistet (ähnliche Informationen erhalten Sie über den Befehl lsscsi). die Informationen zu einer Festplatte enthält.0 IDE \ Genesys Logic. Inc.000000000 +0100 Change: 2005-12-19 09:51:04. Mit der Option -a erhalten Sie noch ausführlichere Informationen. Optical Mouse 6. 172 Referenz . Das folgende ist die Ausgabe von lsusb mit den angeschlossenen USB-Geräten Hub. Inc. Inc. Im Folgenden sehen Sie die Ausgabe von scsiinfo -i /dev/sda.5 Informationen zu einem SCSI-Gerät: scsiinfo Mit dem Befehl scsiinfo können Sie Informationen zu einem SCSI-Gerät anzeigen. Logitech.000000000 +0100 Mit dem Parameter --filesystem werden Eigenschaften des Dateisystems angezeigt. Mit der Option -v wird eine detailliertere Liste ausgegeben.4 USB-Geräte: lsusb Mit dem Befehl lsusb werden alle USB-Geräte aufgelistet. USB-2. Festplatte und Maus. Memorystick.000000000 +0100 Modify: 2005-11-21 14:54:35. linux:/ # lsusb Bus 004 Device 007: ID 0ea0:2168 2. in dem sich die angegebene Datei befindet: tester@linux:~> stat /etc/profile --filesystem File: "/etc/profile" ID: 0 Namelen: 255 Type: reiserfs Block size: 4096 Fundamental block size: 4096 Blocks: Total: 2622526 Free: 1809771 Available: 1809771 Inodes: Total: 0 Free: 0 6.0 / Astone USB Drive Bus 004 Device 006: ID 04b4:6830 Adapter Bus 004 Device 005: ID 05e3:0605 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 001 Device 005: ID 046d:c012 Bus 001 Device 001: ID 0000:0000 Ours Technology. Die detaillierten Informationen werden aus dem Verzeichnis /proc/bus/usb/ gelesen.Access: 2006-01-06 16:45:43. Transcend JetFlash \ Cypress Semiconductor Corp.

load average: 0. Das Programm wird mit der Taste Q beendet. 0k used. die alle zwei Sekunden aktualisiert wird. 506468k used.8% sy. 5 users.17:06:28 up 2:10.0 0. 0.5% us.0% hi. Im Folgenden finden Sie ein Beispiel für die Ausgabe des Befehls top -n 1: tester@linux:~> top -n 1 top .0% wa.9% id.8% ni. 353328k cached PID USER 1 root 2 root PR 16 34 NI 0 19 VIRT 700 0 RES 272 0 SHR S %CPU %MEM 236 S 0.0 TIME+ COMMAND 0:01.0% si Mem: 515584k total. 0. 1 Linked Commands 1 Command Queueing 1 SftRe 0 Device Type 0 Peripheral Qualifier 0 Removable? 0 Device Type Modifier 0 ISO Version 0 ECMA Version 0 ANSI Version 3 AENC 0 TrmIOP 0 Response Data Format 2 Vendor: FUJITSU Product: MAS3367NP Revision level: 0104A0K7P43002BE Die Option -d gibt eine Defektliste aus. 0. 66324k buffers Swap: 658656k total. 0. die Festplatte zu ersetzen. 0 zombie Cpu(s): 5. Mit der Option -n 1 wird das Programm nach einmaliger Anzeige der Prozessliste beendet. die zweite ist die Liste der fehlerhaften Blöcke. 1. Wenn die Anzahl der Einträge in der während des Betriebs generierten Tabelle (grown table) zunimmt.linux:/ # scsiinfo -i /dev/sda Inquiry command --------------Relative Address 0 Wide bus 32 0 Wide bus 16 1 Synchronous neg.33 init 0:00. 91. 658656k free.0 0.00. wird eine Liste der Prozesse angezeigt. der für „Table of Processes“ (Tabelle der Prozesse) steht. die während des Betriebs aufgetreten sind (grown table). 83 sleeping.00. 6. 1 stopped.00 Tasks: 85 total. 1 running.1 0 S 0. 0.6 Prozesse: top Mit dem Befehl top. die zwei Tabellen mit fehlerhaften Blöcken einer Festplatte enthält: die erste stammt vom Hersteller (manufacturer table). 0. 9116k free. empfiehlt es sich.00 ksoftirqd/0 Dienstprogramme zur Systemüberwachung 173 .

.00 0:00. 6.00 0:00.0 0.und Befehlszeileninformation aufzulisten.] VSZ 696 0 0 RSS TTY 272 ? 0 ? 0 ? STAT START TIME COMMAND S 12:59 0:01 init [5] SN 12:59 0:00 [ksoftirqd/0] S< 12:59 0:00 [events/0] 174 Referenz .00 0:00.0 0.0 0.0 0.0 0.0 0.0 0. in dem das Format der Ausgabe umfassend bearbeitet werden kann.2 0.00 0:00. kann der Parameter -U UID verwendet werden.0 0.0 0.1 0.0 0. Über ps --help erhalten Sie eine kurze und auf der entsprechenden Manualpage eine ausführliche Hilfe.02 0:00.1 0.00 0:00.0 0.0 0.01 0:00.06 0:00.0 0.10 0:02. Die meisten Parameter müssen ohne Minuszeichen angegeben werden.7 Prozessliste: ps Mit dem Befehl ps wird eine Liste von Prozessen generiert.00 0:00.05 0:00. Um alle Prozesse mit Benutzer.0 0.0 0.0 0.0 root 2 0.00 0:00.0 0.1 0:00.0 0.00 0:00.0 0.0 0.67 0:00.6 0.0 0.0 0.0 0.00 0:00.1 0.0 0.01 0:00.0 0.0 0.3 4 5 11 12 472 473 475 474 681 839 923 1343 1587 1746 1752 2151 2165 2166 2171 2235 2289 2403 2709 2714 root root root root root root root root root root root root root root root root root messageb root root root root root root root 10 10 10 10 20 20 15 11 15 10 10 13 10 20 15 15 16 16 15 16 15 16 23 19 16 -5 -5 -5 -5 -5 0 0 -5 0 -5 -5 -4 -5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S 0 0 0 S 0 0 0 S 0 0 0 S 0 0 0 S 0 0 0 S 0 0 0 S 0 0 0 S 0 0 0 S 0 0 0 S 0 0 0 S 1712 552 344 S 0 0 0 S 0 0 0 S 0 0 0 S 0 0 0 S 1464 496 416 S 3340 1048 792 S 1840 752 556 S 1600 516 320 S 1736 800 652 S 4192 2852 1444 S 1756 600 524 S 2668 1076 944 S 1756 648 564 S 0.0 0.00 0:00.0 [.0 0.0 0.0 0. verwenden Sie ps axu: tester@linux:~> ps axu USER PID %CPU %MEM root 1 0. wird ein Menü geöffnet. Der Befehl top -U `id -u` gibt die UID des Benutzers auf Basis des Benutzernamens zurück und zeigt dessen Prozesse an.1 0.0 0.0 0..0 0.01 0:00.0 0.0 0.0 0.2 0.0 0.0 0.0 0.0 root 3 0.00 0:00. Ersetzen Sie UID durch die Benutzer-ID des Benutzers. Um nur die Prozesse eines bestimmten Benutzers zu überwachen.05 0:00. während top aktiv ist.00 0:00.64 0:00.0 0.1 0.2 0.07 0:00.56 events/0 khelper kthread kblockd/0 kacpid pdflush pdflush aio/0 kswapd0 kseriod reiserfs/0 udevd khubd shpchpd_event w1_control w1_bus_master1 acpid dbus-daemon syslog-ng klogd resmgrd hald hald-addon-acpi NetworkManagerD hald-addon-stor Wenn Sie die Taste F drücken.27 0:00.0 0.0 0.0 0.

um eine nach Speichernutzung aller Prozesse sortierte Liste zu erhalten: tester@linux:~> ps ax --format pid.1 2324 816 pts/0 R+ 16:17 0:06 mono-best \ 0:00 \ 0:00 \ 0:00 \ 0:04 sound-juicer 0:00 -bash 0:00 ps axu Um zu prüfen..exe --autostarted tester 4057 0..cmd --sort rss PID RSS CMD 2 0 [ksoftirqd/0] 3 0 [events/0] 4 0 [khelper] 5 0 [kthread] 11 0 [kblockd/0] 12 0 [kacpid] 472 0 [pdflush] 473 0 [pdflush] [.7 9036 3684 ? Sl 13:02 /opt/gnome/sbin/gnome-vfs-daemon --oaf-activate-iid=OAFIID:GNOME_VFS_Daemon_Factory --oa tester 4067 0. wie viele sshd-Prozesse laufen.] 4028 17556 nautilus --no-default-window --sm-client-id default2 4118 17800 ksnapshot 4114 19172 sound-juicer 4023 25144 gnome-panel --sm-client-id default1 4047 31400 mono-best --debug /usr/lib/beagle/Best.0 0.0 3.0 0.init.1 2204 636 ? S 13:02 /opt/gnome/lib/nautilus/mapping-daemon tester 4072 0.exe \ --bg --autostarted Dienstprogramme zur Systemüberwachung 175 .pid 0:00 sshd: tester [priv] 0:00 sshd: tester@pts/0 Sie können die Prozessliste entsprechend Ihren Anforderungen formatieren.exe --autostarted 3973 31520 mono-beagled --debug /usr/lib/beagle/BeagleDaemon.3 4192 1812 pts/0 Ss 15:59 tester 4959 0.0 15996 5160 ? Ss 13:02 gnome-screensaver tester 4114 0.0 0.0 6.tester 4047 0. Mit der Option -L wird eine Liste aller Schlüsselwörter zurückgegeben. der die Prozess-IDs der gegebenen Prozesse auflistet.rss.0 158548 31400 ? Ssl 13:02 --debug /usr/lib/beagle/Best. verwenden Sie die Option -p zusammen mit dem Befehl pidof.0 1.7 130988 19172 ? SLl 13:06 tester 4818 0. tester@linux:~> ps -p PID TTY STAT 3524 ? Ss 4813 ? Ss 4817 ? R `pidof sshd` TIME COMMAND 0:00 /usr/sbin/sshd -o PidFile=/var/run/sshd. Geben Sie den folgenden Befehl ein.0 0.

15s /bin/sh /opt/kde3/bin/startkde tester pts/0 15:59 0. 0.14. 2 users.06.02 USER TTY LOGIN@ IDLE JCPU PCPU WHAT tester :0 16:33 ?xdm? 9.42s 0. Damit auch die Befehlszeilen angezeigt werden.19s 0.. Beispiel: tester@linux:~> w 16:33:03 up 3:33. 0..] Mit dem Parameter -p werden die Namen durch die jeweiligen Prozess-IDs ergänzt. verwenden Sie den Parameter -a: 6. wer beim System angemeldet ist und was die einzelnen Benutzer gerade machen.00s w 176 Referenz . load average: 0.6.00s 0.8 Prozessbaum: pstree Mit dem Befehl pstree wird eine Liste der Prozesse in Form einer Baumstruktur generiert: tester@linux:~> pstree init-+-NetworkManagerD |-acpid |-3*[automount] |-cron |-cupsd |-2*[dbus-daemon] |-dbus-launch |-dcopserver |-dhcpcd |-events/0 |-gpg-agent |-hald-+-hald-addon-acpi | `-hald-addon-stor |-kded |-kdeinit-+-kdesu---su---kdesu_stub---yast2---y2controlcenter | |-kio_file | |-klauncher | |-konqueror | |-konsole-+-bash---su---bash | | `-bash | `-kwin |-kdesktop---kdesktop_lock---xmatrix |-kdesud |-kdm-+-X | `-kdm---startkde---kwrapper [.9 Wer macht was: w Mit dem Befehl w ermitteln Sie.

5 Sekunden aktualisiert.-k. MB bzw.11 Kernel Ring Buffer: dmesg Der Linux-Kernel hält bestimmte Meldungen in einem Ringpuffer zurück.. So wird die Anzeige mit free -d 1.-m. date = 08112004 IA-32 Microcode Update Driver v1..Wenn sich Benutzer von entfernten Systemen angemeldet haben.com> microcode: CPU0 updated from revision 0xe to 0x2e.] end_request: I/O error. von welchen Computern aus diese Verbindungen aufgebaut wurden. können Sie mit dem Parameter -f anzeigen lassen. half-duplex NET: Registered protocol family 17 IA-32 Microcode Update Driver: v1. sector 0 subfs: unsuccessful attempt to mount media (256) e100: eth0: e100_watchdog: link up.5 beispielsweise alle 1. GB.-g zeigen die Ausgabe in Byte.10 Speichernutzung: free Die Nutzung des Arbeitsspeichers (RAM) wird mit dem Dienstprogramm free überprüft. geben Sie den Befehl dmesg ein: $ dmesg [.14 <tigran@veritas. dev fd0. Es werden Details zum freien und zum verwendeten Speicher (sowie zu den Auslagerungsbereichen) angezeigt: ester@linux:~> free total Mem: 515584 -/+ buffers/cache: Swap: 658656 used 501704 94072 0 free 13880 421512 658656 shared 0 buffers 73040 cached 334592 Die Optionen -b. dass die Anzeige alle N Sekunden aktualisiert wird. 6. 6.14 unregistered bootsplash: status on console 0 changed to on NET: Registered protocol family 10 Disabled Privacy Extensions on device c0326ea0(lo) IPv6 over IPv4 tunneling driver powernow: This module only works with AMD K7 CPUs bootsplash: status on console 0 changed to on Ältere Ereignisse werden in den Dateien /var/log/messages und /var/log/ warn protokolliert. Der Parameter -d N gewährleistet. KB. Um diese Meldungen anzuzeigen. Dienstprogramme zur Systemüberwachung 177 . 100Mbps.

noatime.6M 7.mode=0620.8M 46% /boot 34M 27G 1% /local Die Gesamtgröße aller Dateien in einem bestimmten Verzeichnis und dessen Unterverzeichnissen lässt sich mit dem Befehl du ermitteln. tester@linux:~> df -h Filesystem Size /dev/hda3 11G udev 252M /dev/hda1 16M /dev/hda4 27G Used Avail Use% Mounted on 3.user_xattr) /dev/fd0 on /media/floppy type subfs (rw. Der CPU-Typ kann beispielsweise mit dem folgenden Befehl abgerufen werden: 178 Referenz .fs=floppyfss.12 Dateisysteme und ihre Nutzung: mount.nosuid.7M /local 6.acl.6.user_xattr) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) udev on /dev type tmpfs (rw) devpts on /dev/pts type devpts (rw.user_xattr) /dev/hda4 on /local type reiserfs (rw. -h wandelt die Daten wieder in normal lesbare Form um: tester@linux:~> du -sh /local 1.2G 6.procuid) Die Gesamtnutzung der Dateisysteme kann mit dem Befehl df ermittelt werden.9G 32% / 104K 252M 1% /dev 6. Der Parameter -h (oder --human-readable) übersetzt die Ausgabe in ein für normale Benutzer verständliches Format. welches Dateisystem (Gerät und Typ) an welchem Einhängepunkt eingehängt ist: tester@linux:~> mount /dev/hda3 on / type reiserfs (rw. Der Parameter -s unterdrückt die Ausgabe der detaillierten Informationen.13 Das Dateisystem /proc Das Dateisystem /proc ist ein Pseudo-Dateisystem.acl. in dem der Kernel wichtige Daten in Form von virtuellen Dateien speichert.acl.gid=5) /dev/hda1 on /boot type ext2 (rw.nodev. df und du Mit dem Befehl mount können Sie anzeigen.

ehci_hcd:usb4 10: 0 XT-PIC uhci_hcd:usb3 11: 71772 XT-PIC uhci_hcd:usb2. uhci_hcd:usb1.343 cache size : 256 KB fdiv_bug : no [..ester@linux:~> cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 6 model : 8 model name : AMD Athlon(tm) XP 2400+ stepping : 1 cpu MHz : 2009..] Die Zuordnung und Verwendung der Interrupts kann mit dem folgenden Befehl ermittelt werden: tester@linux:~> cat /proc/interrupts CPU0 0: 3577519 XT-PIC timer 1: 130 XT-PIC i8042 2: 0 XT-PIC cascade 5: 564535 XT-PIC Intel 82801DB-ICH4 7: 1 XT-PIC parport0 8: 2 XT-PIC rtc 9: 1 XT-PIC acpi. eth0 12: 101150 XT-PIC i8042 14: 33146 XT-PIC ide0 15: 149202 XT-PIC ide1 NMI: 0 LOC: 0 ERR: 0 MIS: 0 Einige wichtige Dateien und die enthaltenen Informationen sind: /proc/devices verfügbare Geräte /proc/modules geladene Kernel-Module /proc/cmdline Kernel-Befehlszeile /proc/meminfo detaillierte Informationen zur Arbeitsspeichernutzung Dienstprogramme zur Systemüberwachung 179 .

1 tester users 0 2006-01-09 17:04 statm -r--r--r-.utf8/LC_COLLATE b7e32000-b7e33000 rw-p b7e32000 00:00 0 b7e33000-b7f45000 r-xp 00000000 03:03 8837 b7f45000-b7f46000 r--p 00112000 03:03 8837 b7f46000-b7f48000 rw-p 00113000 03:03 8837 /bin/cat /bin/cat [heap] \ \ /lib/libc-2.3.1 tester users 0 2006-01-09 17:04 environ lrwxrwxrwx 1 tester users 0 2006-01-09 17:04 exe -> /bin/ls dr-x-----.1 tester users 0 2006-01-09 17:04 oom_score lrwxrwxrwx 1 tester users 0 2006-01-09 17:04 root -> / -rw------.1 tester users 0 2006-01-09 17:04 stat -r--r--r-.1 tester users 0 2006-01-09 17:04 loginuid -r--r--r-.1 tester users 0 2006-01-09 17:04 auxv -r--r--r-.txt.1 tester users 0 2006-01-09 17:04 cmdline lrwxrwxrwx 1 tester users 0 2006-01-09 17:04 cwd -> /home/tester -r-------. wobei NNN für die ProzessID (PID) des jeweiligen Prozesses steht.3. Mit /proc/self/ können die zum aktiven Prozess gehörenden Eigenschaften abgerufen werden: tester@linux:~> ls -l /proc/self lrwxrwxrwx 1 root root 64 2006-01-09 13:03 /proc/self -> 5356 tester@linux:~> ls -l /proc/self/ total 0 dr-xr-xr-x 2 tester users 0 2006-01-09 17:04 attr -r-------.6./proc/config.2 tester users 0 2006-01-09 17:04 fd -rw-r--r-.so /lib/libc-2.so /lib/libc-2.3.1 tester users 0 2006-01-09 17:04 status dr-xr-xr-x 3 tester users 0 2006-01-09 17:04 task -r--r--r-.utf8/LC_CTYPE b7d5a000-b7e32000 r--p 00000000 03:03 11868 /usr/lib/locale/en_GB.1 tester users 0 2006-01-09 17:04 oom_adj -r--r--r-.1 tester users 0 2006-01-09 17:04 seccomp -r--r--r-.1 tester users 0 2006-01-09 17:04 wchan Die Adresszuordnung der Programmdateien und Bibliotheken befindet sich in der Datei maps: tester@linux:~> cat /proc/self/maps 08048000-0804c000 r-xp 00000000 03:03 17753 0804c000-0804d000 rw-p 00004000 03:03 17753 0804d000-0806e000 rw-p 0804d000 00:00 0 b7d27000-b7d5a000 r--p 00000000 03:03 11867 /usr/lib/locale/en_GB.gz gzip-komprimierte Konfigurationsdatei des aktuell aktivierten Kernels Weitere Informationen finden Sie in der Textdatei /usr/src/linux/ Documentation/filesystems/proc.1 tester users 0 2006-01-09 17:04 smaps -r--r--r-.so 180 Referenz .1 tester users 0 2006-01-09 17:04 maps -rw------.1 tester users 0 2006-01-09 17:04 mem -r--r--r-. Informationen zu aktuell laufenden Prozessen befinden sich in den /proc/NNN-Verzeichnissen.1 tester users 0 2006-01-09 17:04 mounts -rw-r--r-.6.6.

so [stack] [vdso] 6.98 0:02:20.b7f48000-b7f4c000 rw-p b7f48000 00:00 0 b7f52000-b7f53000 r--p 00000000 03:03 11842 /usr/lib/locale/en_GB. 0 uhci_hcd:usb3 75905 uhci_hcd:usb2.1.de] Memory: Mem: Swap: Total 515584 658656 Used 509472 0 Free 6112 658656 Shared 0 Buffers 73024 Bootup: Mon Jan user : 13476w nice : system: IOwait: hw irq: sw irq: idle : uptime: irq irq irq irq irq irq irq irq 0: 1: 2: 3: 4: 5: 6: 7: 9 12:59:08 2006 0.3% Load average: 0.3.29 4:06:30.1 procinfo Wichtige Informationen zum Dateisystem /proc werden mit dem Befehl procinfo zusammengefasst: tester@linux:~> procinfo Linux 2.93 0:01:25.91 0:00:42.utf8/LC_IDENTIFICATION b7f62000-b7f76000 r-xp 00000000 03:03 8828 b7f76000-b7f78000 rw-p 00013000 03:03 8828 bfd61000-bfd76000 rw-p bfd61000 00:00 0 ffffe000-fffff000 ---p 00000000 00:00 0 \ \ \ /lib/ld-2.6.3.3% 0.54 4:13:20.0% 97.cache b7f61000-b7f62000 r--p 00000000 03:03 9720 /usr/lib/locale/en_GB.6% 0..1% 0. uhci_hcd:usb1.94 0:00:01.suse.13. eth0 101150 i8042 33733 ide0 157045 ide1 disk 1: 20125r 0:02:07.utf8/LC_NUMERIC [.10 0.04 0.so /lib/ld-2.15-rc5-git3-2-default (geeko@buildhost) (gcc 4.8% 0.0 20051129) #1 Wed Dec 14 13:10:38 UTC 2005 1CPU [linux.] b7f5b000-b7f61000 r--s 00000000 03:03 9109 /usr/lib/gconv/gconv-modules..40 0:00:08.05 1/86 5406 page in : page out: page act: page dea: page flt: swap in : swap out: context : 442638 134950 70577 11696 1423622 0 0 3813145 2 rtc 1 acpi.9% 0.6.6.72 3799268 130 0 8 8 564535 9 1 timer i8042 cascade [4] Intel 82801DB-ICH4 parport0 [3] irq 8: irq 9: irq 10: irq 11: irq 12: irq 14: irq 15: Dienstprogramme zur Systemüberwachung 181 .

Beenden Sie in diesem Fall das Programm mit der Taste Q .7 USB Controller: Intel Corporation 82801DB/DBM \ (ICH4/ICH4-M) USB2 EHCI Controller (rev 01) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 81) 00:1f..3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) \ SMBus Controller (rev 01) 00:1f.Verwenden Sie den Parameter -a. die sich in den letzten fünf Sekunden geändert haben: 6.0 ISA bridge: Intel Corporation 82801DB/DBL (ICH4/ICH4-L) \ LPC Interface Bridge (rev 01) 00:1f.1 USB Controller: Intel Corporation 82801DB/DBL/DBM \ (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01) 00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM \ (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01) 00:1d.] 02:08. non-prefetchable) [size=4K] 182 Referenz .0 Ethernet controller: Intel Corporation 82801DB PRO/100 VE (LOM) \ Ethernet Controller (rev 81) Mit der Option -v werden ausführlichere Informationen angezeigt: linux:~ # lspci [. wenn Sie alle Informationen sehen möchten. medium devsel.. Inc. G400/G450 (rev 85) 02:08.1 IDE interface: Intel Corporation 82801DB (ICH4) IDE \ Controller (rev 01) 00:1f.14 PCI-Ressourcen: lspci Der Befehl lspci listet die PCI-Ressourcen auf: linux:~ # lspci 00:00.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM \ (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01) 01:00.0 VGA compatible controller: Matrox Graphics. Der Parameter -nN aktualisiert die Informationen alle N Sekunden. latency 66.2 USB Controller: Intel Corporation 82801DB/DBL/DBM \ (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01) 00:1d. Mit dem Parameter -d werden die Einzelwerte generiert.0 PCI bridge: Intel Corporation 82845G/GL[Brookdale-G]/GE/PE \ Host-to-AGP Bridge (rev 01) 00:1d.0 Host bridge: Intel Corporation 82845G/GL[Brookdale-G]/GE/PE \ DRAM Controller/Host-Hub Interface (rev 01) 00:01.0 Ethernet controller: Intel Corporation 82801DB PRO/100 VE (LOM)\ Ethernet Controller (rev 81) Subsystem: Fujitsu Siemens Computer GmbH: Unknown device 1001 Flags: bus master. procinfo -dn5 zeigt die Werte an. IRQ 11 Memory at d1000000 (32-bit. Standardmäßig werden die kumulativen Werte angezeigt.

R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.. 512) \ = 512 fstat64(3. .}) = 0 mmap2(NULL. 0) = 0xb7ef2000 close(3) = 0 open("/lib/librt.}) = 0 [.. ["ls"].so.preload".. 3. 89696. MAP_PRIVATE|MAP_ANONYMOUS.. [/* 61 vars */]) = 0 uname({sys="Linux". 4096. O_RDONLY) = 3 read(3. PROT_READ. PCI-IDs. "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\36\0". "bin Desktop Documents music\tM".so...so. die in dieser Datei fehlen. O_RDONLY) = 3 fstat64(3.cache". {st_mode=S_IFREG|0644. st_size=36659. PROT_READ|PROT_WRITE. node="linux"...}) = 0 mmap2(NULL.. st_size=89696. . eine bestimmte Datei zu öffnen.I/O ports at 3000 [size=64] Capabilities: [dc] Power Management version 2 Die Informationen zur Auflösung der Gerätenamen stammen aus der Datei /usr/ share/pci. zu verfolgen.. Geben Sie den Befehl wie üblich ein und fügen Sie am Zeilenanfang strace hinzu: tester@linux:~> strace ls execve("/bin/ls". Der Parameter -vv generiert alle Informationen. geben Sie Folgendes ein: Dienstprogramme zur Systemüberwachung 183 .ids. st_rdev=makedev(136. die vom Programm abgefragt werden können. Die reinen numerischen Werte werden mit dem Parameter -n angezeigt. 0) \ = 0xb7ca7000 write(1... 6. {st_mode=S_IFCHR|0620.1". . . MAP_PRIVATE. 0).15 Systemaufrufe eines aktiven Programms: strace Mit dem Dienstprogramm strace können Sie alle Systemaufrufe eines aktuell ausgeführten Prozesses verfolgen. werden als „Unknown device“ (Unbekanntes Gerät) markiert. 55bin Desktop Documents \ \ music Music public_html tmp ) = 55 close(1) = 0 munmap(0xb7ca7000.] stat64(1. 4096) = 0 exit_group(0) = ? Um beispielsweise alle Versuche....}) = 0 brk(0) = 0x805c000 access("/etc/ld.. -1. {st_mode=S_IFREG|0755.

16 Bibliotheksaufrufe eines aktiven Programms: ltrace Mit dem Befehl ltrace können Sie die Bibliotheksaufrufe eines Prozesses verfolgen.662715 105717 function -------------------__errno_location __fprintf_chk strlen readdir64 __ctype_get_mb_cur_max strcpy memcpy textdomain -------------------total 6.00 19.so.1". welche Bibliotheken die als Argument angegebene dynamische Programmdatei laden würde: 184 Referenz .so.--------34. O_RDONLY) = open("/lib/librt.----------.so.cache".] 3 3 3 3 3 3 Um alle untergeordneten Prozesse zu verfolgen. Der Parameter -c gibt die Anzahl und die Dauer der erfolgten Bibliotheksaufrufe aus: tester@linux:~> ltrace -c find ~ % time seconds usecs/call calls -----.----------. Dieser Befehl wird auf ähnliche Weise wie strace verwendet.so.tester@linux:~> strace -e open ls .18 0.53 6.--------100...----------.490392 144 17212 11.so.1". O_RDONLY) = open("/lib/libacl.bashrc open("/etc/ld.6".67 2.. O_RDONLY) = open("/lib/libc.0".353302 239 9845 2.] 0.466754 27 16716 1.230765 27 8358 [.97 2.----------.so.00 0.17 Erforderliche Bibliothek angeben: ldd Mit dem Befehl ldd können Sie ermitteln. O_RDONLY) = open("/lib/libattr.593562 788 8358 12.37 0. verwenden Sie den Parameter -f. Weitere Informationen erhalten Sie durch die Eingabe von man strace. O_RDONLY) = open("/lib/libpthread.758937 245 27554 33.231189 27 8531 1. 6.17 0. O_RDONLY) = [.000036 36 1 -----..1".37 6. Das Verhalten und das Ausgabeformat von strace können weitgehend gesteuert werden.

4. for GNU/Linux 2.so.1 => /lib/libacl.so.4. little endian Version: 1 (current) OS/ABI: UNIX .1 (0xb7f91000) libc.6.1 => /lib/librt.6.so.2 (0xb7fb6000) libattr.so. die für andere Hardware-Architekturen entwickelt wurden: tester@linux:~> readelf --file-header /bin/ls ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement.6 (0xb7e79000) libpthread.so. statically linked. Intel 80386.1 => /lib/libattr.18 Zusätzliche Informationen zu ELF-Binärdateien Der Inhalt von Binärdateien kann mit dem Dienstprogramm readelf gelesen werden. version 1 (SYSV).6 => /lib/libc.so.1 => (0xffffe000) librt.0 => /lib/libpthread.so.so.0 (0xb7e67000) /lib/ld-linux.so. for GNU/Linux 2.1 (0xb7e63000) Statische Binärdateien benötigen keine dynamischen Bibliotheken: tester@linux:~> ldd /bin/sash not a dynamic executable tester@linux:~> file /bin/sash /bin/sash: ELF 32-bit LSB executable.System V ABI Version: 0 Type: EXEC (Executable file) Machine: Intel 80386 Version: 0x1 Entry point address: 0x8049b60 Start of program headers: 52 (bytes into file) Start of section headers: 81112 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 9 Size of section headers: 40 (bytes) Number of section headers: 30 Section header string table index: 29 Dienstprogramme zur Systemüberwachung 185 . stripped 6. Dies funktioniert auch für ELF-Dateien.so.so.so.tester@linux:~> ldd /bin/ls linux-gate.1 (0xb7f97000) libacl.

Message Queues -------key msqid owner bytes 393216 196608 43264 192000 282464 151552 nattch 2 2 2 2 2 2 status dest dest dest nsems 8 perms used-bytes messages 6.042s 0m0.6.Semaphore Arrays -------key semid owner perms 0x4d038abf 0 tester 600 -----. > /dev/null real user sys 0m4. Dieses Dienstprogramm ist in zwei Versionen verfügbar: als Shell-Integration und als Programm (/usr/bin/time).19 Prozessübergreifende Kommunikation: ipcs Der Befehl ipcs generiert eine Liste der aktuell verwendeten IPC-Ressourcen: -----.Shared Memory Segments -------key shmid owner perms 0x00000000 58261504 tester 600 0x00000000 58294273 tester 600 0x00000000 83886083 tester 666 0x00000000 83951622 tester 666 0x00000000 83984391 tester 666 0x00000000 84738056 root 644 -----.205s 186 Referenz .20 Zeitmessung mit time Der Zeitaufwand von Befehlen lässt sich mit dem Dienstprogramm time ermitteln.051s 0m0. tester@linux:~> time find .

Teil III. System .

.

SUSE Linux unterstützt die Verwendung von 32-Bit-Anwendungen in einer 64-Bit-Systemumgebung. dass alle enthaltenen Anwendungen bereits auf 64-Bit-Plattformen portiert wurden.32-Bit. Dieses Kapitel bietet einen kurzen Überblick darüber.als auch für 64-Bit-Umgebungen verfügbar ist. führt die parallele Installation beider Versionen zwangsläufig zu Problemen. Es wird erläutert. Entscheiden Sie sich in diesen Fällen für eine der beiden Versionen und installieren und verwenden Sie nur diese. wie 32-Bit-Anwendungen unter einem 64-Bit-Kernel ausgeführt werden können. dass bestehende 32-Bit-Anwendungen sofort in der 64-Bit-Umgebung ausgeführt werden können.und 64-Bit-Anwendungen in einer 64-Bit-Systemumgebung SUSE Linux ist für verschiedene 64-Bit-Plattformen verfügbar.1 Laufzeitunterstützung WICHTIG: Konflikte zwischen Anwendungsversionen Wenn eine Anwendung sowohl für 32-Bit. Diese Unterstützung bedeutet. 7 7. SUSE Linux für die 64-Bit-Plattformen AMD64 und EM64T ist so konzipiert. bis ein entsprechender 64Bit-Port verfügbar ist. wie diese Unterstützung auf SUSE Linux-64-Bit-Plattformen implementiert ist. dass Sie weiterhin Ihre bevorzugten 32-BitAnwendungen verwenden können und nicht warten müssen.als auch in 64-Bit-Systemanwendungen ausgeführt werden können. 32-Bit. Außerdem finden Sie Informationen zur Kernel-API und es wird erläutert. wie 32-Bit-Anwendungen ausgeführt werden (Laufzeitunterstützung) und wie 32-Bit-Anwendungen kompiliert werden sollten.und 64-Bit-Anwendungen in einer 64-Bit-Systemumgebung 189 . damit sie sowohl in 32-Bit. Das bedeutet jedoch nicht unbedingt.

Bei GCC lautet diese Flag -m32. werden nicht verschoben.und 64-Bit-Versionen dieser Bibliotheken identisch.so. Unter /lib. Sie müssen auf andere Weise voneinander unterschieden werden. Die normale SUSE-Umgebung wurde nach diesem Prinzip entworfen.6 befindet sich sowohl in der 32-Bit. 32-Bit-Objekte können durch Verwendung spezieller Flags erstellt werden. Die installierten 32-Bit.Für eine korrekte Ausführung benötigt jede Anwendung eine Reihe von Bibliotheken. Die 32-BitVersion von libc. werden die Bibliotheken am selben Ort im System gespeichert wie in der 32-Bit-Umgebung.und 64-Bit-Bibliotheken müssen eine API (Anwendungsprogrammschnittstelle) aufweisen.2 Software-Entwicklung Eine Doppelarchitektur-Entwicklungswerkzeugkette (Biarch Development Toolchain) ermöglicht die Erstellung von 32-Bit. 190 Referenz . Alle Header-Dateien müssen in architekturunabhängiger Form geschrieben werden. /usr/X11R6/lib64 gespeichert.so.6. Beispielsweise befinden sich die X11-Schriftarten noch immer am gewohnen Ort unter /usr/X11R6/lib/X11/fonts. die zu den installierten Header-Dateien passt. Das Schema entspricht LSB (Linux Standards Base) und FHS (File System Hierarchy Standard). /usr/lib und /usr/X11R6/ lib ist also Platz für die 32-Bit-Bibliotheken. Um die Kompatibilität mit der 32-Bit-Version aufrechtzuerhalten. Bei manuell aktualisierten Bibliotheken müssen Sie diese Probleme selbst lösen. 7. die sich normalerweise unter /lib. werden nun unter /lib64. sodass der Dateiname für beide Versionen unverändert bleiben kann. deren Dateninhalt nicht von der Wortgröße abhängt.und 64-Bit-Objekten. /usr/ lib und /usr/X11R6/lib befinden. Leider sind die Namen für die 32-Bit. Unterverzeichnisse der Objektverzeichnisse. Standardmäßig werden 64Bit-Objekte kompiliert. Alle 64-Bit-Bibliotheken und Objektdateien befinden sich in Verzeichnissen mit dem Namen lib64.als auch in der 64-BitUmgebung unter /lib/libc. Die 64-Bit-Objektdateien. /usr/lib64 bzw.

Weisen Sie den Linker an. Legen Sie autoconf für die Verwendung des 32-Bit-Compilers fest: CC="gcc -m32" 2.bzw. aus /usr/lib stammen sollen: LDFLAGS="-L/usr/lib" 5.und Linker-Einstellungen von autoconf. Um mit autoconf ein Programm für die zweite Architektur zu konfigurieren. Diese Pakete heißen rpmname-32bit. dass die Bibliotheken für libtool usw. indem Sie das Skript configure mit zusätzlichen Umgebungsvariablen ausführen. EM64T-System mit x86 als zweiter Architektur: 1.3 Software-Kompilierung auf Doppelarchitektur-Plattformen Um bei einer Doppelarchitektur Binärdateien für die jeweils andere Architektur zu entwickeln. 32-Bit-Objekte zu verarbeiten: LD="ld -m elf64_i386" 3.7. Außerdem benötigen Sie die entsprechenden Header und Bibliotheken aus den rpmname-devel-Paketen und die Entwicklungsbibliotheken für die zweite Architektur aus rpmname-devel-32bit. Die meisten Open Source-Programme verwenden eine autoconf-basierte Programmkonfiguration. Legen Sie fest. Legen Sie fest. müssen die entsprechenden Bibliotheken für die zweite Architektur zusätzlich installiert werden.und 64-Bit-Anwendungen in einer 64-Bit-Systemumgebung 191 . Das folgende Beispiel bezieht sich auf ein AMD64. dass die Bibliotheken im Unterverzeichnis lib gespeichert werden sollen: --libdir=/usr/lib 32-Bit. Legen Sie den Assembler für die Erstellung von 32-Bit-Objekten fest: AS="gcc -c -m32" 4. überschreiben Sie die normalen Compiler.

CC="gcc -m64" \ LDFLAGS="-L/usr/lib64. dass die 64-Bit-Version des Kernel-ladbaren Moduls und die kompilierte 32-Bit-Version der Kernel-API für dieses Modul verfügbar sind." \ . dass die 32-Bit-X-Bibliotheken verwendet werden sollen: --x-libraries=/usr/X11R6/lib/ Nicht alle diese Variablen werden für jedes Programm benötigt. wenden Sie sich an den Anbieter dieser Anwendung und an SUSE. Kernel-ladbare Module erforderlich. eine solche 32-Bit-Anwendung in einer 64-Bit-Systemumgebung zu verwenden. Aus diesem Grund müssen einige wenige Anwendungen. TIPP Für einige Anwendungen sind separate. die von Systemprogrammen verwendet werden. Legen Sie fest. Die 32-Bit-Emulation der Systemaufrufe für einen 64-Bit-Kernel unterstützt eine Reihe von APIs nicht.als auch eine 32-Bit-Kernel-ABI (binäre Anwendungsschnittstelle). Das bedeutet. als 64-Bit-Programme kompiliert werden. um sicherzustellen. wie beispielsweise lspci oder die LVM-Verwaltungsprogramme.configure \ --prefix=/usr \ --libdir=/usr/lib64 make make install 7.4 Kernel-Spezifikationen Die 64-Bit-Kernes für AMD64 und EM64T bieten sowohl eine 64-Bit. 192 Referenz . 32-Bit-Kernel-Module können nicht verwendet werden. Passen Sie sie an das entsprechende Programm an. Ein 64-Bit-Kernel kann nur 64-Bit-Kernel-Module laden. die speziell für diesen Kernel kompiliert wurden.6. Dies hängt von der Plattform ab. Wenn Sie vorhaben. damit sie ordnungsgemäß funktionieren. dass die 32-Bit-Anwendung mit dem 64-Bit-Kernel auf die gleiche Weise kommunizieren kann wie mit dem 32-BitKernel. Letztere ist mit der ABI für den entsprechenden 32-Bit-Kernel identisch.

der sich am Anfang dieses Sektors befindet.1 Der Linux-Bootvorgang Der Linux-Bootvorgang besteht aus mehreren Phasen. Wenn die erste Festplatte und deren Geometrie erkannt wurden. 1. Bootloader Der erste physische 512 Byte große Datensektor der ersten Festplatte wird in den Arbeitsspeicher geladen und der Bootloader. Bis zu dieser Phase greift der Computer nicht auf Massenspeichergeräte zu. geht die Systemsteuerung vom BIOS an den Bootloader über. Anschließend werden Informationen zum aktuellen Datum. In diesem Kapitel werden die zu Grunde liegenden Prinzipien erläutert und die beteiligten Komponenten vorgestellt.Booten und Konfigurieren eines Linux-Systems Das Booten eines Linux-Systems umfasst mehrere unterschiedliche Komponenten. übernimmt die Steuerung. Aus diesem Grund werden die ersten 512 Byte auf der ersten Festplatte als Master Boot Record (MBR) bezeichnet. Außerdem werden in diesem Kapitel das Konzept der Runlevel sowie die Systemkonfiguration von SUSE mit sysconfig vorgestellt. 8 8. von denen jede einer anderen Komponente entspricht. Booten und Konfigurieren eines Linux-Systems 193 . In der folgenden Liste werden der Bootvorgang und die daran beteiligten Komponenten kurz zusammengefasst. zur aktuellen Uhrzeit und zu den wichtigsten Peripheriegeräten aus den CMOS-Werten geladen. Die vom Bootloader ausgegebenen Befehle bestimmen den verbleibenden Teil des Bootvorgangs. Der Bootloader übergibt die Steuerung 2. BIOS Nach dem Einschalten des Computers initialisiert das BIOS den Bildschirm und die Tastatur und testet den Arbeitsspeicher.

init on initramfs Dieses Programm führt alle für das Einhängen des entsprechenden Root-Dateisystems erforderlichen Aktionen aus. Weitere Informationen zum init-Programm finden Sie in Abschnitt 8.1. die das eigentliche init-Programm für das Root-Dateisystem ausführt.2. „Der init-Vorgang“ (S. Diese minimale Linux-Umgebung wird von BIOS-Routinen in den Arbeitsspeicher geladen und hat. bevor das eigentliche Root-Dateisystem eingehängt wird. dem Linux-Bootloader. Eine Beschreibung des init-Programms finden Sie in Abschnitt 8. 5. z. „init on initramfs“ (S. init Das init-Programm führt den eigentlichen Bootvorgang des Systems über mehrere unterschiedliche Ebenen aus und stellt dabei die unterschiedlichen Funktionalitäten zur Verfügung. Kernel und „initramfs“ Um die Systemsteuerung zu übergeben. abgesehen von ausreichend Arbeitsspeicher. die das Einhängen des eigentlichen Root-Dateisystems ausführt. 194 Referenz .anschließend an das eigentliche Betriebssystem. lädt der Bootloader sowohl den Kernel als auch ein initiales RAM-basiertes Dateisystem (das initramfs) in den Arbeitsspeicher. In früheren Versionen von SUSE Linux wurden diese Tasks von „initrd“ bzw. das Bereitstellen der Kernel-Funktionalität für die erforderlichen Dateisystem. 194). Der Inhalt des initramfs kann vom Kernel direkt verwendet werden.und Gerätetreiber der Massenspeicher-Controller mit udev. „initramfs“ (S. Weitere Informationen zu udev finden Sie in Kapitel 12. 273). keine spezifischen HardwareAnforderungen. 3.1. 195). wird das initramfs bereinigt und das init-Programm wird für das Root-Dateisystem ausgeführt. 8. Weitere Informationen zu GRUB. die das Ausführen von Programmen ermöglicht. in diesem Fall an den LinuxKernel.1. Gerätemanagement über dynamischen Kernel mithilfe von udev (S. Weitere Informationen zu initramfs finden Sie in Abschnitt 8. B.1 initramfs initramfs ist ein kleines cpio-Archiv. Das initramfs enthält eine kleine Programmdatei namens „init“. Nachdem das Root-Dateisystem gefunden wurde. finden Sie in Kapitel 9. initramfs muss immer eine Programmdatei namens „init“ zur Verfügung stellen. das der Kernel auf einen RAM-Datenträger laden kann. Wenn dieser Vorgang erfolgreich abgeschlossen wurde.1. 4. 197). 211). Der Bootloader (S. wird es auf Fehler geprüft und eingehängt.2. Es stellt eine minimale Linux-Umgebung bereit. „linuxrc“ durchgeführt. damit der Bootvorgang fortgesetzt werden kann.

da GRUB beim Booten das Verzeichnis nach der richtigen Datei durchsucht. wenn mehrere SCSI-Treiber verwendet werden. 8. Genau genommen wäre es ausreichend. ist es für den Kernel erforderlich. nur die für den Zugriff auf das Root-Dateisystem erforderlichen Treiber zu laden. da andernfalls die Namen der Festplatten geändert würden. da das Laden zu einem späteren Zeitpunkt problematisch sein könnte. Die erforderlichen Module für das Root-Dateisystem können mithilfe von init oder initramfs geladen werden. das Einhängen des eigentlichen RootDateisystems sowie den Zugriff darauf vorzubereiten.Bevor das eigentliche Root-Dateisystem eingehängt und das Betriebssystem gestartet werden kann. in der sie in INITRD_MODULES erscheinen. Die Module werden genau in der Reihenfolge geladen. Dadurch können alle während des Bootvorgangs generierten Gerätereignisse verarbeitet werden. initrd. GRUB nach der Aktualisierung von initramfs oder initrd neu zu installieren. dass die entsprechenden Treiber auf das Gerät zugreifen. Dies erfolgt auf dieselbe Weise wie die Aktualisierung des Vorgängers von initramfs.2 init on initramfs Der Hauptzweck von init unter initramfs ist es. initramfs steht während des gesamten Bootvorgangs zur Verfügung. nämlich durch den Aufruf von mkinitrd. Booten und Konfigurieren eines Linux-Systems 195 . Es ist nicht erforderlich. Diese Variable wird nach der Installation automatisch auf den richtigen Wert gesetzt. Es werden jedoch alle für die Installation erforderlichen SCSI-Treiber mit initramfs oder initrd geladen. müssen Sie das initramfs aktualisieren. Nachdem die Module geladen wurden. stellt udev das initramfs mit den erforderlichen Geräten bereit. Dies ist besonders wichtig. auf dem sich das Root-Dateisystem befindet. Diese Treiber können spezielle Treiber für bestimmte Arten von Festplatten oder sogar Netzwerktreiber für den Zugriff auf ein Netzwerk-Dateisystem umfassen. WICHTIG: Aktualisieren von initramfs oder initrd Der Bootloader lädt initramfs oder initrd auf dieselbe Weise wie den Kernel. Wenn in einem installierten System Hardwarekomponenten (Festplatten) ausgetauscht werden müssen und diese Hardware zur Boot-Zeit andere Treiber im Kernel erfordert. Je nach aktueller Systemkonfiguration ist init für die folgenden Tasks verantwortlich. Durch das Aufrufen von mkinitrd -R wird ein initrd erstellt.1. In SUSE Linux werden die zu ladenden Module durch die Variable INITRD_MODULES in /etc/ sysconfig/kernel angegeben. Durch das Aufrufen von mkinitrd ohne Argumente wird ein initramfs erstellt.

um auf dieses zugreifen und das Betriebssystem installieren zu können. bei dem die für die Hardwarekonfiguration geeigneten Treiber ermittelt werden. 196 Referenz . „initramfs“ (S. udev verarbeitet diese Ergebnisse und generiert die erforderlichen speziellen Dateien für das Gerät auf einem RAM-Dateisystem in /dev. unterscheiden sich seine Tasks von den zuvor beschriebenen: Suchen des Installationsmediums Wenn Sie den Installationsvorgang starten. 57). 65). Initiieren der Hardware-Erkennung und Laden der entsprechenden Kernel-Module Wie unter Abschnitt 8. Ohne diese speziellen Dateien wäre ein Zugriff auf das Dateisystem nicht möglich. das in einem RAM-Dateisystem ausgeführt wird. startet der Bootvorgang mit einem Mindestsatz an Treibern. Wenn init im Rahmen des Installationsvorgangs während des anfänglichen Bootvorgangs aufgerufen wird.Laden der Kernel-Module Je nach Hardwarekonfiguration sind für den Zugriff auf die Hardwarekomponenten des Computers (vor allem auf die Festplatte) spezielle Treiber erforderlich. „Soft-RAID-Konfiguration“ (S. Bereitstellen spezieller Block-Dateien Für jedes geladene Modul generiert der Kernel Geräteergebnisse. muss init sicherstellen. Das YaST-Installationsprogramm. dass der Zugriff auf das Root-Dateisystem zu einem späteren Zeitpunkt erfolgt. „LVM-Konfiguration“ (S. Informationen zu LVM finden Sie in Abschnitt 2.1. die für die meisten Hardwarekonfigurationen verwendet werden können. lädt Ihr Computer vom Installationsmedium einen Installations-Kernel und ein spezielles initrd mit dem YaST-Installationsprogramm. init startet einen anfänglichen Hardware-Scan-Vorgang. benötigt Daten über den aktuellen Speicherort des Installationsmediums.1. 194) beschrieben. dass die entsprechenden Netzwerktreiber geladen und für den Zugriff auf das Root-Dateisystem eingerichtet werden.und LVM-Setups Wenn Ihr System so konfiguriert ist. Verwalten von Netzwerkkonfigurationen Wenn Ihr System für die Verwendung eines Netzwerk-eingehängten Root-Dateisystems (über NFS eingehängt) konfiguriert ist. Informationen zu RAID finden Sie in Abschnitt 2. dass das Root-Dateisystem sich unter RAID oder LVM befindet. Verwalten von RAID.2. richtet init LVM oder RAID so ein.1. Für den Zugriff auf das eigentliche Root-Dateisystem muss der Kernel die entsprechenden Dateisystemtreiber laden.

2.2. dessen Aufgabe es ist. 200)). in der auch die Runlevel definiert werden (siehe Abschnitt 8. welche Dienste und Daemons in den einzelnen Levels verfügbar sind.2 Der init-Vorgang Das Programm init ist der Prozess mit der Prozess-ID 1. Während des Installationsvorgangs lädt init die entsprechenden Modulsätze. in eine Datei namens /etc/ sysconfig/hardware/hwconfig-*.1. „Runlevel“ (S. Es ist für die ordnungsgemäße Initialisierung des Systems verantwortlich.2. startet init das Installationssystem. das wiederum die Paketinstallation und die Systemkonfiguration startet. Es wird direkt vom Kernel gestartet und widersteht dem Signal 9.oder Rettungssystems Sobald die Hardware erfolgreich erkannt und die entsprechenden Treiber geladen wurden und udev die speziellen Gerätedateien erstellt hat. Laden des Installations. Diese Skripts. um allen weiteren Bootvorgängen die Verwedung eines benutzerdefinierten initrd zu ermöglichen. Diese Datei legt auch fest. Von diesem Gesichtspunkt aus kann der Kernel als Hintergrundprozess betrachtet werden. alle anderen Prozesse zu verwalten und die CPU-Zeit sowie den Hardwarezugriff entsprechend den Anforderungen anderer Programme anzupassen.Diese Werte werden später in INITRD_MODULES in /etc/sysconfig/ kernel geschrieben. das das eigentliche YaST-Installationsprogramm bzw. 8. Je nach den Einträgen in /etc/inittab werden von init mehrere Skripts ausgeführt. die der Deutlichkeit halber als init-Skripts bezeichnet werden. init wird zentral in der Datei /etc/inittab konfiguriert. das Rettungssystem enthält. bzw. Hierbei nimmt init eine besondere Rolle ein. befinden sich alle im Verzeichnis /etc/init. wenn das Gerät während des Bootvorgangs nicht benötigt wird. „Init-Skripts“ (S. Der gesamte Vorgang des Startens und Herunterfahrens des Systems wird von init verwaltet. 198)). Alle anderen Programme werden entweder direkt von init oder von einem seiner untergeordneten Prozesse gestartet. Starten von YaST init startet schließlich YaST. das in der Regel Prozesse beendet. Booten und Konfigurieren eines Linux-Systems 197 .d (siehe Abschnitt 8.

Tabelle 8.8.1 Runlevel 0 S Verfügbare Runlevel Beschreibung Systemstopp Einzelbenutzer-Modus.1. „Verfügbare Runlevel“ (S. Siehe Tabelle 8.) Mehrbenutzer-Vollmodus mit Netzwerk Nicht verwendet Mehrbenutzer-Vollmodus mit Netzwerk und X-Display-Manager . über die Boot-Eingabeaufforderung.KDM. Dies ist in der Regel die Einstellung 3 oder 5. nur mit der amerikanischen Tastaturbelegung verfügbar Einzelbenutzer-Modus Lokaler Mehrbenutzer-Modus mit entferntem Netzwerk (NFS usw. Alternativ kann der Runlevel auch zur Boot-Zeit (beispielsweise an der Eingabeaufforderung) angegeben werden.2. werden an init übergeben. die nicht direkt vom Kernel ausgewertet werden können. Nach dem Booten startet das System wie in /etc/ inittab in der Zeile initdefault definiert. Alle Parameter.1 Runlevel Unter Linux definieren Runlevel. 198). GDM oder XDM Systemneustart 1 2 3 4 5 6 198 Referenz . wie das System gestartet wird und welche Dienste im laufenden System verfügbar sind.

telinit 5 Die grafische Umgebung wird aktiviert. Die Benutzer werden aufgefordert. da der NFS-Dienst in Runlevel 2 nicht zur Verfügung steht (lokaler Mehrbenutzer-Modus ohne entferntes Netzwerk). oder der Standardbenutzer wird automatisch angemeldet. Dies darf nur von Systemadministratoren ausgeführt werden. GDM oder KDM. Das X Window-System (S. KDE oder einem anderem Fenster-Manager) angemeldet. telinit 6 oder shutdown -r now Das System wird gestoppt und anschließend neu gestartet. 293) beschrieben konfiguriert werden. Das System zeigt möglicherweise unerwartetes Verhalten. Normalerweise wird ein Display-Manager. gestartet. Wenn Autologin aktiviert ist. Runlevel 5 ist der standardmäßige Runlevel bei allen SUSE Linux-Standardinstallationen. wie /usr. wie XDM. über NFS einhängt. In der folgenden Liste sind die wichtigsten Befehle im RunlevelBereich aufgeführt. telinit 1 oder shutdown now Das System wechselt in den Einzelbenutzer-Modus. Um die Runlevel während des laufenden Systembetriebs zu ändern. Dieser Modus wird für die Systemwartung und administrative Aufgaben verwendet. geben Sie telinit und die entsprechende Zahl als Argument ein. Wenn 3 der standardmäßige Runlevel ist. telinit 3 Alle wichtigen Programme und Dienste (einschließlich Netzwerkprogramme und -dienste) werden gestartet und reguläre Benutzer können sich anmelden und mit dem System ohne grafische Umgebung arbeiten. telinit 0 oder shutdown -h now Das System wird gestoppt.WICHTIG: Runlevel 2 mit einer über NFS eingehängten Partition ist zu vermeiden Sie sollten Runlevel 2 nicht verwenden. bevor der Runlevel auf 5 geändert werden Booten und Konfigurieren eines Linux-Systems 199 . muss das X Window System wie unter Kapitel 14. wenn Ihr System eine Partition. wenn Programmdateien oder Bibliotheken fehlen. wird der lokale Benutzer beim vorausgewählten Fenster-Manager (GNOME. sich mit einer grafischen Oberfläche anzumelden.

Der Administrator (root) fordert init durch die Eingabe des Befehls telinit 5 auf.kann.2. Die Start-Skripts des neuen Runlevel werden zuletzt gestartet. ob das System wie gewünscht funktioniert.d (alter Runlevel war 3) befinden und mit einem K beginnen. Prüfen Sie anschließend. indem Sie telinit 5 eingeben. B.d/rc mit dem neuen Runlevel als Parameter starten soll. Dabei werden in den meisten Fällen mehrere Programme gestartet. dass es /etc/init. Dieselbe Funktion kann durch den Befehl telinit q erreicht werden. jedoch nur die. 3. da einige Abhängigkeiten zu berücksichtigen sind. die einige der für den aktuellen Runlevel wichtigen Programme schließen. Hier wird dasselbe Verfahren hinsichtlich der Startreihenfolge angewendet.d und beginnen mit einem S. können Sie mithilfe von YaST den standardmäßigen Runlevel auf 5 setzen.d/rc3. die sich in /etc/init. 2. Zunächst werden StoppSkripts des aktuellen Runlevel gestartet. Bei dem Wechsel in denselben Runlevel wie der aktuelle Runlevel prüft init nur /etc/ inittab auf Änderungen und startet die entsprechenden Schritte. In diesem Beispiel sind dies alle Skripts. Jetzt ruft rc alle Stopp-Skripts des aktuellen Runlevel auf. Wenn alles ordnungsgemäß funktioniert.d/rc5. Die Zahl nach K gibt die Reihenfolge für den Start an.d gibt es zwei Skripttypen: 200 Referenz . 4. z. Anschließend werden die Start-Skripts des neuen Runlevel gestartet. für das Starten von getty auf einer anderen Schnittstelle. 8. Beim Ändern der Runlevel geschehen in der Regel zwei Dinge. init prüft seine Konfigurationsdatei (/etc/inittab) und stellt fest. zu einem anderen Runlevel zu wechseln. In diesem Beispiel befinden sie sich im Verzeichnis /etc/init. für die es im neuen Runlevel keine Start-Skripts gibt.2 Init-Skripts Im Verzeichnis /etc/init. Beim Wechsel von Runlevel 3 zu 5 wird beispielsweise Folgendes ausgeführt: 1.

Dies dient lediglich der Übersichtlichkeit und der Vermeidung doppelter Skripts. Sämtliche Skripts befinden sich im Verzeichnis /etc/init. Die Konfiguration wird ohne Stoppen und Neustarten des Dienstes neu geladen. Die Ausführung dieser Skripts ist in /etc/inittab definiert. Diese unterschiedlichen Optionen werden in Tabelle 8. Tabelle 8.d/rc auf.d/rc6. wird er gestoppt und anschließend neu gestartet.als auch als Stopp-Skript ausgeführt werden kann. reload. die indirekt von init ausgeführt werden Diese werden beim Wechsel des Runlevel ausgeführt und rufen immer das MasterSkript /etc/init.d bis /etc/init . Wenn der Dienst läuft.Skripts.2.d aufgerufen. Skripts. das die richtige Reihenfolge der relevanten Skripts gewährleistet. wenn diese in unterschiedlichen Runleveln verwendet werden. Skripts zum Ändern des Runlevel werden jedoch über symbolische Links aus einem der Unterverzeichnisse (/etc/init.d) aufgerufen. Wenn der Dienst nicht läuft. die während des Bootens ausgeführt werden. Die von init direkt ausgeführten Skripts verfügen nicht über diese Links. force-reload und status. Sie werden unabhängig vom Runlevel bei Bedarf ausgeführt. reload Booten und Konfigurieren eines Linux-Systems 201 .d.d/rc0.d/ boot. müssen diese Skripts die Parameter start und stop verstehen. werden über symbolische Links aus /etc/init. Da jedes Skript sowohl als Start. Stoppt den Dienst. „Mögliche init-Skript-Optionen“ (S. 201) erläutert.2 Option start stop restart Mögliche init-Skript-Optionen Beschreibung Startet den Dienst. Die Skripts erkennen außerdem die Optionen restart. Skripts. die direkt von init ausgeführt werden Dies ist nur während des Bootvorgangs der Fall oder wenn das sofortige Herunterfahren des Systems initiiert wird (Stromausfall oder ein Benutzer drückt Strg + Alt + Entf ). wird er gestartet.

bis /var zur Verfügung steht. Im Folgenden finden Sie eine kurze Einführung in die zuerst bzw. Weitere Informationen zu blogd erhalten Sie auf der Manualpage „blogd(8)“. Andernfalls puffert blogd alle Bildschirmdaten. wenn /var mit Lese. das Ausführen einer bestimmten Anzahl von Subskripts). status Mithilfe von Links in den einzelnen Runlevel-spezifischen Unterverzeichnissen können Skripts mit unterschiedlichen Runleveln verknüpft werden. Andernfalls erfolgt dieselbe Aktion wie bei dem Befehl restart.und Schreibrechten eingehängt wurde. wenn das System direkt mit init gestartet wird. aber nur dann. das dieses Programm aufruft). Bei der Installation oder Deinstallation von Paketen werden diese Links mithilfe des Programms „insserv“ hinzugefügt oder entfernt (oder mithilfe von /usr/lib/lsb/install_initd. Dabei werden die Dateisysteme proc und pts eingehängt und blogd (Boot Logging Daemon) wird aktiviert.Option force-reload Beschreibung Die Konfiguration wird neu geladen. die durch die oben beschriebenen Skripts ausgelöst wurden (z. Weitere Informationen hierzu finden Sie auf der Manualpage „insserv(8)“. wird die anfängliche Systemkonfiguration gestartet.und Stopp-Skripts sowie eine Erläuterung des Steuerskripts.d verantwortlich.msg. wenn alle Aktionen. zuletzt gestarteten Boot.d/boot . Wenn das System nach einer Aktualisierung oder einer Installation das erste Mal gebootet wird. Es wird unabhängig vom gewählten Runlevel und nur einmalig ausgeführt. Außerdem wird die Systemzeit festgelegt. deren Name mit S beginnt. sofern der Dienst dies unterstützt. boot wird ausgeführt. der von boot und rc vor allen anderen Diensten gestartet wird. blogd schreibt alle auf dem Bildschirm ausgegebenen Informationen in die Protokolldatei /var/log/boot. Er wird gestoppt. B. Das Skript boot ist zudem für das Starten aller Skripts in /etc/init. Dort werden die Dateisysteme überprüft und bei Bedarf Loop-Devices konfiguriert. Zeigt den aktuellen Status des Dienstes an. abgeschlossen sind. Der blogd-Daemon ist ein Dienst. ein Skript. Wenn bei der automatischen Prüfung und Reparatur des Dateisystems 202 Referenz .

Sie erstellen ein benutzerdefiniertes init-Skript für ein bestimmtes Programm oder einen Dienst. wie halt aufgerufen wird.d und insserv. WARNUNG: Fehlerhafte init-Skripts können das System stoppen Bei fehlerhaften init-Skripts kann es dazu kommen. Ob das System heruntergefahren oder neu gebootet wird. die beim Booten ausgeführt werden sollen. boot. halt Dieses Skript wird nur beim Wechsel zu Runlevel 0 oder 6 ausgeführt. Anweisungen zum Formatieren. weitere Details. Dieses Skript ist mit der AUTOEXEC . Einige hilfreiche Informationen zu init-Skripts finden Sie in Abschnitt 8. wenn möglich. gründlich in der Mehrbenutzer-Umgebung getestet werden. hängt davon ab. Es ist verantwortlich für eine Reihe grundlegender Einstellungen. indem Sie die Datei /etc/init. Speichern Sie eine Kopie dieser Datei unter dem neuen Namen und bearbeiten Sie die relevanten Programm. z. Zuletzt wird das Skript boot. boot.setup Dieses Skript wird bei einem Wechsel vom Einzelbenutzer-Modus in einen anderen Runlevel ausgeführt. Pfade und ggf.d/skeleton als Schablone verwenden. kann der Systemadministrator nach Eingabe des Root-Passworts eingreifen.2. Sie können Ihre eigenen Skripts erstellen und diese problemlos in das oben beschriebene Schema integrieren.1. init. 198). rc Dieses Skript ruft die entsprechenden Stopp-Skripts des aktuellen Runlevel und die Start-Skripts des neu gewählten Runlevel auf. B. bevor Sie zu einem Runlevel wechseln.und Dateinamen. Sie können Booten und Konfigurieren eines Linux-Systems 203 . „Runlevel“ (S. Es wird entweder als halt oder als reboot ausgeführt.local ausgeführt.BAT in DOS-Systemen vergleichbar. dass der Computer hängt. Benennen und Organisieren benutzerdefinierter Skripts finden Sie in den Spezifikationen von LSB und auf den Manualpages von init.ein Fehler auftritt. die Tastaturbelegung und die Initialisierung der virtuellen Konsolen.local Hier können Sie zusätzliche Befehle eingeben. Diese Skripts sollten mit großer Vorsicht bearbeitet werden und. Weitere Informationen finden Sie zudem auf den Manualpages zu startproc und killproc.

1 Ein minimaler INIT INFO-Block ### BEGIN INIT INFO # Provides: # Required-Start: # Required-Stop: # Default-Start: # Default-Stop: # Description: ### END INIT INFO FOO $syslog $remote_fs $syslog $remote_fs 3 5 0 1 2 6 Start FOO to allow XY and provide YZ Geben Sie in der ersten Zeile des INFO-Blocks nach Provides: den Namen des Programms oder des Dienstes an. Der Block INIT INFO oben ist ein erforderlicher Teil des Skripts und muss bearbeitet werden.3. Beispiel 8. „Ein minimaler INIT INFO-Block“ (S.d/) zu erstellen. die gestartet oder gestoppt werden müssen. Diese Informationen werden später zum Generieren der Nummerierung der Skriptnamen verwendet. 204). Geben Sie für Description: schließlich eine kurze Beschreibung des betreffenden Dienstes ein.d/ zu erstellen. Siehe Beispiel 8.d/ bereits vorhandenes Skript in das vorhandene RunlevelSchema integriert werden soll. das bzw. erstellen Sie die Links in den Runlevel-Verzeichnissen direkt mit insserv oder indem Sie den entsprechenden Dienst im Runlevel-Editor von YaST aktivieren. um die erforderlichen Links für die Start. Das Programm sorgt zudem für die richtige Start.und Stopp-Reihenfolge für die einzelnen Runlevel. „Konfigurieren von Systemdiensten (Runlevel) mit YaST“ (S.d/) die Links auf die entsprechenden Skripts in /etc/init. geben Sie den Befehl insserv neuer skriptname ein. Um in den Runlevel-Verzeichnissen (/etc/init. verwenden Sie den von YaST zur Verfügung gestellten Runlevel-Editor wie in Abschnitt 8.1. Wenn Sie zum Erstellen der Links ein grafisches Werkzeug bevorzugen. indem es die erforderlichen Nummern in die Namen dieser Links aufnimmt. der mit diesem Skript gesteuert werden soll.d/rc?.2. Geben Sie in den Zeilen Required-Start: und Required-Stop: alle Dienste an. 204 Referenz . Ihre Änderungen werden beim nächsten Neustart wirksam und der neue Dienst wird automatisch gestartet. 205) beschrieben. bevor der Dienst selbst gestartet oder gestoppt wird. Geben Sie nach Default-Start: und Default-Stop: die Runlevel an.d/rc?.und Stopp-Skripts in den Runlevel-Verzeichnissen (/etc/init. sodass die richtigen Aktionen vom init-Prozess ausgelöst werden. Wenn ein in /etc/init. Das Programm „insserv“ wertet den INIT INFO-Header aus.das Skript auch mit eigenen Ergänzungen erweitern. die in den Runlevel-Verzeichnissen enthalten sind. in denen der Dienst gestartet oder gestoppt werden soll.

Der manuell hinzugefügte Dienst wird bei der nächsten Ausführung von insserv entfernt. ob das Modul im einfachen Modus oder im Expertenmodus ausgeführt werden soll. Um einen Dienst zu aktivieren. Führen Sie die gleichen Schritte aus.1 Systemdienste (Runlevel) Booten und Konfigurieren eines Linux-Systems 205 . Der vorgegebene einfache Modus sollte für die meisten Zwecke ausreichend sein. Abbildung 8. um einen Dienst zu deaktivieren. wenn insserv zu einem späteren Zeitpunkt für einen anderen Dienst ausgeführt wird.3 Konfigurieren von Systemdiensten (Runlevel) mit YaST Nach dem Starten dieses YaST-Moduls mit YaST → System → Systemdienste (Runlevel) werden ein Überblick über alle verfügbaren Dienste sowie der aktuelle Status der einzelnen Dienste (deaktiviert oder aktiviert) angezeigt. in der mittleren Spalte sein aktueller Status und in der rechten Spalte eine kurze Beschreibung angezeigt.Diese Links dürfen nicht manuell festgelegt werden. wählen Sie ihn in der Tabelle aus und klicken Sie anschließend auf Aktivieren. Der untere Teil des Fensters enthält eine ausführlichere Beschreibung des ausgewählten Dienstes. 8. Wenn der INFO-Block Fehler enthält. treten Probleme auf. Legen Sie fest.2. In der linken Spalte wird der Name des Dienstes.

Die detaillierte Steuerung der Runlevel. Legen Sie mit den Optionen „Start“. „Verfügbare Runlevel“ (S. Nachdem Sie mit der Maus eine der Zeilen ausgewählt haben. 1. Stellen Sie vor dem Anwenden der Änderungen sicher. 198) aufgeführt) als neuen Standard wählen. 5. 0. In dieser Tabelle sind die verfügbaren Dienste und Daemons aufgelistet und es wird angezeigt. „Anhalten“ oder „Aktualisieren“ fest. Der aktuell vorgegebene Runlevel oder „initdefault“ (der Runlevel. dass Sie deren Auswirkungen kennen. ob sie aktuell auf dem System aktiviert sind und wenn ja. ob ein Dienst aktiviert werden soll. um das Erstellen eines benutzerdefinierten Runlevel zu ermöglichen. um die Runlevel festzulegen. in den das System standardmäßig bootet) wird oben angezeigt. Mit „Anwenden“ oder „Zurücksetzen“ können Sie wählen. die Änderung des vorgegebenen Runlevel erfolgt im Expertenmodus. die die Runlevel (B. Der standardmäßige Runlevel eines SUSE Linux-Systems ist in der Regel Runlevel 5 (Mehrbenutzer-Vollmodus mit Netzwerk und X). Runlevel 4 ist anfänglich nicht definiert. 3. Zudem können Sie mithilfe der Tabelle in diesem Fenster einzelne Dienste und Daemons aktivieren oder deaktivieren. WARNUNG: Fehlerhafte Runlevel-Einstellungen können das System beschädigen Fehlerhafte Runlevel-Einstellungen können ein System unbrauchbar machen.1. oder ob die ursprünglichen Einstellungen wiederhergestellt werden sollen. Eine geeignete Alternative kann Runlevel 3 sein (Mehrbenutzer-Vollmodus mit Netzwerk). in denen der ausgewählte Dienst oder Daemon ausgeführt werden sollte. 206 Referenz . für welche Runlevel. klicken Sie auf die Kontrollkästchen. ob die Änderungen für das System angewendet werden sollen. 2. die vor dem Starten des Runlevel-Editors wirksam waren. Status aktualisieren prüft den aktuellen Status. 6 und S) darstellen. In diesem YaST-Dialogfeld können Sie einen Runlevel (wie unter Tabelle 8. Mit Beenden speichern Sie die geänderten Einstellungen. in denen ein Dienst gestartet oder gestoppt bzw. Unterhalb der Tabelle wird eine kurze Beschreibung des aktuell ausgewählten Dienstes oder Daemons angezeigt.

da sie eine der für die Netzwerkonfiguration relevanten Dateien ist.3 Systemkonfiguration über /etc/sysconfig Die Hauptkonfiguration von SUSE Linux wird über die Konfigurationsdateien in /etc/ sysconfig gesteuert. Booten und Konfigurieren eines Linux-Systems 207 . Die einzelnen Dateien in /etc/sysconfig werden nur von den Skripts gelesen. Die Dateien in /etc/sysconfig enthalten einen kurzen Kommentar zu den einzelnen Variablen. der erklärt. können Sie mithilfe der integrierten Suchfunktion dieses Moduls den Wert der Konfigurationsvariable wie erforderlich ändern. welche Auswirkungen diese tatsächlich haben. aktualisiert die Konfigurationen. dass Netzwerkeinstellungen beispielsweise nur von netzwerkbezogenen Skripts analysiert werden. Diese Task wird von SuSEconfig ausgeführt. Ohne den eigentlichen Speicherort der zu ändernden Konfigurationsvariablen zu kennen. auch Änderungen an der Datei /etc/host. Entweder verwenden Sie den YaST-Editor „sysconfig“ oder Sie bearbeiten die Konfigurationsdateien manuell.3. Mithilfe dieses Konzepts können Sie allgemeine Änderungen an der Konfiguration vornehmen. für die sie relevant sind. wenn Sie über ausreichende Sachkenntnisse verfügen. Sie haben zwei Möglichkeiten. YaST wendet diese Änderungen an.1 Ändern der Systemkonfiguration mithilfe des YaST-Editors „sysconfig“ Der YaST-Editor „sysconfig“ bietet ein benutzerfreundliches Frontend für die Systemkonfiguration.conf vor. und startet die Dienste neu. die von den Werten in sysconfig abhängig sind. Das unsachgemäße Bearbeiten dieser Dateien kann zu schwerwiegenden Fehlern des Systems führen. Dadurch wird gewährleistet. 8. nimmt SuSEconfig ggf. ohne das System neu booten zu müssen. Viele andere Systemkonfigurationsdateien werden gemäß den Einstellungen in /etc/ sysconfig generiert. Wenn Sie beispielsweise die Netzwerkkonfiguration ändern. WARNUNG: Das Ändern von /etc/sysconfig/*-Dateien kann die Installation beschädigen Sie sollten die Dateien /etc/sysconfig-Dateien nur bearbeiten.8. die Systemkonfiguration zu bearbeiten.

Abbildung 8.2 Systemkonfiguration mithilfe des sysconfig-Editors

Das YaST-Dialogfeld „sysconfig“ besteht aus drei Teilen. Auf der linken Seite des Dialogfelds wird eine Baumstruktur aller konfigurierbaren Variablen angezeigt. Wenn Sie eine Variable auswählen, werden auf der rechten Seite sowohl die aktuelle Auswahl als auch die aktuelle Einstellung dieser Variable angezeigt. Unten werden in einem dritten Fenster eine kurze Beschreibung des Zwecks der Variable, mögliche Werte, der Standardwert und die Konfigurationsdatei angezeigt, aus der diese Variable stammt. In diesem Dialogfeld werden zudem Informationen darüber zur Verfügung gestellt, welche Konfigurationsskripts nach dem Ändern der Variable ausgeführt und welche neuen Dienste als Folge dieser Änderung gestartet werden. YaST fordert Sie zur Bestätigung der Änderungen auf und zeigt an, welche Skripts ausgeführt werden, wenn Sie Beenden wählen. Außerdem können Sie die Dienste und Skripts auswählen, die jetzt übersprungen und zu einem späteren Zeitpunkt gestartet werden sollen. YaST wendet alle Änderungen automatisch an und startet alle von den Änderungen betroffenen Dienste neu, damit die Änderungen wirksam werden.

8.3.2 Manuelles Ändern der Systemkonfiguration
Gehen Sie wie folgt vor, um die Systemkonfiguration manuell zu ändern:

208

Referenz

1 Melden Sie sich als root an. 2 Wechseln Sie mit init 1 in den Einzelbenutzer-Modus (Runlevel 1). 3 Nehmen Sie die erforderlichen Änderungen an den Konfigurationsdateien in einem Editor Ihrer Wahl vor. Wenn Sie die Konfigurationsdateien in /etc/sysconfig nicht mit YaST ändern, müssen Sie sicherstellen, dass leere Variablenwerte durch zwei Anführungszeichen (KEYTABLE="") gekennzeichnet sind und Werte, die Leerzeichen enthalten, in Anführungszeichen gesetzt werden. Werte, die nur aus einem Wort bestehen, müssen nicht in Anführungszeichen gesetzt werden. 4 Führen Sie SuSEconfig aus, um sicherzustellen, dass die Änderungen wirksam werden. 5 Mit einem Befehl wie init default_runlevel stellen Sie den vorherigen Runlevel des Systems wieder her. Ersetzen Sie default_runlevel durch den vorgegebenen Runlevel des Systems. Wählen Sie 5, wenn Sie in den Mehrbenutzer-Vollmodus mit Netzwerk und X zurückkehren möchten, oder wählen Sie 3, wenn Sie lieber im Mehrbenutzer-Vollmodus mit Netzwerk arbeiten möchten. Dieses Verfahren ist hauptsächlich beim Ändern von systemweiten Einstellungen, z. B. der Netzwerkkonfiguration, relevant. Für kleinere Änderungen ist der Wechsel in den Einzelbenutzer-Modus nicht erforderlich. In diesem Modus können Sie jedoch sicherstellen, dass alle von den Änderungen betroffenen Programme ordnungsgemäß neu gestartet werden. TIPP: Konfigurieren der automatisierten Systemkonfiguration Um die automatisierte Systemkonfiguration von SuSEconfig zu deaktivieren, setzen Sie die Variable ENABLE_SUSECONFIG in /etc/sysconfig/ suseconfig auf no. Wenn Sie den SUSE-Support für die Installation nutzen möchten, darf SuSEconfig nicht deaktiviert werden. Es ist auch möglich, die automatisierte Konfiguration teilweise zu deaktivieren.

Booten und Konfigurieren eines Linux-Systems

209

Der Bootloader
In diesem Kapitel wird die Konfiguration von GRUB, dem unter SUSE Linux verwendeten Bootloader, beschrieben. Zum Vornehmen der Einstellungen steht ein spezielles YaST-Modul zur Verfügung. Wenn Sie mit dem Bootvorgang unter Linux nicht vertraut sind, lesen Sie die folgenden Abschnitte, um einige Hintergrundinformationen zu erhalten. In diesem Kapitel werden zudem einige der Probleme, die beim Booten mit GRUB auftreten können, sowie deren Lösungen beschrieben. Dieses Kapitel konzentriert sich auf das Bootmanagement und die Konfiguration des Bootloaders GRUB. Eine Übersicht über den Bootvorgang finden Sie in Kapitel 8, Booten und Konfigurieren eines Linux-Systems (S. 193). Ein Bootloader stellt die Schnittstelle zwischen Computer (BIOS) und dem Betriebssystem (SUSE Linux) dar. Die Konfiguration des Bootloaders wirkt sich direkt auf das Starten des Betriebssystems aus. In diesem Kapitel werden folgende Begriffe regelmäßig verwendet und werden daher ausführlicher beschrieben: Master Boot Record Die Struktur des MBR ist durch eine vom Betriebssystem unabhängige Konvention festgelegt. Die ersten 446 Byte sind für Programmcode reserviert. Sie enthalten in der Regel das Bootloader-Programm, in diesem Fall GRUB Stufe 1. Die nächsten 64 Byte bieten Platz für eine Partitionstabelle mit bis zu vier Einträgen (siehe „Partitionstypen“ (Kapitel 1, Installation mit YaST, ↑Start)). Die Partitionstabelle enthält Informationen zur Partitionierung der Festplatte und zum Dateisystemtyp. Das Betriebssystem benötigt diese Tabelle für die Verwaltung der Festplatte. Bei GRUB Stufe 1 im MBR muss genau eine Partition als aktiv markiert sein. Die

9

Der Bootloader

211

letzten zwei Byte müssen eine statische „magische Zahl“ (AA55) enthalten. Ein MBR mit einem anderen Wert wird vom BIOS als ungültig betrachtet. Bootsektoren Bootsektoren sind die jeweils ersten Sektoren der Festplattenpartitionen, außer bei der erweiterten Partition, die nur ein „Container“ für andere Partitionen ist. Diese Bootsektoren reservieren 512 Byte Speicherplatz für Code, der ein auf dieser Partition befindliches Betriebssystem starten kann. Dies gilt für Bootsektoren formatierter DOS-, Windows- oder OS/2-Partitionen, die zusätzlich noch wichtige Basisdaten des Dateisystems enthalten. Im Gegensatz dazu sind Bootsektoren von Linux-Partitionen nach der Einrichtung eines Dateisystems anfänglich leer (mit Ausnahme des Dateisystems XFS). Eine Linux-Partition ist daher nicht durch sich selbst bootfähig, auch wenn sie einen Kernel und ein gültiges root-Dateisystem enthält. Ein Bootsektor mit gültigem Code für den Systemstart trägt in den letzten 2 Byte dieselbe „magische“ Zahl wie der MBR (AA55).

9.1 Auswählen eines Bootloaders
In SUSE Linux wird standardmäßig der Bootloader GRUB verwendet. In einigen Fällen und für bestimmte Hardware- und Softwarekonstellationen ist jedoch möglicherweise LILO erforderlich. Wenn Sie ein Update einer älteren SUSE Linux-Version durchführen, die LILO benutzte, wird auch wieder LILO installiert. Informationen zur Installation und Konfiguration von LILO finden Sie in der Supportdatenbank unter dem Schlüsselwort LILO und in /usr/share/doc/packages/ lilo.

9.2 Booten mit GRUB
GRUB (Grand Unified Bootloader) besteht aus zwei Stufen. Stufe 1 (stage1) besteht aus 512 Byte und erfüllt lediglich die Aufgabe, die zweite Stufe des Bootloaders zu laden. Anschließend wird Stufe 2 (stage2) geladen. Diese Stufe enthält den Hauptteil des Bootloaders. In einigen Konfigurationen gibt es eine zusätzliche Zwischenstufe 1.5, die Stufe 2 von einem geeigneten Dateisystem lokalisiert und lädt. Wenn diese Methode zur Verfügung

212

Referenz

steht, wird sie bei der Installation oder bei der anfänglichen Einrichtung von GRUB mit YaST standardmäßig gewählt. stage2 kann auf zahlreiche Dateisysteme zugreifen. Derzeit werden Ext2, Ext3, ReiserFS, Minix und das von Windows verwendete DOS FAT-Dateisystem unterstützt. Bis zu einem gewissen Grad werden auch die von BSD-Systemen verwendeten JFS, XFS, UFS und FFS unterstützt. Seit Version 0.95 kann GRUB auch von einer CD oder DVD booten, die das ISO 9660-Standarddateisystem nach der „El Torito“-Spezifikation enthält. GRUB kann noch vor dem Booten auf Dateisysteme unterstützter BIOS-DiskDevices (vom BIOS erkannte Disketten, Festplatten, CD- oder DVD-Laufwerke) zugreifen. Daher erfordern Änderungen an der GRUB-Konfigurationsdatei (menu .lst) keine Neuinstallation des Boot-Managers mehr. Beim Booten des Systems liest GRUB die Menüdatei samt der aktuellen Pfade und Partitionsdaten zur Kernel oder zur Initial RAM-Disk (initrd) neu ein und findet diese Dateien selbständig. Die eigentliche Konfiguration von GRUB basiert auf den im Folgenden beschriebenen drei Dateien: /boot/grub/menu.lst Diese Datei enthält sämtliche Informationen zu Partitionen oder Betriebssystemen, die mit GRUB gebootet werden können. Wenn diese Angaben nicht zur Verfügung stehen, wird der Benutzer in der GRUB-Befehlszeile danach gefragt (siehe „Ändern von Menü-Einträgen während des Bootvorgangs“ (S. 218)). /boot/grub/device.map Diese Datei übersetzt Gerätenamen aus der GRUB- und BIOS-Notation in LinuxGerätenamen. /etc/grub.conf Diese Datei enthält die Befehle, Parameter und Optionen, die die GRUB-Shell für das ordnungsgemäße Installieren des Bootloaders benötigt. GRUB kann auf mehrere Weisen gesteuert werden. Booteinträge aus einer vorhandenen Konfiguration können im grafischen Menü (Eröffnungsbildschirm) ausgewählt werden. Die Konfiguration wird aus der Datei menu.lst geladen. In GRUB können alle Bootparameter vor dem Booten geändert werden. Auf diese Weise können beispielsweise Fehler behoben werden, die beim Bearbeiten der Menüdatei aufgetreten sind. Außerdem können über eine Art Eingabeaufforderung (siehe „Ändern von Menü-Einträgen während des Bootvorgangs“ (S. 218)) Bootbefehle interaktiv ein-

Der Bootloader

213

gegeben werden. GRUB bietet die Möglichkeit, noch vor dem Booten die Position des Kernels und von initrd festzustellen. Auf diese Weise können Sie auch ein installiertes Betriebssystem booten, für das in der Konfiguration des Bootloaders noch kein Eintrag vorhanden ist. GRUB liegt in zwei Versionen vor: als Bootloader und als normales Linux-Programm im Verzeichnis /usr/sbin/grub. Dieses Programm wird als GRUB-Shell bezeichnet. Es stellt auf dem installierten System eine Emulation von GRUB bereit, die zum Installieren von GRUB oder zum Testen neuer Einstellungen verwendet werden kann. Die Funktionalität, GRUB als Bootloader auf eine Festplatte oder Diskette zu installieren, ist in Form der Befehle install und setup in GRUB integriert. Diese Befehle sind in der GRUB-Shell verfügbar, wenn Linux geladen ist.

9.2.1 Das GRUB-Bootmenü
Hinter dem grafischen Eröffnungsbildschirm mit dem Bootmenü steht die GRUBKonfigurationsdatei /boot/grub/menu.lst, die alle Informationen zu allen Partitionen oder Betriebssystemen enthält, die über das Menü gebootet werden können. GRUB liest bei jedem Systemstart die Menüdatei vom Dateisystem neu ein. Es besteht also kein Bedarf, GRUB nach jeder Änderung an der Datei neu zu installieren. Mit dem YaST-Bootloader können Sie die GRUB-Konfiguration wie in Abschnitt 9.3, „Konfigurieren des Bootloaders mit YaST“ (S. 222) beschrieben ändern. Die Menüdatei enthält Befehle. Die Syntax ist sehr einfach. Jede Zeile enthält einen Befehl, gefolgt von optionalen Parametern, die wie bei der Shell durch Leerzeichen getrennt werden. Einige Befehle erlauben aus historischen Gründen ein Gleichheitszeichen (=) vor dem ersten Parameter. Kommentare werden durch ein Rautezeichen (#) eingeleitet. Zur Erkennung der Menüeinträge in der Menü-Übersicht, müssen Sie für jeden Eintrag einen Namen oder einen title vergeben. Der nach dem Schlüsselwort title stehende Text wird inklusive Leerzeichen im Menü als auswählbare Option angezeigt. Alle Befehle bis zum nächsten title werden nach Auswahl dieses Menüeintrags ausgeführt. Der einfachste Fall ist die Umleitung zu Bootloadern anderer Betriebssysteme. Der Befehl lautet chainloader und das Argument ist normalerweise der Bootblock einer anderen Partition in der Blocknotation von GRUB. Beispiel:
chainloader (hd0,3)+1

214

Referenz

Die Gerätenamen in GRUB werden in „Namenskonventionen für Festplatten und Partitionen“ (S. 215) beschrieben. Dieses Beispiel spezifiziert den ersten Block der vierten Partition auf der ersten Festplatte. Mit dem Befehl kernel wird ein Kernel-Image angegeben. Das erste Argument ist der Pfad zum Kernel-Image auf einer Partition. Die restlichen Argumente werden dem Kernel in seiner Befehlszeile übergeben. Wenn der Kernel nicht über die erforderlichen Treiber für den Zugriff auf die RootPartition verfügt oder ein neueres Linux-System mit erweiterten Hotplug-Funktionen verwendet wird, muss initrd mit einem separaten GRUB-Befehl angegeben werden, dessen einziges Argument der Pfad zu der Datei initrd ist. Da die Ladeadresse von initrd in das geladene Kernel-Image geschrieben wird, muss der Befehl initrd direkt auf den Befehl kernel folgen. Der Befehl root vereinfacht die Angabe der Kernel- und initrd-Dateien. Das einzige Argument von root ist ein Gerät oder eine Partition. Allen Kernel-, initrd- oder anderen Dateipfaden, für die nicht explizit ein Gerät angegeben ist, wird bis zum nächsten root-Befehl das Gerät vorangestellt. Am Ende jeden Menü-Eintrags steht implizit der boot-Befehl, sodass dieser nicht in die Menüdatei geschrieben werden muss. Wenn Sie GRUB jedoch interaktiv zum Booten verwenden, müssen Sie den boot-Befehl am Ende eingeben. Der Befehl selbst hat keine Argumente. Er führt lediglich das geladene Kernel-Image oder den angegebenen Chainloader aus. Wenn Sie alle Menüeinträge geschrieben haben, müssen Sie einen Eintrag als default festlegen. Anderenfalls wird der erste Eintrag (Eintrag 0) verwendet. Sie haben auch die Möglichkeit, ein Zeitlimit in Sekunden anzugeben, nach dem der default-Eintrag gebootet wird. timeout und default werden den Menüeinträgen in der Regel vorangestellt. Eine Beispieldatei finden Sie in „Beispiel einer Menüdatei“ (S. 216).

Namenskonventionen für Festplatten und Partitionen
Die von GRUB für Festplatten und Partitionen verwendeten Namenskonventionen unterscheiden sich von denen, die für normale Linux-Geräte verwendet werden. In GRUB beginnt die Nummerierung der Partitionen mit Null. Daher ist (hd0,0) die erste Partition auf der ersten Festplatte. Auf einem gewöhnlichen Desktop-Computer, bei dem eine Festplatte als Primary Master angeschlossen ist, lautet der entsprechende Linux-Gerätename /dev/hda1. Der Bootloader 215

Die vier möglichen primären Partitionen haben die Partitionsnummern 0 bis 3. Ab 4 werden die logischen Partitionen hochgezählt:
(hd0,0) (hd0,1) (hd0,2) (hd0,3) (hd0,4) (hd0,5) erste primäre Partition auf der ersten Festplatte zweite primäre Partition dritte primäre Partition vierte primäre (und meist eine erweiterte) Partition erste logische Partition zweite logische Partition

In seiner Abhängigkeit von BIOS-Geräten unterscheidet GRUB nicht zwischen IDE-, SATA-, SCSI- und Hardware RAID-Geräten. Alle Festplatten, die vom BIOS oder anderen Controllern erkannt werden, werden der im BIOS voreingestellten Bootreihenfolge entsprechend nummeriert. Leider ist eine eindeutige Zuordnung zwischen Linux-Gerätenamen und BIOS-Gerätenamen häufig nicht möglich. Es generiert die Zuordnung mithilfe eines Algorithmus und speichert sie in der Datei device.map, in der sie bei Bedarf bearbeitet werden kann. Informationen zur Datei device.map finden Sie in Abschnitt 9.2.2, „Die Datei „device.map““ (S. 219). Ein vollständiger GRUB-Pfad besteht aus einem Gerätenamen, der in Klammern geschrieben wird, und dem Pfad der Datei im Dateisystem auf der angegebenen Partition. Der Pfad beginnt mit einem Schrägstrich. Auf einem System mit einer einzelnen IDEFestplatte und Linux auf der ersten Partition könnte der bootbare Kernel beispielsweise wie folgt spezifiziert werden:
(hd0,0)/boot/vmlinuz

Beispiel einer Menüdatei
Das folgende Beispiel zeigt die Struktur einer GRUB-Menüdatei. Diese BeispielInstallation beinhaltet eine Linux-Bootpartition unter /dev/hda5, eine Root-Partition unter /dev/hda7 und eine Windows-Installation unter /dev/hda1.
gfxmenu (hd0,4)/message color white/blue black/light-gray default 0 timeout 8 title linux kernel (hd0,4)/vmlinuz root=/dev/hda7 vga=791 initrd (hd0,4)/initrd title windows

216

Referenz

chainloader(hd0,0)+1 title floppy chainloader(fd0)+1 title failsafe kernel (hd0,4)/vmlinuz.shipped root=/dev/hda7 ide=nodma \ apm=off acpi=off vga=normal nosmp maxcpus=0 3 initrd (hd0,4)/initrd.shipped

Der erste Block definiert die Konfiguration des Eröffnungsbildschirms: gfxmenu (hd0,4)/message Das Hintergrundbild message befindet sich in /dev/hda5. color white/blue black/light-gray Farbschema: white (Vordergrund), blue (Hintergrund), black (Auswahl) und light gray (Hintergrund der Markierung). Das Farbschema wirkt sich nicht auf den Eröffnungsbildschirm, sondern nur auf das anpassbare GRUB-Menü aus, auf das Sie zugreifen können, wenn Sie den Eröffnungsbildschirm mit Esc beenden. default 0 Der erste Menüeintrag title linux soll standardmäßig gebootet werden. timeout 8 Nach acht Sekunden ohne Benutzereingabe bootet GRUB den Standardeintrag automatisch. Um das automatische Booten zu deaktivieren, löschen Sie die Zeile timeout. Wenn Sie timeout 0 setzen, bootet GRUB den Standardeintrag sofort. Im zweiten und größten Block sind die verschiedenen bootbaren Betriebssysteme aufgelistet. Die Abschnitte für die einzelnen Betriebssysteme werden durch title eingeleitet. • Der erste Eintrag (title linux) ist für das Booten von SUSE Linux zuständig. Der Kernel (vmlinuz) befindet sich in der ersten logischen Partition (die Bootpartition) der ersten Festplatte. Hier werden Kernel-Parameter, z. B. die Root-Partition und der VGA-Modus, angehängt. Die Angabe der Root-Partition erfolgt nach der Linux-Namenskonvention (/dev/hda7/), da diese Information für den Kernel bestimmt ist und nichts mit GRUB zu tun hat. Die initrd befindet sich ebenfalls in der ersten logischen Partition der ersten Festplatte.

Der Bootloader

217

• Der zweite Eintrag ist für das Laden von Windows verantwortlich. Windows wird von der ersten Partition der ersten Festplatte aus gebootet (hd0,0). Mittels chainloader +1 wird das Auslesen und Ausführen des ersten Sektors der angegebenen Partition gesteuert. • Der nächste Eintrag dient dazu, das Booten von Diskette zu ermöglichen, ohne dass dazu die BIOS-Einstellungen geändert werden müssten. • Die Bootoption failsafe dient dazu, Linux mit einer bestimmten Auswahl an Kernel-Parametern zu starten, die selbst auf problematischen Systemen ein Hochfahren von Linux ermöglichen. Die Menüdatei kann jederzeit geändert werden. GRUB verwendet die geänderten Einstellungen anschließend für den nächsten Bootvorgang. Sie können diese Datei mit dem Editor Ihrer Wahl oder mit YaST permanent editieren und dauerhaft speichern. Alternativ können Sie temporäre Änderungen interaktiv über die Bearbeitungsfunktion von GRUB vornehmen. Siehe „Ändern von Menü-Einträgen während des Bootvorgangs“ (S. 218).

Ändern von Menü-Einträgen während des Bootvorgangs
Wählen Sie im grafischen Bootmenü das zu bootende Betriebssystem mit den Pfeiltasten aus. Wenn Sie ein Linux-System wählen, können Sie an der Boot-Eingabeaufforderung zusätzliche Bootparameter eingeben. Um einzelne Menüeinträge direkt zu bearbeiten, drücken Sie die Esc -Taste, um den Eröffnungsbildschirm zu schließen und das textbasierte GRUB-Menü anzuzeigen, und drücken Sie anschließend die Taste E . Auf diese Weise vorgenommene Änderungen gelten nur für den aktuellen Bootvorgang und können nicht dauerhaft übernommen werden. WICHTIG: Tastaturbelegung während des Bootvorgangs Beim Bootvorgang ist nur die amerikanische Tastaturbelegung verfügbar. Durch die Möglichkeit, die Menüeinträge zu bearbeiten, kann ein defektes System, das nicht mehr gebootet werden kann, repariert werden, da die fehlerhafte Konfigurationsdatei des Bootloaders mittels der manuellen Eingabe von Parametern umgangen werden kann. Die manuelle Eingabe vom Parametern während des Bootvorgangs ist zudem

218

Referenz

hilfreich zum Testen neuer Einstellungen, ohne dass diese sich auf das native System auswirken. Aktivieren Sie den Bearbeitungsmodus und wählen Sie mithilfe der Pfeiltasten den Menüeintrag aus, dessen Konfiguration sie ändern möchten. Um die Konfiguration zu bearbeiten, drücken Sie die Taste E erneut. Auf diese Weise korrigieren Sie falsche Partitions- oder Pfadangaben, bevor sich diese negativ auf den Bootvorgang auswirken. Drücken Sie Eingabe , um den Bearbeitungsmodus zu verlassen und zum Menü zurückzukehren. Drücken Sie anschließend die Taste B , um diesen Eintrag zu booten. Im Hilfetext am unteren Rand werden weitere mögliche Aktionen angezeigt. Um die geänderten Bootoptionen dauerhaft zu übernehmen und an den Kernel zu übergeben, öffnen Sie die Datei menu.lst als Benutzer root und hängen Sie die entsprechenden Kernel-Parameter an folgende vorhandene Zeile getrennt durch Leerzeichen an:
title linux kernel (hd0,0)/vmlinuz root=/dev/hda3 additional parameter initrd (hd0,0)/initrd

GRUB übernimmt den neuen Parameter beim nächsten Booten automatisch. Alternativ können Sie diese Änderung auch mit dem YaST-Bootloader-Modul vornehmen. Hängen Sie die neuen Parameter getrennt durch Leerzeichen an die vorhandene Zeile an.

9.2.2 Die Datei „device.map“
Die Datei device.map enthält Zuordnungen zwischen den GRUB- und BIOS-Gerätenamen und den Linux-Gerätenamen. In einem Mischsystem aus IDE- und SCSIFestplatten muss GRUB anhand eines bestimmten Verfahrens versuchen, die Bootreihenfolge zu ermitteln, da die BIOS-Informationen zur Bootreihenfolge für GRUB unter Umständen nicht zugänglich sind. GRUB speichert das Ergebnis dieser Analyse in der Datei /boot/grub/device.map. Auf einem System, für das IDE vor SCSI gebootet werden soll, kann die Datei device.map beispielsweise wie folgt aussehen:
(fd0) (hd0) (hd1) /dev/fd0 /dev/hda /dev/sda

Da die Reihenfolge von IDE, SCSI und anderen Festplatten abhängig von verschiedenen Faktoren ist und Linux die Zuordnung nicht erkennen kann, besteht die Möglichkeit, die Reihenfolge in der Datei device.map manuell festzulegen. Wenn beim Booten Probleme auftreten sollten, prüfen Sie, ob die Reihenfolge in dieser Datei der BIOSDer Bootloader 219

Reihenfolge entspricht und ändern Sie sie notfalls temporär mithilfe der GRUB-Eingabeaufforderung. Ist das Linux-System erst gebootet, können Sie die Änderungen in der Datei device.map mithilfe des YaST Bootloader-Moduls oder eines Editors Ihrer Wahl dauerhaft übernehmen. WICHTIG: SATA-Festplatten Je nach Controller werden SATA-Festplatten als IDE-Geräte (/dev/hdx) oder SCSI-Geräte (/dev/sdx) erkannt. Installieren Sie nach dem manuellen Bearbeiten von device.map GRUB mithilfe des folgenden Befehls neu. Dieser Befehl führt dazu, dass die Datei device.map neu geladen wird und die in grub.conf aufgelisteten Befehle ausgeführt werden:
grub --batch < /etc/grub.conf

9.2.3 Die Datei "/etc/grub.conf"
Die drittwichtigste Konfigurationsdatei von GRUB nach menu.lst und device .map ist /etc/grub.conf. Diese Datei enthält die Befehle, Parameter und Optionen, die die GRUB-Shell für das ordnungsgemäße Installieren des Bootloaders benötigt:
root (hd0,4) install /grub/stage1 (hd0,3) /grub/stage2 0x8000 (hd0,4)/grub/menu.lst quit

Bedeutung der einzelnen Einträge: root (hd0,4) Mit diesem Befehl wird GRUB angewiesen, folgende Befehle auf die erste logische Partition der ersten Festplatte anzuwenden. Dort befinden sich die Bootdateien. install Parameter Der Befehl grub sollte mit dem Parameter install ausgeführt werden. stage1 des Bootloaders sollte im erweiterten Partitionscontainer (/grub/stage1 (hd0,3)) installiert werden. stage2 sollte in die Speicheradresse 0x8000 (/grub/stage2 0x8000) geladen werden. Der letzte Eintrag ((hd0,4)/grub/menu.lst) weist GRUB an, wo die Menüdatei zu finden ist.

220

Referenz

lst hinzu. Dies bedeutet. Um diese Zugriffe oder das Booten bestimmter Betriebssysteme zu verhindern. dass Benutzer ohne root-Berechtigungen auf Dateien des LinuxSystems zugreifen können. fügen Sie den Eintrag lock zu allen Abschnitten in menu .2. die ohne Eingabe eines Passworts nicht gebootet werden sollen. 2 Verschlüssen Sie das Passwort in der GRUB-Shell wie folgt: grub> md5crypt Password: **** Encrypted: $1$lS2dv/$JOYcdxIn7CJk9xShzzJVw/ 3 Fügen Sie die verschlüsselte Zeichenkette in den globalen Abschnitt der Datei menu. können Sie ein Bootpasswort festlegen.9. Beispiel: Der Bootloader 221 .4)/message color white/blue black/light-gray default 0 timeout 8 password --md5 $1$lS2dv/$JOYcdxIn7CJk9xShzzJVw/ Jetzt können GRUB-Befehle in der Booteingabeaufforderung nur nach Drücken der Taste P und der Eingabe des Passworts ausgeführt werden. wird der übliche Eröffnungsbildschirm nicht angezeigt. Benutzer können jedoch über das Bootmenü weiterhin alle Betriebssysteme booten. WICHTIG: Bootpasswort und Eröffnungsbildschirm Wenn Sie für GRUB ein Bootpasswort verwenden. 4 Um zu verhindern. dass ein oder mehrere Betriebssysteme über das Bootmenü gebootet werden.4 Festlegen eines Bootpassworts GRUB unterstützt schon vor dem Booten des Betriebssystems den Zugriff auf Dateisysteme.lst ein: gfxmenu (hd0. Legen Sie als Benutzer root das Bootpasswort wie folgt fest: 1 Geben Sie in der Eingabeaufforderung grub ein. auf die sie nach dem Booten keinen Zugriff haben.

„Konfigurieren des Bootloaders mit YaST“ (S. Wie in Abbildung 9. Wählen Sie im YaST-Kontrollzentrum System → Konfiguration des Bootloaders.4)/initrd lock Nach dem Neubooten des Systems und der Auswahl des Linux-Eintrags im Bootmenü erscheint zunächst folgende Fehlermeldung: Error 32: Must be authenticated Drücken Sie Eingabe . um das Menü zu öffnen. Wenn Sie das Passwort eingegeben und Eingabe gedrückt haben. 9. um die Eingabeaufforderung für das Passwort zu öffnen.4)/vmlinuz root=/dev/hda7 vga=791 initrd (hd0. sollte das ausgewählte Betriebssystem (in diesem Fall Linux) gebootet werden.title linux kernel (hd0. 222 Referenz . Änderungen vorzunehmen. 223) zeigt dies die aktuelle Bootloader-Konfiguration des Systems und ermöglicht Ihnen. Drücken Sie anschließend die Taste P .1.3 Konfigurieren des Bootloaders mit YaST Mit dem YaST-Modul ist die Konfiguration des Bootloaders auf Ihrem SUSE LinuxSystem am einfachsten.

Wenn Sie eine bestehende Option überhaupt nicht verwenden möchten. um die Einstellungen in Bezug auf Typ. Speicherort und erweiterte Bootloader-Einstellungen anzuzeigen und zu ändern. In SUSE Linux wird standardmäßig der Bootloader GRUB verwendet. 212). Klicken Sie zum Hinzufügen einer Option auf Hinzufügen. Wenn Sie den Wert einer bestehenden Option ändern möchten. „Booten mit GRUB“ (S. wählen Sie ihn mit der Maus aus und klicken Sie auf Bearbeiten. ändern und löschen.Abbildung 9.1 Konfigurieren des Bootloaders mit YaST Auf der Registerkarte Abschnittsverwaltung können Sie die Bootloader-Abschnitte für die einzelnen Betriebssysteme bearbeiten.2. Verwenden Sie die Registerkarte Bootloader-Installation.3. lesen Sie zunächst Abschnitt 9. Wenn Sie nicht mit den Bootloader-Optionen vertraut sind.1 Bootloader-Typ Den Bootloader-Typ können Sie unter Bootloader-Installation festlegen. Gehen Sie wie folgt vor. wenn Sie LILO verwenden möchten: Der Bootloader 223 . wählen Sie sie aus und klicken Sie auf Löschen. 9.

1 Ändern des Bootloader-Typs 1 Wählen Sie die Registerkarte Bootloader-Installation. Lesen Sie die Dokumentation Ihres Bootloaders sorgfältig durch. 4 Klicken Sie auf OK. 5 Klicken Sie im Hauptdialogfeld auf Beenden. dass beim Konvertieren der Konfiguration einige Einstellungen verloren gehen. Aktuelle Konfiguration konvertieren Lässt YaST die aktuelle Konfiguration konvertieren. 224 Referenz . Es ist möglich. ANMERKUNG: Benutzerdefinierter Bootloader Wenn Sie einen anderen Bootloader als GRUB oder LILO verwenden möchten. wählen Sie Keinen Bootloader installieren. bevor Sie diese Option auswählen. 3 Wählen Sie in dem sich öffnenden Dialogfeld folgende Aktionen aus: Neue Konfiguration vorschlagen Lässt YaST eine neue Konfiguration erstellen. um die Änderungen zu speichern. Auf Festplatte gespeicherte Konfiguration einlesen Lädt Ihre eigene Datei /etc/lilo. um die Änderungen zu übernehmen. 2 Wählen Sie unter Bootloader die Option LILO. Während der Konvertierung wird die alte GRUB-Konfiguration gespeichert. ändern Sie einfach den Bootloader-Typ zurück in GRUB und wählen Sie Vor der Konvertierung gespeicherte Konfiguration wiederherstellen. Wenn Sie sie verwenden möchten.Prozedur 9. Neue Konfiguration ohne Vorschlag erstellen Erstellt eine benutzerdefinierte Konfiguration. Diese Aktion ist während der Installation von SUSE Linux nicht verfügbar.conf. Diese Aktion ist während der Installation von SUSE Linux nicht verfügbar. Diese Aktion ist nur auf einem installierten System verfügbar.

2 Speicherort des Bootloaders Um den Speicherort des Bootloaders zu ändern. wie in: /dev/hda1 Bootsektor der Root-Partition /dev/hdXY Der Bootsektor der / (root)-Partition. 3. ist dies der bevorzugte Standardwert. wenn Sie auf Ihrer Festplatte mehrere Betriebssysteme installiert haben. 4.). c oder d: hda hdb hdc hdd => => => => ide0 ide0 ide1 ide1 master slave master slave Bootsektor der Boot-Partition /dev/hdXY Der Bootsektor der Partition /boot. gehen Sie wie folgt vor: Prozedur 9. beispielsweise a.2 Speicherort des Bootloaders ändern 1 Wählen Sie die Registerkarte Bootloader-Installation und anschließend eine der folgenden Optionen für Speicherort des Bootloaders: Master Boot Record von /dev/hdX Dadurch wird der Bootloader im MBR einer Festplatte installiert. 5 usw. Solange keine /boot-Partition erforderlich ist oder der MBR verwendet werden muss.9. Das Y steht für die Partition (1. Dies ist der Standard für die Option. b. 2. Der Bootloader 225 . X gibt die Festplatte an.3. Andere Mit dieser Option können Sie den Speicherort des Bootloaders manuell angeben. 2 Klicken Sie zum Anwenden der Einstellungen auf Beenden.

4 Ändern Sie unter Boot-Modus den Wert für Beim Systemstart. mit der Maus auf den entsprechenden Pfeil klicken oder die Pfeiltasten der Tastatur verwenden.3 Standardsystem Um das System zu ändern. gehen Sie wie folgt vor: Prozedur 9. 6 Klicken Sie auf Beenden. 3 Klicken Sie auf Als Standard festlegen. das standardmäßig gebootet wird. 3 Aktivieren Sie Boot-Modus. 226 Referenz . 5 Klicken Sie auf OK. um die Änderungen zu speichern. um die Änderungen zu aktivieren. Gehen Sie wie folgt vor. wenn Bootvorgang nach Zeitüberschreitung fortsetzen deaktiviert ist. um das Zeitlimit des Bootloaders festzulegen: Prozedur 9. 2 Klicken Sie auf Bootloader-Optionen.3 Standardsystem einrichten 1 Öffnen Sie die Registerkarte Abschnittsverwaltung. Das Bootmenü sollte dauerhaft ohne Zeitlimit angezeigt werden.3.9.3.4 Zeitlimit des Bootloaders Der Bootloader bootet das Standardsystem nicht sofort. Während des Zeitlimits können Sie das zu bootende System auswählen oder einige Kernel-Parameter schreiben. indem Sie einen neuen Wert eingeben. 4 Klicken Sie auf Beenden. 9.4 Ändern des Bootloader-Zeitlimits 1 Öffnen Sie die Registerkarte Bootloader-Installation. 2 Wählen Sie das gewünschte System in der Liste aus.

„Die Datei „device.5 Festlegen eines Bootloader-Passworts 1 Öffnen Sie die Registerkarte Bootloader-Installation. 5 Klicken Sie auf Beenden. um die Änderungen zu speichern.map““ (S. um die Änderungen zu speichern. Mithilfe dieses Moduls können Sie auch den Master Boot Record durch generischen Code ersetzen. 5 Klicken Sie auf Beenden. 2 Klicken Sie auf Bootloader-Optionen. 4 Klicken Sie auf OK. dass sie dem BIOS-Setup des Computers entsprechen (siehe Abschnitt 9.5 Sicherheitseinstellungen Mit diesem YaST-Modul können Sie zum Schutz des Bootvorgangs auch ein Passwort einrichten.3.9. mit dem die aktive Partition gebootet wird. 3 Aktivieren Sie unter Passwortschutz die Option Bootloader durch Passwort schützen und geben Sie ein Passwort an. Gehen Sie hierfür wie folgt vor: Prozedur 9.2. Damit wird ein zusätzlicher Grad an Sicherheit geboten.3.6 Festlegen der Festplattenreihenfolge 1 Öffnen Sie die Registerkarte Bootloader-Installation.6 Festplattenreihenfolge Wenn Ihr Computer mehrere Festplatten hat. 219)). 3 Ändern Sie bei mehreren aufgeführten Festplatten deren Reihenfolge mit einem Klick auf Auf oder Ab.2. 4 Klicken Sie auf OK. Prozedur 9. können Sie die Bootsequenz der Festplatten so festlegen. 2 Klicken Sie auf Details zur Bootloader-Installation. 9. um die Änderungen zu speichern. Klicken Sie unter Aktualisie- Der Bootloader 227 .

Klicken Sie auf Beenden.4 Deinstallieren des Linux-Bootloaders Mit YaST können Sie den Linux-Bootloader deinstallieren und den Zustand des MBR wiederherstellen.5 Erstellen von Boot-CDs Wenn beim Booten Ihres Systems unter Verwendung eines Bootmanagers Probleme auftreten oder wenn der Bootmanager auf dem MBR Ihrer Festplatte oder einer Diskette nicht installiert werden kann. Wählen Sie im ersten Dialogfeld Zurücksetzen → MBR von Festplatte wiederherstellen und schließen Sie das Dialogfeld mit Beenden. ist es auch möglich. Für die Erstellung eines bootfähigen CD-ROM mit GRUB ist lediglich eine spezielle Form von stage2 namens stage2_eltorito erforderlich sowie. Um GRUB zu deinstallieren. der vor der Installation von Linux vorlag. eine benutzerdefinierte Datei menu. Die klassischen Dateien stage1 und stage2 sind nicht erforderlich. die den Bootloader enthält. in dem das ISO-Image erstellt werden soll.lst. 9. eine bootfähige CD mit all den für Linux erforderlichen Startdateien zu erstellen. starten Sie das YaST-Bootloader-Modul (System → Konfiguration des Bootloaders). 9. Hierfür muss ein CD-Brenner in Ihrem System installiert sein. beispielsweise: cd /tmp mkdir iso 228 Referenz . optional. YaST erstellt während der Installation automatisch ein Backup der ursprünglichen MBR-Version und stellt sie bei Bedarf wieder her.rung der Festplattenbereiche auf MBR durch generischen Code ersetzen. um die Partition zu aktivieren. um die Änderungen zu speichern.7 Erstellen von Boot-CDs 1 Erstellen Sie ein Verzeichnis. Wählen Sie Bootloader-Partition aktivieren. Prozedur 9.

6 Der grafische SUSE-Bildschirm Seit SUSE Linux 7.iso unter Verwendung Ihres bevorzugten Dienstprogramms auf eine CD. Sie haben bei Bedarf drei Möglichkeiten.lst iso/boot/grub 4 Passen Sie die Pfadeinträge in iso/boot/menu. menu . wenn die Option „vga=<Wert>“ als Kernel-Parameter verwendet wird. mit dem Gerätenamen des CD-ROM-Laufwerks. Bei der Installation mit YaST wird diese Option automatisch in Abhängigkeit von der gewählten Auflösung und der verwendeten Grafikkarte aktiviert.iso iso 6 Schreiben Sie die so erstellte Datei namens grub. 9.lst und /boot/message nach iso/boot/: cp cp cp cp /boot/vmlinuz iso/boot/ /boot/initrd iso/boot/ /boot/message iso/boot/ /boot/grub/menu. dass sie auf ein CD-ROM-Laufwerk verweisen. das mit (cd) angegeben wird: gfxmenu (cd)/boot/message timeout 8 default 0 title Linux kernel (cd)/boot/vmlinuz root=/dev/hda5 vga=794 resume=/dev/hda1 \ splash=verbose showopts initrd (cd)/boot/initrd 5 Erstellen Sie das ISO-Image mit dem folgenden Befehl: mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \ -boot-load-size 4 -boot-info-table -o grub.lst so an. die im Format (hd*) aufgeführt sind.2 Erstellen Sie ein Unterverzeichnis für GRUB: mkdir -p iso/boot/grub 3 Kopieren Sie den Kernel.2 wird der grafische SUSE-Bildschirm auf der ersten Konsole angezeigt. die Dateien stage2_eltorito. initrd. den SUSE-Bildschirm zu deaktivieren: Der Bootloader 229 . Ersetzen Sie hierfür in den Pfadnamen den Gerätenamen der Festplatten.

suse. erstellen Sie eine separate Bootpartition. 211). kann SUSE dafür keinen Support garantieren. Sie dürfen also als Speicherort des Bootloaders keinesfalls eine XFS-Partition angeben. in der Suchmaske der Support-Datenbank unter https://portal . Der Bootloader (S. die nicht mit XFS formatiert ist. Booten und Bootloader zu suchen. Weitere Informationen hierzu finden Sie in Kapitel 9. Den SUSE-Bildschirm standardmäßig deaktivieren Fügen Sie den Kernel-Parameter splash=0 zur Konfiguration des Bootloaders hinzu.com/PM/page/search. TIPP Wenn Sie im Kernel die Framebuffer-Unterstützung deaktiviert haben.html beschrieben. um den grafischen Bildschirm zu deaktivieren. Den SUSE-Bildschirm vollständig deaktivieren Kompilieren Sie einen neuen Kernel und deaktivieren Sie die Option zum Verwenden des Eröffnungsbildschirms anstelle des Bootlogos im Menü FramebufferUnterstützung. GRUB und XFS XFS lässt im Partitions-Bootblock keinen Platz für stage1.7 Fehlerbehebung In diesem Abschnitt werden einige der Probleme. Wenn Sie einen eigenen Kernel kompilieren. Wenn Sie jedoch den Textmodus wie in früheren Versionen bevorzugen.pm nach den Stichworten GRUB.de/sdb/en/index . empfehlen wir. die beim Booten mit GRUB auftreten können.Den SUSE-Bildschirm bei Bedarf deaktivieren Geben Sie den Befehl echo 0 >/proc/splash in der Befehlszeile ein. 230 Referenz . Um ihn wieder zu aktivieren. Um diesen Problem zu beheben. Sollte Ihr spezifisches Problem nicht in dieser Liste enthalten sein. legen Sie Folgendes fest: vga=normal. 9.suse. Einige der Probleme werden in den Artikeln in der Support-Datenbank unter http://portal. geben Sie den Befehl echo 1 >/proc/splash ein. sowie deren Lösungen behandelt. ist der Eröffnungsbildschirm automatisch auch deaktiviert.

GRUB meldet GRUB Geom Error GRUB überprüft die Geometrie der angeschlossenen Festplatten beim Booten des Systems. sodass GRUB einen „GRUB Geom Error“ meldet. Verwenden Sie in solchen Fällen LILO oder aktualisieren Sie ggf. Erstellen Sie in solchen Fällen eine separate Bootpartition (/boot) und formatieren Sie sie mit Ext2.und SCSI-Festplatten enthält. Bearbeiten Sie im gebooteten System die Datei device. Anschließend überprüfen Sie die GRUB-Gerätenamen in den Dateien/boot/grub/menu. das BIOS.lst und /boot/grub/device. Detaillierte Informationen zur Installation. System.GRUB und JFS Obwohl technisch möglich. In seltenen Fällen macht das BIOS hier inkonsistente Angaben. Dieses Problem können Sie umgehen. Installieren Sie anschließend GRUB auf dieser Partition. aber die zweite Stufe stage2 wird nicht gefunden. diese aber nicht im BIOS registriert wurde. Windows. können Sie für den entsprechenden Menüeintrag einen logischen Tausch veranlassen. B. können nur von der ersten Festplatte gebootet werden. Der Bootloader 231 . ist eine Kombination von GRUB mit JFS problematisch. So nimmt GRUB beispielsweise /dev/hda als hd0 und /dev/sda als hd1 an. Konfiguration und Wartung von LILO finden Sie in der Support-Datenbank unter dem Stichwort LILO. Der erste Teil des Bootloadersstage1 wird korrekt gefunden und geladen. wobei aber im BIOS die umgekehrte Reihenfolge (SCSI vor IDE) angegeben ist.conf Windows von der zweiten Festplatte booten Einige Betriebssysteme. wenn Linux auf einer zusätzlichen Festplatte im System installiert wurde. bootet nicht Möglicherweise wurde die Bootsequenz der Festplatten während der Installation von YaST falsch ermittelt.map und installieren Sie den Bootloader mit dem folgenden Befehl neu: grub --batch < /etc/grub. um die neue Zuordnung dauerhaft festzulegen.map. GRUB gibt diese Fehlermeldung auch in solchen Fällen aus. das IDE. indem Sie die neue Festplatte unverzüglich im BIOS registrieren. z. Korrigieren Sie in solchen Fällen mithilfe der GRUB-Befehlszeile beim Booten die verwendeten Festplatten. Wenn ein solches Betriebssystem auf einer anderen als der ersten Festplatte installiert ist.

9. 232 Referenz .. Um weitere Informationen zu bestimmten Themen zu erhalten. können Sie auch „GRUB“ als Suchwort in der Supportdatenbank unter http://portal. Die Logik innerhalb der GRUB-Menüdatei ändert sich dadurch jedoch nicht.html eingeben. In diesem Beispiel soll Windows von der zweiten Festplatte gestartet werden.de/sdb/en/index.0)+1 .gnu.. title windows map (hd0) (hd1) map (hd1) (hd0) chainloader(hd1.suse. Daher müssen Sie bei chainloader nach wie vor die zweite Festplatte angeben. Dazu wird die logische Reihenfolge der Festplatten mit map getauscht.8 Weitere Informationen Umfassende Informationen zu GRUB finden Sie auf der Webseite unter http://www .org/software/grub/... Ausführliche Informationen finden Sie auch auf der Infoseite für den Befehl grub..

wie bash.und landesspezifischen Einstellungen (I18N und L10N). Wenn sie als Anmelde-Shell verwendet wird. GNU Emacs ist ein beliebter konfigurierbarer Texteditor. logrotate.1 Das Paket bash und /etc/profile Bash ist die Standard-Shell in SUSE Linux. werden mehrere Initialisierungsdateien gelesen. locate. Spezielle Funktionen von SUSE Linux 233 . können die Benutzer ihr Standardverhalten ändern. 10. 10. ulimit und free sowie die Datei resolv. sind jedoch nicht immer verfügbar. Hier finden Sie Hinweise zu Software-Komponenten. Manualpages und info-Seiten sind hilfreiche Informationsquellen Zu Befehlen.1.conf spielen für Systemadministratoren und viele Benutzer eine wichtige Rolle.1 Informationen zu speziellen Software-Paketen Die Programme bash. da diese im Laufe der letzten Veröffentlichungszyklen geändert oder verbessert wurden. Bash verarbeitet die entsprechenden Informationen in der Reihenfolge dieser Liste. zu den Virtuellen Konsolen und zur Tastaturbelegung. da diese Komponenten häufig eng mit dem System verbunden sind. cron und logrotate. Selbst wenn sie nur klein sind oder als nicht besonders wichtig eingestuft werden.Spezielle Funktionen von SUSE Linux 10 In diesem Kapitel erhalten Sie zunächst Informationen zu den verschiedenen SoftwarePaketen. cron. Das Kapitel endet mit einem Abschnitt zu sprach.

Einige sind bereits im Lieferumfang des Systems enthalten.old-Dateien. 234). müssen die Grundeinstellungen aus /etc/skel/. cron wird durch speziell formatierte Zeittabellen gesteuert. „Eintrag in /etc/crontab“ (S.1. /etc/ crontab dient als systemübergreifende cron-Tabelle.old /etc/skel/. Geben Sie den Benutzernamen zur Ausführung des Befehls unmittelbar nach der Zeittabelle und noch vor dem Befehl ein. Führen Sie die folgenden Shell-Befehle aus.1 Eintrag in /etc/crontab 1-59/5 * * * * root test -x /usr/sbin/atrun && /usr/sbin/atrun 234 Referenz . 4. Es empfiehlt sich.d weisen alle dasselbe Format auf.profile ~/.bashrc In ~/. Um die richtige Verarbeitung der Dateien zu gewährleisten. /etc/profile ~/.profile oder /etc/skel/. um den Verlust persönlicher Einstellungen zu vermeiden: mv cp mv cp ~/.1.bashrc ~/. In Beispiel 10.bashrc in das Home-Verzeichnis des Benutzers kopiert werden. Informationen hierzu finden Sie auf der Manualpage zu cron (man cron).bashrc. 2.bashrc ~/. Die paketspezifischen Tabellen in /etc/cron.profile /etc/bash. wird root eingegeben.profile ~/. bei Bedarf können Benutzer jedoch auch eigene Tabellen erstellen.profile oder in ~/. 3.profile Kopieren Sie anschließend die persönlichen Einstellungen erneut aus den *.bashrc ~/. verwenden Sie in der Regel das Werkzeug cron.profile.bashrc ~/. 10.bashrc können benutzerdefinierte Einstellungen vorgenommen werden.2 Das cron-Paket Wenn Sie Befehle regelmäßig und automatisch im Hintergrund zu bestimmten Zeitpunkten ausführen möchten. Beispiel 10.old /etc/skel/.1. Die cron-Tabellen befinden sich im Verzeichnis /var/spool/cron/tabs. die Einstellungen aus /etc/skel nach einer Aktualisierung zu kopieren.

weekly /var/spool/cron/lastrun/cron.monthly Die täglichen Systemwartungsaufträge wurden zum Zwecke der Übersichtlichkeit auf mehrere Skripts verteilt.1. /etc/cron. Hiermit wird gewährleistet. wodurch hourly vor jeder vollen Stunde und daily einmal täglich um 2. deren Ausführung durch /usr/lib/cron/run-crons gesteuert wird. dass vernachlässigte Prozesse zum richtigen Zeitpunkt ausgeführt werden können. 10.14 Uhr entfernt wird usw. Spezielle Funktionen von SUSE Linux 235 .hourly /var/spool/cron/lastrun/cron.3 Protokolldateien: Paket logrotate Mehrere Systemdienste (Daemons) zeichnen zusammen mit dem Kernel selbst regelmäßig den Systemstatus und spezielle Ereignisse in Protokolldateien auf. 235). Auf diese Weise kann der Administrator den Status des Systems zu einem bestimmten Zeitpunkt regelmäßig überprüfen. /etc/cron.de-backup-rpmdb. wie von FHS angegeben.de-clean-tmp oder suse. /etc/cron. daily oder von anderen Skripts für regelmäßige Wartungsarbeiten zu benutzerdefinierten Zeitpunkten entfernen Sie regelmäßig die Verwendung der Zeitstempeldateien mithilfe von /etc/crontab-Einträgen (siehe Beispiel 10. /usr/lib/ cron/run-crons wird von der Haupttabelle (/etc/crontab) alle 15 Minuten ausgeführt.2 /etc/crontab: Entfernen von Zeitstempeldateien 59 14 29 44 * 2 2 2 * * * 1 * * * * * * 6 * root root root root rm rm rm rm -f -f -f -f /var/spool/cron/lastrun/cron.hourly.de-cron-local.2. Fehler oder Fehlfunktionen erkennen und die Fehler mit Präzision beheben. Zum Ausführen der Skripts hourly.daily. unter /var/log gespeichert und werden täglich umfangreicher.weekly und /etc/cron. „/etc/crontab: Entfernen von Zeitstempeldateien“ (S.)./etc/crontab kann nicht durch Aufrufen des Befehls crontab -e bearbeitet werden. Mit dem Paket logrotate kann der Umfang der Dateien gesteuert werden. Die Datei muss direkt in einem Editor geladen. suse . Sie sind im Paket aaa_base enthalten. geändert und dann gespeichert werden.monthly. Einige Pakte installieren Shell-Skripts in die Verzeichnisse /etc/cron.daily /var/spool/cron/lastrun/cron. Die Protokolldateien werden in der Regel.daily enthält beispielsweise die Komponenten suse. Beispiel 10.

Konfigurieren Sie Logrotate mit der Datei /etc/logrotate.conf. Die Dateien, die zusätzlich gelesen werden sollen, werden insbesondere durch die include-Spezifikation konfiguriert. Mit SUSE Linux wird sichergestellt, dass Programme, die Protokolldateien erstellen, einzelne Konfigurationsdateien in /etc/logrotate.d installieren. Solche Programme sind beispielsweise im Lieferumfang der Pakete apache2 (/etc/logrotate.d/apache2) und syslogd (/etc/logrotate .d/syslog) enthalten. Beispiel 10.3 Beispiel für /etc/logrotate.conf
# see "man logrotate" for details # rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 # create new (empty) log files after rotating old ones create # uncomment this if you want your log files compressed #compress # RPM packages drop log rotation information into this directory include /etc/logrotate.d # no packages own lastlog or wtmp - we'll rotate them here #/var/log/wtmp { # monthly # create 0664 root utmp # rotate 1 #} # system-specific logs may be also be configured here.

logrotate wird über cron gesteuert und täglich durch /etc/cron.daily/ logrotate aufgerufen. WICHTIG Mit der Option create werden alle vom Administrator in /etc/ permissions* vorgenommenen Einstellungen gelesen. Stellen Sie sicher, dass durch persönliche Änderungen keine Konflikte auftreten.

236

Referenz

10.1.4 Der Befehl „locate“
Der Befehl „locate“ zum schnellen Suchen von Dateien ist nicht im Standardumfang der installierten Software enthalten. Wenn Sie möchten, installieren Sie das Paket find-locate. Der Prozess updatedb wird jeden Abend etwa 15 Minuten nach dem Booten des Systems gestartet.

10.1.5 Der Befehl „ulimit“
Mit dem Befehl ulimit (user limits) können Grenzwerte für die Verwendung der Systemressourcen festgelegt und angezeigt werden. ulimit ist insbesondere für die Begrenzung des für Anwendungen verfügbaren Speichers hilfreich. Hiermit kann verhindert werden, dass eine Anwendung zu viel Speicher belegt, wodurch es zu einem Stillstand des Systems kommen kann. ulimit kann mit verschiedenen Optionen verwendet werden. Verwenden Sie zum Begrenzen der Speicherauslastung die in Tabelle 10.1, „ulimit: Festlegen von Ressourcen für Benutzer“ (S. 237) aufgeführten Optionen. Tabelle 10.1 -m -v -s -c -a ulimit: Festlegen von Ressourcen für Benutzer Maximale Größe des physischen Arbeitsspeichers Maximale Größe des virtuellen Arbeitsspeichers Maximale Größe des Stapels Maximale Größe der Core-Dateien Anzeigen der festgelegten Grenzwerte

In /etc/profile können Sie systemweite Einträge vornehmen. Aktivieren Sie hier die Erstellung der Core-Dateien, die Programmierer für die Fehlersuche benötigen. Ein normaler Benutzer kann die in /etc/profile vom Systemadministrator festgelegten Werte nicht erhöhen, er kann jedoch spezielle Einträge in ~/.bashrc vornehmen.

Spezielle Funktionen von SUSE Linux

237

Beispiel 10.4 ulimit: Einstellungen in ~/.bashrc
# Limits of physical memory: ulimit -m 98304 # Limits of virtual memory: ulimit -v 98304

Die Speicherangaben müssen in KB erfolgen. Weitere Informationen erhalten Sie mit man bash. WICHTIG ulimit-Anweisungen werden nicht von allen Shells unterstützt. PAM (beispielsweise pam_limits) bietet umfassende Anpassungsmöglichkeiten, wenn Sie Einstellungen für diese Beschränkungen vornehmen müssen.

10.1.6 Der Befehl „free“
Der Befehl free ist leicht irreführend, wenn Sie herausfinden möchten, wie viel Arbeitsspeicher zurzeit verwendet wird. Die entsprechenden Informationen finden Sie in /proc/meminfo. Heute müssen sich Benutzer, die ein modernes Betriebssystem wie Linux verwenden, in der Regel kaum Gedanken über den Arbeitsspeicher machen. Das Konzept des verfügbaren Arbeitsspeichers geht auf Zeiten vor der einheitlichen Speicherverwaltung zurück. Bei Linux gilt der Grundsatz freier Arbeitsspeicher ist schlechter Arbeitsspeicher. Daher wurde bei Linux immer darauf geachtet, die Caches auszugleichen, ohne freien oder nicht verwendeten Arbeitsspeicher zuzulassen. Der Kernel verfügt nicht direkt über Anwendungs- oder Benutzerdaten. Stattdessen verwaltet er Anwendungen und Benutzerdaten in einem Seiten-Cache. Falls nicht mehr genügend Arbeitsspeicher vorhanden ist, werden Teile auf der Swap-Partition oder in Dateien gespeichert, von wo aus sie mithilfe des Befehls mmap abgerufen werden können. (siehe man mmap). Der Kernel enthält zusätzlich andere Caches, wie beispielsweise den slab-Cache, in dem die für den Netzwerkzugriff verwendeten Caches gespeichert werden. Hiermit können die Unterschiede zwischen den Zählern in /proc/meminfo erklärt werden. Die meisten, jedoch nicht alle dieser Zähler können über /proc/slabinfo aufgerufen werden.

238

Referenz

10.1.7 Die Datei /etc/resolv.conf
Die Auflösung von Domänennamen erfolgt über die Datei /etc/resolv.conf. Informationen hierzu erhalten Sie in Kapitel 20, Das Domain Name System (DNS) (S. 399). Diese Datei wird ausschließlich mit dem Skript /sbin/modify_resolvconf aktualisiert. Kein anderes Programm verfügt über direkte Änderungsberechtigungen für /etc/resolv.conf. Das Erzwingen dieser Regel ist die einzige Möglichkeit, um die Konsistenz der Netzwerkkonfiguration und der relevanten Dateien des Systems zu gewährleisten.

10.1.8 Manualpages und Info-Seiten
Für einige GNU-Anwendungen (wie beispielsweise tar) sind keine Manualpages mehr vorhanden. Verwenden Sie für diese Befehle die Option --help, um eine kurze Übersicht über die info-Seiten zu erhalten, in der Sie detailliertere Anweisungen erhalten. info befindet sich im Hypertextsystem von GNU. Eine Einführung in dieses System erhalten Sie durch Eingabe von info info. Info-Seiten können durch Eingabe von emacs -f info mit Emacs oder mit info direkt in einer Konsole angezeigt werden. Sie können auch tkinfo, xinfo oder das Hilfesystem von SUSE zum Anzeigen von info-Seiten verwenden.

10.1.9 Einstellungen für GNU Emacs
GNU Emacs ist eine komplexe Arbeitsumgebung. In den folgenden Abschnitten werden die beim Starten von GNU Emacs verarbeiteten Dateien beschrieben. Weitere Informationen hierzu erhalten Sie online unter http://www.gnu.org/software/emacs/ . Beim Starten liest Emacs mehrere Dateien, in denen die Einstellungen für den Benutzer, den Systemadministrator und den Distributor zur Anpassung oder Vorkonfiguration enthalten sind. Die Initialisierungsdatei ~/.emacs ist in den Home-Verzeichnissen der einzelnen Benutzer von /etc/skel installiert. .emacs wiederum liest die Datei /etc/skel/.gnu-emacs. Zum Anpassen des Programms kopieren Sie .gnu-emacs in das Home-Verzeichnis (mit cp /etc/skel/.gnu-emacs ~/.gnu-emacs) und nehmen Sie dort die gewünschten Einstellungen vor.

Spezielle Funktionen von SUSE Linux

239

In .gnu-emacs wird die Datei ~/.gnu-emacs-custom als custom-file definiert. Wenn Benutzer in Emacs Einstellungen mit den customize-Optionen vornehmen, werden die Einstellungen in ~/.gnu-emacs-custom gespeichert. Bei SUSE Linux wird mit dem emacs-Paket die Datei site-start.el im Verzeichnis /usr/share/emacs/site-lisp installiert. Die Datei site-start.el wird vor der Initialisierungsdatei ~/.emacs geladen. Mit site-start.el wird unter anderem sichergestellt, dass spezielle Konfigurationsdateien mit Emacs-Zusatzpaketen, wie psgml, automatisch geladen werden. Konfigurationsdateien dieses Typs sind ebenfalls unter /usr/share/emacs/site-lisp gespeichert und beginnen immer mit suse-start-. Der lokale Systemadministrator kann systemweite Einstellungen in default.el festlegen. Weitere Informationen zu diesen Dateien finden Sie in der Info-Datei zu Emacs unter Init File: info:/emacs/InitFile. Informationen zum Deaktivieren des Ladens dieser Dateien (sofern erforderlich) stehen dort ebenfalls zur Verfügung. Die Komponenten von Emacs sind in mehrere Pakete unterteilt: • Das Basispaket emacs. • emacs-x11 (in der Regel installiert): das Programm mit X11-Unterstützung. • emacs-nox: das Programm ohne X11-Unterstützung. • emacs-info: Onlinedokumentation im Info-Format. • emacs-el: Die nicht kompilierten Bibliotheksdateien in Emacs Lisp. Sie sind während der Laufzeit nicht erforderlich. • Falls erforderlich, können mehrere Zusatzpakete installiert werden: emacs-auctex (für LaTeX), psgml (für SGML und XML), gnuserv (für den Client- und Serverbetrieb) und andere.

10.2 Virtuelle Konsolen
Linux ist ein Multitasking-System für den Mehrbenutzerbetrieb. Die Vorteile dieser Funktionen können auch auf einem eigenständigen PC-System genutzt werden. Im Textmodus stehen sechs virtuelle Konsolen zur Verfügung. Mit den Tasten Alt + F1

240

Referenz

bis Alt + F6 können Sie zwischen diesen Konsolen umschalten. Die siebte Konsole ist für X und reserviert und in der zehnten Konsole werden Kernel-Meldungen angezeigt. Durch Ändern der Datei /etc/inittab können mehrere oder weniger Konsolen zugewiesen werden. Wenn Sie von X ohne Herunterfahren zu einer anderen Konsole wechseln möchten, verwenden Sie die Tasten Strg + Alt + F1 bis Strg + Alt + F6 . Mit Alt + F7 kehren Sie zu X zurück.

10.3 Tastaturzuordnung
Um die Tastaturzuordnung der Programme zu standardisieren, wurden Änderungen an folgenden Dateien vorgenommen:
/etc/inputrc /usr/X11R6/lib/X11/Xmodmap /etc/skel/.Xmodmap /etc/skel/.exrc /etc/skel/.less /etc/skel/.lesskey /etc/csh.cshrc /etc/termcap /usr/lib/terminfo/x/xterm /usr/X11R6/lib/X11/app-defaults/XTerm /usr/share/emacs/<VERSION>/site-lisp/term/*.el

Diese Änderungen betreffen nur Anwendungen, die terminfo-Einträge verwenden oder deren Konfigurationsdateien direkt geändert werden (vi, less usw.). Anwendungen, die nicht im Lieferumfang von SUSE Linux enthalten sind, sollten an diese Standards angepasst werden. Unter X kann auf die Compose-Taste (Multikey) über Strg + Umschalt (rechts) zugegriffen werden. Siehe auch den entsprechenden Eintrag in /usr/X11R6/lib/ X11/Xmodmap. Weitere Einstellungen sind möglich mit der X-Tastaturerweiterung (XKB). Diese Erweiterung wird auch von den Desktop-Umgebungen GNOME (gswitchit) und KDE (kxkb) verwendet.

Spezielle Funktionen von SUSE Linux

241

TIPP: Weitere Informationen Informationen zu XKB finden Sie in /etc/X11/xkb/README und den dort aufgeführten Dokumenten. Detaillierte Informationen zur Eingabe von Chinese, Japanisch und Koreanisch (CJK) finden Sie auf der Seite von Mike Fabian: http://www.suse.de/ ~mfabian/suse-cjk/input.html.

10.4 Sprach- und länderspezifische Einstellungen
SUSE Linux wurde zu einem großen Teil internationalisiert und kann flexibel an lokale Gegebenheiten angepasst werden. Anders ausgedrückt: Die Internationalisierung (I18N) ermöglicht spezielle Lokalisierungen (L10N). Die Abkürzungen I18N und L10N wurden von den ersten und letzten Buchstaben der englischsprachigen Begriffe und der Anzahl der dazwischen stehenden ausgelassenen Wörter abgeleitet. Die Einstellungen werden mit LC_-Variablen vorgenommen, die in der Datei /etc/ sysconfig/language definiert sind. Dies bezieht sich nicht nur auf die native Sprachunterstützung, sondern auch auf die Kategorien Meldungen (Sprache) Zeichensatz, Sortierreihenfolge, Uhrzeit und Datum, Zahlen und Währung. Diese Kategorien können direkt über eine eigene Variable oder indirekt mit einer Master-Variable in der Datei language festgelegt werden (weitere Informationen erhalten Sie auf der Manualpage zu locale). RC_LC_MESSAGES, RC_LC_CTYPE, RC_LC_COLLATE, RC_LC_TIME, RC_LC_NUMERIC, RC_LC_MONETARY Diese Variablen werden ohne das Präfix RC_ an die Shell weitergegeben und stehen für die aufgelisteten Kategorien. Die betreffenden Shell-Profile werden unten aufgeführt. Die aktuelle Einstellung lässt sich mit dem Befehl locale anzeigen. RC_LC_ALL Sofern diese Variable festgelegt ist, setzt Sie die Werte der bereits erwähnten Variablen außer Kraft.

242

Referenz

RC_LANG Falls keine der zuvor genannten Variablen festgelegt ist, ist dies das Fallback. Standardmäßig ist in SUSE Linux nur RC_LANG festgelegt. Dadurch wird es für die Benutzer einfacher, eigene Werte einzugeben. ROOT_USES_LANG Eine Variable, die entweder den Wert yes oder den Wert no aufweist. Wenn die Variable auf no gesetzt ist, funktioniert root immer in der POSIX-Umgebung. Die Variablen können über den sysconfig-Editor von YaST (siehe Abschnitt 8.3.1, „Ändern der Systemkonfiguration mithilfe des YaST-Editors „sysconfig““ (S. 207)) festgelegt werden. Der Wert einer solchen Variable enthält den Sprachcode, den Ländercode, die Codierung und einen Modifier. Die einzelnen Komponenten werden durch Sonderzeichen verbunden:
LANG=<language>[[_<COUNTRY>].<Encoding>[@<Modifier>]]

10.4.1 Beispiele
Sprach- und Ländercode sollten immer gleichzeitig eingestellt werden. Die Spracheinstellungen entsprechen der Norm ISO 639, die unter http://www.evertype.com/ standards/iso639/iso639-en.html und http://www.loc.gov/ standards/iso639-2/ verfügbar ist. Die in ISO 3166 aufgeführten Ländercodes sind unter http://www.din.de/gremien/nas/nabd/iso3166ma/ codlstp1/en_listp1.html verfügbar. Es ist nur sinnvoll, Werte festzulegen, für die verwendbare Beschreibungsdateien unter /usr/lib/locale zu finden sind. Anhand der Dateien in /usr/share/i18n können mit dem Befehl localedef zusätzliche Beschreibungsdateien erstellt werden. Die Beschreibungsdateien sind Bestandteil des Pakets glibc-i18ndata. Eine Beschreibungsdatei für en_US.UTF-8 (für Englisch und USA) kann beispielsweise wie folgt erstellt werden:
localedef -i en_US -f UTF-8 en_US.UTF-8

LANG=en_US.UTF-8 Dies ist die Standardeinstellung, wenn während der Installation US-Englisch ausgewählt wurde. Wenn Sie eine andere Sprache ausgewählt haben, wird diese Sprache ebenfalls mit der Zeichencodierung UTF-8 aktiviert.

Spezielle Funktionen von SUSE Linux

243

LANG=en_US.ISO-8859-1 Hiermit wird als Sprache Englisch, als Land die USA und als Zeichensatz ISO-8859-1 festgelegt. In diesem Zeichensatz wird das Eurozeichen nicht unterstützt, es kann jedoch gelegentlich in Programmen nützlich sein, die nicht für die UTF-8-Unterstützung aktualisiert wurden. Die Zeichenkette, mit der der Zeichensatz definiert wird (in diesem Fall ISO-8859-1), wird anschließend von Programmen, wie Emacs, ausgewertet. LANG=en_IE@euro Im oben genannten Beispiel wird das Eurozeichen explizit in die Spracheinstellung aufgenommen. Streng genommen ist diese Einstellung mittlerweile veraltet, da das Eurozeichen jetzt ebenfalls in UTF-8 enthalten ist. Diese Einstellung ist nur sinnvoll, wenn eine Anwendung UTF-8 nicht unterstützt, ISO-8859-15 jedoch unterstützt. SuSEconfig liest die Variablen in /etc/sysconfig/language und speichert die erforderlichen Änderungen in /etc/SuSEconfig/profile und /etc/ SuSEconfig/csh.cshrc. /etc/SuSEconfig/profile von /etc/profile gelesen oder als Quelle verwendet. /etc/SuSEconfig/csh.cshrc wird von /etc/csh.cshrc als Quelle verwendet. Auf diese Weise werden die Einstellungen systemweit verfügbar. Die Benutzer können die Standardeinstellungen des Systems außer Kraft setzen, indem Sie die Datei ~/.bashrc entsprechend bearbeiten. Wenn Sie die systemübergreifende Einstellung en_US für Programmmeldungen beispielsweise nicht verwenden möchten, nehmen Sie beispielsweise LC_MESSAGES=es_ES auf, damit die Meldungen stattdessen auf Spanisch angezeigt werden.

10.4.2 Locale-Einstellungen in ~/.i18n
Wenn Sie nicht mit den Systemeinstellungen für Locale zufrieden sind, ändern Sie die Einstellungen in ~/.i18n. Die Einträge in ~/.i18n setzen die Systemstandardwerte aus /etc/sysconfig/language außer Kraft. Verwenden Sie dieselben Variablennamen, jedoch ohne die RC_-Präfixe für den Namespace, also beispielsweise LANG anstatt RC_LANG.

244

Referenz

10.4.3 Einstellungen für die Sprachunterstützung
Die Dateien in der Kategorie Meldungen werden generell im entsprechenden Sprachverzeichnis (wie beispielsweise en) gespeichert, damit ein Fallback vorhanden ist. Wenn Sie für LANG den Wert en_US festlegen und in /usr/share/locale/en _US/LC_MESSAGES keine Meldungsdatei vorhanden ist, wird ein Fallback auf /usr/ share/locale/en/LC_MESSAGES ausgeführt. Darüber hinaus kann eine Fallback-Kette definiert werden, beispielsweise für Bretonisch zu Französisch oder für Galizisch zu Spanisch oder Portugiesisch: LANGUAGE="br_FR:fr_FR" LANGUAGE="gl_ES:es_ES:pt_PT" Wenn Sie möchten, können Sie die norwegischen Varianten Nynorsk und Bokmål (mit zusätzlichem Fallback auf no) verwenden: LANG="nn_NO" LANGUAGE="nn_NO:nb_NO:no" Oder: LANG="nb_NO" LANGUAGE="nb_NO:nn_NO:no" Beachten Sie, das bei Norwegisch auch LC_TIME anders behandelt wird. Ein mögliches Problem ist, dass ein Trennzeichen, das zum Trennen von Zifferngruppen verwendet wird, nicht richtig erkannt wird. Dies tritt auf, wenn LANG auf einen aus zwei Buchstaben bestehenden Sprachcode wie de, gesetzt ist, in der Definitionsdatei, die glibc verwendet, jedoch in /usr/share/lib/de_DE/LC_NUMERIC gespeichert ist. Daher muss LC_NUMERIC auf de_DE gesetzt sein, damit das System die Trennzeichendefinition erkennen kann.

Spezielle Funktionen von SUSE Linux

245

10.4.4 Weitere Informationen
• The GNU C Library Reference Manual, Kapitel „Locales and Internationalization“. Dieses Handbuch ist in glibc-info enthalten. • Markus Kuhn, UTF-8 and Unicode FAQ for Unix/Linux, momentan verfügbar unter http://www.cl.cam.ac.uk/~mgk25/unicode.html. • Unicode-Howto von Bruno Haible: /usr/share/doc/howto/en/html/ Unicode-HOWTO.html.

246

Referenz

Druckerbetrieb

11

CUPS ist das Standard-Drucksystem in SUSE Linux. CUPS ist stark benutzerorientiert. In vielen Fällen ist es kompatibel mit LPRng oder kann mit relativ geringem Aufwand angepasst werden. LPRng ist im Lieferumfang von SUSE Linux lediglich aus Kompatibilitätsgründen enthalten. Drucker können nach Schnittstelle, z. B. USB oder Netzwerk, und nach Druckersprache unterschieden werden. Stellen Sie beim Kauf eines Druckers sicher, dass dieser über eine von der Hardware unterstützte Schnittstelle und über eine geeignete Druckersprache verfügt. Drucker können basierend auf den folgenden drei Klassen von Druckersprachen kategorisiert werden: PostScript-Drucker PostScript ist die Druckersprache, in der die meisten Druckaufträge unter Linux und Unix vom internen Drucksystem generiert und verarbeitet werden. Diese Sprache ist bereits sehr alt und sehr effizient. Wenn PostScript-Dokumente direkt vom Drucker verarbeitet und im Drucksystem nicht in weiteren Phasen konvertiert werden müssen, reduziert sich die Anzahl der möglichen Fehlerquellen. Da PostScript-Drucker immer mit erheblichen Lizenzkosten verbunden sind, sind diese Drucker in der Regel teurer als Drucker ohne PostScript-Interpreter. Standarddrucker (Sprachen wie PCL und ESC/P) Obwohl diese Druckersprachen ziemlich alt sind, werden sie immer weiter entwickelt, um neue Druckerfunktionen unterstützen zu können. Bei den bekannten Druckersprachen kann das Drucksystem PostScript-Druckaufträge mithilfe von Ghostscript in die entsprechende Druckersprache konvertieren. Diese Verarbeitungsphase wird als „Interpretieren“ bezeichnet. Die gängigsten Sprachen sind PCL, die am häufigsten auf HP-Druckern und ihren Klonen zum Einsatz kommt, und ESC/P, Druckerbetrieb 247

die bei Epson-Druckern verwendet wird. Diese Druckersprachen werden in der Regel von Linux unterstützt und liefern ein annehmbares Druckergebnis. Es kann sein, dass Linux einige neue Drucker mit sehr ausgefallenen Funktionen nicht unterstützt, da die Open-Source-Entwickler möglicherweise an diesen Funktionen noch arbeiten. Mit Ausnahme der von HP entwickelten hpijs-Treiber gibt es derzeit keinen Druckerhersteller, der Linux-Treiber entwickelt und diese LinuxDistributoren unter einer Open-Source-Lizenz zur Verfügung stellt. Die meisten dieser Drucker finden sich im mittleren Preisbereich. Proprietäre Drucker (in der Regel GDI-Drucker) Für proprietäre Drucker sind in der Regel nur ein oder mehrere Windows-Treiber verfügbar. Diese Drucker unterstützen die gängigen Druckersprachen nicht und die von ihnen verwendeten Druckersprachen unterliegen Änderungen, wenn neue Versionen eines Modells auf den Markt gebracht werden. Weitere Informationen hierzu finden Sie in Abschnitt 11.7.1, „Drucker ohne Unterstützung für eine Standard-Druckersprache“ (S. 264). Vor dem Kauf eines neuen Druckers sollten Sie anhand der folgenden Quellen prüfen, wie gut der Drucker, den Sie zu kaufen beabsichtigen, unterstützt wird: • http://cdb.suse.de/ - die SUSE Linux Hardwaredatenbank • http://www.linuxprinting.org/ - die LinuxPrinting.org-Druckerdatenbank • http://www.cs.wisc.edu/~ghost/ - die Ghostscript-Webseite • /usr/share/doc/packages/ghostscript/catalog.devices Liste der enthaltenen Treiber In den Online-Datenbanken wird immer der neueste Linux-Supportstatus angezeigt. Eine Linux-Distribution kann jedoch immer nur die zur Produktionszeit verfügbaren Treiber enthalten. Demnach ist es möglich, dass ein Drucker, der aktuell als „vollständig unterstützt“ eingestuft wird, diesen Status bei der Veröffentlichung der neuesten SUSE Linux-Version nicht aufgewiesen hat. Die Datenbank gibt daher nicht notwendigerweise den richtigen Status, sondern nur eine Annäherung an diesen an.

248

Referenz

11.1 Workflow des Drucksystems
Der Benutzer erstellt einen Druckauftrag. Der Druckauftrag besteht aus den zu druckenden Daten sowie aus Informationen für den Spooler, z. B. dem Namen des Druckers oder dem Namen der Druckwarteschlange und, optional, den Informationen für den Filter, z. B. druckersprezifische Optionen. Für jeden Drucker ist eine dedizierte Druckwarteschlange verfügbar. Der Spooler hält den Druckauftrag in der Warteschlange, bis der gewünschte Drucker bereit ist, Daten zu empfangen. Wenn der Drucker druckbereit ist, sendet der Spooler die Daten über den Filter und das Backend an den Drucker. Der Filter konvertiert die zu druckenden Daten (ASCII, PostScript, PDF, JPEG usw.) in die druckerspezifischen Daten (PostScript, PCL, ESC/P usw.). Die Funktionen des Druckers sind in den PPD-Dateien beschrieben. Eine PPD-Datei enthält druckspezifische Optionen mit den Parametern, die erforderlich sind, um die Optionen auf dem Drucker zu aktivieren. Das Filtersystem stellt sicher, dass die vom Benutzer ausgewählten Optionen aktiviert werden. Wenn Sie einen PostScript-Drucker verwenden, konvertiert das Filtersystem die Daten in druckerspezifische PostScript-Daten. Hierzu ist kein Druckertreiber erforderlich. Wenn Sie einen Nicht-PostScript-Drucker verwenden, konvertiert das Filtersystem die Daten mithilfe von Ghostscript in druckerspezifische Daten. Hierzu ist ein für den Drucker geeigneter Ghostscript-Druckertreiber erforderlich. Das Backend empfängt die druckerspezifischen Daten vom Filter und leitet diese an den Drucker weiter.

11.2 Methoden und Protokolle zum Anschließen von Druckern
Es gibt mehrere Möglichkeiten, einen Drucker an das System anzuschließen. Die Konfiguration des CUPS-Drucksystems unterscheidet nicht zwischen einem lokalen Drucker und einem Drucker, der über das Netzwerk an das System angeschlossen ist. Unter Linux müssen lokale Drucker wie im Handbuch des Druckerherstellers beschrieben angeschlossen werden. CUPS unterstützt serielle, USB-, Parallel- und SCSI-Verbindungen. Weitere Informationen zum Anschließen von Druckern finden Sie im Beitrag CUPS in aller Kürze in der Support-Datenbank unter http://portal .suse.com. Sie finden den Beitrag, indem Sie Cups in das Suchdialogfeld eingeben. Druckerbetrieb 249

WARNUNG: Kabelverbindung zum Computer Vergessen Sie beim Anschließen des Druckers an den Computer nicht, dass während des Betriebs nur USB-Geräte angeschlossen werden können. Vor dem Anschließen anderer Verbindungstypen muss das System heruntergefahren werden.

11.3 Installieren der Software
PPD (PostScript Printer Description, PostScript-Druckerbeschreibung) ist die Computersprache, die die Eigenschaften, z. B. die Auflösung und Optionen wie die Verfügbarkeit einer Duplexeinheit, beschreibt. Diese Beschreibungen sind für die Verwendung der unterschiedlichen Druckeroptionen in CUPS erforderlich. Ohne eine PPD-Datei würden die Druckdaten in einem „rohen“ Zustand an den Drucker weitergeleitet werden, was in der Regel nicht erwünscht ist. Während der Installation von SUSE Linux werden viele PPD-Dateien vorinstalliert, um den Einsatz von Druckern ohne PostScriptUnterstützung zu ermöglichen. Um einen PostScript-Drucker zu konfigurieren, sollten Sie sich zunächst eine geeignete PPD-Datei beschaffen. Viele PPD-Dateien sind im Paket manufacturer-PPDs enthalten, das im Rahmen der Standardinstallation automatisch installiert wird. Siehe Abschnitt 11.6.3, „PPD-Dateien in unterschiedlichen Paketen“ (S. 261) und Abschnitt 11.7.2, „Für einen PostScript-Drucker ist keine geeignete PPD-Datei verfügbar“ (S. 265). Neue PPD-Dateien können im Verzeichnis /usr/share/cups/model/ gespeichert oder dem Drucksystem mithilfe von YaST hinzugefügt werden (siehe „Manuelle Konfiguration“ (S. 252)). Die PPD-Dateien lassen sich anschließend während der Installation auswählen. Seien Sie vorsichtig, wenn ein Druckerhersteller verlangt, dass Sie zusätzlich zum Ändern der Konfigurationsdateien vollständige Softwarepakte installieren sollen. Diese Art der Installation würde erstens dazu führen, dass Sie die Unterstützung von SUSE Linux verlieren, und zweitens können Druckbefehle anders funktionieren und das System ist möglicherweise nicht mehr in der Lage, Geräte anderer Hersteller anzusprechen. Aus diesem Grund wird das Installieren von Herstellersoftware nicht empfohlen.

250

Referenz

11.4 Konfigurieren des Druckers
Wenn Sie den Drucker an den Computer angeschlossen und die Software installiert haben, installieren Sie den Drucker im System. Dies sollte mit den von SUSE Linux zur Verfügung gestellten Werkzeugen ausgeführt werden. Da SUSE Linux großen Wert auf Sicherheit legt, haben Fremdhersteller-Werkzeuge häufig Schwierigkeiten mit den Sicherheitseinschränkungen und verursachen mehr Komplikationen als sie Vorteile bieten. Informationen zur Fehlerbehebung finden Sie in Abschnitt 11.6.1, „CUPS-Server und Firewall“ (S. 258) und Abschnitt 11.6.2, „Änderungen am CUPS-Druckdienst“ (S. 259).

11.4.1 Lokale Drucker
Wenn Sie sich anmelden und ein nicht konfigurierter Drucker erkannt wird, beginnt YaST mit dessen Konfiguration. Hierbei werden dieselben Dialogfelder wie in der folgenden Konfigurationsbeschreibung verwendet. Um den Drucker zu konfigurieren, wählen Sie im YaST-Kontrollzentrum Hardware → Drucker. Dadurch wird das Hauptfenster für die Druckerkonfiguration geöffnet, in dem im oberen Teil die erkannten Geräte aufgelistet sind. Im unteren Teil werden alle bislang konfigurierten Warteschlangen aufgelistet. Wenn Ihr Drucker nicht erkannt wurde, müssen Sie ihn manuell konfigurieren. WICHTIG Wenn der Eintrag Drucker im YaST-Kontrollzentrum nicht verfügbar ist, ist das Paket yast2-printer wahrscheinlich nicht installiert. Um dieses Problem zu beheben, installieren Sie das Paket yast2-printer und starten Sie YaST neu.

Automatische Konfiguration
YaST kann den Drucker automatisch konfigurieren, wenn der Parallel- oder USBAnschluss automatisch eingerichtet werden kann und der angeschlossene Drucker erkannt wird. Die Druckerdatenbank muss zudem die ID-Zeichenkette des Druckers enthalten, den YaST während der automatischen Hardware-Erkennung ermittelt. Wenn sich die Hardware-ID von der Modellbezeichnung unterscheidet, wählen Sie das Modell manuell aus.

Druckerbetrieb

251

Um sicherzustellen, dass alles ordnungsgemäß funktioniert, sollte jede Konfiguration mit der YaST-Funktion zum Drucken einer Testseite geprüft werden. Die Testseite bietet zudem wichtige Informationen zur getesteten Konfiguration.

Manuelle Konfiguration
Wenn die Anforderungen für eine automatische Konfiguration nicht erfüllt sind oder Sie eine benutzerdefinierte Konfiguration vorziehen, müssen Sie den Drucker manuell konfigurieren. Je nachdem, wie erfolgreich die automatische Erkennung ist und wie viele Informationen zum Druckermodell in der Datenbank gefunden werden, kann YaST die richtigen Einstellungen automatisch erkennen oder mindestens eine angemessene Vorauswahl treffen. Die folgenden Parameter müssen konfiguriert werden: Hardwareverbindung (Anschluss) Die Konfiguration des Hardware-Anschlusses ist davon abhängig, ob YaST während der automatischen Hardware-Erkennung den Drucker finden konnte. Wenn YaST das Druckermodell automatisch erkennen kann, ist davon auszugehen, dass der Drucker auf Hardware-Ebene funktioniert und in dieser Hinsicht keine Einstellungen geändert werden müssen. Wenn YaST das Druckermodell nicht automatisch erkennen kann, liegt auf Hardware-Ebene möglicherweise ein Problem mit der Verbindung vor. In diesem Fall muss die Verbindung manuell konfiguriert werden. Klicken Sie im Dialogfeld Druckerkonfiguration auf Hinzufügen, um die manuelle Konfiguration zu starten. Wählen Sie den Druckertyp (z. B. Drucker am USB-Anschluss). Klicken Sie auf Weiter, um das Dialogfeld Druckeranschluss zu öffnen, und wählen Sie das gewünschte Gerät aus. Name der Warteschlange Der Name der Warteschlange wird bei der Eingabe von Druckbefehlen verwendet. Der Name sollte relativ kurz sein und nur Kleinbuchstaben und Zahlen enthalten. Geben Sie den Name für den Druck im nächsten Dialogfeld (Name der Warteschlange) ein. Druckermodell und PPD-Datei Sämtliche druckerspezifischen Parameter, z. B. der zu verwendende GhostscriptTreiber sowie die Druckerfilter-Parameter für den Treiber, sind in einer PPD-Datei gespeichert. Weitere Informationen zu PPD-Dateien finden Sie in Abschnitt 11.3, „Installieren der Software“ (S. 250).

252

Referenz

Falls erforderlich. wählt YaST standardmäßig eine dieser Dateien aus (normalerweise die als empfohlen markierte Datei). indem Sie das gesamte Papier entfernen und anschließend den Test über YaST stoppen. können Sie weitere (durch die PPD-Datei zur Verfügung gestellte) Optionen nach Auswahl von Bearbeiten ändern. indem Sie die Testseite drucken.1 Auswählen des Druckermodells Sie sollten die vorgenommenen Einstellungen immer prüfen. Sie können die ausgewählte PPD-Datei im nächsten Dialogfeld mit der Option Bearbeiten ändern.Für viele Druckermodelle sind mehrere PPD-Dateien verfügbar. beispielsweise. Abbildung 11. Wenn für das Modell mehrere PPD-Dateien verfügbar sind. wählt YaST die entsprechende PPD-Datei für den Drucker aus. Druckerbetrieb 253 . sollten Sie zunächst den Drucker anhalten. Die Qualität des Ausdrucks ist sowohl vom Typ des ausgewählten Ghostscript-Treibers (PPD-Datei) als auch von den für diesen angegebenen Optionen abhängig. Wenn die Ausgabe nicht akzeptabel ist und beispielsweise mehrere Seiten fast leer sind. Für Nicht-PostScript-Modelle werden alle druckerspezifischen Daten vom Ghostscript-Treiber generiert. Wenn Sie im nächsten Dialogfeld (Druckermodell) einen Hersteller und ein Modell auswählen. Aus diesem Grund ist die Treiberkonfiguration der wichtigste Faktor beim Festlegen der Ausgabequalität. wenn mehrere Ghostscript-Treiber mit dem entsprechenden Modell funktionieren.

IPP und smb. ohne dass zuvor ein Data-Handshake erfolgt. können Sie entweder eine neue PPD-Datei hinzufügen. Um dennoch eine funktionale Konfiguration zu erhalten. in der die Daten an ein Internet-Socket gesendet werden. Linux-Treiber werden leider nur sehr selten zur Verfügung gestellt. 11. LPD (Line Printer Daemon) Das bewährte LPD-Protokoll wird in RFC 1179 beschrieben. Ein Beispiel für einen Geräte-URI ist socket://host-printer:9100/.einige von diesen sogar gleichzeitig. Die Implementierungen diverser Druckerhersteller sind flexibel genug. erweitern (ändern) einige Hersteller den Standard. dass alle Protokolle problemlos mit Linux funktionieren. Daher muss die Druckwarteschlange beim Konfigurieren des LPD-Protokolls für die Datenübertragung angegeben werden. Der zu verwendende 254 Referenz . Im Folgenden finden Sie einige ausführlichere Informationen zu diesen Protokollen: socket Socket bezieht sich auf eine Verbindung. müssen Sie daher möglicherweise mit den verschiedenen Optionen experimentieren. B. um beliebige Namen als Druckwarteschlange zu akzeptieren. Obwohl die meisten der unterstützten Protokolle standardisiert sind. Mit diesem Protokoll werden einige druckauftragsbezogene Daten. Wählen Sie hierzu UNKNOWN MANUFACTURER als Druckerhersteller. Einige der am häufigsten verwendeten Socket-Ports sind 9100 oder 35.2 Netzwerkdrucker Ein Netzwerkdrucker kann unterschiedliche Protokolle .4. Gegenwärtig können Sie nicht davon ausgehen. weil sie Systeme testen. CUPS unterstützt die Protokolle socket.Wenn die Druckerdatenbank keinen Eintrag für Ihr Modell enthält. die im Standard nicht enthalten sind. Hersteller stellen in diesem Fall nur für wenige Betriebssysteme Treiber zur Verfügung und eliminieren so die Schwierigkeiten mit diesen Systemen. vor den eigentlichen Druckdaten gesendet. die ID der Druckwarteschlange. oder weil sie bestimmte Funktionen zur Verfügung stellen möchten. Erweiterte Einstellungen Die hier angegebenen Einstellungen müssen in der Regel nicht geändert werden. indem Sie PPD-Datei zur Datenbank hinzufügen wählen oder eine Sammlung generischer PPD-Dateien verwenden. damit der Drucker mit einer der Standard-Druckersprachen druckt. LPD. z. die in den Standard noch nicht ordnungsgemäß implementiert wurden.

Die Portnummer für IPP lautet 631. Das für diesen Zweck verwendete Protokoll ist SMB.631. Ein Beispiel für einen Gerät-URI ist lpd://host-printer/LPT1. nmap überprüft einen Host auf offene Ports.2. der Bestandteil des Pakets nmap ist.6. CUPS verwendet IPP für die interne Datenübertragung.515. Eine LPD-Warteschlange kann auch auf einem anderen Linux. Um IPP ordnungsgemäß konfigurieren zu können.com. „Änderungen am CUPS-Druckdienst“ (S.137-139. 259)). um die Sicherheitseinschränkungen in CUPS handzuhaben (siehe Abschnitt 11.suse.9100-10000 printerIP Konfigurieren von CUPS im Netzwerk unter Verwendung von YaST Netzwerkdrucker sollten mit YaST konfiguriert werden. LP1 o. 138 und 139. Dies ist das bevorzugte Protokoll für eine Weiterleitungswarteschlange zwischen zwei CUPS-Servern. Mit IPP können mehr druckauftragsbezogene Daten übertragen werden als mit den anderen Protokollen. Die Portnummer für einen LPD-Dienst lautet 515. können Sie das Protokoll mit dem Befehl nmap ermitteln. Beispiele für Geräte-URIs sind smb://Benutzer:Passwort@Arbeitsgruppe/Server/Drucker. Wenn der Hersteller die erforderlichen Informationen nicht zur Verfügung stellt. LPT1. Es werden häufig Bezeichnungen wie LPT. im Druckerhandbuch angegeben sein. Das vom Drucker unterstützte Protokoll muss vor der Konfiguration ermittelt werden. smb://Benutzer:Passwort@Host/Drucker und smb://Server/Drucker. das auf dem HTTP-Protokoll basiert.Name müsste ggf. Weitere Informationen und Richtlinien zur Installation von CUPS im Netzwerk finden Sie im Beitrag CUPS in aller Kürze in der Support-Datenbank unter http://portal . Beispiel: nmap -p 35. verwendet. IPP (Internet Printing Protocol) IPP ist ein relativ neues Protokoll (1999). Beispiele für Geräte-URIs sind ipp://host-printer/ps und ipp://host-cupsserver/printers/ps. SMB verwendet die Portnummern 137. YaST vereinfacht die Konfiguration und ist bestens ausgestattet. ist der Name der Druckwarteschlange erforderlich.oder Unix-Host im CUPS-System konfiguriert werden. SMB (Windows-Freigabe) CUPS unterstützt auch das Drucken auf freigegebenen Druckern unter Windows. Druckerbetrieb 255 . ä.

Fügen Sie eine Druckwarteschlange unter Verwendung der folgenden Syntax hinzu: lpadmin -p queue -v device-URI \ -P PPD-file -E Das Gerät (-v) ist anschließend als Warteschlange (-p) verfügbar und verwendet die angegebene PPD-Datei (-P). dass Sie die PPD-Datei und den Namen des Geräts kennen müssen. Falls Sie keine anderen Anweisungen von Ihrem Netzwerkadminstrator erhalten haben. Konfigurieren mit Befehlszeilenoptionen CUPS kann alternativ auch mit Befehlszeilenoptionen wie lpadmin und lpoptions konfiguriert werden. entfernen und verwalten.Starten Sie die Druckerkonfiguration und klicken Sie auf Hinzufügen. Der vollständige URI könnte beispielsweise wie folgt lauten: parallel:/dev/lp0 (an den ersten Parallelanschluss angeschlossener Drucker) oder usb:/dev/usb/lp0 (erster erkannter Drucker. B. Mit lpadmin kann der CUPS-Serveradministrator Klassen und Druckwarteschlangen hinzufügen. der an den USB-Anschluss angeschlossen ist). der aus einem Backend.168. Das bedeutet.gz -E Weitere Informationen hierzu sowie weitere Optionen für lpadmin finden Sie auf der Manualpage für den Befehl lpadmin(1).ppd. Sie benötigen einen Geräte-URI (Uniform Resource Identifier). Während der Druckerkonfiguration werden bestimmte Optionen standardmäßig gesetzt.ppd.gz -E Im folgenden Beispiel wird ein Netzwerkdrucker konfiguriert: lpadmin -p ps -v socket://192. und Parametern wie /dev/usb/lp0 besteht. z.1. usb. Für alle CUPS-Befehle legt die Option -E als erstes Argument die Verwendung einer verschlüsselten Verbindung fest.0:9100/ -P \ /usr/share/cups/model/Postscript-level1. wenn Sie den Drucker manuell konfigurieren möchten. Verwenden Sie nicht -E als erste Option. Diese Optionen können (je nach verwendetem Druckwerkzeug) für jeden Druckauftrag 256 Referenz . probieren Sie die Option Direkt auf Netzwerkdrucker drucken aus und fahren Sie gemäß den lokalen Anforderungen fort. Zur Aktivierung des Druckers muss die Option -E wie im folgenden Beispiel dargestellt verwendet werden: lpadmin -p ps -v parallel:/dev/lp0 -P \ /usr/share/cups/model/Postscript.

da Sie unter Verwendung der verfügbaren Warteschlangen aus der Anwendung heraus drucken können sollten. Um den Druckvorgang über die Befehlszeile zu starten. root-Einstellungen werden in /etc/cups/ lpoptions geschrieben. z. 11. Damit dies Druckerbetrieb 257 . den Drucker für eine bestimmte Anwendung neu zu konfigurieren. Geben Sie in diesem Fall den richtigen Befehl in das Druckdialogfeld der Anwendung ohne Angabe des Dateinamens ein. lp -d Name_der_Warteschlange. Legen Sie die Standardoptionen mithilfe der Befehlszeilenwerkzeuge wie folgt fest: 1 Zeigen Sie zunächst alle Optionen an: lpoptions -p queue -l Beispiel: Resolution/Output Resolution: 150dpi *300dpi 600dpi Die aktivierte Standardoption wird durch das vorangehende Sternchen (*) gekennzeichnet. Einige Anwendungen erfordern für den Druckvorgang den Befehl lp. 2 Ändern Sie die Option mit lpadmin: lpadmin -p queue -o Resolution=600dpi 3 Prüfen Sie die neue Einstellung: lpoptions -p queue -l Resolution/Output Resolution: 150dpi 300dpi *600dpi Wenn ein normaler Benutzer den Befehl lpoptions ausführt.5 Konfiguration für Anwendungen Anwendungen verwenden die vorhandenen Druckwarteschlangen auf dieselbe Weise wie Befehlszeilenwerkzeuge. Es ist nicht erforderlich. Es ist auch möglich.geändert werden. diese Standardoptionen mit YaST zu ändern.lpoptions geschrieben. geben Sie lp -d Name_der Warteschlange Dateiname ein und ersetzen die entsprechenden Namen für Name_der_Warteschlange und Dateiname. werden die Einstellungen in ~/. B.

Dies erfordert.6 Sonderfunktionen in SUSE Linux Für SUSE Linux wurden mehrere CUPS-Funktionen angepasst. 11. dass zwischen den anwendungsspezifischen Druckereinstellungen und denen von kprinter keine Konflikte auftreten und dass die Druckoptionen nur über kprinter geändert werden. nachdem es aktiviert wurde. 11. 1. Im Folgenden werden einige der wichtigsten Änderungen beschrieben. in dem Sie in diesem Dialogfeld eine Warteschlange wählen und andere Druckoptionen festlegen können. CUPS als Client eines Netzwerkservers zu konfigurieren. wenn sich die Konfiguration des Netzwerkservers ändert. Dieser Ansatz wird in der Regel jedoch nicht empfohlen.1 CUPS-Server und Firewall Es gibt mehrere Möglichkeiten. Welcher der beiden Befehle gewählt wird. sollte sie bei jeder Ausgabe eines Druckauftrags das Dialogfeld „kprinter“ öffnen. aktivieren Sie die Option Über externes Programm drucken. Druckaufträge können auch direkt an einen Netzwerkserver weitergeleitet werden. Werkzeuge wie xpp und das KDE-Programm kprinter bieten eine grafische Oberfläche für die Auswahl der Warteschlangen und zum Festlegen der CUPS-Standardoptionen und druckerspezifischen Optionen. lp oder entsprechende Bibilotheksaufrufe anderer Programme können die Druck- 2.in KDE-Programmen funktioniert. die über die PPD-Datei zur Verfügung gestellt werden. über die alle Druckaufträge an den entsprechenden Netzwerkserver weitergeleitet werden (diese Warteschlange bezeichnet man auch als Weiterleitungswarteschlange). Für diesen Konfigurationstyp wird kein lokaler CUPS-Daemon ausgeführt. Sie können für jede Warteschlange auf dem Netzwerkserver eine lokale Warteschlange konfigurieren. Sie können kprinter als Standardschnittstelle zum Drucken von Nicht-KDEAnwendungen verwenden. wird vom Verhalten der Anwendung selbst festgelegt. Andernfalls können Sie den Druckbefehl nicht eingeben. Wenn die Anwendung ordnungsgemäß koniguriert ist. da alle Client-Computer neu konfiguriert werden müssen. 258 Referenz . indem Sie kprinter oder kprinter --stdin als Druckbefehl in den Druckdiaolgfeldern dieser Anwendungen angeben.6.

Aufgrund der am Anfang dieses Abschnitts erwähnten Gründe wird diese Methode nicht empfohlen.6. indem er die lokalen NetzwerkHosts aktiv durchsucht oder alle Warteschlangen manuell konfiguriert. wenn Sie gleichzeitig auf einem lokalen Drucker drucken möchten. Diese Voraussetzung ist automatisch erfüllt. dass ein Angreifer IPP-Broadcast-Pakete mit Warteschlangen sendet und der lokale Daemon auf eine gefälschte Warteschlange zugreift. glaubt der Eigentümer des Auftrags möglicherweise. um festzustellen. Dies setzt jedoch voraus.2 Änderungen am CUPS-Druckdienst Diese Änderungen wurden ursprünglich in SUSE Linux 9. Dies ist die beste CUPS-Konfiguration für das Drucken über entfernte CUPSServer. Der CUPS-Daemon kann auf IPP-Broadcast-Pakete lauschen. dass die Firewall für eingehende Pakete an Port 631/UDP (IPP-Client) durchlässig ist. cupsd wird als Benutzer lp ausgeführt Beim Start ändert sich cupsd vom Benutzer root in den Benutzer lp. 3. wenn Sie Ihren Computer in der internen Firewall-Zone konfiguriert haben. Weitere Informationen zur Firewall-Konfiguration finden Sie unter „Konfiguration mit YaST“ (S. während er in Wirklichkeit an den Server des Angreifers geleitet wird. Wenn die Warteschlange dann mit demselben Namen wie die andere Warteschlange auf dem lokalen Server angezeigt wird. der dann möglicherweise von den Benutzern angenommen wird. Dies bietet einen viel höheren Grad an Sicherheit. Es besteht jedoch das Risiko. oder durch Lauschen auf IPP-Broadcast-Pakete. die andere Netzwerkserver senden. dass der Auftrag an einen lokalen Server gesendet wird. um die verfügbaren Warteschlangen bekannt zu geben. Das Öffnen eines Ports zum Konfigurieren des Zugriffs auf entfernte Warteschlangen in der externen Zone kann ein Sicherheitsrisiko darstellen. da ein Angreifer einen Server anbieten kann.aufträge direkt an den Netzwerkserver senden. ob diese den IPP-Dienst anbieten. 116). da der CUPS-Druckdienst nicht mit uneingeDruckerbetrieb 259 . Standardmäßig werden IPP-Broadcasts daher in der externen Zone verweigert. Diese Konfiguration funktioniert jedoch nicht. Alternativ kann der Benutzer CUPS-Server erkennen.1 vorgenommen. YaST kann CUPS-Server mit zwei Methoden ermitteln: Durch Durchsuchen der lokalen Netzwerk-Hosts. 11.

Geben Sie hierzu als root Folgendes ein: lppasswd -g sys -a CUPS-admin-name Diese Einstellung ist außerdem wichtig. kann /etc/printcap nicht generiert werden.md5 eingegeben werden. die an cupsd gesendet werden. da lp nicht berechtigt ist. Wenn cupsd als lp ausgeführt wird. Dateien in /etc/ zu erstellen.schränkten Berechtigungen. ist /etc/printcap ein symbolischer Link. Um sicherzustellen. weiter ordnungsgemäß funktionieren. sondern nur mit den für den Druckdienst erforderlichen Berechtigungen ausgeführt wird. Daher generiert cupsd die Datei /etc/cups/printcap. wenn Sie das Web-Administrations-Frontend von CUPS oder das Werkzeug für die Druckeradministration von KDE verwenden möchten.md5 verwendet werden. Wenn cupsd als lp ausgeführt wird. Allgemeinere Funktionalität für BrowseAllow und BrowseDeny Die festgelegten Zugriffsberechtigungen für BrowseAllow und BrowseDeny gelten für alle Pakettypen. die Warteschlangennamen in /etc/printcap nur lesen können. da lp keinen Zugriff auf /etc/shadow hat. der auf /etc/cups/ printcap verweist. Zu diesem Zweck muss ein CUPS-Administrator mit der CUPS-Administrationsgruppe sys und einem CUPS-Passwort in /etc/cups/passwd. Verwenden Sie stattdessen rccups restart. Die Standardeinstellungen in /etc/cups/cupsd. Die Authentifizierung (die Passwortüberprüfung) kann nicht über /etc/shadow ausgeführt werden.conf lauten wie folgt: BrowseAllow @LOCAL BrowseDeny All und <Location /> Order Deny.Allow Deny From All 260 Referenz . Stattdessen muss die CUPS-spezifische Authentifizierung über /etc/cups/passwd. Daher kann cupsd mit dem Befehl rccups reload nicht neu geladen werden. kann Port 631 nicht geöffnet werden. dass Anwendungen.

und Modelldatenbank neu. cupsd standardmäßig aktiviert In einer Standardinstallation ist cupsd automatisch aktiviert und ermöglicht so den Zugriff auf die Warteschlangen des CUPS-Netzwerkservers. die nur PPD-Dateien und keine weiteren Informationsquellen verwendet.und Modelldaten. erhalten Sie die PPD-Dateien. LOCAL-Hosts sind Hosts. deren IFF_POINTOPOINT-Flags nicht gesetzt sind) und zum selben Netzwerk wie der CUPS-Server gehören. ohne dass ein weiteres Eingreifen erforderlich ist. 260) sind wichtige Voraussetzungen für diese Funktion. dass die PPD-Dateien in /usr/share/cups/model/ nach Bedarf geändert werden können. die aus den PPD-Dateien extrahiert werden. Die Einstellungen in „cupsd wird als Benutzer lp ausgeführt“ (S.0.Allow From 127. da andernfalls die Sicherheit für eine automatische Aktivierung von cupsd nicht ausreichend wäre. 259) und „Allgemeinere Funktionalität für BrowseAllow und BrowseDeny“ (S. Wenn Sie beispielsweise Druckerbetrieb 261 . die dem Hersteller und dem Modell entsprechen.0. Um die geeigneten PPD-Dateien für das Druckermodell zu finden. Wenn Sie in der Liste der Hersteller und Modelle einen Drucker auswählen. Zu diesem Zweck generiert die YaST-Druckerkonfiguration eine Datenbank mit den Hersteller.0. die auf dem System in den PPD-Dateien unter /usr/share/ cups/model/ enthalten sind. hat den Vorteil.1 Allow From 127.0.6. vergleicht YaST während der Hardware-Erkennung den Hersteller und das Modell mit den Herstellern und Modellen.3 PPD-Dateien in unterschiedlichen Paketen Die YaST-Druckerkonfiguration richtet die Warteschlangen für CUPS auf dem System nur unter Verwendung der in /usr/share/cups/model/ installierten PPDDateien ein. Die YaST-Druckerkonfiguration erkennt die Änderungen und generiert die Hersteller. Die Konfiguration.2 Allow From @LOCAL </Location> Auf diese Weise können nur LOCAL-Hosts auf cupsd auf einem CUPS-Server zugreifen. deren IP-Adressen zu einer Nicht-PPP-Schnittstelle (Schnittstellen. 11. Pakete von allen anderen Hosts werden sofort abgelehnt.

(recommended) dem Druckermodell entspricht und das Paket manufacturer-PPDs keine geeignetere PPD-Datei enthält.gz • /usr/share/cups/model/Postscript-level2.ppd.. Foomatic . Foomatic/Ghostscript driver und *cupsFilter: . CUPS+Gimp-Print und *cupsFilter: .. Dieser Filter und die entsprechenden Gimp-Print-PPD-Dateien befinden sich im Paket cups-drivers-stp.. wenn eine Foomatic-PPD-Datei mit dem Eintrag *NickName: . YaST bevorzugt eine Foomatic-PPD-Datei.. Diese PPD-Dateien befinden sich im Paket cups-drivers.ppd. foomatic-rip..... 262 Referenz .gz PPD-Dateien im Paket cups-drivers Der Foomatic-Druckerfilter foomatic-rip wird in der Regel zusammen mit Ghostscript für Nicht-PostScript-Drucker verwendet.. CUPS-PPD-Dateien im Paket cups Die generischen PPD-Dateien im Paket cups wurden durch angepasste Foomatic-PPDDateien für PostScript-Drucker der Level 1 und Level 2 ergänzt: • /usr/share/cups/model/Postscript-level1. Gimp-Print-PPD-Dateien im Paket cups-drivers-stp Für viele Nicht-PostScript-Drucker kann an Stelle von foomatic-rip der CUPSFilter rastertoprinter verwendet werden. um eine optimale Konfiguration der Drucker zu erzielen. Die GimpPrint-PPD-Dateien befinden sich in /usr/share/cups/model/stp/ und haben die Einträge *NickName: .. Die PPD-Dateien für die PostScript-Drucker können direkt in /usr/share/cups/model/ kopiert werden (wenn sie nicht bereits im Paket manufacturer-PPDs vorhanden sind). sind die Foomatic-PPD-Dateien im Paket cups-drivers oder die Gimp-Print-PPD-Dateien im Paket cups-drivers-stp in der Regel nicht erforderlich... Die entsprechenden FoomaticPPD-Dateien haben die Einträge *NickName: .nur mit PostScript-Druckern arbeiten. rastertoprinter.

müssen Sie das entsprechende Druckermodell manuell in YaST auswählen. dass das Druckermodell im PostScript-Modus nicht effizient genug arbeitet. sondern die Modellbezeichnungen in der PPD-Datei beispielsweise in Form von Funprinter 1000 series angegeben werden. Wenn eine PPD-Datei im Paket manufacturer-PPDs für einen PostScript-Drucker geeignet ist. wenn folgende Bedingungen erfüllt sind: • Der während der Hardware-Erkennung ermittelte Hersteller und das Modell entsprechen dem Hersteller und dem Modell in einer PPD-Datei im Paket manufacturer-PPDs.. YaST verwendet demzufolge in den folgenden Fällen keine PPD-Datei aus dem Paket manufacturer-PPDs: • Die PPD-Datei im Paket manufacturer-PPDs entspricht nicht dem Hersteller und dem Modell. Druckerbetrieb 263 . Des Weiteren unterstützt der Drucker möglicherweise standardmäßig kein PostScript. • Die PPD-Datei im Paket manufacturer-PPDs ist die einzige geeignete PPDDatei für das Druckermodell oder es ist eine Foomatic-PPD-Datei mit dem Eintrag *NickName: .PPD-Dateien von Druckerherstellern im Paket manufacturer-PPDs Das Paket manufacturer-PPDs enthält PPD-Dateien von Druckerherstellern. da die PostScript-Unterstützung nur als optionales Modul verfügbar ist. PostScript-Drucker sollten mit der entsprechenden PPD-Datei des Druckerherstellers konfiguriert werden. wenn das Paket manufacturer-PPDs nur eine PPD-Datei für ähnliche Modelle enthält. wenn für die einzelnen Modelle einer Modellserie keine separaten PPD-Dateien vorhanden sind. Dies kann der Fall sein. z. Foomatic/Postscript (recommended) vorhanden. da diese Datei die Verwendung aller Funktionen des PostScript-Druckers ermöglicht. B. die unter einer ausreichend freien Lizenz veröffentlicht werden. YaST diesen aus den genannten Gründen aber nicht konfigurieren kann. die dem Druckermodell ebenfalls entspricht. Der Grund dafür ist möglicherweise. weil es in diesem Modus beispielsweise aufgrund von zu wenig Speicher unzuverlässig oder wegen seines zu schwachen Prozessors zu langsam arbeitet.. YaST bevorzugt eine PPD-Datei aus dem Paket manufacturer-PPDs. • Die Verwendung der Foomatic-PostScript-PPD-Datei wird nicht empfohlen.

Der Betrieb einiger Drucker kann sowohl im GDI-Modus als auch in einer der StandardDruckersprachen ausgeführt werden. einen unterstützten Drucker zu kaufen. 11. sondern die Tatsache.7 Fehlerbehebung In den folgenden Abschnitten werden einige der am häufigsten auftretenden Probleme mit der Druckerhardware und -software sowie deren Lösungen oder Umgehung beschrieben. dass es keine Garantie gibt. Einige Hersteller stellen für ihre GDI-Drucker proprietäre Treiber zur Verfügung. dass diese mit dem installierten Drucksystem funktionieren und für die unterschiedlichen Hardwareplattformen geeignet sind. dass GDI-Drucker nur mit der proprietären Druckersprache des jeweiligen Druckermodells adressiert werden können. die eine Standard-Druckersprache unterstützen. Anstatt Zeit darauf zu verwenden. Diese Drucker funktionieren nur mit den Betriebssystemversionen.11.1 Drucker ohne Unterstützung für eine Standard-Druckersprache Drucker. die keine der geläufigen Druckersprachen unterstützen und nur mit speziellen Steuersequenzen adressiert werden können. nicht abhängig von einer speziellen Drucksystemversion oder einer bestimmten Hardwareplattform. spezielle Treibersoftware zu installieren und zu konfigurieren oder Treiber-Updates zu beschaffen. Der Nachteil proprietärer Druckertreiber ist. Dadurch wäre das Treiberproblem ein für alle Mal aus der Welt geschafft und es wäre nicht mehr erforderlich. werden als GDI-Drucker bezeichnet. einen proprietären Linux-Treiber zum Funktionieren zu bringen. Im Gegensatz dazu sind Drucker. die aufgrund neuer Entwicklungen im Drucksystem benötigt würden. 264 Referenz . Das eigentliche Problem ist nicht die Programmierschnittstelle. für die der Hersteller einen Treiber zur Verfügung stellt.7. GDI ist eine von Microsoft für Grafikgeräte entwickelte Programmierschnittstelle. ist es möglicherweise kosteneffektiver.

conf: Interrupt-Modus für den ersten Parallelanschluss“ (S.conf ein. Lesen Sie zunächst die Lizenzvereinbarung für die PPD-Datei.7. Die von cupstestppd protokollierten Problempunkte müssen behoben werden.11. sollte es möglich sein.exe) zur Verfügung gestellt wird. SPP oder Output Only • DMA: deaktiviert Wenn der Drucker trotz dieser Einstellungen über den Parallelanschluss nicht angesprochen werden kann. den Drucker direkt an den ersten Parallelanschluss anzuschließen und im BIOS die folgenden Einstellungen für Parallelanschlüsse auszuwählen: • I/O address: 378 (hexadezimal) • Interrupt: irrelevant • Mode: Normal.3 Parallelanschlüsse Die sicherste Methode ist. geben Sie die E/A-Adresse explizit in Übereinstimmung mit der Einstellung im BIOS in Form von 0x378 in /etc/modprobe.0x278 ein. eine geeignete PPD-Datei an. „/etc/modprobe.7. kann er mit dem in Beispiel 11.zip) oder als selbstextrahierendes Zip-Archiv (.2 Für einen PostScript-Drucker ist keine geeignete PPD-Datei verfügbar Wenn das Paket manufacturer-PPDs für einen PostScript-Drucker keine geeignete PPD-Datei enthält. Fordern Sie beim Druckerhersteller ggf. Wenn zwei Parallelanschlüsse vorhanden sind. oder eine geeignete PPD-Datei von der Webseite des Druckerherstellers herunterzuladen. die PPD-Datei von der Treiber-CD des Druckerherstellers zu verwenden. “ entspricht. ob die PPD-Datei der „Adobe PostScript-PDF-Format-Spezifikation. entpacken Sie sie mit unzip. 11. Version 4. sind die Fehler in den PPD-Dateien schwerwiegend und verursachen wahrscheinlich größere Probleme. Wenn das Dienstprogramm „FAIL“ zurückgibt. 266) dargestellten Eintrag aktiviert Druckerbetrieb 265 . die auf die E/A-Adressen 378 und 278 (hexadezimal) gesetzt sind. Prüfen Sie anschließend mit dem Dienstprogramm cupstestppd.3. Wenn Interrupt 7 frei ist.1. Wenn die PPD-Datei als Zip-Archiv (. geben Sie diese in Form von 0x378.

warum das Drucken in der queue auf host nicht möglich ist.7. um zu testen. ist lpd entweder nicht aktiv oder es liegen grundlegende Netzwerkprobleme vor. verwenden Sie den Polling-Modus mit irq=none. werden die Probleme netzwerkseitig verursacht. Wenn Sie sich diesbezüglich nicht sicher sind. vorausgesetzt.werden.4 Netzwerkdrucker-Verbindungen Netzwerkprobleme identifizieren Schließen Sie den Drucker direkt an den Computer an. der entsprechende lpd ist aktiv und der Host akzeptiert Abfragen: echo -e "\004queue" \ | netcat -w 2 -p 722 host 515 Wenn lpd nicht antwortet. Wenn dies funktioniert. Es werden nur die aktuell verwendeten Interrupts angezeigt. Beispiel 11.1 /etc/modprobe. welche Interrupts bereits verwendet werden. Wenn Sie eine Antwort wie 266 Referenz . Entfernten lpd prüfen Geben Sie den folgenden Befehl ein. Geben Sie als root den folgenden Befehl ein. sollte die Antwort zeigen. TCP/IP-Netzwerk prüfen Das TCP/IP-Netzwerk und die Namensauflösung müssen funktionieren.conf: Interrupt-Modus für den ersten Parallelanschluss alias parport_lowlevel parport_pc options parport_pc io=0x378 irq=7 11. Dies kann sich je nachdem. um zu sehen. ändern. Konfigurieren Sie den Drucker zu Testzwecken als lokalen Drucker. um einen (möglicherweise sehr langen) Statusbericht für queue auf dem entfernten host abzufragen. Wenn lpd reagiert. Prüfen Sie vor dem Aktivieren des Interrupt-Modus die Datei /proc/ interrupts. Der Interrupt für den Parallelanschluss darf von keinem anderen Gerät verwendet werden. ist er entweder nicht aktiv oder es liegen grundlegende Netzwerkprobleme vor. welche Hardwarekomponenten aktiv sind. ob zu lpd (Port 515) auf host eine TCP-Verbindung hergestellt werden kann: netcat -z host 515 && echo ok || echo failed Wenn die Verbindung zu lpd nicht hergestellt werden kann.

ist cupsd entweder nicht aktiv oder es liegen grundlegende Netzwerkprobleme vor. Mit dem nächsten Befehl können Sie testen. ob mit cupsd (Port 631) auf host eine TCP-Verbindung hergestellt werden kann: netcat -z host 631 && echo ok || echo failed Wenn die Verbindung zu cupsd nicht hergestellt werden kann. kill $PID Wenn ein CUPS-Netzwerkserver vorhanden ist. der aus einem einzigen CR-Zeichen (CarriageReturn) besteht. lpstat -h host -l -t gibt einen (möglicherweise sehr langen) Statusbericht für alle Warteschlangen auf host zurück. vorausgesetzt.2. dass der entsprechende cupsd aktiv ist und der Host Abfragen akzeptiert. sleep 40 . Möglicherweise wird eine leere Seite ausgegeben.domain:631/printers/queue Mit dem folgenden Befehl können Sie testen. der Informationen über Broadcasting sendet. ob im Netzwerk ein CUPS-Netzwerkserver vorhanden ist.2 Fehlermeldung vom lpd lpd: your host does not have line printer access lpd: queue does not exist printer: spooling disabled printer: printing disabled Entfernten cupsd prüfen Der CUPS-Netzwerkserver sollte Informationen über seine Warteschlangen standardmäßig alle 30 Sekunden an UDP-Port 631 via Broadcast senden. „Fehlermeldung vom lpd“ (S. Demzufolge kann mit dem folgenden Befehl getestet werden.3 Broadcast vom CUPS-Netzwerkserver ipp://host. Beispiel 11. 267) dargestellt. 267) erhalten. wird das Problem durch den entfernten lpd verursacht. erscheint die Ausgabe wie in Beispiel 11. In diesem Fall sollte nichts gedruckt werden.die in Beispiel 11. netcat -u -l -p 631 & PID=$! . „Broadcast vom CUPSNetzwerkserver“ (S. echo -en "\r" \ | lp -d queue -h host Druckerbetrieb 267 . Beispiel 11. ob die Warteschlange auf Host einen Druckauftrag akzeptiert.3.

Fehlerbehebung für einen Netzwerkdrucker oder eine Print Server Box Spooler.2. Beispiel: nmap IP-Adresse gibt die folgende Ausgabe für eine Print Server Box zurück: Port 23/tcp 80/tcp 515/tcp 631/tcp 9100/tcp State open open open open open Service telnet http printer cups jetdirect Diese Ausgabe gibt an. Auf diese Weise wird die Print Server Box auf einen Konvertierer zwischen den unterschiedlichen Formen der Datenübertragung (TCP/IP-Netzwerk und lokale Druckerverbindung) reduziert. Wenn der Drucker eingeschaltet und an die Print Server Box angeschlossen ist. Siehe Abschnitt 11. den Spooler in der Print Server Box zu umgehen. Weitere Informationen hierzu finden Sie auf der Manualpage für den Befehl nmap.4. Da dies durch den Spooler in der Print Server Box verursacht wird. um zu testen. verwenden Sie den Befehl nmap -p Ausgangs-Port-Ziel-Port IP-Adresse. nmap prüft standardmäßig nur eine bestimmte Anzahl der allgemein bekannten Ports. ob der Drucker auf diesem Port angesprochen werden kann. 254). wenn die Print Server Box einige Zeit eingeschaltet ist. wenn sie viele Druckaufträge bearbeiten müssen. verursachen gelegentlich Probleme. Geben Sie einen Befehl ein wie echo -en "\rHello\r\f" | netcat -w 1 IP-address port cat file | netcat -w 1 IP-address port um Zeichenketten oder Dateien direkt an den entsprechenden Port zu senden. Sie haben aber die Möglichkeit. können Sie nichts dagegen tun. die in /usr/ share/nmap/nmap-services aufgeführt sind. Um alle möglichen Ports zu überprüfen. die in einer Print Server Box ausgeführt werden. Dies kann einige Zeit dauern. dass der an die Print Server Box angeschlossenen Drucker über TCP-Socket an Port 9100 angesprochen werden kann. indem Sie den an die Print Server Box angeschlossenen Drucker über TCP-Socket direkt ansprechen. „Netzwerkdrucker“ (S. müssen Sie den TCP-Port der Print Server Box kennen. 268 Referenz . kann dieser TCP-Port in der Regel mit dem Dienstprogramm nmap aus dem Paket nmap ermittelt werden. Um diese Methode verwenden zu können.

7 Durchsuchen von CUPS: Löschen von Druckaufträgen Wenn ein CUPS-Netzwerkserver seine Warteschlangen den Client-Hosts via Brwosing bekannt macht und auf den Host-Clients ein geeigneter lokaler cupsd aktiv ist. wird dies vom Drucksystem nicht erkannt. kann er mit der Auftragsnummer auf dem Client-Host nicht gelöscht werden. z. wenn das CUPS-Backend die Datenübertragung an den Empfänger (Drucker) abgeschlossen hat. Nachdem der Systemadministrator das Problem behoben hat. Daher unterscheidet sich die Auftragsnummer auf dem Client-Host von der auf dem Server. wird diesem eine neue Auftragsnummer zugewiesen. um die Auftragsnummer auf dem Server zu ermitteln. 11. bis die Datenübertragung als nicht möglich abgebrochen wird.cupsd den Druckauftrag als abgeschlossen betrachtet. Druckerbetrieb 269 .7. Da weitere Versuche vergeblich wären.7. 11. akzeptiert der Client-cupsd Druckaufträge von Anwendungen und leitet sie an den cupsd auf dem Server weiter. z. Wenn cupsd einen Druckauftrag akzeptiert. sobald dieser an den Server-cupsd weitergeleitet wurde.11.5 Fehlerhafte Ausdrucke ohne Fehlermeldung Für das Drucksystem ist der Druckauftrag abgeschlossen. B.6 Deaktivierte Warteschlangen Wenn die Datenübertragung zum Empfänger auch nach mehreren Versuchen nicht erfolgt. usb oder socket. deaktiviert cupsd das Drucken für die entsprechende Warteschlange. da der Client. Wenn die weitere Verarbeitung auf dem Empfänger nicht erfolgt. B. Um einen Druckauftrag auf dem Server zu löschen. die für den Drucker besser geeignet ist. wenn der Drucker die druckerspezifischen Daten nicht drucken kann. ob und wie viele Versuche sinnvoll sind. Das Backend entscheidet. Wenn der Drucker die druckerspezifischen Daten nicht drucken kann. geben Sie einen Befehl wie lpstat -h Print-Server -o ein. dem Drucksystem (an cupsd) einen Fehler. Da ein Druckauftrag in der Regel sofort weitergeleitet wird. meldet das CUPS-Backend. muss er das Drucken mit dem Befehl /usr/bin/enable wieder aktivieren. wählen Sie eine andere PPD-Datei.7.

270 Referenz . Geben Sie lpstat -o oder lpstat -h Print-Server -o ein. Führen Sie die folgenden Schritte aus.8 Fehlerhafte Druckaufträge und Fehler bei der Datenübertragung Druckaufträge verbleiben in den Warteschlangen und das Drucken wird fortgesetzt. beenden Sie ihn.vorausgesetzt.und wieder einschalten oder den Computer während des Druckvorgangs herunterfahren und neu booten. ihn an den Drucker gesendet). Für einen an den Parallelanschluss angeschlossenen Drucker geben Sie beispielsweise den Befehl fuser -k /dev/lp0 ein. über welche Warteschlange aktuell gedruckt wird. um alle Prozesse zu beenden. der Server hat den Druckauftrag nicht bereits abgeschlossen (d. Wenn ein Druckauftrag fehlerhaft ist oder während der Kommunikation zwischen dem Host und dem Drucker ein Fehler auftritt. 3 Auch wenn der Druckauftrag aus der Warteschlange gelöscht wurde. ob ein CUPS-BackendProzess für die entsprechende Warteschlange ausgeführt wird und wenn ja. entfernen Sie das Papier aus Tintenstrahldruckern oder öffnen Sie die Papierzufuhr bei Laserdruckern. werden einige Daten weiter an den Drucker gesendet.7. h. Prüfen Sie. um dies zu beheben: 1 Um den Druckvorgang zu beenden. Mithilfe dieser Auftragsnummer kann der Druckauftrag auf dem Server gelöscht werden: cancel -h print-server queue-jobnnumber 11. die aktuell noch auf den Drucker zugreifen (präziser: auf den Parallelanschluss). 2 Der Druckauftrag befindet sich möglicherweise noch in der Warteschlange. um zu prüfen. wenn sie vollständig an den Drucker übertragen wurden. wenn Sie den Drucker aus. Qualitativ hochwertige Drucker sind mit einer Taste zum Abbrechen des aktuellen Druckauftrags ausgestattet. da er die Daten nicht ordnungsgemäß verarbeiten kann. Fehlerhafte Druckaufträge müssen mit cancel aus der Warteschlange entfernt werden. Löschen Sie den Druckauftrag mit cancel Warteschlange-Auftragsnummer oder mit cancel -h Print-Server Warteschlange-Auftragsnummer. da die Aufträge erst dann entfernt werden. druckt der Drucker mehrere Seiten Papier mit unleserlichen Zeichen.

3 Entfernen Sie /var/log/cups/error_log*. 11. Legen Sie anschließend Papier ein und schalten Sie den Drucker wieder ein. indem Sie ihn für einige Zeit ausschalten. 2 Stoppen Sie cupsd.4 Setzen Sie den Drucker vollständig zurück.conf. die zu dem Problem geführt hat.10 Weitere Informationen Lösungen zu vielen spezifischen Problemen sind in der SUSE-Support-Datenbank (http://portal. Die gesuchten Themen finden Sie am schnellsten über Schlüsselwortsuchen.7.9 Fehlerbehebung beim CUPS-Drucksystem Suchen Sie Probleme im CUPS-Drucksystem mithilfe des folgenden generischen Verfahrens: 1 Setzen Sie LogLevel debug in /etc/cups/cupsd. 11. um das Durchsuchen sehr großer Protokolldateien zu vermeiden.suse. 4 Starten Sie cupsd. 6 Lesen Sie die Meldungen in /var/log/cups/error_log*. 5 Wiederholen Sie die Aktion.7.com/) enthalten. Druckerbetrieb 271 . um die Ursache des Problems zu identifizieren.

.

oder Sie können zusätzliche Daten zur Auswertung bei der Gerätebehandlung anfordern und importieren. Änderungen des Gerätestatus (ob ein Gerät angeschlossen oder entfernt wird) müssen an den userspace weitergegeben werden. Falls ein Gerät vom System getrennt wird. Auf diese Weise können Sie die udev-Gerätebehandlung anpassen. Mithilfe von udev spiegelt das /dev-Verzeichnis den aktuellen Status des Kernel wider. die als Teil der KernelGerätebehandlung ausgeführt werden. wird der Geräteknoten entfernt. Benutzer eines bestimmten Geräts müssen über sämtliche Statusänderungen für das entsprechende Gerät informiert werden. Jedes Kernel-Gerät verfügt über eine entsprechende Gerätedatei. Der Inhalt des /dev-Verzeichnisses wird in einem temporären Dateisystem gespeichert und alle Dateien werden bei jedem Systemstart neu erstellt. Geräte müssen konfiguriert werden. um die Geräteknotendateien und symbolische Links im /dev-Verzeichnis dynamisch zu warten. Statische Dateien Gerätemanagement über dynamischen Kernel mithilfe von udev 273 . Mithilfe von udevRegeln können externe Programme in die Ereignisverarbeitung des Kernel-Geräts eingebunden werden. Sie können beispielsweise bestimmte Skripts hinzufügen.6 kann der Kernel nahezu jedes Gerät im laufenden System hinzufügen oder entfernen.1 Das /dev-Verzeichnis Die Geräteknoten im /dev-Verzeichnis ermöglichen den Zugriff auf die entsprechenden Kernel-Geräte.Gerätemanagement über dynamischen Kernel mithilfe von udev 12 Seit Version 2. Manuell erstellte oder geänderte Dateien überdauern ein erneutes Booten planmäßig nicht. 12. sobald sie angeschlossen und erkannt wurden. udev bietet die erforderliche Infrastruktur.

12.2 Kernel-uevents und udev Die erforderlichen Geräteinformationen werden vom sysfs-Dateisystem exportiert. nachdem der Geräteknoten erstellt wurde. um udev über die Änderung zu informieren. wird ein Verzeichnis mit dem Gerätenamen erstellt. Jeder Bus weist ein eigenes Schema für diese IDs auf. Bus-Geräte identifizieren sich mithilfe einer speziell formatierten ID. Der Kernel bedient sich der Geräteinformationen. verfasst daraus 274 Referenz . Der udev-Daemon liest und analysiert alle angegebenen Regeln aus den /etc/udev/ rules. Kernel-Module und Geräte Die Kernel-Bus-Treiber prüfen. hinzugefügt oder entfernt werden. können im Verzeichnis /lib/udev/ devices platziert werden. 12. Normalerweise bestehen diese IDs aus einer Hersteller. auf den Knoten verweisende Symlinks hinzufügen oder Programme hinzufügen. Jedes Mal. ob Geräte vorhanden sind. einen bestimmten Namen für den zu erstellenden Geräteknoten anfordern. wenn ein Gerät hinzugefügt oder entfernt wird. Beim Systemstart wird der Inhalt des entsprechenden Verzeichnisses in das /dev-Verzeichnis kopiert und erhält dieselbe Eigentümerschaft und dieselben Berechtigungen wie die Dateien in /lib/udev/devices. Für jedes Gerät. die ausgeführt werden sollen.3 Treiber. empfängt der Daemon ein Ereignis und aktualisiert die gespeicherten Regeldarstellungen.und einer Produkt-ID und anderen das Subsystem betreffenden Werten. Es enthält Attributdateien mit gerätespezifischen Eigenschaften. Die Treiber-Core-uevents werden von einem Kernel-Netlink-Socket empfangen. Für jedes erkannte Gerät erstellt der Kernel eine interne Gerätestruktur und der Treiber-Core sendet ein uevent an den udev-Daemon. Falls Regeldateien verändert. das so genannte MODALIAS-Schema.d/*. die unabhängig vom Status des entsprechenden Kernel-Geräts immer im /dev-Verzeichnis vorhanden sein sollten. das der Kernel erkannt und initialisiert hat. die Auskunft über die Art des Geräts gibt. Die Regeln können Ereignisergebnisschlüssel hinzufügen oder ändern.rules-Dateien einmalig beim Start und speichert diese.und Verzeichnisse. Jedes empfangene Ereignis wird mit dem Satz der angegebenen Regeln abgeglichen. sendet der Kernel ein uevent.

um die Geräteknoten zu erstellen und die Geräteeinrichtung durchzuführen. Falls modprobe $MODALIAS aufgerufen wird. Dies liegt daran. Falls ein übereinstimmender Eintrag gefunden wird. neu. wie das Aufrufen von modprobe für jedes Ereignis.4 Booten und erstes Einrichten des Geräts Alle Geräteereignisse. fordert udev lediglich alle Geräteereignisse aus dem Kernel an. nicht durch die frühe Boot-Logik initialisiert werden. die er behandeln kann. dass die Infrastruktur für die Behandlung dieser Ereignisse sich in dem Root-Dateisystem befindet und zu diesem Zeitpunkt nicht verfügbar ist. Anstatt manuell nach möglicherweise angeschlossenen Geräten zu suchen.eine MODALIAS-ID-Zeichenkette und sendet diese Zeichenkette zusammen mit dem Ereignis. Durch das Schreiben von add in die entsprechende Datei sendet der Kernel dasselbe Ereignis. wenn das Root-Dateisystem verfügbar ist. da der Treiber zum entsprechenden Zeitpunkt nicht verfügbar ist. gleicht es den für das Gerät verfassten Geräte-Alias mit den Aliassen von den Modulen ab. Das Ereignis für die USB-Maus wird also lediglich erneut ausgeführt. das über einen MODALIAS-Schlüssel verfügt. Um diesen Verlust auszugleichen. die während des Boot-Vorgangs stattfinden. bevor der udevDaemon ausgeführt wird. Gerätemanagement über dynamischen Kernel mithilfe von udev 275 . die während des Boot-Vorgangs vorhanden ist. Eine einfache Schleife über alle uevent-Dateien in /sys löst alle Ereignisse erneut aus. Das Programm depmod liest die ID-Listen und erstellt die Datei modules. Beispielsweise kann eine USB-Maus. Das Ereignis für die Geräteerkennung ist verloren gegangen und konnte kein Kernel-Modul für das Gerät finden. Beispiel für eine USB-Maus: MODALIAS=usb:v046DpC03Ed2000dc00dsc00dp00ic03isc01ip02 Jeder Gerätetreiber verfügt über eine Liste bekannter Aliase für Geräte. stellt der Kernel eine uevent-Datei für jedes Gerät im sysfs-Dateisystem zur Verfügung. gehen verloren. Alle diese Vorgänge werden von udev ausgelöst und erfolgen automatisch. das während des Boot-Vorgangs verloren gegangen ist. Bei dieser Infrastruktur ist das Laden des Moduls ein ebenso müheloser Vorgang. Die Liste ist in der Kernel-Moduldatei selbst enthalten.alias im Verzeichnis /lib/ modules des Kernel für alle zurzeit verfügbaren Module. 12. wird das entsprechende Modul geladen. Jetzt wird das Kernel-Modul auf dem eingehängten Root-Dateisystem gefunden und die USB-Maus kann initialisiert werden.

5 Fehlersuche bei udev-Ereignissen Das Programm udevmonitor kann verwendet werden.427298] add@/class/input/input6 UDEV [1132632714. da die Partitionsereignisse möglicherweise auf die Daten angewiesen sind.0 UDEV [1132632714.937243] add@/class/input/input7 UDEV_LOG=3 ACTION=add DEVPATH=/class/input/input7 SUBSYSTEM=input SEQNUM=1043 PHYSDEVPATH=/devices/pci0000:00/0000:00:1d.12 UDEV [1132632714.0 UEVENT[1132632714.Vom userspace aus gibt es keinen erkennbaren Unterschied zwischen einer coldplugGerätesequenz und einer Geräteerkennung während der Laufzeit.420947] add@/devices/pci0000:00/0000:00:1d.288166] add@/devices/pci0000:00/0000:00:1d. um dieses Ereignis zu verarbeiten oder der udevDaemon hat eine Verzögerung bei der Ausführung der Synchronisierung dieses Ereignisses mit zugehörigen und bereits ausgeführten Ereignissen erfahren.309511] add@/class/input/input6/mouse2 UEVENT[1132632714. um die Treiber-Core-Ereignisse und das Timing der udev-Ereignisprozesse zu visualisieren.434223] add@/class/usb_device/usbdev2.309485] add@/class/input/input6 UEVENT[1132632714. Die Zeit zwischen UEVENT und UDEV ist die Zeit. Beispielsweise warten Ereignisse für Festplattenpartitionen immer. Das Timing wird in Mikrosekunden angegeben.12 UDEV [1132632714. Die UDEV-Zeilen zeigen die fertig gestellten udev-Ereignisbehandlungsroutinen an.1/usb2/2-2/2-2:1. udevmonitor --env zeigt die vollständige Ereignisumgebung: UDEV [1132633002. die der Kernel an Netlink gesendet hat. die udev benötigt hat.348966] add@/devices/pci0000:00/0000:00:1d. die das Ereignis für den primären Datenträger von der Hardware angefordert hat.1/usb2/2-2/2-2:1.1/usb2/2-2/2-2:1. bis das Ereignis für den primären Datenträger beendet ist.0 PHYSDEVBUS=usb PHYSDEVDRIVER=usbhid PRODUCT=3/46d/c03e/2000 NAME="Logitech USB-PS/2 Optical Mouse" 276 Referenz .1/usb2/2-2 UEVENT[1132632714. 12.439934] add@/class/input/input6/mouse2 Die UEVENT-Zeilen zeigen die Ereignisse an.309524] add@/class/usb_device/usbdev2.285362] add@/devices/pci0000:00/0000:00:1d. UEVENT[1132632714. In beiden Fällen werden dieselben Regeln für den Abgleich verwendet und dieselben konfigurierten Programme ausgeführt.1/usb2/2-2 UDEV [1132632714.

auf den Knoten verweisende Symlinks hinzufügen oder ein bestimmtes Programm als Teil der Ereignisbehandlung ausführen. Die Regelsyntax und die angegebenen Schlüssel zum Abgleichen oder Importieren von Daten werden auf der Manualpage für udev beschrieben.PHYS="usb-0000:00:1d.conf angegeben. Die Regel kann auch zusätzliche Informationen aus externen Programmen anfordern. Wenn alle Übereinstimmungsschlüssel mit ihren Werten übereinstimmen. Jedes Ereignis wird gegen alle angegebenen Regeln abgeglichen. die der Kernel in sysfs exportiert. Alle Regeln befinden sich im Verzeichnis /etc/udev/rules. Falls keine übereinstimmende Regel gefunden wird.d/. wird von Werkzeugen mit spezi- Gerätemanagement über dynamischen Kernel mithilfe von udev 277 . um den Geräteknoten zu erstellen. wird in der udev-Konfigurationsdatei /etc/udev/udev. Jede Zeile in der Regeldatei enthält mindestens ein Schlüsselwertepaar. wird diese Regel angewendet und der angegebene Wert wird den Zuweisungsschlüsseln zugewiesen.6 Ereignisse für die Kernelgeräte mit udev-Regeln steuern Eine udev-Regel kann mit einer beliebigen Eigenschaft abgeglichen werden. Eine übereinstimmende Regel kann den Namen des Geräteknotens angeben. Jedes geeignete Block-Gerät. die steuert. Es gibt zwei Arten von Schlüsseln: die Übereinstimmungsschlüssel und Zuweisungsschlüssel. Die standardmäßige syslog-Priorität. welche Meldungen an syslog gesendet werden. 12. 12. Die Protokollpriorität des ausgeführten Daemons kann mit udevcontrol log_priority=level/number geändert werden.7 Permanente Gerätebenennung Das dynamische Geräteverzeichnis und die Infrastruktur für die udev-Regeln ermöglichen die Bereitstellung von stabilen Namen für alle Laufwerke unabhängig von ihrer Erkennungsreihenfolge oder der für den Anschluss des Geräts verwendeten Verbindung. das der Kernel erstellt. wird der standardmäßige Geräteknotenname verwendet.1-2/input0" UNIQ="" EV=7 KEY=70000 0 0 0 0 0 0 0 0 REL=103 udev sendet auch Meldungen an syslog. die der Kernel der Ereignisliste hinzufügt oder mit beliebigen Informationen.

/./.scsi-SATA_HTS726060M9AT00_MRH453M4HWHG7B -> .conf ersetzt 278 Referenz ..8 Das ersetzte hotplug-Paket Das ehemals verwendete hotplug-Paket wird gänzlich durch die udev././sda7 | |-. die auf das Gerät verweisen: /dev/disk |-..2-scsi-0:0:0:0-part6 -> . ihre Funktionalität wurde von udev übernommen: /etc/hotplug/*...ellem Wissen über bestimmte Busse.rc Durch den /sys/*/uevent-Auslöser ersetzt /etc/hotplug/blacklist Durch die blacklist-Option in modprobe.usb-02773:0:0:2-part1 -> . Laufwerktypen oder Dateisysteme untersucht../sdd1 12./sda | |-.../sda6 | |-./.SUSE10 -> ./.. Die folgenden Teile der ehemaligen hotplugInfrastruktur sind inzwischen überflüssig bzw. Gemeinsam mit dem vom dynamischen Kernel bereitgestellten Geräteknotennamen unterhält udev-Klassen permanenter symbolischer Links...././.pci-0000:00:1f./sdd1 `-../sda7 | |-.4210-8F8C -> .2-scsi-1:0:0:0 -> ./.by-label | |-./sdd | |-..devel -> ..././.pci-0000:00:1f././sda | |-.scsi-SATA_HTS726060M9AT00_MRH453M4HWHG7B-part6 -> .2-scsi-0:0:0:0-part1 -> .3e999973-00c9-4917-9442-b7633bd95b9e -> .pci-0000:00:1f..pci-0000:00:1f.agent Nicht mehr erforderlich oder in /lib/udev verschoben /etc/hotplug/*./.159a47a4-e6e6-40be-a757-a629991479ae -> ./sdd | `-../././sda1 | |-./sda6 |-../sdd1 | |-.Photos -> ...2-scsi-0:0:0:0-part7 -> ../sda7 |-..by-uuid |-../sda6 | |-...usb-Generic_STORAGE_DEVICE_02773 -> ../....usb-Generic_STORAGE_DEVICE_02773-part1 -> ...und die udevbezogene Kernel-Infrastruktur ersetzt.usb-02773:0:0:2 -> ...2-scsi-0:0:0:0 -> .scsi-SATA_HTS726060M9AT00_MRH453M4HWHG7B-part7 -> .pci-0000:00:1f..scsi-SATA_HTS726060M9AT00_MRH453M4HWHG7B-part1 -> ./sr0 | |-./sda6 `-..././sda7 | `-./sdd1 |-.by-id | |-./sda1 | |-../.by-path | |-.././.

d/* Durch die udev-Regel im RUN-Schlüssel ersetzt /etc/hotplug. Regeln und andere wichtige Konfigurationsbelange. bis das Root-Dateisystem eingehängt werden kann.conf Wichtigste udev-Konfigurationsdatei /etc/udev/rules.d/* Durch die udev-Regel im RUN-Schlüssel ersetzt /sbin/hotplug Durch das Lauschen auf Netlink durch udevd ersetzt. Gerätemanagement über dynamischen Kernel mithilfe von udev 279 .d/* udev-Ereigniszuordnungsregeln /lib/udev/devices/* Statischer /dev-Inhalt /lib/udev/* Von den udev-Regeln aufgerufene Helferprogramme 12. nur im anfänglichen RAMDateisystem verwendet. wird anschließend deaktiviert /dev/* Ersetzt durch dynamisches udev und statischen Inhalt in /lib/udev/devices/ * Die folgenden Dateien und Verzeichnisse enthalten die entscheidenden Elemente der udev-Infrastruktur: /etc/udev/udev./etc/dev.9 Weitere Informationen Weitere Informationen zur udev-Infrastruktur finden Sie auf den folgenden Manualpages: udev Allgemeine Informationen über udev. Schlüssel.

und udev-Ereignissequenz an der Konsole aus. 280 Referenz . um Geräteinformationen aus der udev-Datenbank abzufragen. udevmonitor udevmonitor gibt die Kernel. udevd Informationen zum udev-Ereignisverwaltungs-Daemon.udevinfo udevinfo kann verwendet werden. Dieses Werkzeug wird hauptsächlich zur Fehlersuche verwendet.

Anzahl an Links.1 Terminologie Metadaten Eine Dateisystem-interne Datenstruktur. Inode Inodes enthalten zahlreiche Informationen über eine Datei. Journal Im Kontext eines Dateisystems ist ein Journal eine Struktur auf dem Datenträger. Es ist von größter Wichtigkeit. die sicherstellt. Dieses Kapitel gibt einen kurzen Überblick über die gängigsten Linux-Dateisysteme. andernfalls können alle Daten auf dem Dateisystem unzugreifbar werden.Dateisysteme in Linux 13 Linux unterstützt unterschiedliche Dateisysteme.“ Nahezu jedes Dateisystem verfügt über seine eigene Struktur an Metadaten. Vorzüge und Anwendungsgebiete. einschließlich Größe. in dem das Dateisystem speichert. erläutert deren Designkonzepte. die eine Art Protokoll enthält. Durch Journaling verringert sich die Wieder- Dateisysteme in Linux 281 . dass Metadaten intakt bleiben. 13. der Änderung und des Zugriffs. Daneben erhalten Sie einige Zusatzinformation über LFS (Large File Support) in Linux. dass alle Daten auf dem Datenträger korrekt organisiert und zugreifbar sind. Zeiger auf die Plattenblöcke. was sich in den Metadaten des Dateisystems ändert. auf denen der Dateiinhalt tatsächlich gespeichert wird. Das ist eine der Ursachen für die unterschiedlichen Leistungsmerkmale von Dateisystemen. sowie Datum und Uhrzeit der Erstellung. Im Grunde sind es „Daten über die Daten.

4 zur Verfügung. Es hat sich als leistungsstarke Alternative zu Ext2 bewährt. Nachfolgend erhalten Sie einen Überblick über die grundlegende Funktionsweise und die Vorzüge dieser Dateisysteme. bessere Leistung beim Plattenzugriff und schnellere Wiederherstellung nach einem Absturz. muss die Anwendung selbst prüfen. WICHTIG: Einrichten von Dateisystemen Wenn in diesem Kapitel nicht anders angegeben. die berücksichtigt werden müssen.x SUSE-Kernels seit SUSE Linux-Version 6. Kernels. Stattdessen wird nur das Journal wiedergegeben.4. 13. steht ReiserFS als KernelPatch für 2.1 ReiserFS Offiziell eines der Hauptmerkmale der Kernel-Version 2. der beim Systemstart das ganze Dateisystem prüft. Ob diese Daten konsistent sind. können alle Schritte für das Einrichten oder Ändern von Partitionen und Dateisystemen mit YaST ausgeführt werden. die Ihre Anwendung in ihre Dateien schreibt). ReiserFS wurde von Hans Reiser und dem Namesys-Entwicklungsteam entwickelt.2.2. Selbst das anspruchsvollste Dateisystem kann jedoch keine vernünftige Strategie für Sicherungskopien ersetzen. 13. Seine Vorzüge sind eine bessere Nutzung des Speicherplatzes.2 Wichtige Dateisysteme in Linux Die Wahl eines Dateisystems für ein Linux-System ist nicht mehr wie noch vor zwei oder drei Jahren eine Sache von wenigen Sekunden (Ext2 oder ReiserFS?). dass es wahrscheinlich kein Dateisystem gibt. Jedes Dateisystem hat seine Stärken und Schwächen. die mit 2. Denken Sie daran. das für alle Arten von Anwendungen optimal ist. stellen eine Vielzahl von Dateisystemen zur Auswahl.4 beginnen. Die Begriffe Datenintegrität und Datenkonsistenz beziehen sich in diesem Kapitel nicht auf die Konsistenz der Daten auf Benutzerebene (Daten. 282 Referenz . da es den langen Suchvorgang überflüssig macht.herstellungsdauer für ein Linux-System erheblich.

Bessere Leistung beim Festplattenzugriff Bei kleinen Dateien werden häufig die Dateidaten und die „stat_data“ (Inode)Informationen nebeneinander gespeichert. die im Ext3-Abschnitt. Schnelle Wiederherstellung nach einem Absturz Durch Verwendung eines Journals zur Nachverfolgung kürzlich erfolgter Metadatenänderungen reduziert sich die Dateisystemüberprüfung sogar für große Dateisysteme auf wenige Sekunden. Ein weiterer Vorteil liegt in der dynamischen Zuweisung von Inodes. ein einziger Festplattenzugriff genügt. statt sie an anderer Stelle zu speichern und einfach den Zeiger auf den tatsächlichen Ort zu verwalten. das Extended File System. 13. „Ext3“ (S. um alle benötigten Informationen abzurufen. aber Journaling nur für Metadaten nutzt. da kleine Dateien direkt in den Blättern des B*-Baums gespeichert werden können. Dateisysteme in Linux 283 .Die Stärken von ReiserFS: Bessere Nutzung des Speicherplatzes In ReiserFS werden alle Daten in einer Struktur namens „B*-balanced Tree“ organisiert.3. Sein Vorgänger. Sie lassen sich in einer einzigen E/AOperation lesen.. 284). umrissen werden. Mit der Erstellung von Journaling File Systemen und ihren verblüffend kurzen Wiederherstellungszeiten verlor Ext2 an Bedeutung. sondern in exakt der benötigten Größe. was die Integrität von Daten und Metadaten sicherstellt. Abschnitt 13. Die Baumstruktur trägt zur besseren Nutzung des Festplattenspeichers bei. Damit bleibt das Dateisystem flexibler als traditionelle Dateisysteme wie Ext2. d. Zusätzlich wird der Speicher nicht in Einheiten von 1 oder 4 KB zugewiesen. Das Extended File System unterzog sich einer Reihe von Änderungen und entwickelte sich als Ext2 für viele Jahre zum beliebtesten LinuxDateisystem.2 Ext2 Die Ursprünge von Ext2 reichen bis zu den Anfangstagen der Linux-Geschichte zurück. wurde im April 1992 implementiert und in Linux 0. Zuverlässigkeit durch Daten-Journaling ReiserFS unterstützt auch Daten-Journaling und „ordered-data“-Modi ähnlich den Konzepten. bei dem die Inode-Dichte bei der Erstellung des Dateisystems angegeben werden muss.2.2. h.96c integriert. Der Standardmodus ist data=ordered.

warum es bei vielen Linux-Benutzern das bevorzugte Linux-Dateisystem war – und in einigen Bereichen immer noch ist. ReiserFS oder XFS. Insgesamt bietet Ext3 drei wesentliche Vorteile: Einfache und höchst zuverlässige Dateisystem-Upgrades von Ext2 Da Ext3 auf dem Ext2-Code basiert und dessen platteneigenes Format sowie sein Metadatenformat teilt. die Dateisystemdaten zu analysieren. Wenn nach einem Systemausfall kein ordnungsgemäßes Aushängen des Dateisystems möglich war. wie z. sind Upgrades von Ext2 auf Ext3 unglaublich einfach. die sich ziemlich langwierig gestalten können (Anlegen von Sicherungs- 284 Referenz . Im Unterschied zu Journaling File Systemen analysiert e2fsck das ganze Dateisystem und nicht nur die kürzlich geänderten Metadaten. Daher sollte Ext2 nicht für einen Server gewählt werden. Das dauert erheblich länger als das Überprüfen der Protokolldaten eines Journaling File Systems.2.Eine kurze Zusammenfassung der Stärken von Ext2 kann erhellen.3 Ext3 Ext3 wurde von Stephen Tweedie entwickelt. Diese beiden Dateisysteme sind sehr eng miteinander verwandt. Abhängig von der Größe des Dateisystems kann dies eine halbe Stunde oder länger dauern. Das kann der Grund dafür sein. B. Der wesentlichste Unterschied zwischen Ext2 und Ext3 liegt darin. Im Unterschied zu allen anderen Dateisystemen der nächsten Generation folgt Ext3 keinem komplett neuen Entwicklungsprinzip. Da Ext2 jedoch kein Journal führt und bedeutend weniger Speicher belegt. der auf hohe Verfügbarkeit angewiesen ist. Metadaten werden in einen konsistenten Zustand gebracht und schwebende Dateien oder Datenblöcke werden in ein ausgewiesenes Verzeichnis geschrieben (genannt lost +found). Stabilität Als wahrer „Oldtimer“ erlebte Ext2 viele Verbesserungen und wurde ausgiebig getestet. auf der sich Ext3 zu einem hoch geschätzten Dateisystem der nächsten Generation entwickeln konnte. 13. dass Ext3 Journaling unterstützt. Im Unterschied zur Umstellung auf andere Journaling File Systeme. ist es manchmal schneller als andere Dateisysteme. beginnt e2fsck. Es basiert auf Ext2. Ein Ext3-Dateisystem kann einfach auf einem Ext2-Dateisystem aufgebaut werden. Seine Zuverlässigkeit und Stabilität wurden geschickt mit den Vorzügen eines Journaling File Systems kombiniert. Einfaches Upgrade Der Code für Ext2 bildet die verlässliche Grundlage. dass es als „unerschütterlich“ gilt.

Zuverlässigkeit und Leistung Einige andere Journaling File Systeme nutzen die Journaling-Methode „nur Metadaten“. bei der Daten in das Hauptdateisystem geschrieben werden können. ist eine Umstellung auf Ext3 eine Sache von Minuten. ohne die Leistung zu beeinträchtigen. Diese Datenblöcke werden vor dem Metadaten-Update auf Platte geschrieben. Diese Option wird häufig als die beste hinsichtlich der Leistung betrachtet. Führen Sie einfach ein sauberes Aushängen des Ext3-Dateisystems durch und hängen Sie es neu als ein Ext2-Dateisystem ein. nachdem die Metadaten im Journal festgeschrieben wurden.kopien des kompletten Dateisystems und ein kompletter Neuaufbau des Dateisystems). sich sowohl um die Metadaten als auch die Daten selbst zu kümmern. In Anbetracht der bestehenden Ext2-Systeme. warum Ext3 für viele Systemadministratoren eine gewisse Bedeutung hat. jedoch das Journaling nur für Metadaten verwendet. da die Neuerstellung eines ganzen Dateisystems von Grund auf eventuell nicht reibungslos funktioniert. ist individuell einstellbar. die einem Metadaten-Update entsprechen. Sie kann jedoch ermöglichen. Das bedeutet. Ihre Metadaten bleiben stets in einem konsistenten Zustand. Ext3 ist in der Lage. da sowohl Metadaten als auch Daten selbst im Journal erfasst werden. während die interne Integrität des Dateisystems bewahrt wird. Ein relativ neuer Ansatz besteht in der Verwendung des Modus data=ordered.als auch die Metadatenintegrität gewährleistet. dass alte Daten nach einem Absturz und der Wiederherstellung erneut in Dateien auftauchen. So wird Konsistenz für Metadaten und Daten erzielt. Zudem ist es sehr sicher. der sowohl die Daten. Sofern nicht anders angegeben. Maximale Sicherheit (Datenintegrität) wird durch den Start von Ext3 im Modus data=journal erreicht. Wie eingehend sich Ext3 um Daten und Metadaten „kümmert“. Eine dritte Möglichkeit ist die Verwendung von data=writeback. jedoch kann dasselbe nicht automatisch für die eigentlichen Dateisystemdaten garantiert werden. dies kann jedoch das System verlangsamen. lässt sich leicht ausrechnen. wird Ext3 mit der Standardeinstellung data=ordered gestartet Dateisysteme in Linux 285 . Der Dateisystemtreiber sammelt alle Datenblöcke. Ein Downgrade von Ext3 auf Ext2 ist genauso leicht wie das Upgrade. die auf ein Upgrade auf ein Journaling File System warten.

Diese Änderung wird nach dem nächsten Neustart wirksam. Engmaschiges Sicherheitskonzept Bei Reiser4 legten die Entwickler besonderen Wert auf die Implementierung von Sicherheitsfunktionen. nehmen Sie die Module ext3 und jbd in initrd auf.6). Weitere Informationen über das Programm tune2fs finden Sie auf der Manualpage „tune2fs“. Führen Sie nach dem Speichern der Änderungen den Befehl mkinitrd aus. 2 Um sicherzustellen. Falls Sie selbst die Größe des Journals und dessen Speicherort festlegen möchten. Das wichtigste führt das Konzept von Datei-„Items“ ein. Wenn eine umfangreiche Datei relevante Informationen für mehrere Benutzer.2.13.6 bekam die Familie der Journaling File Systeme Zuwachs durch ein weiteres Mitglied: Reiser4. indem Sie ext3 und jbd der Variablen INITRD_MODULES hinzufügen. Bearbeiten Sie hierfür /etc/sysconfig/kernel als „root“. Derzeit wird die Dateizugriffskontrolle pro Datei definiert. 286 Referenz . 3 Um ein Root-Dateisystem zu booten.4 Konvertieren eines Ext2-Dateisystems in Ext3 Gehen Sie wie folgt vor. 13. das als Ext3-Partition eingerichtet wurde. dass das Ext3-Dateisystem als solches erkannt wird. führen Sie stattdessen tune2fs -J zusammen mit den entsprechenden Journaloptionen size= und device= aus. um ein Ext2-Dateisystem in Ext3 zu konvertieren: 1 Legen Sie ein Ext3-Journal an. Reiser4 unterscheidet sich grundlegend von seinem Vorgänger ReiserFS (Version 3. Damit wird eine neue initrd aufgebaut und zur Verwendung vorbereitet. bearbeiten Sie die Datei /etc/fstab als „root“.5 Reiser4 Direkt nach der Veröffentlichung von Kernel 2.2. Es optimiert die Dateisystemfunktionalität durch Plugins und bietet ein engmaschigeres Sicherheitskonzept. Reiser4 wird daher mit einem Satz an speziellen SicherheitsPlugins geliefert. Dabei wird ein Ext3-Journal mit den Standardparametern erstellt. indem Sie tune2fs -j als „root“ ausführen. Gruppen oder Anwendungen enthält. indem Sie den Dateisystemtyp für die entsprechende Partition von ext2 in ext3 ändern.

Dateisysteme in Linux 287 . Der Einsatz dieser Technik sogar für Metadaten kann zu einem besseren Gesamtlayout führen. Ein perfektes Beispiel ist /etc/passwd. ihre eigenen Daten zu ändern. Mithilfe des Item-Konzepts von Reiser4 können Sie diese Datei in mehrere Elemente zerlegen (ein Item pro Benutzer) und Benutzern oder Anwendungen erlauben. XFS eignet sich sehr gut für den Umgang mit großen Dateien und zeigt gute Leistungen auf High-End-Hardware. das den extremen Herausforderungen der heutigen Zeit gewachsen ist. was eine viel präzisere Verwaltung der Dateisicherheit erlaubt.6. 287). Bisher konnte nur root die Datei lesen und bearbeiten. 13. während Nicht-root-Benutzer nur Lesezugriff auf diese Datei erhielten.mussten die Zugriffsrechte ziemlich unpräzise sein. um alle betroffenen Parteien zu berücksichtigen. jedoch weniger auf Datenintegrität. Mit XFS sollte ein leistungsstarkes 64-Bit-Journaling File System geschaffen werden. Zugriffsrechte lassen sich dann für jedes Element und jeden Benutzer separat festlegen. Diese Plugins lassen sich bequem dem Basissystem hinzufügen. Jedoch hat auch XFS einen Schwachpunkt. um Ihrem Dateisystem neue Funktionen hinzuzufügen. die ein Dateisystem gewöhnlich nutzt. Besseres Dateisystemlayout durch „Delayed Allocation“ Wie XFS unterstützt Reiser4 „Delayed Allocation“ (verzögerte Speicherzuweisung).2. Dieses Konzept erhöht sowohl die Sicherheit als auch die Flexibilität. „XFS“ (S. Siehe Abschnitt 13. warum es sich möglicherweise als starke Konkurrenz zu anderen Journaling File Systemen in der High-End-Datenverarbeitung erweisen könnte. aber nicht auf die Daten anderer Benutzer zuzugreifen.2.6 XFS Ursprünglich als Dateisystem für ihr IRIX-Betriebssystem gedacht. begann SGI die Entwicklung von XFS bereits in den frühen 1990er-Jahren. Sie brauchen den Kernel nicht mehr neu zu kompilieren oder die Festplatte neu zu formatieren. In Reiser4 können Sie diese Dateien in kleinere Teile (die „Items“) zerlegen. Ein kurzer Blick auf die Hauptmerkmale von XFS erklärt. werden in Reiser4 als Plugins implementiert. Wie ReiserFS legt XFS großen Wert auf Metadatenintegrität. Erweiterbarkeit durch Plugins Viele Dateisystemfunktionen und externe Funktionen.

h. da sie zum Zeitpunkt der Entscheidung über ihren Speicherort durch XFS bereits überholt sind. temporäre Daten werden somit niemals auf Platte gespeichert. ist es wahrscheinlich. Diese Entscheidung wird auf den letztmöglichen Moment hinausgezögert. Zuordnungsgruppen können praktisch als Dateisysteme im Dateisystem betrachtet werden. Da Zuordnungsgruppen relativ autonom sind. da die Dateiinhalte nicht über das gesamte Dateisystem verteilt werden. 288 Referenz . Vorabzuweisung zur Vermeidung von Dateisystemfragmentierung Vor dem Schreiben der Daten in das Dateisystem reserviert XFS den benötigten Speicherplatz für eine Datei (bzw. Der Einsatz von B+-Bäumen trägt wesentlich zur Leistung und Skalierbarkeit von XFS bei. Hohe Leistung durch effiziente Verwaltung des Festplattenspeichers Freier Speicher und Inodes werden von B+-Bäumen innerhalb der Zuordnungsgruppen verwaltet. Diese werden als Zuweisungsgruppen (Allocation Groups) bezeichnet. Eine ausstehende Transaktion wird im RAM gespeichert und der entsprechende Speicherplatz reserviert. XFS verwendet Delayed Allocation (verzögerte Speicherzuweisung). dass der Datenverlust nach einem Absturz während eines Schreibvorgangs größer ist. Jede Zuweisungsgruppe verwaltet Inodes und freien Speicher selbst. Es führt die Speicherzuweisung in zwei Schritten durch. Das Konzept der autonomen Zuordnungsgruppen kommt natürlicherweise den Anforderungen von Multiprozessorsystemen entgegen. kann der Kernel gleichzeitig mehrere von ihnen adressieren. Damit wird die Dateisystemfragmentierung erheblich reduziert. Die Leistung wird erhöht. in welchen Dateisystemblöcken) die Daten gespeichert werden. XFS entscheidet noch nicht. So erhöht XFS die Leistung und verringert die Fragmentierung des Dateisystems. Einige kurzlebige. wo genau (d. weist ihn vorab zu). Diese Funktion ist der Schlüssel zur hohen Skalierbarkeit von XFS. Da jedoch eine verzögerte Zuweisung weniger Schreibvorgänge als in anderen Dateisystemen zur Folge hat.Hohe Skalierbarkeit durch den Einsatz von Zuweisungsgruppen Bei der Erstellung eines XFS-Dateisystems wird das dem Dateisystem zugrunde liegende Blockgerät in acht oder mehr lineare Bereiche gleicher Größe unterteilt.

Dateisystem zum Einhängen von Novell-Volumes über Netzwerke. wird heute noch von verschiedenen Betriebssystemen verwendet.1 cramfs Dateisystemarten unter Linux Compressed ROM file system: Ein komprimiertes Dateisystem mit Lesezugriff für ROMs. hpfs iso9660 minix msdos ncpfs nfs smbfs sysv Dateisysteme in Linux 289 . Dieses Dateisystem wurde ursprünglich für Forschungsprojekte zu Betriebssystemen entwickelt und war das erste unter Linux verwendete Dateisystem. Xenix und Coherent (kommerzielle UNIX-Systeme für PCs). „Dateisystemarten unter Linux“ (S. fat. Network File System: Hier können Daten auf einem beliebigen vernetzten Rechner gespeichert werden und der Zugriff kann über ein Netzwerk erfolgen. Standarddateisystem auf CD-ROMs. Verwendet unter SCO UNIX. das von DOS stammende Dateisystem.1.13. Heute wird es noch für Disketten eingesetzt. Tabelle 13. High Performance File System: Das OS/2-Standarddateisystem – nur im Nur-Lese-Modus unterstützt. um die Kompatibilität und den Datenaustausch zwischen unterschiedlichen Medien oder fremden Betriebssystemen sicherzustellen.3 Weitere unterstützte Dateisysteme In Tabelle 13. Server Message Block wird von Produkten wie Windows für den Dateizugriff über ein Netzwerk verwendet. 289) sind weitere von Linux unterstützte Dateisysteme aufgelistet. Sie werden hauptsächlich unterstützt.

2 Dateisystem Maximale Größe von Dateisystemen (Festplattenformat) Dateigröße (Byte) Dateisystemgröße (Byte) 241 (2 TB) 243 (8 TB) 243-4096 (16 TB-4096 Byte) Ext2 oder Ext3 (Blockgröße 1 KB) 234 (16 GB) Ext2 oder Ext3 (Blockgröße 2 KB) 238 (256 GB) Ext2 oder Ext3 (Blockgröße 4 KB) 241 (2 TB) 290 Referenz . die größer als 2 GB sind. Links. SunOS und NeXTstep.2. Nur im Nur-LeseModus unterstützt. 290) bietet einen Überblick über die derzeitigen Beschränkungen für Linux-Dateien und -Dateisysteme. Tabelle 13. Virtual FAT: Erweiterung des fat-Dateisystems (unterstützt lange Dateinamen). lange Dateinamen) durch die Erstellung spezieller Dateien. Dazu wurden neue Schnittstellen eingeführt.ufs Verwendet von BSD. Windows NT File System. dass sie auch Dateien unterstützen. Mit dem zunehmenden Einsatz von Linux für Multimedia und zur Verwaltung riesiger Datenbanken reichte dies nicht mehr aus. die von Anwendungen genutzt werden können. umsdos vfat ntfs 13. Heutzutage bieten fast alle wichtigen Dateisysteme eine Unterstützung von LFS zur High-End-Datenverarbeitung. Nur-Lese-Modus. UNIX on MSDOS: Aufgesetzt auf einem normalen fat-Dateisystem.4 Large File Support unter Linux Ursprünglich unterstützte Linux eine maximale Dateigröße von 2 GB. Aufgrund des immer häufigeren Einsatzes als ServerBetriebssystem wurden der Kernel und die C Library so angepasst. Tabelle 13. Erhält UNIX-Funktionalität (Rechte. „Maximale Größe von Dateisystemen (Festplattenformat)“ (S.

6 hat seine eigenen Einschränkungen für die maximale Größe von Dateien und Dateisystemen. Der Kernel von Version 2.zipworld. Dateisystemgröße 73 Dateisysteme können bis zu 2 Byte groß sein.sourceforge.5 Weitere Informationen Jedes der oben beschriebenen Dateisystemprojekte unterhält seine eigene Homepage. wo Sie Informationen aus Mailinglisten und weitere Dokumentation sowie FAQ erhalten. Dieses Limit schöpft jedoch noch keine verfügbare Hardware aus.au/~akpm/linux/ext3/ Dateisysteme in Linux 291 . 13.net/ • http://www. 290) beschreibt die Einschränkungen in Abhängigkeit vom Festplattenformat. wie Alpha) ReiserFS v3 XFS NFSv2 (Client-seitig) NFSv3 (Client-seitig) 246 (64 TB) 263 (8 EB) 231 (2 GB) 263 (8 EB) 245 (32 TB) 263 (8 EB) 263 (8 EB) 263 (8 EB) WICHTIG: Linux-Kernel-Beschränkungen Tabelle 13. Dabei handelt es sich um folgende: Dateigröße 41 Dateien können auf 32-Bit-Systemen nicht größer sein als 2 TB (2 Byte).2.com. • http://e2fsprogs. „Maximale Größe von Dateisystemen (Festplattenformat)“ (S.Dateisystem Dateigröße (Byte) Dateisystemgröße (Byte) 245 (32 TB) Ext2 oder Ext3 (Blockgröße 8 KB) 246 (64 TB) (Systeme mit 8-KB-Seiten.

ibm.software.• http://www.linuxgazette.com/issue55/florido.html.html.namesys.sgi. Einen Vergleich der verschiedenen Journaling File Systeme unter Linux befindet sich im Beitrag von Juan I.com/developerworks/ library/l-fs.com/ • http://oss.de/~aj/linux_lfs. Santos Florido unter Linuxgazette: http://www.suse.html.com/projects/xfs/ Ein umfassendes mehrteiliges Tutorial zu Linux-Dateisystemen findet sich unter IBM developerWorks: http://www-106.com/developerworks/opensource/ jfs/ • http://oss.ibm. 292 Referenz . Eine ausführliche Arbeit zu LFS unter Linux erhalten Sie auf Andreas Jaegers LFS-Site: http:// www.

Das SaX2-Hauptfenster bietet eine gemeinsame Schnittstelle für die einzelnen Module aus dem YaST-Kontrollzentrum. über eine beliebige Art von Netzwerk (LAN oder Internet) verbundenen Host anzuzeigen. Desktops wie KDE und GNOME sowie die zahlreichen Fenstermanager verwenden den X-Server für die Interaktion mit dem Benutzer. d. h. Um die Einstellungen zu einem späteren Zeitpunkt zu ändern.Das X Window-System 14 Das X Window-System (X11) ist der Industriestandard für grafische Benutzeroberflächen unter UNIX. ist für die Kommunikation zwischen Hardware und Software verantwortlich. Dieses Material ist mit den zugehörigen Manualpages nur verfügbar. Das X Window-System 293 . xorg-x11-man und howtoenh). Der folgende Text enthält mehrere Verweise auf Dokumentation.1 X11-Konfiguration mit SaX2 Die grafische Benutzeroberfläche. verwenden Sie das entsprechende Modul aus dem YaST-Kontrollzentrum oder starten Sie SaX2 manuell über die Befehlszeile mit dem Befehl sax2. X ist netzwerkbasiert und ermöglicht es. Die grafische Benutzeroberfläche wird anfänglich während der Installation konfiguriert. wie OpenGL und 3D konfiguriert werden. der X-Server. 14. auf einem Host gestartete Anwendungen auf einem anderen. die sich unter /usr/ share/doc/packages/Xorg und /usr/share/doc/howto/en befindet. In diesem Kapitel werden die Einrichtung und die Optimierung der X Window-Systemumgebung beschrieben. Sie erhalten dabei Hintergrundinformationen über die Verwendung von Schriften unter SUSE Linux und erfahren. wenn die entsprechenden Dokumentationspakete installiert sind (xorg-x11-doc.

↑Start). ↑Start). Monitor Eine Beschreibung der Konfiguration des Monitors und der Grafikkarte finden Sie in Abschnitt „Karten. 294 Referenz . ↑Start). Systemkonfiguration mit YaST.1 Das Hauptfenster von SaX2 In der linken Navigationsleiste befinden sich sechs Elemente. Maus Eine Beschreibung der Mauskonfiguration in der grafischen Umgebung finden Sie in Abschnitt „Mauseigenschaften“ (Kapitel 2. Systemkonfiguration mit YaST.und Monitoreigenschaften“ (Kapitel 2. Tastatur Eine Beschreibung der Tastaturkonfiguration in der grafischen Umgebung finden Sie in Abschnitt „Tastatureigenschaften“ (Kapitel 2. Die im Folgenden erwähnten Abschnitte werden in Kapitel Systemkonfiguration mit YaST (↑Start) beschrieben. Systemkonfiguration mit YaST. die den entsprechenden Konfigurationsdialogfeldern aus dem YaST-Kontrollzentrum entsprechen.Abbildung 14.

Org ist eine Open-Source-Implementierung des X Window-Systems.Org Foundation weiterentwickelt. Ein falsch konfiguriertes System kann Ihre Hardware irreparabel beschädigen (dies gilt insbesondere für Monitore mit fester Frequenz). wenn Sie die Konfiguration des X Window-Systems ändern. Es kann jedoch nicht garantiert werden. Systemkonfiguration mit YaST.Grafiktablett Eine Beschreibung der Konfiguration des Grafiktabletts finden Sie in Abschnitt „Tablet-Eigenschaften“ (Kapitel 2. Starten Sie auf keinen Fall das X Window-System. Das X Window-System 295 . Die Autoren dieses Buchs und die Entwickler von SUSE Linux übernehmen keine Haftung für mögliche Schäden. WARNUNG Seien Sie sehr vorsichtig. Systemkonfiguration mit YaST. 14. Einige Aspekte dieser Optimierung werden im Folgenden erläutert.conf. VNC Eine Beschreibung der VNC-Konfiguration finden Sie in Abschnitt „Eigenschaften für entfernten Zugriff“ (Kapitel 2. Systemkonfiguration mit YaST. um eine bestmögliche Nutzung der verfügbaren Hardware wie Maus. Monitor und Tastatur zu gewährleisten. ↑Start). Die folgenden Informationen basieren auf sorgfältiger Recherche. Die Konfiguration kann manuell angepasst werden. bevor die Konfiguration abgeschlossen ist. Es wird von der X. ↑Start). ↑Start). Touchscreen Eine Beschreibung der Konfiguration des Touchscreens finden Sie in Abschnitt „Touchscreen-Eigenschaften“ (Kapitel 2. Detaillierte Informationen zur Konfiguration des X Window-Systems finden Sie in den verschiedenen Dateien im Verzeichnis /usr/share/doc/packages/Xorg und erhalten Sie durch Eingabe von man xorg. dass alle hier aufgeführten Methoden fehlerfrei sind und keinen Schaden an Ihrer Hardware verursachen können. Grafikkarte. die auch für die Entwicklung neuer Technologien und Standards für das X Window-System verantwortlich ist.2 Optimierung der X-Konfiguration X.

die den Spezifikationen des Moni- ServerFlags InputDevice Monitor 296 Referenz .1. 296).conf“ (S. Jeder Abschnitt beginnt mit dem Schlüsselwort Section <Bezeichnung> und endet mit EndSection. Die Abschnitte haben folgende Form: Section designation entry 1 entry 2 entry n EndSection Die verfügbaren Abschnittstypen finden Sie in Tabelle 14. Beschreibt den verwendeten Monitor. Joysticks usw. auf den später in der Definition von Screen verwiesen wird. In den folgenden Abschnitten wird die Struktur der Konfigurationsdatei /etc/X11/ xorg. Eingabegeräte wie Tastaturen und spezielle Eingabegeräte (Touchpads. Hier werden allgemeine Parameter festgelegt. „Abschnitte in /etc/X11/xorg.Die Programme SaX2 und xorgconfig erstellen die Datei xorg. Die einzelnen Elemente dieses Abschnitts sind der Name. die jeweils für bestimmte Aspekte der Konfiguration verantwortlich sind. Normalerweise akzeptiert der Server nur Modeline-Werte.conf beschrieben. kHz und Hz angegeben.) werden in diesem Abschnitt konfiguriert. Tabelle 14. Sie ist in mehrere Abschnitte gegliedert. Dabei handelt es sich um die primäre Konfigurationsdatei für das X Window-System. Die Einstellungen sind in MHz. die Grafikkarte. Wichtige Parameter in diesem Abschnitt sind Driver und die Optionen für Protocol und Device. Hier finden Sie alle Einstellungen.conf Bedeutung In diesem Abschnitt werden die Pfade definiert. Maus und Monitor betreffen. die für Schriften und die RGB-Farbtabelle verwendet werden.1 Typ Files Abschnitte in /etc/X11/xorg. die Bandbreite (bandwidth) und die Grenzwerte für die Synchronisierungsfrequenz (HorizSync und VertRefresh).conf standardmäßig unter /etc/X11.

Org bereitzustellen. In diesem Fall gibt der darauf folgende Abschnitt ServerLayout an. Hier wird eine Verbindung zwischen einem Monitor und einer Grafikkarte (Device) hergestellt. Gerät Screen ServerLayout In diesem Abschnitt wird das Layout einer Single. um alle erforderlichen Einstellungen für X. Details zur Bedeutung der einzelnen Zahlenwerte finden Sie in den HOWTO-Dateien unter /usr/share/doc/howto/en/ XFree86-Video-Timings-HOWTO. Im Unterabschnitt Display können Sie die Größe des virtuellen Bildschirms (Virtual). Diese Paramter können von SaX2 auf Grundlage der vom Benutzer vorgegebenen Werte berechnet werden und müssen in der Regel nicht geändert werden. Sie wird mit ihrem beschreibenden Namen angeführt. dass der Monitor versehentlich mit zu hohen Frequenzen angesteuert wird. Monitor. In diesem Abschnitt wird eine bestimmte Grafikkarte definiert. Dies verhindert.oder Multihead-Konfiguration beschrieben.conf kann mehrere unterschiedliche Abschnitte vom Typ Monitor und Device enthalten. Modes Hier werden Modeline-Parameter für die einzelnen Bildschirmauflösungen gespeichert. Die Datei xorg. wenn Sie einen Monitor mit fester Frequenz anschließen möchten. In diesem Abschnitt werden Kombinationen aus Eingabegeräten (InputDevice) und Anzeigegeräten (Screen) festgelegt. welcher dieser Abschnitte genutzt wird. Das X Window-System 297 . den ViewPort und die Modes für diesen Bildschirm festlegen. Device und Screen werden im Folgenden noch genauer erläutert. Weitere Informationen zu den anderen Abschnitten finden Sie auf den Manualpages von X .conf. Manchmal gibt es sogar mehrere Abschnitte vom Typ Screen. Nehmen Sie hier beispielsweise dann Änderungen vor.Typ Bedeutung tors entsprechen.Org und xorg.

Beispiel 14.1. Die Zeilen Device und Monitor geben die Grafikkarte und den Monitor an.14. der als eindeutige Referenz im darauf folgenden Abschnitt ServerLayout verwendet werden kann. Für jede Farbtiefe gibt es einen Unterabschnitt Display. Das Schlüsselwort Depth weist die für diesen Unterabschnitt gültige Farbtiefe zu. Diese Abschnitte werden weiter unten detailliert beschrieben. Mögliche Werte für Depth sind 8. Der Abschnitt „Screen“ kann beispielsweise wie in Beispiel 14. 15. „Abschnitt „Screen“ der Datei /etc/X11/xorg.2. Hierbei handelt es sich nur um Verbindungen zu den Abschnitten Device und Monitor mit ihren entsprechenden Namen bzw. 16 und 24. 298) aussehen.1 Abschnitt „Screen“ Der Abschnitt „Screen“ kombiniert einen Monitor mit einem Device-Abschnitt und legt fest. wenn er nicht mit einer bestimmten Farbtiefe gestartet wird. welche Auflösung und Farbtiefe verwendet werden sollen. Wählen Sie mit der Einstellung DefaultDepth die Farbtiefe aus. Nicht alle X-Server-Module unterstützen diese Werte.conf Section „Screen“ DefaultDepth 16 SubSection "Display" Depth 16 Modes "1152x864" "1024x768" "800x600" Virtual 1152x864 EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" EndSubSection SubSection "Display" Depth 32 Modes "640x480" EndSubSection SubSection "Display" Depth 8 Modes "1280x1024" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSection In der Zeile Identifier (hier Screen[0]) wird für diesen Abschnitt ein Name vergeben.1 Abschnitt „Screen“ der Datei /etc/X11/xorg.conf“ (S. 298 Referenz . Kennungen (identifiers). die zu dieser Definition gehören. die der Server verwenden soll.

weil dieser Speicher auf der Karte auch für diverse Schrift. können Sie sehr große virtuelle Desktops erstellen. solange ein eindeutiger Name mithilfe des Schlüsselworts Identifier festgelegt ist.Unterhalb der Farbtiefe wird eine Liste der Auflösungen im Abschnitt Modes festgelegt. Als generelle Regel gilt. eingetragen. Mit Strg + Alt + + (auf dem Ziffernblock) können Sie zur nächsten Auflösung rechts in der Liste wechseln. Mit Strg + Alt + – (auf dem Ziffernblock) können Sie nach links wechseln. solange deren Namen sich unterscheiden. So lässt sich die Auflösung ändern. den gesamten Arbeitsspeicher für den virtuellen Bildschirm zu verwenden.2 Abschnitt „Device“ Im Abschnitt „Device“ wird eine bestimmte Grafikkarte beschrieben. 3D-Funktionen zu nutzen. Die Modeline ist von den Fähigkeiten des Monitors und der Grafikkarte abhängig. nicht jedoch von der maximalen Auflösung des Monitors.2. Insbesondere bei beschleunigten Grafikkarten ist es nicht empfehlenswert. 14. die zweite als Device[1] usw.und Grafik-Caches genutzt wird. während X ausgeführt wird.conf vorhanden sein. kann der virtuelle Bildschirm bei einer Farbtiefe von 8 Bit bis zu 4096 x 4096 Pixel groß sein. Es kann eine beliebige Anzahl von Grafikkarteneinträgen in xorg. h. Gegebenenfalls ist es aber nicht mehr möglich. wenn ein virtueller Desktop den größten Teil des Grafikspeichers belegt. Wenn die Grafikkarte beispielsweise über 16 MB RAM verfügt. Die maximal mögliche Größe eines virtuellen Bildschirms ist von der Menge des Arbeitsspeichers auf der Grafikkarte und der gewünschten Farbtiefe abhängig. Da moderne Grafikkarten über viel Grafikspeicher verfügen. Die erste wird als Device[0]. Zu jeder Auflösung sucht der X-Server eine passende Modeline im Abschnitt Modes. Die Einstellungen unter Monitor bestimmen die Modeline. Die erste passende Auflösung ist der Standardmodus (Default mode). d. Diese Liste wird vom X-Server von links nach rechts gelesen. Die letzte Zeile des Unterabschnitts Display mit Depth 16 bezieht sich auf die Größe des virtuellen Bildschirms. Folgendes ist ein Auszug aus dem Abschnitt Device eines Computers mit einer Matrox Millennium-PCI-Grafikkarte: Section „Device“ BoardName "MGA2064W" BusID "0:19:0" Driver "mga" Identifier "Device[0]" VendorName "Matrox" Das X Window-System 299 . dass bei der Installation mehrerer Grafikkarten die Abschnitte einfach der Reihe nach nummeriert werden.

die im Abschnitt „Device“ festgelegt wird. Die Modelines stellen einen bedeutenden Teil der Monitor-Abschnitte dar. Der X-Server benötigt Details im Dezimalformat. lspci zeigt diese jedoch im Hexadezimalformat an. beschreiben die Abschnitte Monitor und Modes jeweils einen Monitor. Anschließend durchsucht der X-Server den ModulePath.Org). 14. Allgemein gültige Optionen finden Sie außerdem auf den entsprechenden Manualpages (man xorg.Option EndSection "sw_cursor" Wenn Sie SaX2 für die Konfiguration einsetzen. heißt das Treibermodul mga. der im Abschnitt Files des Unterverzeichnisses drivers angegeben ist. Wenn es sich um eine Matrox Millennium-Grafikkarte handelt. _drv. der für diese Grafikkarte verwendet werden soll. sollte der Abschnitt „Device“ in etwa wie in diesem Beispiel aussehen. die bei Eingabe des Befehls „lspci“ angezeigt wird. Das Verhalten des X-Servers bzw.3 Abschnitte „Monitor“ und „Modes“ So wie die Abschnitte vom Typ Device jeweils für eine Grafikkarte verwendet werden.oder AGP-Steckplatz. Ein Beispiel hierfür ist die Option sw_cursor. Modelines legen die horizontalen und vertikalen Frequenzen für die jeweilige Auflösung fest.o geladen wird. Der Wert unter BusID steht für den PCI. des Treibers kann außerdem durch weitere Optionen beeinflusst werden. Die Einträge unter Driver und BusID sind von der Hardware Ihres Computer abhängig und werden automatisch von SaX2 erkannt.o wird an den Namen angehängt. in dem die Grafikkarte installiert ist. Die 300 Referenz . Diese finden Sie in den Beschreibungsdateien der Treibermodule im Verzeichnis /usr/X11R6/lib/X11/doc. Der Abschnitt „ServerLayout“ gibt an. Über den Parameter Driver geben Sie den Treiber an. Bei einer Standardinstallation handelt es sich hierbei um das Verzeichnis /usr/X11R6/lib/ modules/drivers.conf und man X. Dieser entspricht der ID. Diese deaktiviert den Hardware-Mauszeiger und stellt den Mauszeiger mithilfe von Software dar. Die Konfigurationsdatei /etc/X11/xorg. welcher Monitor-Abschnitt zu verwenden ist. Monitordefinitionen sollten nur von erfahrenen Benutzern festgelegt werden.conf kann beliebig viele Abschnitte vom Typ Monitor enthalten. sodass beispielsweise im Falle des mga-Treibers die Treiberdatei mga_drv. Abhängig vom Treibermodul können verschiedene Optionen verfügbar sein.2.

können Sie auf einen der VESA-Modi des XServers zurückgreifen. sollten Sie sich genauestens mit der Dokumentation unter /usr/X11/lib/X11/doc vertraut machen. Falls Sie Ihre eigenen Monitorbeschreibungen entwickeln möchten.3. weil dies Ihren Monitor schwer beschädigen kann. insbesondere die zulässigen Frequenzen. Ist dies aus irgendeinem Grund nicht möglich. kopiert werden. 303)). „X11 Core-Schriften“ (S. Das X Window-System 301 . Die Schriftdateien können manuell (vom root) in ein geeignetes Verzeichnis. beispielsweise /usr/X11R6/lib/X11/fonts/truetype. sollte das Installationsverzeichnis ein Unterverzeichnis der Verzeichnisse sein.3. die in /etc/fonts/fonts. WARNUNG Wenn Sie nicht über fundierte Kenntnisse zu Monitor. Modelines manuell festzulegen.conf konfiguriert sind (siehe Abschnitt 14. wie die Hardware funktioniert und wie Modelines zu erstellen sind. Alternativ kann diese Aktion auch mithilfe des KDE-Schrift-Installationsprogramms im KDEKontrollzentrum durchgeführt werden. Wenn Sie mit einem modernen Multisync-Monitor arbeiten. sollten Sie an den Modelines keine Änderungen vornehmen. 14. 302)). „Xft“ (S. Heutzutage ist es nur sehr selten erforderlich.2.3 Installation und Konfiguration von Schriften Die Installation zusätzlicher Schriften unter SUSE Linux ist sehr einfach. können die zulässigen Frequenzen und die optimalen Auflösungen in aller Regel vom X-Server direkt per DDC vom Monitor abgerufen werden. wie im SaX2-Konfigurationsabschnitt beschrieben. In ihm wird detailliert beschrieben. Das Ergebnis ist dasselbe. Kopieren Sie einfach die Schriften in ein beliebiges Verzeichnis im X11-Pfad für Schriften (siehe Abschnitt 14. werden im Abschnitt Monitor gespeichert.1.und Grafikkartenfunktionen verfügen.Monitoreigenschaften. Damit die Schriften verwendet werden können. In diesem Zusammenhang soll besonders auf den Abschnitt zu den Grafikmodi hingewiesen werden. Dies funktioniert in Verbindung mit praktisch allen Kombinationen aus Grafikkarte und Monitor.

Dies wird durch Verwendung der Variablen FontPath erreicht. 307). Zwar muss es noch aus Gründen der Abwärtskompatibilität beibehalten werden. In jedem dieser Verzeichnisse sind die dort verfügbaren Schriften in einer Datei mit dem Namen fonts.3. 14.1 X11 Core-Schriften Heute unterstützt das X11 Core-Schriftsystem nicht nur Bitmap-Schriften. „CID-keyed-Schriften“ (S. Beispielsweise kann dies sinnvoll sein.und OpenType-Schriften sowie Type1Schriften (PostScript) dieselbe. Alle diese Schriften können in einem beliebigen Verzeichnis installiert werden. Skalierbare Schriften werden nur ohne Antialiasing und SubpixelRendering unterstützt und das Laden von großen skalierbaren Schriften mit Zeichen für zahlreiche Sprachen kann sehr lange dauern. wenn Sie lizenzierte Schriften auf einer gemounteten Windows-Partition haben und diese nutzen möchten. Nur für CID-keyed-Schriften ist eine geringfügig unterschiedliche Vorgehensweise erforderlich. können Sie auch symbolische Links erstellen.dir aufge- 302 Referenz . Führen Sie anschließend SuSEconfig --module fonts aus. Unicode-Schriften werden ebenfalls unterstützt. Die Vorgehensweise ist für Bitmap-. wenn es möglich ist. SuSEconfig --module fonts startet das Skript /usr/sbin/fonts-config. In den folgenden Abschnitten wird kurz auf diese beiden Systeme eingegangen. Weitere Informationen zur Arbeitsweise dieses Skripts finden Sie auf der Manualpage des Skripts (man fonts-config).3.Anstatt die eigentlichen Schriften zu kopieren. aber ihre Verwendung kann mit erheblichem Zeitaufwand verbunden sein und erfordert mehr Speicher. X.Org enthält zwei völlig unterschiedliche Schriftsysteme: das alte X11 Core-Schriftsystem und das neu entwickelte System Xft/fontconfig.3. TrueType. sondern auch skalierbare Schriften wie Type1-. das sich um die Konfiguration der Schriften kümmert. Der X-Server muss die verfügbaren Schriften und deren Speicherorte im System kennen. Weitere Informationen hierzu finden Sie in Abschnitt 14. in der die Pfade zu allen gültigen Schriftverzeichnissen des Systems vermerkt sind. doch das modernere System „Xft/fontconfig“ sollte immer verwendet werden. Das X11 Core-Schriftsystem weist mehrere grundsätzliche Schwächen auf.und OpenType-Schriften sowie CIDkeyed-Schriften. TrueType. Es ist überholt und kann nicht mehr sinnvoll erweitert werden.

die Antialiasing nutzen.conf verweisen. nach einer gültigen fonts. Unerwünschte Pfade lassen sich mit xset -fp <Pfad> löschen. und nicht vom X-Server gerendert. die unter SUSE Linux zur Verfügung stehen. Praktisch alle Unicode-Schriften. dass auch skalierbare Schriften. Wenn der X-Server bereits aktiv ist. Daher sollten nach Möglichkeit Unicode-Schriften verwendet werden (Schriftnamen. Dieser Befehl wird von SuSEconfig --module fonts ausgeführt. Direkter Zugriff auf die Schriftdateien ist sehr nützlich. su überträgt die Zugriffsberechtigungen des Benutzers.führt.3. Da zur Ausführung des Befehls xset Zugriff auf den laufenden X-Server erforderlich ist. Der FontPath wird vom X-Server beim Systemstart erzeugt. Alle verfügbaren UnicodeSchriften lassen sich über den Befehl xlsfonts | grep iso10646-1 auflisten. problemlos unterstützt werden. Diese Einträge befinden sich im Abschnitt Files. ist dies nur möglich. Zusätzliche Pfade werden mithilfe von xset +fp <Pfad> hinzugefügt. an die root-Shell. Der FontPath lässt sich mit dem Befehl xset q anzeigen. Auf diese Weise hat die jeweilige Anwendung Zugriff auf die eigentlichen Schriftdateien und kann genau steuern. Der Server sucht an jedem Speicherort. Dies bildet eine optimale Basis für die ordnungsgemäße Textdarstellung für zahlreiche Sprachen.dir-Datei. wie die Zeichen gerendert werden. die Zugriff auf den laufenden X-Server hat. Wenn Sie überprüfen möchten. die in der von xlsfonts ausgegebenen Liste auf iso10646-1 enden). wenn SuSEconfig --module fonts von einer Shell aus gestartet wird. Am einfachsten lässt sich dies mit root-Berechtigungen erreichen. geben Sie den Befehl xlsfonts ein. Bei Verwendung von Xft werden die Schriften von der Anwendung. Standardmäßig arbeitet SUSE Linux mit UTF-8-Gebietsschemata. Dieser Pfad kann auch zur Laufzeit mit dem Befehl „xset“ geändert werden. ob die Schriften ordnungsgemäß installiert wurden und über das X11 Core-Schriftsystem verfügbar sind. Geben Sie hierzu su und das root-Passwort ein. die die Schriften nutzt.2 Xft Die Programmierer von Xft haben von Anfang an sichergestellt. 14. auf den die FontPath-Einträge der Konfigurationsdatei /etc/ X11/xorg. um alle verfügbaren Schriften aufzulisten. können Sie neu installierte Schriften in gemounteten Verzeichnissen mit dem Befehl xset fp rehash verfügbar machen. der den X-Server gestartet hat. wie es beim X11 Core-Schriftsystem der Fall ist. umfassen zumindest die für europäische Sprachen erforderlichen Schriftzeichen (früher als iso-8859-* kodiert). wenn Schriften für die Druckausgabe eingebettet Das X Window-System 303 .

conf eingetragen. die die Darstellung der Schriften beeinflussen. dass weitere Verzeichnisse nach Schriften durchsucht werden sollen. Geben Sie beispielsweise Folgendes ein: <match target="font"> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> Hierdurch wird das Antialiasing für alle Schriften aufgehoben.conf und die benutzerspezifische Konfigurationsdatei ~/.fonts. um sie zu installieren. Die Eigenschaften von „fontconfig“ werden durch die globale Konfigurationsdatei /etc/fonts/fonts. Xft greift für die Suche nach Schriften und für deren Darstellung auf die fontconfigBibliothek zurück.conf bestimmt. Wenn Sie hingegen <match target="font"> <test name="family"> <string>Luxi Mono</string> <string>Luxi Sans</string> </test> 304 Referenz . fügen Sie Zeilen in der folgenden Weise hinzu: <dir>/usr/local/share/fonts/</dir> Dies ist jedoch in der Regel nicht erforderlich.fonts bereits in die Datei /etc/fonts/fonts. Entsprechend müssen Sie die zusätzlichen Schriften einfach nur nach ~/. Außerdem können Sie Regeln angeben.werden sollen. Jede dieser fontconfig-Konfigurationsdateien muss folgendermaßen beginnen: <?xml version="1. Standardmäßig ist das benutzerspezifische Verzeichnis ~/. Xft wird inwischen von mehr Anwendungen genutzt als das alte X11 Core-Schriftsystem.dtd"> <fontconfig> Enden müssen die Dateien wie folgt: </fontconfig> Wenn Sie möchten.fonts kopieren. So lässt sich sicherstellen.0"?> <!DOCTYPE fontconfig SYSTEM "fonts. dass der Ausdruck genau der Bildschirmdarstellung entspricht. Unter SUSE Linux nutzen die beiden Desktopumgebungen KDE und GNOME sowie Mozilla und zahlreiche andere Anwendungen bereits standardmäßig Xft.

Mit dem Befehl fc-list finden Sie heraus. Schnitt (style) und Stärke (weight) sowie die Namen der entsprechenden Schriftdateien anzeigen möchten. welche der skalierbaren Schriften (:scalable=true) alle erforderlichen Zeichen für Hebräisch (:lang=he) enthalten und Sie deren Namen (family). serif oder monospace. betrifft diese Änderung praktisch das gesamte System.<edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> eingeben. ohne die Schrifteinstellungen in den einzelnen Anwendungen ändern zu müssen. Benutzer können problemlos Regeln zur Datei ~/. die je nach Spracheinstellung in eine passende Schrift umgesetzt werden. sondern nur um Aliasnamen. Daher können Sie nahezu überall sehr einfach Ihre Lieblingsschriften verwenden. Der Befehl fc-list gibt eine Liste aller Schriften zurück. Standardmäßig verwenden die meisten Anwendungen die Schriftbezeichnungen sans-serif (bzw. sans). Wenn Sie wissen möchten.fonts. welche Schriften installiert sind und verwendet werden können. wird das Antialiasing nur für bestimmte Schriften aufgehoben. geben Sie folgenden Befehl ein: fc-list ":lang=he:scalable=true" family style weight Das X Window-System 305 . Hierbei handelt es sich nicht um eigentliche Schriften. damit diese Aliasnamen in ihre bevorzugten Schriften umgesetzt werden: <alias> <family>sans-serif</family> <prefer> <family>FreeSans</family> </prefer> </alias> <alias> <family>serif</family> <prefer> <family>FreeSerif</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>FreeMono</family> </prefer> </alias> Da fast alle Anwendungen standardmäßig mit diesen Aliasnamen arbeiten.conf hinzufügen.

in der Regel 0 für gerade Schrift und 100 für Kursivschrift.ttf: FreeMono:style=Bold:weight=200 In der folgenden Tabelle finden Sie wichtige Parameter.ttf: FreeSans:style=Bold:weight=200 FreeMonoBoldOblique. urw. Der Hersteller der Schrift. zh-TW für traditionelles Chinesisch oder zh-CN für vereinfachtes Chinesisch.2 Parameter family foundry style Parameter zur Verwendung mit fc-list Bedeutung und zulässige Werte Der Name der Schriftamilie.ttf: FreeMono:style=BoldOblique:weight=200 FreeSerif.ttf: FreeMono:style=Oblique:weight=80 FreeMono. z. Der Schriftschnitt. z. z. Die Sprache. lang weight slant file 306 Referenz . die mit dem Befehl fc-list abgefragt werden können: Tabelle 14. z.ttf: FreeSerif:style=Italic:weight=80 FreeMonoOblique. FreeSans.ttf: FreeSans:style=BoldOblique:weight=200 FreeMonoBold.ttf: FreeSerif:style=Bold:weight=200 FreeSansBoldOblique. Bold. Italic oder Heavy. B.ttf: FreeSans:style=Medium:weight=80 FreeSerifBold. B. B.ttf: FreeSerif:style=Medium:weight=80 FreeSerifBoldItalic. B. Der Name der Schriftdatei. z.Auf diesen Befehl kann beispielsweise Folgendes zurückgegeben werden: FreeSansBold. B. de für Deutsch.ttf: FreeSans:style=Oblique:weight=80 FreeSerifItalic. die von dieser Schrift unterstützt wird.ttf: FreeMono:style=Medium:weight=80 FreeSans. 80 für normale Schrift oder 200 für Fettschrift. Die Schriftstärke. ja für Japanisch.ttf: FreeSerif:style=BoldItalic:weight=200 FreeSansOblique. Die Schriftneigung. Regular. Medium.

4.xfree86. true für skalierbare Schriften oder false für sonstige Schriften. 14.html. Tabelle 14. In Verbindung mit dem Befehl "fclist" ist diese Option nur bei Bitmap-Schriften sinnvoll.org/current/fonts. ist jedoch für Ghostscript und das X11 Core-Schriftsystem erforderlich. Das X Window-System 307 . CID-keyed-Schriften müssen in /usr/ share/ghostscript/Resource/CIDFont installiert werden. TIPP Weitere Informationen zu Schriften unter X11 finden Sie unter http://www . „Unterstützte 3D-Hardware“ (S. 308) bietet eine Übersicht.4 OpenGL – 3D-Konfiguration 14.3 CID-keyed-Schriften Im Gegensatz zu den anderen Schrifttypen können Sie CID-keyed-Schriften nicht einfach in einem beliebigen Verzeichnis installieren. bitmap pixelsize 14.3.1 Hardware-Unterstützung SUSE Linux beinhaltet mehrere OpenGL-Treiber zur Unterstützung von 3D-Hardware. Dies gilt nicht für Xft/fontconfig.Parameter outline scalable Bedeutung und zulässige Werte true für Konturschriften oder false für sonstige Schriften. true für Bitmap-Schriften oder false für sonstige Schriften.3. Schriftgröße in Pixel.

308 Referenz . sofern YaST 3D-Unterstützung erkennt. Aus Lizenzgründen ist der nVidia-Treiber in diesem Paket nicht inbegriffen. Weitere Einzelheiten erhalten Sie im folgenden Abschnitt.915GM/945G Matrox G200/G400/G450/G550. Sie hängt vom verwendeten OpenGLTreiber ab. nehmen Sie den Benutzer mithilfe von YaST in die Gruppe auf. Geben Sie den Befehl 3Ddiag ein. dass alle lokalen Benutzer Mitglieder dieser Gruppe sind. um zu prüfen.3 Unterstützte 3D-Hardware Unterstützte Hardware nVidia-Chips: alle außer einigen veralteten Chipsätzen (GeForce2 und älter) Intel i810/i815/i830M. Für nVidia-Grafikchips muss zuvor der nVidia-Treiber installiert werden. ATI Rage 128(Pro)/Radeon (bis 9250) OpenGL-Treiber nVidia DRI Wenn Sie das erste Mal mit YaST installieren. ist die Prozedur für das Konfigurieren der 3D-Hardware-Unterstützung eine andere. Wenn Sie stattdessen Ihr System aktualisieren. auf die 3D-Hardware zugreifen. Stellen Sie daher sicher. 14. Aus Sicherheitsgründen dürfen nur Benutzer. Verwenden Sie den Befehl id. Andernfalls wird die langsame Software-Rendering-Ausweichlösung des OpenGL-Treibers für OpenGL-Anwendungen benutzt. Für nVidia-Adapter muss zuvor der nVidia-Treiber installiert werden. ob der aktuelle Benutzer der Gruppe video angehört. Wählen Sie dafür den nVidia-TreiberPatch in YOU (YaST Online Update) aus. Intel 845G/852GM/855GM/865G/915G. ob die Konfiguration für nVidia oder DRI korrekt ist. die der Gruppe video angehören. kann bei der Installation 3D-Beschleunigung aktiviert werden. um zu prüfen.4.Tabelle 14.2 OpenGL-Treiber Die OpenGL-Treiber nVidia und DRI lassen sich einfach mit SaX2 konfigurieren. Wenn dies nicht der Fall ist.

14.4.3 Das Diagnosewerkzeug 3Ddiag
Das Diagnosewerkzeug 3Ddiag ermöglicht die Überprüfung der 3D-Konfiguration in SUSE Linux. Dabei handelt es sich um ein Befehlszeilenwerkzeug, das in einem Terminalfenster gestartet werden muss. Geben Sie 3Ddiag -h ein, um mögliche Optionen für 3Ddiag aufzulisten. Um die X.Org-Konfiguration zu verifizieren, prüft das Werkzeug, ob die für 3DUnterstützung erforderlichen Pakete installiert sind und die korrekte OpenGL-Bibliothek und GLX-Erweiterung verwendet werden. Befolgen Sie die Anweisungen von 3Ddiag, wenn Sie Fehlermeldungen erhalten. Wenn alles korrekt ist, sehen Sie am Bildschirm nur Meldungen mit "done" (fertig).

14.4.4 OpenGL-Test-Dienstprogramme
Für das Testen von OpenGL können das Programm glxgears und Spiele wie tuxracer und armagetron (Pakete haben denselben Namen) nützlich sein. Wenn 3D-Unterstützung aktiviert wurde, sollte es möglich sein, diese drei reibungslos auf einem relativ neuen Computer auszuführen. Ohne 3D-Unterstützung würden diese Spiele sehr langsam ablaufen (Diashow-Effekt). Verwenden Sie den Befehl glxinfo, um zu prüfen, ob 3D aktiv ist. Wenn ja, enthält die Ausgabe eine Zeile mit direct rendering: Yes (Direktes Rendering: Ja).

14.4.5 Fehlerbehebung
Wenn die OpenGL-3D-Testergebnisse negativ sind (die Spiele laufen nicht reibunglos), verwenden Sie 3Ddiag, um sicherzustellen, dass die Konfiguration keine Fehler enthält (Fehlermeldungen). Wenn die Korrektur nicht hilft oder keine Fehlermeldungen aufgetaucht sind, sehen Sie die X.Org-Protokolldateien an. Häufig finden Sie in der X.Org-Datei /var/log/Xorg.0.log die Zeile DRI is disabled (DRI ist deaktiviert). Die genaue Ursache lässt sich nur durch genaue Prüfung der Protokolldatei erkennen – eine Aufgabe, die einige Erfahrung voraussetzt. In solchen Fällen liegt kein Konfigurationsfehler vor, da diesen bereits 3Ddiag erkannt hätte. Daher besteht an dieser Stelle nur die Möglichkeit, die Software-RenderingAusweichlösung des DRI-Treibers zu verwenden, die keine 3D-Hardwareunterstützung

Das X Window-System

309

bietet. Sie sollten auch bei Auftreten von OpenGL-Darstellungsfehlern oder Instabilität ohne 3D-Unterstützung arbeiten. Verwenden Sie SaX2, um 3D-Unterstützung vollständig zu deaktivieren.

14.4.6 Installationssupport
Abgesehen von der Software-Rendering-Ausweichlösung des DRI-Treibers befinden sich einige OpenGL-Treiber in Linux noch in der Entwicklungsphase und werden daher als experimentell betrachtet. Diese Treiber sind wegen der hohen Anforderung für 3D-Hardwarebeschleunigung in Linux im Paket enthalten. In Anbetracht des experimentellen Status von einigen OpenGL-Treibern kann SUSE keinen Installationssupport für die Konfiguration von 3D-Hardwarebeschleunigung geben oder bei zugehörigen Problemen weiteren Beistand leisten. Die Basiskonfiguration der grafischen Benutzeroberfläche (X Window System) umfasst keine Konfiguration für 3D-Hardwarebeschleunigung. Wenn Sie Probleme mit der 3D-Hardwarebeschleunigung feststellen, wird empfohlen, die 3D-Unterstützung vollständig zu deaktivieren.

14.4.7 Weitere Informationen
Informationen erhalten Sie in den README-Dateien unter /usr/X11R6/lib/X11/ doc. Weitere Informationen zur nVidia-Treiberinstallation finden Sie unter http:// www.suse.de/~sndirsch/nvidia-installer-HOWTO.html.

310

Referenz

FreeNX: Fernsteuerung eines anderen Computers

15

FreeNX ist eine GPL-Implementierung von NX-Server für entfernten Zugriff auf und Anzeige von einem anderen Computer. Es bietet beinahe die Reaktionsgeschwindigkeit einer lokalen Anwendung über Verbindungen mit hoher Latenz und geringer Bandbreite.

15.1 Erste Schritte in NX
Die folgenden Schritte umreißen das grundlegende Verfahren beim Einrichten von NX für bis zu 10 Clients, die mit dem NX-Server verbunden sein können: 1 Installieren Sie die folgenden Pakete auf dem Server- und Client-Rechner mithilfe des YaST-Moduls „Software installieren oder löschen“: Server-Rechner • NX • FreeNX Client-Rechner • NX • knx (für KDE-Sitzungen) • NoMachine nxclient (für Nicht-KDESitzungen)

FreeNX: Fernsteuerung eines anderen Computers

311

2 Richten Sie den NX-Server ein, indem Sie den folgenden Befehl als „root“ eingeben:
nxsetup --install --clean --purge --setup-nomachine-key

Der Server wird entsprechend den Standardeinstellungen in /etc/nxserver/ node.conf ausgeführt. Jeder Benutzer kann eine Verbindung von einer anderen Arbeitsstation aus aufbauen. Informationen zur erweiterten X-Server-Konfiguration finden Sie unter Abschnitt 15.2, „Erweiterte FreeNX-Konfiguration“ (S. 314). Wenn Sie eine sicherere Einrichtung mit privaten Schlüsseln für jeden Client wünschen, beachten Sie die Anleitungen unter Abschnitt 15.2.1, „Konfigurieren von SSH-Authentifizierung mit Client-Schlüsseln“ (S. 314). 3 Konfigurieren Sie die Firewall auf dem Rechner, der den NX-Server bereitstellt, um NX-Verbindungen zu erlauben. a Melden Sie sich am Server-Rechner als „root“ an und starten Sie das YaSTFirewall-Modul. b Wählen Sie Erlaubte Dienste, um das Dialogfeld für die Servicekonfiguration zu öffnen, und wählen Sie Externe Zone. c Wählen Sie Erweitert, um die Portdaten für NX einzugeben. d Öffnen Sie die Ports 22 (SSH), 5000 bis 5009 sowie 7000 bis 7009, um NXDatenverkehr zu gestatten. Geben Sie hierzu Folgendes in TCP-Ports ein:
22 5000:5009 7000:7009

e Speichern Sie Ihre Einstellungen und starten Sie die Firewall neu, indem Sie OK → Weiter → Übernehmen wählen.

TIPP Weitere Informationen über Firewall-Konfiguration für NX finden Sie in /usr/ share/doc/packages/FreeNX/NX-Firewall.txt. Für eine Verbindung zu einer anderen Arbeitsstation und die Verwendung von KDE als Ihren Desktop gehen Sie wie folgt vor:

312

Referenz

1 Starten Sie KNX über das Hauptmenü. 2 Bei Ihrer ersten Anmeldung müssen Sie eine neue Verbindung einrichten. Führen Sie folgende Schritte aus, um eine Verbindung einzurichten: a Klicken Sie in KNX Client Login (KNX-Client-Anmeldung) auf Connection Settings (Verbindungseinstellungen). b Geben Sie einen Namen für die Verbindung ein, zum Beispiel den Namen des Servers. c Geben Sie Hostinformationen, die Portnummer und die Bandbreite für Ihre Verbindung ein. d Wählen Sie aus Sessiontype (Sitzungstyp) die Option UNIX/KDE, um eine KDE-Sitzung zu starten. e Wählen Sie eine Bildschirmauflösung. f Klicken Sie auf OK. 3 Sobald die Verbindung besteht und die Fernverbindung an Ihrem Bildschirm angezeigt wird, können Sie auf Anwendungen zugreifen und den entfernten Computer so nutzen, als würden Sie direkt an ihm sitzen. Für eine Verbindung zu einem anderen Rechner mit GNOME als Ihrem Desktop gehen Sie wie folgt vor: 1 Laden Sie das nxclient-Paket von NoMachine über http://www.nomachine .com/download_client_linux.php herunter und installieren Sie es. 2 Starten Sie den NX Connection Wizard (NX-Verbindungsassistent) über das Hauptmenü. 3 Gehen Sie in den folgenden drei Schritten vor: Geben Sie den Namen von Verbindung, Port- und Hostdaten sowie Verbindungstyp ein. Wählen Sie den Sitzungstyp Unix/Gnome. Entscheiden Sie, ob eine Verknüpfung auf Ihrem Desktop erscheinen soll, und klicken Sie auf Finish (Beenden).

FreeNX: Fernsteuerung eines anderen Computers

313

4 Klicken Sie für eine Verbindung zum entfernten Desktop auf die NX-Verknüpfung auf Ihrem Desktop, geben Sie den Benutzernamen sowie das Passwort an und klicken Sie auf OK. Der entfernte Desktop wird an Ihrem Bildschirm angezeigt.

15.2 Erweiterte FreeNX-Konfiguration
Die folgenden Abschnitte stellen einige erweiterte Funktionen vor, die hauptsächlich in komplexeren NX-Szenarien benötigt werden.

15.2.1 Konfigurieren von SSH-Authentifizierung mit Client-Schlüsseln
Die in Abschnitt 15.1, „Erste Schritte in NX“ (S. 311) konfigurierte Authentifizierung verlässt sich einzig auf die Angabe von Benutzername und Passwort. Für eine sicherere Authentifizierung lässt sich NX so konfigurieren, dass es ein Paar von SSH-Schlüsseln generiert. Der Client-Schlüssel wird dann vom Server-Rechner an einen beliebigen Client kopiert, dem eine Verbindung zum NX-Server erlaubt sein soll. Clients, die diesen Schlüssel nicht angeben, können beim NX-Server nicht authentifiziert werden. Diese Funktion wird nur für die Kombination FreeNX-Server/knx-Client unterstützt. Gehen Sie wie folgt vor, um den NX-Server für die Verwendung dieser Authentifizierungsmethode zu konfigurieren und das geeignete Schlüsselpaar zu generieren: 1 Melden Sie sich als „root“ am Server-Rechner an. 2 Öffnen Sie die Server-Konfigurationsdatei /etc/nxserver/node.conf und stellen Sie sicher, dass ENABLE_SSH_AUTHENTICATION auf 1 eingestellt ist. (Das sollte der Standard sein.) 3 Installieren Sie den Server mit folgendem Befehl:
nxsetup --install --clean --purge

314

Referenz

4 Ändern Sie die Zugriffsberechtigungen auf /var/lib/nxserver/home/ .ssh/authorized_keys2:
chmod 640 /var/lib/nxserver/home/.ssh/authorized_keys2

5 Melden Sie sich ab. Gehen Sie wie folgt vor, um knx zur Verwendung dieses Schlüssels zu konfigurieren: 1 Melden Sie sich am Server-Rechner als „root“ an. 2 Kopieren Sie die Schlüsseldatei an den Ort auf dem Client-Rechner, an dem knx sie braucht, und ersetzen Sie client durch die Adresse des Clients.
scp /var/lib/nxserver/home/.ssh/client.id_dsa.key client:/usr/share/knx/

3 Melden Sie sich als „root“ am Client-Rechner an. 4 Passen Sie die Zugriffsberechtigungen wie folgt an:
chmod 644 /usr/share/knx/client.id_dsa.key

5 Melden Sie sich ab.

15.2.2 Konfigurieren der PAM-Authentifizierung
Standardmäßig gestattet FreeNX jedem Benutzer, eine NX-Sitzung zu öffnen, vorausgesetzt der Benutzer ist in der Benutzerdatenbank Ihres Servers aufgeführt (lokal oder über LDAP, NIS usw.). Dieses Verhalten wird durch die Variable ENABLE_PAM_AUTHENTICATION in /usr/bin/nxserver auf dem Server umgeschaltet. Der Standardwert lautet hier 1. Wenn Sie ihn auf 0 setzen, wird die von PAM vermittelte Benutzerauthentifizierung (PAM_AUTH) für FreeNX deaktiviert. Wenn ENABLE_PAM_AUTHENTICATION auf 0 gesetzt ist, müssen Sie Benutzer und Passwörter manuell hinzufügen. Zum Hinzufügen von lokalen NX-Benutzern auf dem Server gehen Sie wie folgt vor: 1 Melden Sie sich am Server-Rechner als „root“ an.

FreeNX: Fernsteuerung eines anderen Computers

315

2 Stellen Sie sicher, dass jeder Benutzer, den Sie hinzufügen möchten, in der Systemdatenbank der lokalen Benutzer aufgeführt ist. Prüfen Sie dazu den Inhalt von /etc/passwd oder verwenden Sie das YaST-Modul „Benutzerverwaltung“. 3 Fügen Sie für jeden gewünschten Benutzer den Benutzernamen mit dem Befehl nxserver --adduser hinzu. Fügen Sie dann das Passwort des Benutzers mit nxserver --passwd hinzu. 4 Starten Sie den Server mit nxserver --restart neu und melden Sie sich ab.

15.2.3 Verwenden von systemweiten und benutzerspezifischen Konfigurationsdateien
Das Verhalten des FreeNX-Servers wird über /etc/node.conf gesteuert. Sie können eine globale NX-Server-Konfiguration ausführen oder den Server mit benutzerspezifischen Konfigurationen betreiben. Das kommt ins Spiel, wenn verschiedene Benutzer NX auf einem Rechner mit anderen Anforderungen ausführen. Im folgenden Beispiel wird angenommen, dass der Benutzer joe einen automatischen Start von NX mit einer bestimmten Anwendung möchte, sobald er eine NX-Sitzung öffnet. Gehen Sie wie folgt vor, um dieses Verhalten nur für diesen Benutzer festzulegen: 1 Melden Sie sich als „root“ an. 2 Wechseln Sie in das Verzeichnis /etc/nxserver:
cd /etc/nxserver

3 Speichern Sie eine Kopie der Konfigurationsdatei des NX-Servers (node.conf) unter joe.node.conf im selben Verzeichnis. 4 Bearbeiten Sie die entsprechenden Parameter (NODE_AUTOSTART und ENABLE_AUTORECONNECT) in joe.node.conf. Weitere Informationen zu diesen Funktionen finden Sie in Abschnitt 15.2.5, „Konfigurieren von automatisch gestarteten Tasks und Exportieren von Konfigurationen“ (S. 318) und Abschnitt 15.2.4, „Aussetzen und Wiederaufnehmen von NX-Sitzungen“ (S. 317).

316

Referenz

5 Installieren Sie den NX-Server neu, um die neue Konfiguration zu aktivieren:
nxsetup --install --clean --purge --setup-nomachine-key

Die benutzerspezifische Konfiguration überschreibt die globale Konfiguration. 6 Melden Sie sich ab.

15.2.4 Aussetzen und Wiederaufnehmen von NX-Sitzungen
Wie bei Sitzungen auf einem mobilen Computer kann NX auch so konfiguriert werden, dass das Aussetzen und Wiederaufnehmen von Benutzersitzungen möglich ist. Eine ausgesetzte Sitzung wird wieder genau in dem Zustand geöffnet, in dem sie verlassen wurde. Gehen Sie wie folgt vor, um das Aussetzen und Wiederaufnehmen von NX-Sitzungen zu konfigurieren: 1 Melden Sie sich als „root“ an. 2 Öffnen Sie die Konfigurationsdatei des Servers, /etc/nxserver/node .conf, und bearbeiten Sie sie wie folgt:
ENABLE_PASSDB_AUTHENTICATION="0" ENABLE_USER_DB="0" ENABLE_AUTORECONNECT="1"

3 Speichern und schließen Sie die Konfigurationsdatei und starten Sie den Server mit nxserver --restart neu. 4 Melden Sie sich ab. Um eine Sitzung beim Beenden auszusetzen, klicken Sie auf das X in der oberen rechten Ecke Ihres NX-Fensters und wählen Sie Suspend (Aussetzen), um Ihre Sitzung auszusetzen und den Client zu beenden. Bei der erneuten Verbindung werden Sie gefragt, ob Sie die vorherige Sitzung wiederaufnehmen oder eine neue beginnen möchten.

FreeNX: Fernsteuerung eines anderen Computers

317

15.2.5 Konfigurieren von automatisch gestarteten Tasks und Exportieren von Konfigurationen
FreeNX bietet eine Autostart-Funktion, mit deren Hilfe Sie bestimmte Tasks bei Start oder Wiederaufnahme einer NX-Sitzung starten können, vorausgesetzt die zugrunde liegende Anwendung unterstützt die Eigenschaften für start (Start) und resume (Wiederaufnahme). Beispielsweise können Sie beim Start von FreeNX automatisch den Desktop aufräumen oder andere automatisch gestartete Aufgaben ausführen. Dies ist besonders nützlich, wenn Sie wieder eine Verbindung zu einer Sitzung aufbauen, selbst von einem anderen NX-Client (auf dem Sie nicht die KDE- oder GNOMEStandardmechanismen nutzen können). Gehen Sie zur Konfiguration der Autostart-Funktionen wie folgt vor: 1 Melden Sie sich als „root“ am Server-Rechner an. 2 Öffnen Sie die Konfigurationsdatei des Servers, /etc/nxserver/node .conf, und ändern Sie den Wert der Variablen NODE_AUTOSTART, indem Sie myprogram durch den Namen des Programms ersetzen, das bei Start oder Wiederaufnahme einer NX-Sitzung ausgeführt werden soll:
NODE_AUTOSTART=myprogram

3 Speichern und schließen Sie die Konfigurationsdatei. 4 Starten Sie den Server mit dem Befehl nxserver --restart neu und melden Sie sich ab. Das angegebene Programm startet nun bei jedem Start und jeder Wiederaufnahme einer Sitzung. Sie können die Variablen NX_USERIP und NX_SESSIONID auch exportieren, damit sie in der Umgebung des Benutzers im Zugriff sind. Damit ist es beispielsweise möglich, ein Symbol mit dem generischen Inhalt auf den Desktop zu platzieren und auf einen Samba-Server zuzugreifen, der auf dem Thin-Client des Benutzers läuft. Gehen Sie wie folgt vor, um dem Benutzer den Inhalt einer Diskette im Diskettenlaufwerk des Thin-Clients zur Verfügung zu stellen:

318

Referenz

1 Aktivieren Sie den Export der Variablen NX_USERIP und NX_SESSIONID auf der Serverseite: a Melden Sie sich als „root“ am Server an. b Öffnen Sie die Konfigurationsdatei des Servers, /etc/nxserver/node .conf, und setzen Sie die folgenden Variablen:
EXPORT_USERIP="1" EXPORT_SESSIONID="1"

c Speichern und schließen Sie die Server-Konfigurationsdatei und starten Sie den Server mit dem Befehl nxserver --restart neu. d Melden Sie sich ab. 2 Öffnen Sie auf der Client-Seite eine Sitzung, exportieren Sie das Diskettenlaufwerk über SMB und legen Sie ein Symbol auf dem Desktop an: a Exportieren Sie den Inhalt Ihres Diskettenlaufwerks mithilfe Ihres Dateimanagers (Nautilus oder Konqueror) über Samba. b Erstellen Sie die Datei floppy.desktop im Verzeichnis Desktop und geben Sie die folgende Zeile ein:
Exec=smb://$NX_USERIP/floppy

Der Server exportiert die IP-Adresse des Thin-Clients und ermöglicht Ihnen, in der NX-Sitzung über das Diskettensymbol auf das Diskettenlaufwerk des Thin-Clients zuzugreifen.

15.2.6 Erstellen einer NX-Serverkette
Mithilfe einer Kette von NX-Servern können Sie Firewalls überqueren und IP-Masquerading durchführen. Ein externer „Gateway“-Server kann verwendet werden, um eingehende Verbindungen an einen internen Server weiterzuleiten, der hinter einer (maskierten) Firewall verborgen ist. Gehen Sie wie folgt vor, um eine NX-Serverkette zu konfigurieren:

FreeNX: Fernsteuerung eines anderen Computers

319

1 Konfigurieren Sie den internen Server wie in Abschnitt 15.2.1, „Konfigurieren von SSH-Authentifizierung mit Client-Schlüsseln“ (S. 314) beschrieben und verteilen Sie den privaten Schlüssel des Servers (client.id_dsa.key) an /usr/NX/share/ auf dem Gateway. 2 Gehen Sie am Gateway-Server wie folgt vor: a Melden Sie sich als „root“ an. b Setzen Sie die folgenden Variablen in /etc/nxserver/node.conf und ersetzen Sie myinternalhost durch die IP-Adresse des internen NX-Servers:
ENABLE_SERVER_FORWARD="1" SERVER_FORWARD_HOST="myinternalhost" SERVER_FORWARD_KEY="/usr/NX/share/client.id_dsa.key"

c Starten Sie den externen Server mit dem Befehl nxserver --restart neu, um die geänderte Konfiguration zuzuweisen, und melden Sie sich ab. Jede eingehende Verbindung wird an den internen Server weitergeleitet.

15.2.7 Installieren und Ausführen von FreeNX und NoMachine auf demselben Server
Sie können FreeNX und den kommerziellen NoMachine NX-Server ohne Konflikte auf demselben Rechner ausführen. Die Implementierung erfolgt in FreeNX durch Weiterleiten der Verbindung an NoMachine, das auf demselben Rechner installiert ist. Gehen Sie zur Aktivierung dieser Funktion wie folgt vor: 1 Melden Sie sich als „root“ am Server-Rechner an. 2 Öffnen Sie die Konfigurationsdatei des Servers für FreeNX unter /etc/ nxserver/node.conf und setzen Sie die folgende Variable:
ENABLE_NOMACHINE_FORWARD="1"

320

Referenz

3 Speichern Sie diese Datei und starten Sie den FreeNX-Server mit dem Befehl nserver --restart neu. 4 Melden Sie sich ab. Verwenden Sie für die Verbindung zum NoMachine-Server die Standarddaten für Benutzername und Passwort. Stellen Sie für eine Verbindung zum FreeNX-Server dem normalen Benutzernamen die Angabe freenx. voran (zum Beispiel: freenx.joedoe) und verwenden Sie das normale Passwort.

15.3 Fehlerbehebung
Die folgenden Abschnitte führen die häufigsten Probleme auf, die beim Einsatz von FreeNX auftreten können, und bieten entsprechende Lösungsmöglichkeiten.

15.3.1 knx bleibt beim Versuch eines Verbindungsaufbaus hängen
Sie versuchen, mit knx eine Verbindung zu Ihrem NX-Server aufzubauen. Beim Initiieren der Verbindung kann knx den Benutzer nicht authentifizieren und es wird nie eine entfernte Sitzung gestartet. Gehen Sie wie folgt vor, um die Ursache dafür festzustellen und eine Lösung des Problems zu finden: 1 Prüfen Sie, ob Novell AppArmor auf dem Server-Rechner läuft, und verfahren Sie wie in Abschnitt 15.3.2, „Verbindung zum NX-Server kann nicht aufgebaut werden“ (S. 322) beschrieben. 2 Versuchen Sie erneut, eine Verbindung zwischen knx und dem Server aufzubauen. 3 Prüfen Sie, ob die Firewall auf der Client-Seite SSH-Datenverkehr gestattet, indem Sie das YaST Firewall-Modul starten und prüfen, ob SSH unter Erlaubte Dienste für die Externe Zone aufgelistet ist. Aktivieren Sie SSH, wenn es noch nicht aktiviert ist.

FreeNX: Fernsteuerung eines anderen Computers

321

Sie sollten nun in der Lage sein. 5 Versuchen Sie erneut. ob Sperrdateien von NX-Server vorhanden sind: cd / ls -ltr . um die Ursache dieses Problems zu ermitteln: 1 Melden Sie sich am Server als „root“ an. (Verbindung zu NX-Server war nicht möglich. c Melden Sie sich ab.3. entfernen Sie sie. Zeitüberschreitung der Verbindung. 15. 311) aufgeführt sind.2 Verbindung zum NX-Server kann nicht aufgebaut werden Nach dem Start von knx und Initiieren der Verbindung erhalten Sie folgende Fehlermeldung: Connection to NX server could not be established. 6 Melden Sie sich als „root“ am Server an und gehen Sie wie folgt vor: a Wechseln Sie in das Verzeichnis /tmp und prüfen Sie.4 Prüfen Sie die Firewall auf der Server-Seite nach SSH und die NX-Ports. 322 Referenz . eine Verbindung zum Server aufzubauen. Öffnen Sie diese Ports.1. wenn sie zuvor geschlossen wurden. eine Verbindung zwischen knx und dem Server aufzubauen. eine Verbindung zwischen knx und dem Server aufzubauen.nX* b Wenn welche von diesen alten Sperrdateien vorhanden sind. „Erste Schritte in NX“ (S. vorausgesetzt Sie haben alle obigen Anweisungen befolgt. die in Abschnitt 15.) Gehen Sie wie folgt vor. Connection timed out. 7 Versuchen Sie erneut. 8 Löschen und installieren Sie den knx-Client auf dem Client-Rechner neu mithilfe des YaST-Moduls „Software installieren oder löschen“.

dass Novell AppArmor. erhalten Sie eine Fehlermeldung wie die folgende: Could not yet establish the connection to the remote proxy. das mit einer neuen Sitzung geöffnet wird. weil die höheren Ports. Oder: Bringen Sie das sshd-Profil in den Lernmodus und fügen Sie Berechtigungen für den Zugriff auf NX-Dateien in das bestehende Profil ein. Eine ausführlichere Beschreibung erhalten Sie im Novell AppArmor 2.3 Benutzerauthentifizierung erfolgreich. die beim Verhandeln der NX-Fernsitzung verwendet wurden. Um die Firewall-Einstellungen am Server anzupassen.2 Prüfen Sie die Ausgabe des Befehls dmesg auf einen Eintrag wie den folgenden: SubDomain: REJECTING r access to /var/lib/nxserver/home/. Aktuelle Sitzung beenden?) Die Verbindung ist fehlgeschlagen.1. nicht an der Firewall des Servers geöffnet sind. 3 Stoppen Sie AppArmor auf dem Server-Rechner.ssh/authorized_keys2 (sshd(31247) profile /usr/sbin/sshd active /usr/sbin/sshd) Dieser Eintrag teilt Ihnen mit. „Erste Schritte in NX“ (S. FreeNX: Fernsteuerung eines anderen Computers 323 . gehen Sie vor wie in Abschnitt 15.0 Administrationshandbuch. kann knx den Benutzer authentifizieren. das auf dem Server läuft. 15. 4 Bauen Sie wieder eine Verbindung zum Server auf. Fernverbindung nicht aufgebaut Nachdem Sie knx ausgeführt und die Sitzung initiiert haben. aber anstelle eines Terminalfensters. 311) beschrieben.3. dem ssh-Daemon den Zugriff auf einige NX-spezifische Dateien nicht gestattet. Do you want to terminate the current session? (Verbindung zu Remote-Proxy noch nicht möglich.

Weitere Informationen über NX-Server erhalten Sie über den Befehl nxserver --help.SUSE.15. 324 Referenz .4 Weitere Informationen Neueste Informationen über das aktuelle FreeNX-Paket finden Sie in der READMEDatei unter /usr/share/doc/packages/FreeNX/README.

das mit dem PAM-Mechanismus arbeitet. verfügt über eine eigene Konfigurationsdatei im Verzeichnis /etc/pam. Eine Möglichkeit. Darüber hinaus sind im Verzeichnis /etc/security globale Konfigurationsdateien für die meisten PAM-Module gespeichert. diese Nachteile zu vermeiden. ruft eine Reihe von PAM-Funktionen auf. pam_unix2 . In diesem Kapitel wird beschrieben.conf. sodass sie von jeder beliebigen Anwendung angefordert werden können. mit denen dann die Informationen in den verschiedenen Authentifizierung mit PAM 325 .conf. pam_pwcheck.conf).conf und time. Dieser Prozess ist jedoch sehr zeitaufwändig und fehleranfällig. Mit diesen Dateien werden die für die Authentifizierung verwendeten PAM-Module definiert. in denen die genaue Verhaltensweise der Module definiert ist (Beispiele: pam_env. wie der modulare Authentifizierungsmechanismus funktioniert und wie er konfiguriert wird. angepasst werden. ein geeigneterf PAM-Modus für die Verwendung durch das betreffende Programm anzupassen oder zu schreiben. wie LDAP oder SAMBA. Ohne PAM müssen die Anwendungen bei jedem neu eingeführten Authentifizierungsmechanismus. die ein PAM-Modul verwendet. Jede Anwendung. PAM-Module sind systemweit verfügbar.Authentifizierung mit PAM 16 Während des Authentifizierungsprozesses verwendet Linux PAM (Pluggable Authentication Modules. einfügbare Authentifizierungsmodule) als Schicht für die Vermittlung zwischen Benutzer und Anwendung. Wenn ein neues Authentifizierungsschema erforderlich ist. genügt es.d/programmname. Häufig möchten Systemadministratoren und Programmierer den Zugriff auf bestimmte Teile des Systems einschränken oder die Nutzung bestimmter Funktionen einer Anwendung begrenzen. ist eine Trennung zwischen den Anwendungen und dem Authentifizierungsmechanismus und das Delegieren der Authentifizierung an zentral verwaltete Module. Jedes Programm.

1 Struktur einer PAM-Konfigurationsdatei Jede Zeile in einer PAM-Konfigurationsdatei enthält maximal vier Spalten: <Modultyp> <Steuerflag> <Modulpfad> <Optionen> PAM-Module werden als Stapel verarbeitet. 326 Referenz . session Mit diesem Modultyp werden Benutzersitzungen verwaltet und konfiguriert. 16. Die unterschiedlichen Modultypen dienen verschiedenen Zwecken. Solch eine Prüfung sollte beispielsweise durchgeführt werden. Sie werden vor und nach der Authentifizierung gestartet. account Mit Modulen dieses Typs wird überprüft. ob der Benutzer allgemein zur Verwendung des angeforderten Diensts berechtigt ist. Mit einem dritten Modul können beispielsweise benutzerspezifische Einstellungen abgelesen werden. PAM sind ungefähr vier verschiedene Modultypen bekannt: auth Dieser Modultyp dient der Überprüfung der Authentizität des Benutzers. Systemgrenzen usw. es kann jedoch auch mithilfe einer Chipkarte oder biometrischer Daten (Fingerabdruck oder Scannen der Iris) erreicht werden. um Anmeldeversuche in Systemprotokollen aufzuzeichnen und die spezielle Umgebung des Benutzers (wie Mailkonten. dass keine Anmeldung mit einem Benutzernamen eines nicht mehr gültigen Kontos erfolgen kann. von dem aus auf das System zugegriffen wird. So wird beispielsweise mit einem Modul das Passwort und mit einem anderen Modul der Standort überprüft. In den meisten Fällen handelt es sich hierbei um ein Passwort.) zu konfigurieren.Konfigurationsdateien verarbeitet und das Ergebnis an die anfordernde Anwendung zurückgegeben wird. Dies erfolgt in der Regel über die Abfrage des Passworts. password Mit diesem Modultyp kann die Änderung eines Authentifizierungs-Token aktiviert werden. Home-Verzeichnis. um sicherzustellen.

Ein Fehler eines Moduls mit der Flag sufficient hat keine direkten Auswirkungen auf die Verarbeitung oder die Verarbeitungsreihenfolge nachfolgender Module. Die Flag requisite kann als Basisfilter verwendet werden. damit die Authentifizierung fortgesetzt werden kann. solange das Modul sich im Standardverzeichnis /lib/security befindet (für alle von SUSE Linux unterstützten Authentifizierung mit PAM 327 . um zu überprüfen. die für die richtige Authentifizierung erforderlich sind. dass er eine E-Mail erhalten hat) dienen. mit denen das Verhalten der gestarteten Module beeinflusst wird: required Ein Modul mit dieser Flag muss erfolgreich verarbeitet werden. bevor der Benutzer eine Meldung bezüglich des Fehlers beim Authentifizierungsversuch erhält. erhält der Benutzer sofort eine entsprechende Rückmeldung und es werden keine weiteren Module verarbeitet. Dies kann für Module sinnvoll sein. wird die als Argument angegebene Datei an dieser Stelle eingefügt.Die zweite Spalte enthält Steuerflags. Falls jedoch ein Modul mit dieser Flag ausfällt. ähnlich wie Module mit der Flag required. include Wenn diese Flag festgelegt ist. optional Ein Fehler oder die erfolgreiche Verarbeitung hat bei diesem Modul keine direkten Folgen. ohne weitere Aktionen auszuführen. Der Modulpfad muss nicht explizit angegeben werden. Bei einem erfolgreichen Vorgang werden die anderen Module nachfolgend verarbeitet genau wie alle Module mit der Flag required. vorausgesetzt. Wenn ein Modul mit der Flag required ausfällt. ob bestimmte Bedingungen erfüllt sind. requisite Module mit dieser Flag müssen ebenfalls erfolgreich verarbeitet werden. die nur der Anzeige einer Meldung (beispielsweise um dem Benutzer mitzuteilen. sufficient Wenn ein Modul mit dieser Flag erfolgreich verarbeitet wurde. werden alle anderen Module mit derselben Flag verarbeitet. es ist zuvor kein Fehler bei einem Modul mit der Flag required aufgetreten. erhält die anfordernde Anwendung sofort eine Nachricht bezüglich des erfolgreichen Vorgangs und keine weiteren Module werden verarbeitet.

so fake_ttyname Die typische PAM-Konfiguration einer Anwendung (in diesem Fall sshd) enthält vier include-Anweisungen.so account include common-account password include common-password session include common-session # Enable the following line to get resmgr support for # ssh sessions (see /usr/share/doc/packages/resmgr/README. erhalten Sie automatisch eine aktualisierte PAM-Konfiguration. common-password und common-session. In diesen vier Dateien ist die Standardkonfiguration für die einzelnen Modultypen gespeichert.2 PAM-Konfiguration von sshd Betrachten Sie zum Verständnis der Theorie. 329). Jetzt wird die PAM-Konfiguration mithilfe von zentralen Konfigurationsdateien ausgeführt und alle Änderungen werden automatisch über die PAM-Konfiguration der einzelnen Dienste weitergegeben. 328 Referenz . wenn Änderungen an PAM vorgenommen oder neue Anwendungen installiert wurden. „Standardkonfiguration für den Abschnitt auth“ (S. die PAM-Konfiguration von sshd als praktisches Beispiel: Beispiel 16. Die vierte Spalte kann eine Option für das angegebene Modul enthalten.SuSE) #session optional pam_resmgr.0 auth include common-auth auth required pam_nologin. Wenn Sie diese Dateien aufnehmen. wie beispielsweise debug (zum Aktivieren der Fehlersuche) oder nullok (um die Verwendung leerer Passwörter zu ermöglichen). auf der PAM basiert. 16. common-account. Vorher mussten alle Konfigurationsdateien für alle Anwendungen manuell angepasst werden. wenn der Administrator die Standardeinstellungen ändert. Mit der ersten include-Datei (common-auth) werden zwei Module vom Typ auth aufgerufen: pam_env und pam_unix2. anstatt jedes Modul für die einzelnen PAM-Awendungen separat aufzurufen.1 PAM-Konfiguration für sshd #%PAM-1.64-Bit-Plattformen lautet das Verzeichnis /lib64/security). die auf die Konfigurationsdateien von vier Modultypen verweisen: common-auth.2. Siehe Beispiel 16.

Die Datei common-account enthält lediglich ein Modul.so pam_unix2. da dem Modul pam_env der Standort bekannt ist. Beispiel 16.Beispiel 16. in diesem Fall die in Beispiel 16. Wenn die in common-auth angegebenen Dateien erfolgreich aufgerufen wurden. Falls bei einem der Module ein Fehler auftritt. „Standardkonfiguration für den Abschnitt account“ (S. Ist dies der Fall.so pam_unix2. „Standardkonfiguration für den Abschnitt password“ (S. pam_unix2. bevor sshd eine Meldung bezüglich des positiven Ergebnisses erhält. bevor sshd eine Rückmeldung darüber erhält. müssen sie alle erfolgreich verarbeitet werden. dass der Benutzer vorhanden ist. pam_unix2. an dem der Anmeldevorgang stattfindet. wird der vollständige Modulstapel verarbeitet und erst dann wird sshd bezüglich des negativen Ergebnisses benachrichtigt.2 Standardkonfiguration für den Abschnitt auth auth auth required required pam_env. die auf die Standardkonfiguration für passwordModule in der Datei Authentifizierung mit PAM 329 .so Mit dem ersten Modul.so nullok nullok use_first_pass use_authtok /var/yp Auch hier beinhaltet die PAM-Konfiguration von sshd nur eine include-Anweisung. Hiermit kann die Variable DISPLAY auf den richtigen Wert gesetzt werden. ob der Anmeldevorgang erfolgreich war. Der gesamte Stapel der auth-Module wird verarbeitet.4. werden der Anmeldename und das Passwort des Benutzers mit /etc/passwd und /etc/shadow abgeglichen. darf sich kein anderer Benutzer außer root anmelden. Nachdem alle Module vom Typ auth erfolgreich verarbeitet wurden. ob die Datei /etc/nologin vorhanden ist.4 Standardkonfiguration für den Abschnitt password password required password required #password required pam_pwcheck. Wenn pam_unix2 als Ergebnis zurückgibt. wird die Datei /etc/security/pam_env.so Beispiel 16.3. um die in dieser Datei angegebenen Variablen festzulegen.3 Standardkonfiguration für den Abschnitt account account required pam_unix2. wie in Beispiel 16. Wenn alle Module des Stapels die Flag required aufweisen. erhält sshd eine Meldung mit dem Hinweis auf diesen erfolgreichen Vorgang und der nächste Modulstapel (password) wird verarbeitet. wird mit dem dritten Modul pam_nologin überprüft.so pam_make. wird eine weitere include-Anweisung verarbeitet. 329) dargestellt.conf geladen. 329). pam_env. Mit dem zweiten Modul.

mit der Nutzungseinschränkungen für bestimmte Systemressourcen definiert werden können. um die Sitzung gemäß den Einstellungen für den betreffenden Benutzer zu konfigurieren.conf.conf. pam_unix2. Beispiel 16. sodass der Benutzer die Authentifizierung nicht erneut ausführen muss. 16. keine praktischen Konsequenzen.so pam_unix2. In diesem Abschnitt werden die für das sshd-Beispiel relevanten Konfigurationsdateien. die in der entsprechenden Konfigurationsdatei des Moduls pam_unix2. wenn die vorherigen Module vom Typ account oder auth so konfiguriert sind. Diese Module müssen erfolgreich abgeschlossen werden (Steuerflag required). Dies erfolgt über das Modul pam_pwcheck.common-password verweist.so Im letzten Schritt werden die in der Datei common-session gespeicherten Module vom Typ session aufgerufen.conf Die herkömmliche passwortbasierte Authentifizierungsmethode wird durch das PAMModul pam_unix2 gesteuert.conf angegeben ist. die von pam _pwcheck durchgeführten Prüfungen zu umgehen. pam _env.1 pam_unix2.conf und limits. Hiermit können die erforderlichen Daten aus /etc/ 330 Referenz . Die Module vom Typ password sollten immer dann verwendet werden.5 Standardkonfiguration für den Abschnitt session session required session required pam_limits. Für die Änderung eines Passworts oder eines anderen Authentifizierungs-Token ist eine Sicherheitsprüfung erforderlich. 16. Dadurch ist es zudem unmöglich. pam_unix2 wird zwar erneut verarbeitet. hat jedoch aufgrund der Option none.conf.conf geladen. dass bei einem abgelaufenen Passwort eine Fehlermeldung angezeigt wird. kurz beschrieben.3 Konfiguration von PAM-Modulen Einige PAM-Module können konfiguriert werden. Die entsprechenden Konfigurationsdateien sind im Verzeichnis /etc/security gespeichert.3. Mit dem Modul pam_limits wird die Datei /etc/security/limits. pam_pwcheck. Die session-Module werden beim Abmelden des Benutzers ein zweites Mal aufgerufen. Das anschließend verwendete Modul pam_unix2 überträgt alle alten und neuen Paswörter von pam_pwcheck. wenn die Anwendung die Änderung eines Authentifizierungs-Token anfordert.

conf beeinflusst werden. Eine ganz grundlegende Konfigurationsdatei für das Modul wird in Beispiel 16. Die Option none für den Modultyp session gibt an. [OVERRIDE=[value]] Werte. Die Benutzer sind zudem berechtigt. dass für dieses Modul keine Meldungen protokolliert werden sollen (dies ist die Standardeinstellung).passwd.6 pam_unix2.conf“ (S. NIS+-Tabellen oder aus einer LDAPDatenbank gelesen werden. Beispiel 16. die Passwörter für ihre Konten zu ändern.2 pam_env.6. Authentifizierung mit PAM 331 . 16. 331) dargestellt. die beim Aufrufen des pam_env-Moduls festgelegt wird. den der Administrator festlegen möchte.3. Das Verhalten des Moduls kann durch die Konfiguration der PAM-Optionen der einzelnen Anwendung selbst oder global durch Bearbeiten der Datei /etc/security/pam_unix2. Informationen zu zusätzlichen Konfigurationsoptionen erhalten Sie in den Kommentaren in der Datei selbst und auf der Handbuchseite pam_unix2(8). „pam_unix2. NIS-Zuordnungen. dass leere Passwörter für den entsprechenden Kontotyp zulässig sind. /etc/shadow. [DEFAULT=[value]] Der Standardwert. die von pam_env abgefragt und festgelegt werden können und die den Standardwert außer Kraft setzen. um eine standardisierte Umgebung für Benutzer zu definieren.conf auth: nullok account: password: session: nullok none Mit der Option nullok für die Modultypen auth und password wird angegeben.conf Diese Datei kann verwendet werden. Hiermit legen Sie Umgebungsvariablen mit folgender Syntax fest: VARIABLE [DEFAULT=[value]] [OVERRIDE=[value]] VARIABLE Name der festzulegenden Umgebungsvariablen.

die niemals überschritten werden dürfen. leere Passwörter und die Änderung von Passwörtern zuzulassen. Informationen zur Syntax und zu den verfügbaren Optionen erhalten Sie in den in der Datei enthaltenen Kommentaren. In der Datei können Sie Festgrenzen.0 OVERRIDE=${DISPLAY} In der ersten Zeile wird der Wert der Variable REMOTEHOST auf localhost gesetzt. Wenn keine anwendungsspezifischen Einstellungen definiert wurden. 16. Die Variable DISPLAY hingegen enthält den Wert REMOTEHOST. Dies ist in Beispiel 16.8. 332) erhält pam_pwcheck die Anweisung. „pam_env.3. 332) dargestellt. wenn eine entfernte Anmeldung stattfindet. Weitere Informationen hierzu finden Sie in den Kommentaren der Datei /etc/ security/pam_env.conf“ (S. verwendet die Anwendung die globalen Einstellungen.conf beschrieben.4 limits. das daraus Optionen für alle Module vom Typ password abliest.conf Systemgrenzen können auf Benutzer.conf.conf REMOTEHOST DISPLAY DEFAULT=localhost OVERRIDE=@{PAM_RHOST} DEFAULT=${REMOTEHOST}:0.conf Diese Konfigurationsdatei ist für das Modul pam_pwcheck bestimmt.7.3 pam_pwcheck. und Softgrenzen festlegen. wenn mit pam_env kein anderer Wert bestimmt werden kann.oder Gruppenbasis in der Datei limits. Die in dieser Datei gespeicherten Einstellungen haben Vorrang vor den PAM-Einstellungen der einzelnen Anwendungen.conf“ (S. Weitere Optionen für das Modul werden der Datei /etc/ security/pam_pwcheck.conf password: nullok 16. der immer dann verwendet wird. die immer dann geändert wird.3. die vom Modul pam_limits gelesen wird. Über Beispiel 16. die vorübergehend überschritten werden können.7 pam_env. Beispiel 16.Ein typisches Beispiel für eine Verwendungsmöglichkeit von pam_env ist die Anpassung der Variable DISPLAY. 332 Referenz . „pam_pwcheck.conf festgelegt werden. Beispiel 16.8 pam_pwcheck.

Das Dokument ist als PDFDatei. im HTML-Format oder im reinen Textformat verfügbar. im HTML-Format oder im reinen Textformat verfügbar.4 Weitere Informationen Im Verzeichnis /usr/share/doc/packages/pam des installierten Systems finden Sie folgende zusätzliche Dokumentation: READMEs Auf der obersten Ebene dieses Verzeichnisses finden Sie einige allgemeine README-Dateien. im HTML-Format oder im reinen Textformat verfügbar. die ein Systemadministrator benötigt. Linux-PAM-Handbuch für Anwendungsentwickler Dieses Dokument enthält alle Informationen. die ein Anwendungsentwickler benötigt.suse. Er hat unter http://www. Hier erhalten Sie Informationen zum Programmieren standardkompatibler PAMModule. Es ist als PDF-Datei. Hier werden mehrere Themen von der Syntax der Konfigurationsdateien bis hin zu Sicherheitsaspekten von PAM behandelt. Linux-PAM-Handbuch für Systemadministratoren Dieses Dokument enthält alle Informationen zu PAM. Linux-PAM-Handbuch für Modulprogrammierer In diesem Dokument wird das Thema aus der Sicht der Entwickler zusammengefasst.16. Es ist als PDF-Datei. Thorsten Kukuk hat mehrere PAM-Module für SUSE Linux entwickelt. der die PAM-Bibliotheken verwenden möchte.de/~kukuk/pam/ einige Informationen zur Verfügung gestellt. Im Unterverzeichnis modules sind README-Dateien zu den verfügbaren PAM-Modulen gespeichert. Authentifizierung mit PAM 333 .

.

die für das jeweilige System erforderlich ist. das virtuelle Computer der zu Grunde liegenden Hardware gegenüber ähnlich.und Netzwerkgeräte bereit. Anwendungen auf Benutzerebene bleiben unverändert. das auch als Domain-0 bezeichnet wird. Diese stellen alle erforderlichen virtuellen Block. dass die emulierte Hardware viel langsamer als echte Hardware ist. ist es sogar möglich. Die Hardware für die einzelnen Systeme wird virtuell bereitgestellt. Konfigurieren und Ausführen von Xen. Hierbei handelt es sich um ein Verfahren.Virtualisierung mit Xen 17 Mit Xen ist es möglich.und Netzwerkgeräte. Virtualisierung mit Xen 335 . Ursprünglich wurde Xen entwickelt. Xen geht daher einen anderen Weg. dass die virtuellen Block. so konfiguriert werden. Die Gastsysteme nutzen diese virtuellen Block. Der Nachteil dabei ist. In diesem Kapitel finden Sie einen Überblick über die Möglichkeiten und die Grenzen dieser Technologie. Diese Anzahl ist jedoch stark von den Systemanforderungen der laufenden Gastsysteme abhängig. aber nicht identisch präsentiert. Um dies zu erzielen. Virtuelle Computer müssen in der Regel die Hardware emulieren. Wenn mehrere physische Computer. auf denen Xen ausgeführt wird. Es beschränkt die Emulierung auf so wenige Elemente wie möglich. arbeitet Xen mit Paravirtualisierung.und Gastbetriebssystem auf Kernel-Ebene angepasst. Sie erhalten eine Einführung in die Thematik sowie Informationen zum Installieren.und Netzwerkgeräte verfügbar sind. Daher werden Host. um bis zu 100 Gastsysteme auf einem einzelnen Computer auszuführen. ein Gastsystem im laufenden Betrieb von einem physischen Computer auf einen anderen zu migrieren. mehrere Linux-Systeme auf einem einzigen Computer auszuführen. insbesondere von der Arbeitspeicherauslastung. Xen steuert die Hardware mithilfe eines Hypervisors und eines steuernden Gastsystems. um das System auszuführen und um Verbindungen zu anderen Gastsystemen oder dem lokalen Netzwerk herzustellen.

Netzwerk virt. Speicher.1 Überblick über Xen Anwendung zur Verwaltung Management Host OS Userspace Anwendung Service Guest OS Userspace Anwendung Service Guest OS Userspace Anwendung Linux-Kernel (Paravirtualisiert) Linux-Kernel (Paravirtualisiert) NetWare-Kernel (Paravirtualisiert) Physische Gerätetreiber EA Xen virt. beispielsweise von Nvidia oder ATI. Konsole virt. ein Block-Gerät lediglich zu booten. funktionieren nicht erwartungsgemäß. Auch diverse WLAN-Chips und CardbusBridges werden von Xen nicht unterstützt. Blockgeräte) 336 Referenz . Abbildung 17. Der Ablaufplaner kann auch geändert werden. wodurch sich die Priorität des laufenden Gastsystems ändern lässt. In diesen Fällen müssen Sie. in Domain-0 über den richtigen Kernel und die richtige initrd zu verfügen. bietet der Xen-Hypervisor drei unterschiedlicher Ablaufplaner. Verschiedene proprietäre Treiber. Das XEN-Virtualisierungssystem hat jedoch auch einige negative Auswirkungen hinsichtlich der unterstützten Hardware. Eine weitere Einschränkung von Xen ist. nicht die volle Chip-Funktionalität unterstützen. auch wenn diese ggf. ACPI wird nicht unterstützt.Um die Prozessorlast so gering wie möglich zu halten. soweit verfügbar. die Open-Source-Treiber verwenden. funktionieren nicht. die von ACPI abhängig sind. Speicher virt. Blockgerät EA CPU Speicher - Physische Hardware (CPU. CPU virt. Netzwerk. Die Energieverwaltung und andere Modi. weshalb maximal 4 GB Arbeitsspeicher unterstützt werden. dass es zurzeit nicht möglich ist. während das Gastsystem ausgeführt wird. Zum Booten ist es grundsätzlich erforderlich. Auf einer höheren Ebene kann die Nutzung der verfügbaren Prozessorleistung auch durch Migrieren eines Gastsystems optimiert werden. Die Version 2 von Xen bietet keine Unterstützung für PAE (Physical Address Extension).

1 Installation von Xen Die Installation von Xen umfasst die Einrichtung einer Domain-0-Domäne und die Installation von Xen-Gästen. Die Dateisystem-Images werden im Verzeichnis /var/ Virtualisierung mit Xen 337 .lst. xen. 211). Booten Sie anschließend im Xen-Modus neu. auf der sich Ihr /boot-Verzeichnis befindet.gz module (hd0. xen-tools. die für die Ausführung des Installationsprogramms benötigt werden. Diese Informationen sind in vier Kategorien unterteilt: Optionen Legen Sie hier den Namen der Gastdomäne. ihre Speicherressource sowie Bootoptionen für das Installationsprogramm fest. Ersetzen Sie <parameters> durch die Parameter. der den größten Teil der Hardware steuert. Wenn Sie Xen bei der Installation auswählen. Weitere Informationen hierzu finden Sie in Kapitel 9.0)/boot/vmlinuz-xen <parameters> module (hd0. Geben Sie in der folgenden Schnittstelle alle Informationen an. Der Bootloader (S.2 Domäneninstallation Jede Gastdomäne muss einzeln installiert werden. Bei diesen handelt es sich um python.0) durch die Partition. xen-tools-ioemu und ein kernel-xen-Paket. um ein Dateisystem-Image oder eine reale physische Partition zu erstellen.0)/boot/xen. Dieser Eintrag sollte in etwa folgendermaßen aussehen: title Xen3 kernel (hd0. Stellen Sie zunächst sicher.17. Abgesehen von den bereits erwähnten Ausnahmen sollte alles wie gewohnt funktionieren. bridge-utils. In anderen Fällen machen Sie einen Eintrag in boot/grub/menu. Führen Sie zu diesem Zweck die Installation der Virtual Machine (XEN) des YaST-Moduls in der Softwaregruppe aus. dass alle erforderlichen Pakete installiert sind. die normalerweise zum Booten eines LinuxKernel verwendet werden. wird Xen zur GRUB-Konfiguration hinzugefügt. Festplatten Wählen Sie diese Option.0)/boot/initrd-xen Ersetzen Sie (hd0. 17. Dadurch wird der Xen-Hypervisor und ein geringfügig geänderter Linux-Kernel als Domain-0 gebootet.

Netzwerk Von diesem Modul werden nur Bridge-Netzwerke unterstützt. Das nächste Dialogfeld startet das Installationssystem. Stellen Sie sicher. die Konsole neu mit einem anderen Terminal zu verbinden. Wenn Sie eine neue Verbindung herstellen möchten. der mit dem Namen der Gastdomäne übereinstimmt. 338 Referenz . die Verbindung zu einer Konsole zu trennen bzw. nachdem verschiedene Einrichtungsaufgaben durchgeführt wurden. 17. Es ist jederzeit möglich. Falls nicht genügend Speicher verfügbar ist. Zum Trennen der Verbindung dient der Befehl Strg + ] . Falls Sie die Konfiguration einer Gastdomäne ändern müssen. überprüfen Sie zunächst die ID des erforderlichen Gastsystems mit dem Befehl xm list und stellen Sie anschließend mit dem Befehl xm console ID eine Verbindung zu dieser ID her. Fügen Sie die Anzahl der benötigten virtuellen Netzwerkkarten hinzu. Dieses System wird in der Installationsquelle für das YaST-Modul ausgewählt und kann nicht in diesem Workflow festgelegt werden. das zum Installieren der Gastdomäne verwendet werden soll. ↑Start) identisch. Dieses System ist mit einer Standardinstallation im Textmodus gemäß der Beschreibung in Abschnitt „YaST im Textmodus“ (Kapitel 2. dass Sie über genügend Festplattenspeicher in diesem Verzeichnis verfügen. Die Datei befindet sich in /etc/xen und hat einen Namen. Sie können den verfügbaren Speicher von Domain-0 stets mit dem Befehl free überprüfen. müssen Sie das direkt in der Konfigurationsdatei tun.3 Starten und Steuern von Xen-Domänen mit xm Xen reduziert den Speicherplatz in Domain-0 automatisch. wird die Gastdomäne nicht gestartet.lib/xen/images gespeichert. Systemkonfiguration mit YaST. damit die Anforderungen der neu gestarteten Gastdomäne erfüllt werden. Betriebssystem Das Betriebssystem.

Dieser Befehl startet die Domäne mit der Konfigurationsdatei domname. Mit diesem Befehl geben Sie eine Liste aller laufenden Domänen mit ihren jeweiligen IDs sowie Arbeitsspeicherund CPU-Zeit-Werten aus.und Arbeitsspeicherinformationen an. Mit diesem Befehl stellen Sie eine Verbindung zur ersten Konsole (tty1) des Gastsystems mit der ID ID her. Hiermit zeigen Sie Informationen zum Xen-Host einschließlich CPU. die Lösung einiger Probleme zu finden. xm console ID xm mem-set ID Mem xm create domname [-c] xm shutdown ID xm destroy ID xm list xm info 17. die für das xm-Werkzeug verfügbar sind. Virtualisierung mit Xen 339 . In Tabelle 17. „xm-Befehle“ (S. Mit dem Befehl xm help können Sie eine Liste mit einer kurzen Erläuterung aufrufen. Tabelle 17. 339) finden Sie einige der wichtigsten Befehle.4 Fehlerbehebung Dieser Abschnitt enthält einige Hinweise zum Lösen häufiger Probleme. Diese Hinweise dienen nicht als vollständige schrittweise Anweisungen. sondern helfen Ihnen.1. Dieser Befehl beendet das Gastsystem mit der ID ID sofort. Hiermit legen Sie die Arbeitsspeichermenge für die Domäne mit der ID ID auf den Wert Mem in MB fest. Hiermit fahren Sie das Gastsystem mit der ID ID normal herunter. Der optionale Parameter -c verbindet das aktuelle Terminal mit der ersten tty des neuen Gastsystems.1 xm help xm-Befehle Hiermit rufen Sie eine Liste der Befehle auf.Das xm-Werkzeug von Xen lässt sich mit zahlreichen Parametern verwenden.

dass das Dateisystem eingehängt ist.5 Weitere Informationen Weitere Informationen zu Xen finden Sie auf den folgenden Websites: • /usr/share/doc/packages/xen/user/html/index.8n1 Bevor Sie Xen booten. Diese wurden entweder nicht installiert oder Sie haben Ihren Kernel aktualisiert und vergessen. Führen Sie /etc/init. Ich muss das Dateisystem überprüfen.d/xend restart aus. die Kernel-Module im Gastsystem zu aktualisieren. Leider können die Initialisierungsskripts des Systems die aktuelle Konfiguration nicht behandeln. dass mehrere iptables-Kernel-Module ausgeführt werden. führen Sie sie manuell über Domain-0 aus. Falls die Überprüfung des Dateisystems nicht automatisch erfolgt. Das Netzwerkkonzept hat sich in Xen3 verglichen mit Xen2 erheblich geändert.gz com1=115200. solange es nicht eingehängt ist.Es gibt Netzwerkprobleme in Xen3. um eine Blockade der Bridge zu vermeiden. überprüfen Sie dies mithilfe des Befehls mount. DHCP erfordert. Wenn fsck meldet. DHCP kann keine IP-Adresen abrufen. 17. Beispiel: screen /dev/ttyS0 115200 Ändern Sie das Gerät und die Geschwindigkeit gemäß Ihren Bedürfnissen. Fahren Sie Ihr Gastsystem herunter und führen Sie fsck für das Image aus. starten Sie ein Terminalprogramm auf Ihrer Arbeitsstation. Hierfür ist das Paket xen-doc-html erforderlich.0)/boot/xen. um das Netzwerk neu zu starten. Domain-0 ist nicht mehr direkt an die Bridge angeschlossen.html – Offizielle Informationen für Xen-Benutzer. 340 Referenz . Fügen Sie dann auf der Xen-Seite der Zeile folgenden Parameter hinzu kernel (hd0. Beim Booten des Hypervisors tritt ein Problem auf und die Meldungen werden zu schnell ausgeblendet Schließen Sie Ihren Xen-Computer an eine andere Arbeitsstation mit einem seriellen Nullmodem-Kabel an.

html – Zusätzliche technische Schnittstellendokumentation.xensource.uk/Research/SRG/netos/xen/index .cam.• /usr/share/doc/packages/xen/interface/html/index. Virtualisierung mit Xen 341 .xensource. • http://lists.com/ – Diverse Mailing-Listen zu Xen.com/xenwiki – Xen-Wiki für die Open SourceCommunity.cl. Auch hierfür ist das Paket xen-doc-html erforderlich. • http://www. • http://wiki.ac.html – Xen-Webseite mit zahlreichen weiteren Dokumentations-Links.

.

Dienste .Teil IV.

.

Diese sind online unter http://www. Die RFC-Dokumente beschreiben das Einrichten der Internetprotokolle. die im Folgenden beschrieben werden. In diesem Kapitel werden nur die grundlegenden Mechanismen sowie die zugehörigen Netzwerkkonfigurationsdateien beschrieben. Weitere Informationen zu diesen Protokollen finden Sie in den entsprechenden RFC-Dokumenten. die unterschiedliche Internetprotokolle und Implementierungsverfahren für das Betriebssystem und seine Anwendungen beschreiben. ein Modem oder ein anderes Gerät kann mit YaST konfiguriert werden. Hierbei handelt es sich nicht um ein einzelnes Netzwerkprotokoll. „Verschiedene Protokolle aus der TCP/IP-Familie“ (S. Linux und andere Unix-Betriebssysteme verwenden das TCP/IP-Protokoll. sondern um eine Familie von Netzwerkprotokollen. Das üblicherweise von Linux verwendete Protokoll. 346) aufgelisteten Protokolle dienen dem Datenaustausch zwischen zwei Computern über TCP/IP. Der Netzwerkzugriff über eine Netzwerkkarte. Grundlegendes zu Netzwerken 345 .1. RFC ist das Akronym für Request for Comments.html verfügbar.ietf . verfügt über unterschiedliche Dienste und Sonderfunktionen. RFCs sind Dokumente. das in seiner Gesamtheit auch als „das Internet“ bezeichnet wird. die unterschiedliche Dienste zur Verfügung stellen.Grundlegendes zu Netzwerken 18 Linux stellt die erforderlichen Netzwerkwerkzeuge und -funktionen für die Integration in alle Arten von Netzwerkstrukturen zur Verfügung. TCP/IP. Die manuelle Konfiguration ist ebenfalls möglich.org/rfc. Die in Tabelle 18. Über TCP/IP verbundene Netzwerke bilden zusammen ein weltweites Netzwerk.

Die entsprechende Anwendung auf dem Zielhost empfängt die Daten im ursprünglichen Datenstromformat. und stellt sicher. User Datagram Protocol: ein verbindungsloses. Die eigentliche Netzwerkschicht ist der unsichere Datentransfer über IP (Internet Protocol). Es verfügt über eine kürzere Latenzzeit als TCP. Die IP-Schicht wird vom zugrunde liegenden Hardwareabhängigen Protokoll. TCP wird immer dann implementiert. ob Daten während der Übertragung verloren gegangen sind. B. in welcher Reihenfolge die Daten beim Empfänger eingehen. UDP ist geeignet für datensatzorientierte Anwendungen. steuern kann. z. das Fehlerberichte ausgibt und das Verhalten von Computern. die am TCP/IP-Datentransfer teilnehmen.Tabelle 18. unsicheres Protokoll. sicheres Protokoll. Es ist nicht garantiert. Oberhalb von IP gewährleistet TCP (Transmission Control Protocol) bis zu einem gewissen Grad die Sicherheit des Datentransfers. Ethernet. in dem sie anfänglich gesendet wurden. sondern ein spezielles Steuerungsprotokoll. wenn die Datensequenz eine Rolle spielt. „Vereinfachtes Schichtmodell für TCP/IP“ (S. 346 Referenz . 347) dargestellt in unterschiedlichen Schichten statt. und ein Datenverlust ist immer möglich. UDP ICMP IGMP Der Datenaustausch findet wie in Abbildung 18. Die zu übertragenden Daten werden in Form von anwendungsseitig generierten Paketen gesendet. der mit dem Programm „ping“ angezeigt werden kann. Außerdem bietet es einen speziellen Echomodus. Internet Group Management Protocol: Dieses Protokoll steuert das Verhalten des Computers bei der Implementierung von IP-Multicast. Die zu übertragenden Daten werden von der Anwendung zunächst als Datenstrom gesendet und anschließend vom Betriebssystem in das richtige Format konvertiert. Internet Control Message Protocol: Dies ist im Wesentlichen kein Protokoll für den Endbenutzer.1 Protokoll TCP Verschiedene Protokolle aus der TCP/IP-Familie Beschreibung Transmission Control Protocol: ein verbindungsorientiertes. unterstützt. dass keine Verwechslungen der Daten vorliegen.1. TCP ermittelt.

und die physische Schicht repräsentieren das verwendete physische Netzwerk. FDDI. Die Schichten sind nach Abstraktionsstufen sortiert. Jede Schicht hat ihre eigene spezielle Funktion. Damit die Schichten ihre vorgesehenen Funktionen erfüllen können. Die unterste Schicht ist sehr Hardware-nah. das Ethernet. Glasfaser Physische Ebene Datenübertragung Dieses Diagramm bietet für jede Schicht ein oder zwei Beispiele. 1500 Byte. 64 KB. z.1 Vereinfachtes Schichtmodell für TCP/IP Host Sun Host Earth Anwendungsebene Anwendungen Anwendungsebene Transportebene TCP. Die Pakete sind in der Regel jedoch sehr viel kleiner. Die Datenverbindungs. wenn die Daten über ein Ethernet gesendet werden. da sie nicht alle auf einmal gesendet werden können. ISDN Datenverknüpfungsebene Physische Ebene Kabel. UDP Transportebene Netzwerkebene IP Netzwerkebene Datenverknüpfungsebene Ethernet. B. müssen im Datenpaket zusätzliche Informationen über die einzelnen Schichten gespeichert sein. Wenn mehr Daten übertragen werden. Die maximale Größe eines Datenpakets in einem Ethernet beträgt ca. den so genannten ProtokollGrundlegendes zu Netzwerken 347 . müssen vom Betriebssystem mehr Datenpakete gesendet werden. Jede Schicht stellt jedem ausgehenden Paket einen kleinen Datenblock voran. Die Größe eines TCP/IP-Pakets ist auf diesen Wert begrenzt. Die speziellen Funktionen der einzelnen Schichten gehen bereits aus ihrer Bezeichnung hervor. Die oberste Schicht ist beinahe vollständig von der Hardware losgelöst. Diese Informationen werden im Header des Pakets gespeichert.Abbildung 18. Die maximale Größe eines TCP/IP-Pakets beträgt ca. Die zu übertragenden Daten werden in Pakete unterteilt. da die Netzwerkhardware ein einschränkender Faktor sein kann. Fast alle Hardwareprotokolle arbeiten auf einer paketorientierten Basis.

20 Byte) IP (Ebene 3)-Protokoll-Header (ca. Für Anwendungen ist es irrelevant. 351). Ein Beispiel für ein TCP/IP-Datenpaket. Die Prüfsumme befindet sich am Ende des Pakets. Abbildung 18. finden Sie in Abschnitt 18. werden diese Daten durch alle Schichten geleitet. „TCP/IP-Ethernet-Paket“ (S. Dies erleichtert die Arbeit für die Netzwerkhardware. solange die Pakete das richtige Format haben. 14 Byte) + Prüfsumme (2 Byte)Physische Ebene Wenn eine Anwendung Daten über das Netzwerk sendet. 18. ist in Abbildung 18. „IPv6 – Das Internet der nächsten Generation“ (S. darunter liegenden Schicht.2. 20 Byte) Ethernet (Ebene 2)-Protokoll-Header (ca. ob die Daten über ein 100 MBit/s schnelles FDDI-Netzwerk oder über eine 56-KBit/s-Modemleitung übertragen werden. dem Nachfolger von IPv4. Die Transportschicht ist schließlich dafür verantwortlich. Informationen zum IPv6-Protokoll. 348) dargestellt. Ähnlich spielt es für die Datenverbindung keine Rolle.Header. welche Art von Daten übertragen wird. Die unterste Schicht ist letztendlich für das Senden der Daten verantwortlich.2 TCP/IP-Ethernet-Paket Verwendungsdaten (maximal 1460 Byte) TCP (Ebene 4)-Protokoll-Header (ca. das über ein Ethernetkabel gesendet wird. die Daten den Anwendungen am Ziel zur Verfügung zu stellen. nicht am Anfang. die mit Ausnahme der physischen Schicht alle im Linux-Kernel implementiert sind. Bei eingehenden Daten erfolgt die gesamte Prozedur in umgekehrter Reihenfolge. 348 Referenz . Auf diese Weise kommuniziert eine Schicht nur mit der direkt darüber bzw. Jede Schicht ist für das Vorbereiten der Daten zur Weitergabe an die nächste Schicht verantwortlich.2.1 IP-Adressen und Routing Die in diesem Abschnitt enthaltenen Informationen beziehen sich nur auf IPv4-Netzwerke. Die Protokoll-Header werden von den transportierten Daten in den einzelnen Schichten wie die Schalen einer Zwiebel entfernt.

20 Im Dezimalformat werden die vier Byte in Dezimalzahlen geschrieben und durch Punkte getrennt. Die Netzmaske besteht aus 32 Bit. Die IP-Adresse wird einem Host oder einer Netzwerkschnittstelle zugewiesen. Dieses System erwies sich jedoch als zu wenig flexibel und wurde eingestellt. Bis in die 1990er-Jahre wurden IP-Adressen strikt in Klassen organisiert. Diese 32 Bit (oder 4 Byte) werden in der Regel wie in der zweiten Zeile in Beispiel 18. Sind die Ergebnisse identisch.1. Das bedeutet. 18.1.2. Weitere Informationen zur Funktionsweise von Netzmasken finden Sie in Beispiel 18. Wenn unterschiedliche Ergebnisse ausgegeben werden. „Verknüpfung von IP-Adressen mit der Netzmaske“ (S. diese sind jedoch für die folgenden Abschnitte nicht relevant. Um zu prüfen.2 Netzmasken und Routing Mit Netzmasken werden Adressräume eines Subnetzes definiert. Alle Bits mit dem Wert 0 kennzeichnen Bits innerhalb des Subnetzes. ist es Grundlegendes zu Netzwerken 349 . Diese Adresse kann weltweit nur einmal verwendet werden. je mehr Bits den Wert 1 haben. ob sich zwei IP-Adressen im selben Subnetz befinden. Alle Bits mit dem Wert 1 kennzeichnen das entsprechende Bit in der IP-Adresse als zum Netzwerk gehörend.1 IP-Adressen schreiben IP-Adresse (binär): 11000000 10101000 00000000 00010100 IP-Adresse (dezimal): 192. und somit die entfernte Schnittstelle. 0. Anderenfalls benötigen sie die Adresse eines Gateways. die festlegen. nur über ein Gateway erreicht werden. welcher Teil einer IP-Adresse zum Netzwerk gehört. Beispiel 18. wird jede Adresse bitweise mit der Netzmaske „UND“-verknüpft. das den gesamten Verkehr zwischen dem Subnetz und dem Rest der Welt handhabt. Da die Netzmaske immer aus mehreren aufeinander folgenden Bits mit dem Wert 1 besteht. „IPAdressen schreiben“ (S. 350).18. desto kleiner ist das Netzwerk.1. kann die entfernte IP-Adresse. Es gibt zwar Ausnahmen zu dieser Regel. Classless Interdomain Routing) verwendet. Die Punkte in IP-Adressen geben das hierarchische System an.1 IP-Adressen Jeder Computer im Internet verfügt über eine eindeutige 32-Bit-Adresse. Wenn sich zwei Hosts im selben Subnetz befinden. können sie direkt kommunizieren. befinden sich beide IP-Adressen im selben lokalen Netzwerk. 168. Heute wird das klassenlose Routing (CIDR. 349) dargestellt geschrieben.

0.0): 11111111 11111111 11111111 00000000 --------------------------------------------------------------Ergebnis der Verbindung: 11010101 10111111 00001111 00000000 Im Dezimalsystem: 213. werden alle externen IP-Pakete an das entsprechende Gateway gesendet. 350 Referenz . Beispiel 18. Dieses Gateway versucht anschließend. 350) könnte das erste Netz mit 24 Bit auch als 192. 350) unter Ergebnis dargestellt. Wenn ein Gateway konfiguriert wurde. IP-Adressen außerhalb des lokalen Subnetzes können nur erreicht werden.0.0/24 geschrieben werden.255. Es ist jedoch auch möglich. befinden sich in der Regel im selben Subnetz und der Zugriff auf sie erfolgt direkt. 95.255. 168.200): 11010101 10111111 00001111 11001000 Netzmaske (255. Diese Adresse kann keinem Host zugewiesen werden. wie in Beispiel 18. Selbst wenn das Subnetz physisch durch Switches oder Bridges unterteilt ist. 0. die Pakete auf dieselbe Weise – von Host zu Host – weiterzuleiten.0): 11111111 11111111 11111111 00000000 --------------------------------------------------------------Ergebnis der Verbindung: 11000000 10101000 00000000 00000000 Im Dezimalsystem: 192. bis sie den Zielhost erreichen oder ihre TTL-Zeit (Time to Live) abgelaufen ist.2. die über dasselbe Ethernetkabel angeschlossen sind. In den meisten Fällen wird der gesamte externe Verkehr über lediglich ein Gateway gehandhabt. In Beispiel 18.255.2. „Verknüpfung von IP-Adressen mit der Netzmaske“ (S. 0 Ein weiteres Beispiel: Alle Computer.168. Tabelle 18. 15. die durch UND mit einer Netzwerkadresse verknüpft ist.15. „Verknüpfung von IPAdressen mit der Netzmaske“ (S. wenn für das Zielnetzwerk ein Gateway konfiguriert ist. für unterschiedliche Subnetze mehrere Gateways zu konfigurieren.auch möglich.255. können diese Hosts weiter direkt erreicht werden.2 Verknüpfung von IP-Adressen mit der Netzmaske IP-Adresse (192. 0 IP-Adresse (213. einfach die Anzahl der Bits in der Netzmaske zu zählen.2 Adresstyp Netzwerkbasisadresse Spezifische Adressen Beschreibung Dies ist die Netzmaske.95.20): 11000000 10101000 00000000 00010100 Netzmaske (255.168.

255. Diese können keine Verbindung zum Internet herstellen.Adresstyp Broadcast-Adresse Beschreibung Dies bedeutet im Wesentlichen „Senden an alle Hosts in diesem Subnetz“.255 lauten.0 18. Diese Adressdomänen sind in RFC 1597 festgelegt und werden in Tabelle 18.0/255.0/255.x. Lokaler Host Da IP-Adressen weltweit eindeutig sein müssen.16.0. 351) aufgelistet.0.0 192.0.x.31.2 IPv6 – Das Internet der nächsten Generation Aufgrund der Entstehung des WWW (World Wide Web) hat das Internet in den letzten 15 Jahren ein explosives Wachstum mit einer immer größer werdenden Anzahl von Computern erfahren.168.0 172.x 192. wird die Netzmaske in die binäre Form invertiert und mit einem logischen ODER mit der Netzwerkbasisadresse verknüpft. die über TCP/IP kommunizieren.16.240.0.x – 172.0.x. Tabelle 18.x. da sie nicht über das Internet übertragen werden können. können Sie nicht einfach eine Adresse nach dem Zufallsprinzip wählen.3.0.0/255.0.0.3 Private IP-Adressdomänen Domäne 10. Diese Adresse kann keinem Host zugewiesen werden.168. Mit dieser Adresse kann eine Verbindung zu Ihrem Computer hergestellt werden. Die Adresse 127.x 172.168. „Private IPAdressdomänen“ (S.0. Zum Einrichten eines privaten IP-basierten Netzwerks stehen drei Adressdomänen zur Verfügung.0.x Netzwerk/Netzmaske 10. Um die Broadcast-Adresse zu generieren.x.1 ist auf jedem Host dem „LoopbackDevice“ zugewiesen. Seit Tim Berners-Lee bei CERN Grundlegendes zu Netzwerken 351 . Das Ergebnis im obigen Beispiel würde 192.0.

18. 352 Referenz .ch) 1990 das WWW erfunden hat. die spezifischere Informationen zu den Systemen und Netzwerken enthalten kann. Mit IPv6 gehören sowohl der Adressmangel als auch die komplizierte Konfiguration der Vergangenheit an.1 Vorteile Die wichtigste und augenfälligste Verbesserung durch das neue Protokoll ist der enorme Zuwachs des verfügbaren Adressraums. Wie bereits erwähnt. z.web. da sie aufgrund der organisatorischen Bedingtheit der Netzwerke nicht verwendet werden können. von denen nur 254 verwendbar sind. IPv6-Adressen unterscheiden sich nicht nur hinsichtlich ihrer Länge gänzlich von ihren Vorgängern. Eine IPv6-Adresse besteht aus 128-Bit-Werten und nicht aus den herkömmlichen 32 Bit. B. ist die Anzahl der Internethosts von ein paar tausend auf ca. Um einen Host in einem IPv4-Netzwerk einzurichten. Die folgenden Abschnitte enthalten weitere Informationen zu den Verbesserungen und Vorteilen von IPv6 sowie zum Übergang vom alten zum neuen Protokoll. 354). Außerdem gehen zahlreiche IP-Adressen verloren. zu denen sie gehören. Das Problem liegt in der Konfiguration der Adressen. können diese Methoden den Adressmangel sicherlich mäßigen. Dies ermöglicht mehrere Billiarden IPAdressen. Alle diese Einträge müssen bekannt sein und können nicht von anderer Stelle her abgeleitet werden.2. die Gateway-Adresse und möglicherweise die Adresse des Namenservers. da zwei IP-Adressen für die Struktur des Subnetzes selbst erforderlich sind: die Broadcast.2. 6 oder 14 Adressen.cern. „Adresstypen und struktur“ (S. Kombiniert mit der Konvention. Um beispielsweise 128 Hosts mit dem Internet zu verbinden. benötigen Sie mehrere Adressen. Weitere Informationen hierzu finden Sie in Abschnitt 18.und die Netzwerkbasisadresse. Unter dem aktuellen IPv4-Protokoll sind DHCP oder NAT (Network Address Translation) die typischen Mechanismen. Die Anzahl der in Ihrem Subnetz verfügbaren Adressen ist zwei hoch der Anzahl der Bits minus zwei. besteht eine IPv4-Adresse nur aus 32 Bit. 100 Millionen angewachsen. Sie verfügen auch über eine andere interne Struktur.(http://public.2. Ein Subnetz verfügt also beispielsweise über 2. um einem potenziellen Adressmangel vorzubeugen. die schwierig einzurichten und zu verwalten ist. private und öffentliche Adressräume getrennt zu halten. benötigen Sie ein Subnetz mit 256 IP-Adressen. die Subnetzmaske. die IP-Adresse des Hosts.

Dies wird durch kompatible Adressen (IPv4-Adressen können problemlos in IPv6-Adressen konvertiert werden) und die Verwendung von Tunnels gewährleistet. die von den benachbarten Routern zur Verfügung gestellt werden. meldet sich das Telefon automatisch bei dem fremden Dienst an. h. sodass zwischen den beiden Protokollversionen keine Konflikte auftreten. dass sie über zwei Netzwerk-Stacks verfügen. Dadurch können Benutzer problemlos auf mehrere Netzwerke zugreifen. um das Ausspionieren durch Außenstehende über das Internet zu verhindern.3. IPv6 umfasst IPSec als eine seiner Kernfunktionen und ermöglicht es Systemen. das gesamte Internet auf einmal von IPv4 auf IPv6 umzustellen. Dies ist ein weiterer Vorteil gegenüber IPv4. ist es unmöglich. Mobilität IPv6 ermöglicht es.In der folgenden Liste werden einige der wichtigsten Vorteile des neuen Protokolls aufgeführt: Automatische Konfiguration IPv6 macht das Netzwerk „Plug-and-Play“-fähig. über einen sicheren Tunnel zu kommunizieren.2. was beispielsweise mit den von Mobilfunkunternehmen angebotenen internationalen Roaming-Diensten vergleichbar ist. um seine eigene Adresse aus den Informationen abzuleiten. Dabei nutzt er ein Protokoll. Diese Methode erfordert kein Eingreifen des Administrators und für die Adresszuordnung muss kein zentraler Server verfügbar sein. sodass Sie überall unter Ihrer Rufnummer erreichbar sind und Anrufe genauso wie in Ihrem Heimatland tätigen können. das als ND-Protokoll (Neighbor Discovery) bezeichnet wird.. dass beide Protokolle nicht nur im Internet. um beide Protokolle gleichzeitig unterstützen zu können. Sichere Kommunikation Bei IPv4 ist die Netzwerksicherheit eine Zusatzfunktion. Siehe Abschnitt 18. Der neue Host verwendet die automatischen Konfigurationsmechanismen. Außerdem können Systeme eine DualStack-IP-Technik verwenden. Abwärtskompatibilität Realistisch gesehen. die vollständig unabhängig voneinander sind. ein neu eingerichtetes System wird ohne jegliche manuelle Konfiguration in das (lokale) Netzwerk integriert. 359). sobald Sie dessen Bereich betreten. Grundlegendes zu Netzwerken 353 . sondern auf einem System koexistieren können. einer Netzwerkschnittstelle gleichzeitig mehrere Adressen zuzuordnen. „Koexistenz von IPv4 und IPv6“ (S. Daher ist es wichtig. bei dem für die automatische Adresszuordnung ein DHCP-Server erforderlich ist. Dies bedeutet. Wenn Sie Ihr Mobiltelefon mit ins Ausland nehmen. d.

354 Referenz . Multicast Adressen dieses Typs beziehen sich auf eine Gruppe von Netzwerkschnittstellen. Pakete mit derartigen Adressen werden an alle Ziele zugestellt. die drei unterschiedlichen Adresstypen zu kennen: Unicast Adressen dieses Typs werden genau einer Netzwerkschnittstelle zugeordnet. d. Hosts über Multicasting anzusprechen. h. Welche Hosts als Gruppe adressiert werden.2. IPv6 erlaubt einen sehr viel feineren Ansatz. einem Gerät mehrere Adressen zuzuordnen und so den Zugriff auf mehrere Netzwerke zu ermöglichen) kombiniert wird. Das zweite Problem wird durch die Einführung einer hierarchischen Adressstruktur behoben. Multicast-Adressen werden hauptsächlich von bestimmten Netzwerkdiensten für die Kommunikation mit bestimmten Hostgruppen verwendet.2 Adresstypen und -struktur Wie bereits erwähnt weist das aktuelle IP-Protokoll zwei wichtige Aspekte nicht auf: Es gibt einen zunehmenden Mangel an IP-Adressen und das Konfigurieren des Netzwerks sowie die Verwaltung der Routing-Tabellen wird immer komplexer und arbeitsintensiver. mit der beispielsweise alle Namenserver (die Multicast-Gruppe „all name servers“) oder alle Router (die Multicast-Gruppe „all routers“) angesprochen werden können. Es gibt einige vordefinierte Gruppen. 18. Bei der Arbeit mit IPv6 ist es hilfreich. die dieser Gruppe angehören. kann je nach Anwendung unterschiedlich sein. ihre Pakete via Broadcast an alle Hosts im lokalen Netzwerk verteilen. B. Pakete mit derartigen Adressen werden nur einem Ziel zugestellt. IPv6 löst das erste Problem durch die Erweiterung des Adressraums auf 128 Bit. sie sprechen mehrere Hosts als Teile einer Gruppe an. SMB. wobei diese gezielt adressiert werden. indem es Servern ermöglicht. z.Bedarfsgerechte Dienste über Multicasting Mit IPv4 müssen einige Dienste. die mit weiteren hoch entwickelten Techniken zum Zuordnen von Netzwerkadressen sowie mit dem Multihoming (der Fähigkeit. Dies unterscheidet sich von der Adressierung aller Hosts über Broadcasting oder der Einzeladressierung der Hosts über Unicasting.. Unicast-Adressen werden dementsprechend zum Übertragen von Paketen an einzelne Hosts im lokalen Netzwerk oder im Internet verwendet.

***DELETE***. alle anderen Nullen jedoch nicht.3 Beispiel einer IPv6-Adresse fe80 : 0000 : 0000 : 0000 : 0000 : 10 : 1000 : 1a4 fe80 : 0 : 0 : 0 : 0 : 10 : 1000 : 1a4 fe80 : : 10 : 1000 : 1a4 Jeder Teil einer IPv6-Adresse hat eine festgelegte Funktion. wobei jedes 16 Bit repräsentiert. „Beispiel einer IPv6-Adresse“ (S. Pro Adresse ist jedoch nur ein :: zulässig. 355) enthalten Informationen zum Netzwerk (die ersten 64 Bit) und zum Hostteil (die letzten 64 Bit). dass die Netzmaske mit 64 1-Bit-Werten von links gefüllt wird.4. aus. Die 64 bedeutet. dann den dritten usw. Pakete mit einer derartigen Adresse werden gemäß den Prinzipien des zugrunde liegenden Routing-Protokolls dem Mitglied der Gruppe gesendet. indem die Länge des Präfixes nach einem Schrägstrich am Ende der Adresse angegeben wird. damit Hosts Informationen zu Servern schneller abrufen können.3.Anycast Adressen dieses Typs beziehen sich auf eine Gruppe von Schnittstellen. Diese Art der Kurznotation wird in Beispiel 18. um zu ermitteln. Alle führenden Null-Byte innerhalb eines bestimmten Felds können ausgelassen werden. Beispiel 18. der möglicherweise nicht verwendet wird. Wenn dieser Server aus irgendeinem Grund nicht erreichbar ist. Eine IPv6-Adresse besteht aus acht vierstelligen Feldern. ob sich der Host im selben oder einem anderen Subnetz befindet. das dem Absender am nächsten ist. Wann immer ein Host einen Dienst anfordert. die im angegebenen Netzwerkbereich bestimmte Dienste anbieten. erhält er eine Antwort von dem vom Routing-Protokoll ermittelten nächstgelegenen Server.4 IPv6-Adressen mit Angabe der Präfix-Länge fe80::10:1000:1a4/64 Grundlegendes zu Netzwerken 355 . und wird in hexadezimaler Notation geschrieben. Sämtliche Server desselben Typs verfügen über dieselbe Anycast-Adresse. Eine weitere Konvention ist. Das Ende der Adresse bildet der Hostteil. „IPv6-Adressen mit Angabe der Präfix-Länge“ (S. Bei IPv6 wird die Netzmaske definiert. dass mehr als vier aufeinander folgenden Null-Byte mit einem doppelten Doppelpunkt zusammengefasst werden können. Wie bei IPv4 wird die IP-Adresse mit den Werten aus der Netzmaske durch UND verknüpft. Die Felder werden ebenfalls durch Doppelpunkte (:) getrennt. Die ersten Byte bilden das Präfix und geben den Typ der Adresse an. Adressen wie in Beispiel 18. 355) dargestellt. in dem alle drei Zeilen derselben Adresse entsprechen. wählt das Protokoll automatisch den zweitnächsten Server. Der mittlere Teil ist der Netzwerkteil der Adresse. Beispiel 18. Anycast-Adressen werden verwendet.

Wie bei IPv4 kann eine Schnittstelle zugewiesen werden. dem sie angehören.4. dient dem Routing des Pakets im öffentlichen Internet. Diese Adressen dürfen zwar geroutet werden. 356 Referenz . Hier sind Informationen zum Provider oder der Institution kodiert.IPv6 kennt mehrere vordefinierte Präfixtypen. 356) aufgeführt. aber nur innerhalb des Organisationsnetzwerks. der unter anderem auch eines der oben erwähnten Präfixe enthält. Für diesen Adresstyp wird ein Router benötigt. Adressen mit diesem Präfix dürfen nicht geroutet werden und können daher nur im gleichen Subnetz erreicht werden. B. die den Netzwerkzugang bereitstellen. Diese werden zur Erhaltung der Kompatibilität mit IPv4 verwendet. fe80::/10 Link-local-Adressen. 2 oder 3 als erste Aggregierbare globale Unicast-Adressen. Tabelle 18. Damit entsprechen diese Adressen den bisherigen privaten Netzen (beispielsweise 10.x. verfügen ebenfalls über dieses Präfix. fec0::/10 ff Eine Unicast-Adresse besteht aus drei grundlegenden Komponenten: Öffentliche Topologie Der erste Teil. Mehrere spezielle Adressen. Aktuell gibt es folgende Adressräume: 2001::/16 (Production Quality Address Space) und 2002::/16 (6to4 Address Space). um einen Teil eines bestimmten Stelle Subnetzes zu bilden. Dies sind Multicast-Adressen.x. Site-local-Adressen. der IPv6-Pakete in IPv4Pakete konvertieren kann. „Unterschiedliche IPv6-Präfixe“ (S. die für das Loopback-Device. z.4 Unterschiedliche IPv6-Präfixe Definition Präfix (hexadezimal) 00 IPv4-über-IPv6-Kompatibilitätsadressen.x. Einige von diesen sind in Tabelle 18.

3. 359)).und ISDN-Verbindungen) ein EUI-64-Token zuzuweisen. Dies erlaubt. in dem das Paket zugestellt werden soll. die MAC-Adresse als Adressbestandteil zu verwenden.2. die etwas über den Typ des Tokens aussagen. IPv4/IPv6-Hosts können so mit anderen kommunizieren. an die das Paket gerichtet ist. Dabei werden die letzten 48 Bit der MAC-Adresse entnommen und die restlichen 24 Bit enthalten spezielle Informationen. ::1 (Loopback) Adresse des Loopback-Device. die sich in einer reinen IPv4-Umgebung befinden. Schnittstellen-ID Der dritte Teil identifiziert eindeutig die Schnittstelle. IPv6-gemappte IPv4-Adressen Dieser Adresstyp gibt die Adresse in IPv6-Notation an. Da diese weltweit nur einmal vorhanden und zugleich vom Hardwarehersteller fest vorgegeben ist. PPP. vereinfacht sich die Konfiguration auf diese Weise sehr. B. Abgeleitet aus diesem Grundaufbau werden bei IPv6 fünf verschiedene Typen von Unicast-Adressen unterschieden: :: (nicht spezifiziert) Diese Adresse verwendet ein Host als Quelladresse. Lokale Adressen Es gibt zwei Typen von Adressen zum rein lokalen Gebrauch: Grundlegendes zu Netzwerken 357 . IPv4-kompatible Adressen Die IPv6-Adresse setzt sich aus der IPv4-Adresse und einem Präfix von 96 0-Bits zusammen. „Koexistenz von IPv4 und IPv6“ (S. Die ersten 64 Bit werden zu einem so genannten EUI-64-Token zusammengefasst. Dieser Typ der Kompatibilitätsadresse wird beim Tunneling verwendet (siehe Abschnitt 18. Das ermöglicht dann auch. Geräten ohne MAC-Adresse (z. wenn seine Netzwerkschnittstelle zum ersten Mal initialisiert wird und die Adresse noch nicht anderweitig ermittelt werden kann.Site-Topologie Der zweite Teil enthält Routing-Informationen über das Subnetz.

Einzig die Teile der Site-Topologie und der öffentlichen Topologie können variieren. Der Rest wird wieder mit Null-Bytes aufgefüllt. in dem der Computer normalerweise betrieben wird. B. die zu den fremden Netzen gehören. site-local Pakete mit diesem Adresstyp dürfen zwischen einzelnen Subnetzen geroutet werden. Eines davon kann mithilfe der MAC-Adresse und einem bekannten Präfix vollautomatisch konfiguriert werden. um Hosts im selben Subnetz anzusprechen. sollte er sich in einem anderen Netz befinden. Die Home-Adresse ist statisch und wird in der Regel nicht verändert. sodass gleich nach Aktivierung von IPv6 alle Hosts im lokalen Netz über Link-local-Adressen erreichbar sind. Bewegt sich ein Host zwischen mehreren Netzen hin und her. Das hat den Vorteil. aber nicht außerhalb einer Organisation ins Internet gelangen. Diese Adressen heißen Care-of-Adressen. Alle Pakete. seine Home-Adresse. Diese Funktion wird in einer IPv6-Umgebung vom Home-Agenten übernommen. die für diesen Host bestimmt sind. Durch die MAC-Adresse als Bestandteil der IP-Adresse ist jede dieser Adressen global eindeutig. Neben einem definierten Präfix (fec0::/10) und der Schnittstellen-ID enthalten diese Adressen ein 16-Bit-Feld. Solche Adressen werden für Intranets eingesetzt und sind ein Äquivalent zu den privaten IPv4-Adressen. die an seine Home-Adresse gerichtete Pakete nachsendet. je nachdem in welchem Netz dieser Host aktuell zu erreichen ist. in dem die SubnetzID kodiert ist. Zusätzlich gibt es in IPv6 eine grundsätzlich neue Funktion: Einer Netzwerkschnittstelle werden üblicherweise mehrere IP-Adressen zugewiesen. Möglich wird die Zustellung im Fremdnetz über wesentliche Neuerungen des IPv6-Protokolls. Im Heimatnetz des mobilen Rechners muss eine Instanz vorhanden sein. Router dürfen Pakete mit solcher Ziel. Er stellt alle 358 Referenz . Der Mittelteil der Adresse besteht aus Null-Bytes. werden ihm sowohl im eigenen als auch in fremden Netzen zugestellt. dass mehrere verschiedene Netze zur Verfügung stehen. Die eine. Stateless Autoconfiguration und Neighbor Discovery. Diese Adressen zeichnen sich durch ein spezielles Präfix (fe80::/10) und die Schnittstellen-ID der Netzwerkkarte aus. und das entsprechende Präfix.link-local Dieser Adresstyp ist ausschließlich für den Gebrauch im lokalen Subnetz bestimmt.oder Quelladresse nicht an das Internet oder andere Subnetze weiterreichen. in denen er sich bewegt. braucht er mindestens zwei Adressen. Der mobile Rechner hat neben seiner HomeAdresse eine oder mehrere weitere Adressen. beinhaltet neben der Schnittstellen-ID die Informationen zu dem Heimatnetz. Diese Art Adresse wird von den Autokonfigurationsmethoden verwendet. z.

Aus diesem Grund wurden für IPv6 drei verschiedene Verfahren entwickelt.3 Koexistenz von IPv4 und IPv6 Die Migration aller mit dem Internet verbundenen Hosts von IPv4 auf IPv6 wird nicht auf einen Schlag geschehen. um die Menge der zum täglichen vernetzten Arbeiten nötigen Tunnel aufzubauen und zu verwalten. Hierbei müssen die Pakete die IPv6-Zieladresse (oder das entsprechende Präfix) und die IPv4-Adresse des entfernten Hosts am Tunnelendpunkt enthalten.Pakete. um sie über ein IPv4Netzwerk transportieren zu können. riesiges LAN (Local Area Network). Einfache Tunnel können von den Administratoren zwischen ihren Netzwerken manuell und nach Absprache konfiguriert werden. Ein solches Tunneling wird statisches Tunneling genannt. Nachteile dieser Methode sind die schlechte Skalierbarkeit und die Tatsache. wenn beide Protokolle im Dual Stack-Verfahren implementiert sind. Grundlegendes zu Netzwerken 359 . Es bleibt aber die Frage. in dem Multicasting aktiviert ist. Beim Tunneling werden IPv6-Pakete in IPv4-Pakete verpackt. Einzelne IPv6-Hosts im (weltweiten) IPv4-Netz tauschen ihre Daten über Tunnel aus. Die zugrunde liegenden Spezifikationen sind in RFC 2529 enthalten. 18. die als Zieladresse die Care-of-Adresse tragen. wie IPv6-Rechner mit IPv4-Rechnern kommunizieren können und wie IPv6-Pakete über die momentan noch vorherrschenden IPv4-Netze transportiert werden sollen. Trotzdem reicht manuelles Tunneling oft nicht aus. IPv6 wird vorgespiegelt. Tunneling und die Verwendung von Kompatibilitätsadressen (siehe Abschnitt 18. So wird der IPv4-Endpunkt des Tunnel automatisch ermittelt. Diese Lösung eignet sich für kleinere Netzwerke. Die Koexistenz auf einem Rechner ist dann möglich. Ein Tunnel ist definiert als die Verbindung zwischen zwei IPv4-Endpunkten. die das dynamische Tunneling erlauben: 6over4 IPv6-Pakete werden automatisch in IPv4-Pakete verpackt und über ein IPv4Netzwerk versandt. „Adresstypen und -struktur“ (S. die an die Home-Adresse des mobilen Rechners gerichtet sind.2. Vielmehr werden das alte und das neue Protokoll noch eine ganze Weile nebeneinanderher existieren. dass IP-Multicasting keineswegs im gesamten Internet verfügbar ist. können ohne Umweg über den Home-Agenten zugestellt werden. über einen Tunnel zu.2. das gesamte Netzwerk (Internet) sei ein einziges. 354)) sind hier die besten Lösungen. Pakete. die die Möglichkeit von IP-Multicasting bieten.2.

die von Programmierern und ISPs genutzt werden kann. Geben Sie hierzu den Befehl modprobe ipv6 als root ein. Diese Methode wird in RFC 3053 beschrieben. Allerdings gibt es einige Probleme. Dies ist das 6Bone-Netzwerk (http://www. Bei Netzwerkroutern kann von der Arbeitsstation unter Verwendung des Router-Advertisement-Protokolls abgefragt werden. die die Kommunikation zwischen den isolierten IPv6-Hosts und dem Internet betreffen. Dieses Programm informiert die Arbeitsstationen darüber. Diese Methode wird in RFC 3056 beschrieben. Weitere Informationen finden Sie auf den Projektseiten von 6Bone im Internet. So können isolierte IPv6-Hosts über ein IPv4-Netz miteinander kommunizieren. die IPv6-basierte Dienste entwickeln und anbieten möchten. 360 Referenz . IPv6 Tunnel Broker Dieser Ansatz sieht spezielle Server vor.6to4 Bei dieser Methode werden automatisch IPv4-Adressen aus IPv6-Adressen generiert. welches Präfix und welche Router für die IPv6Adressen verwendet werden sollen.net). WICHTIG: Die 6Bone-Initiative Mitten im „altmodischen“ Internet existiert ein weltweit verteiltes Netzwerk von IPv6-Subnetzen. müssen Sie auf den einzelnen Arbeitsstationen in der Regel keine Änderungen vornehmen. welches Präfix und welche Gateways implementiert werden sollen. Zum Einrichten eines IPv6-Routers kann das radvd-Programm verwendet werden. um Erfahrungen mit dem neuen Protokoll zu sammeln. In der Regel werden RoutingTabellen nicht auf Arbeitsstationen verwaltet.2. Alternativ können Sie die Adressen und das Routing auch mit zebra automatisch konfigurieren. Aufgrund des Konzepts der automatischen Konfiguration von IPv6 wird der Netzwerkkarte eine Adresse im Link-local-Netzwerk zugewiesen. die für IPv6 automatisch dedizierte Tunnel anlegen.4 IPv6 konfigurieren Um IPv6 zu konfigurieren. eine IPv6-Testumgebung. Dazu muss jedoch die IPv6-Unterstützung geladen werden. 18. die über Tunnel miteinander verbunden sind.6bone.

ipv6.ngnet. in dem alle wichtigen Aspekte zum Thema enthalten sind.5 Weitere Informationen Das komplexe IPv6-Konzept wird im obigen Überblick nicht vollständig abgedeckt.2. nennt sich Namenserver.it/e/cosa-ipv6.de/linux/IPv6/ Hier finden Sie den Beitrag „Linux IPv6 HOWTO“ und viele verwandte Links zum Thema. Der Computer. http://www.Weitere Informationen zum Einrichten der unterschiedlichen Tunneltypen mithilfe der Dateien im Verzeichnis /etc/sysconfig/network finden Sie auf der Manualpage „ifup(8)“. Dabei bilden die Namen Grundlegendes zu Netzwerken 361 . RFC 2640 Die grundlegenden IPv6-Spezifikationen. IPv6 Essentials Ein Buch. wenn Sie eine Verbindung zu einem getunnelten IPv6Netzwerk benötigen.3 Namensauflösung Mithilfe von DNS kann eine IP-Adresse einem oder sogar mehreren Namen zugeordnet werden und umgekehrt auch ein Name einer IP-Adresse.6bone.org/ Alles rund um IPv6. Unter Linux erfolgt diese Umwandlung üblicherweise durch eine spezielle Software namens bind. 18. ist IPv6 Essentials von Silvia Hagen (ISBN 0-596-00125-8). Weitere ausführliche Informationen zu dem neuen Protokoll finden Sie in den folgenden Online-Dokumentationen und -Büchern: http://www. http://www.php Eine Artikelserie mit einer gut geschriebenen Einführung in das IPv6-Konzept. 18. http://www.net/ Besuchen Sie diese Site. der diese Umwandlung dann erledigt.bieringer. Eine gute Grundlage für das Thema.

der so genannte Mail Exchanger (MX). earth. Das Einwahlprotokoll liefert die Adresse des Namenservers bei der Einwahl gleich mit. in dem die einzelnen Namensbestandteile durch Punkte getrennt sind. Die Root-Namenserver verwalten die Domänen der obersten Ebene (Top Level Domains) und werden vom Network Information Center (NIC) verwaltet. Der Root-Namenserver kennt die jeweils für eine Top Level Domain zuständigen Namenserver. hält also nicht die Daten aller Computer im Internet vorrätig.wieder ein hierarchisches System. sondern kann Anfragen an ihm nachgeschaltete. muss ihm mindestens ein Namenserver mit einer IP-Adresse bekannt sein. dass die manuelle Konfiguration eines Namenservers nicht erforderlich ist. geschrieben im Format hostname. andere Namenserver weiterdelegieren. .name. Die Konfiguration des Namenserverzugriffs unter SUSE Linux ist in Kapitel 20. . An der Spitze der Hierarchie befinden sich die Root-Namenserver. Falls Sie eine Einwahl über Modem vornehmen. kann es sein. Das Domain Name System (DNS) (S. die die Hostnamen verteilt speichern kann.domain. Dies erwies sich bei der schnell wachsenden Menge der mit dem Internet verbundenen Computer als unpraktikabel. B. Die Konfiguration eines Namenservers erledigen Sie komfortabel mithilfe von YaST. Damit auch Ihr Rechner einen Namen in eine IP-Adresse auflösen kann.museum).net. Deshalb wurde eine dezentralisierte Datenbank entworfen. Ein Bestandteil des Domänennamens ist die Top Level Domain oder TLD (com). Schauen wir uns einmal einen vollständigen Namen an. So werden in den USA traditionell dreibuchstabige TLDs verwendet. woanders aber immer die aus zwei Buchstaben bestehenden ISO-Länderbezeichnungen.com). Diese Datenbank.example. z. Seit 2000 stehen zusätzliche TLDs für spezielle Sachgebiete mit zum Teil mehr als drei Buchstaben zur Verfügung (z. 362 Referenz .com. in der die Namen aller im Internet vertretenen Rechner gespeichert waren.info. .internic. Ein vollständiger Name. Die Namenshierarchie ist aber unabhängig von der oben beschriebenen Hierarchie der IP-Adressen. Aus historischen Gründen ist die Zuteilung der TLDs etwas verwirrend. 399) beschrieben. der als Fully Qualified Domain Name oder kurz als FQDN bezeichnet wird. eben jener oben erwähnte Namenserver. In der Frühzeit des Internets (vor 1990) gab es die Datei/etc/hosts. besteht aus einem Hostund einem Domänennamen (example. DNS kann noch mehr als nur Hostnamen auflösen. Der Namenserver weiß auch. welcher Host für eine ganze Domäne E-Mails annimmt. Weitere Informationen zu TLD-NICs finden Sie unter http://www. B.

378). Detaillierte Informationen zu NetworkManager finden Sie in Abschnitt 18. 18.4 Konfigurieren von Netzwerkverbindungen mit YaST Unter Linux gibt es viele unterstützte Netzwerktypen. Wenn Sie Ihr Netzwerk auf traditionelle Weise mit YaST konfigurieren möchten. Einen detaillierten Überblick über die Aspekte der manuellen Netzwerkkonfiguration finden Sie in Abschnitt 18. Mit dem gleichnamigen Programm whois können Sie schnell ermitteln. Zusätzliche Hardware kann nach Abschluss der Installation jederzeit konfiguriert werden. aktivieren Sie Benutzergesteuert mithilfe von NetworkManager. ob YaST oder NetworkManager für die Verwaltung all Ihrer Netzwerkgeräte verwendet werden soll. aktivieren Sie Traditionelle Methode mit ifup. 375). Entscheiden Sie. 18. Nicht erkannte Geräte können über Hinzufügen wie in „Manuelle Konfiguration einer nicht erkannten Netzwerkkarte“ (S. 364) beschrieben konfiguriert werden. Während der Installation können sämtliche erkannte Schnittstellen mit YaST automatisch konfiguriert werden.5. Die meisten von diesen verwenden unterschiedliche Gerätenamen und die Konfigurationsdateien sind im Dateisystem an unterschiedlichen Speicherorten verteilt. Um NetworkManager zu verwenden. Grundlegendes zu Netzwerken 363 . „Manuelle Netzwerkkonfiguration“ (S. In den folgenden Abschnitten wird die Netzwerkkonfiguration für alle von SUSE Linux unterstützten Netzwerkverbindungen beschrieben. Alle ordnungsgemäß erkannten Karten werden mit ihren Namen aufgeführt.6. Im oberen Teil der traditionellen Konfiguration wird eine Liste mit allen für die Konfiguration verfügbaren Netzwerkkarten angezeigt. „Verwalten der Netzwerkverbindungen mit NetworkManager“ (S. wer für eine bestimmte Domäne verantwortlich ist.1 Konfigurieren der Netzwerkkarte mit YaST Nach dem Starten des YaST-Moduls gelangen Sie in eine allgemeine Übersicht zur Netzwerkkonfiguration.4.Eng verwandt mit DNS ist das Protokoll whois. Konfigurieren Sie eine neue Netzwerkkarte oder ändern Sie die Konfiguration eines bereits konfigurierten Geräts.

nehmen Sie folgende Grundeinstellungen vor: Netzwerkkonfiguration Wählen Sie den Gerätetyp der Schnittstelle aus und legen Sie den Konfigurationsnamen fest. Schließen Sie das Dialogfeld mit Weiter. Wählen Sie anderenfalls über die Option Auswahl aus Liste das Modell Ihrer Netzwerkkarte aus.Manuelle Konfiguration einer nicht erkannten Netzwerkkarte Zur Konfiguration einer Netzwerkkarte. wenn die Karte mit dem Konfigurationsnamen 0 konfiguriert ist. Für alle anderen Hardwarekomponenten ist hwcfg-static-0 nur dann sinnvoll. aktivieren Sie die entsprechenden Kontrollkästchen und schließen Sie das Dialogfeld durch Klicken auf Weiter. YaST wählt dann automatisch das geeignete Kernelmodul für die Karte aus. die nicht erkannt wurde. Informationen zu den Namenskonventionen für Konfigurationsnamen finden Sie auf der Manualpage getcfg(8).oder USB-Gerät handelt. Dazu gehören der Name des entsprechenden Kernelmoduls sowie die zum Initialisieren der Hardware erforderlichen Optionen.und USB-Hardware in den meisten Fällen sinnvolle Namen vor. in der die Hardware-Einstellungen der Netzwerkkarte enthalten sind. Wenn es sich bei der Netzwerkkarte um ein PCMCIA. YaST schlägt für PCMCIA. 364 Referenz . Kernelmodul Name der Hardwarekonfiguration gibt den Namen der Datei /etc/sysconfig/ hardware/hwcfg-* an.

Eine ausführliche Beschreibung der Konfiguration von WLAN-Karten finden Sie in Abschnitt 34. Wählen Sie den Gerätetyp aus. können Sie sich von dort automatisch die Konfigurationsdaten Ihrer Netzwerkkarte übermitteln lassen. konfigurieren Sie im nächsten Dialogfeld Konfiguration der drahtlosen Netzwerkkarte den Betriebsmodus.Abbildung 18. „Konfiguration mit YaST“ (S. Den Konfigurationsnamen können Sie nach Bedarf festlegen. Informationen zu den Namenskonventionen für Konfigurationsnamen finden Sie auf der Manualpage getcfg(8).3. 661). Klicken Sie auf OK. Diese Option sollten Sie auch aktivieren. den Netzwerknamen (ESSID) und die Verschlüsselung. Die Voreinstellungen sind in der Regel sinnvoll und können übernommen werden. Wenn Sie als Gerätetyp der Schnittstelle Drahtlos gewählt haben.3 Konfiguration der Netzwerkkarte Festlegen der Netzwerkadresse Legen Sie den Gerätetyp der Schnittstelle und den Konfigurationsnamen fest. Für alle anderen Schnittstellentypen fahren Sie mit der Art der Adressvergabe für Ihre Netzwerkkarte fort: Automatische Adressenkonfiguration (mit DHCP) Wenn Ihr Netzwerk einen DHCP-Server enthält.1. um die Konfiguration der Karte abzuschließen. wenn Sie eine DSL-Leitung verwenden. Ihr ISP Ihnen Grundlegendes zu Netzwerken 365 .

2 Modem Im YaST-Kontrollzentrum finden Sie unter Netzwerkgeräte die Modem-Konfiguration. Im mobilen Einsatz erlaubt dies dem Benutzer. öffnen Sie das Dialogfeld für die manuelle Konfiguration. Wenn Sie DHCP nutzen möchten. In einer virtuellen Hostumgebung. werden diese anhand einer Kennung unterschieden. Legen Sie fest. Konfiguration der statischen Adresse Aktivieren Sie diese Option. 18. dass sie für ein typisches Heimnetz ausreicht. Schließen Sie dieses Dialogfeld. maximale Übertragungsgröße) und der Typ der Geräte-Aktivierung können ebenfalls in diesem Dialogfeld festgelegt werden. die Steuerung der Netzwerkkarte vom Administrator (root) an den normalen Benutzer zu delegieren. Die MTU (Maximum Transmission Unit. Außerdem können Sie optional eine Kennung angeben. Erweitert ermöglicht das Festlegen komplexerer Einstellungen. mit der das Modem verbunden ist. in der unterschiedliche Hosts über dieselbe Schnittstelle kommunizieren. Geben Sie anschließend die Adresse und Subnetzmaske für das Netzwerk ein. indem Sie Weiter wählen. Unter Besondere Einstellungen bietet die Option Benutzergesteuert die Möglichkeit. da er dann das Aktivieren oder Deaktivieren der Schnittstelle selbst steuern kann. Schnittstellen werden von DHCP-Servern standardmäßig anhand der Hardware-Adresse der Netzwerkkarte identifiziert. Geben Sie in diesem Dialogfeld unter Modem die Schnittstelle an. Falls die automatische Erkennung fehlschlägt. wenn Sie eine statische Adresse haben. die Netzwerkverbindungen schneller zu wechseln. ob der DHCP-Server immer auf Broadcast-Anforderungen antworten soll. 366 Referenz . oder fahren Sie mit der Konfiguration des Hostnamens.4. des Namenservers und der Routing-Details fort (siehe Abschnitte zu DNS-Server (↑Start) und Routing (↑Start)). gelangen Sie über die Option Optionen für DHCP-Client zur Client-Konfiguration.aber keine statische IP-Adresse zugewiesen hat. Die Voreinstellung für die Subnetzmaske ist so gewählt.

Auf diese Weise kann ein Benutzer ohne Administratorberechtigungen eine Schnittstelle aktivieren oder deaktivieren. Dies ist in der Regel die Null. Wenn dieses Feld leer ist. aktivieren Sie Benutzergesteuert. Ändern Sie die vorhandenen Einstellungen nur. müssen Sie ggf. Grundlegendes zu Netzwerken 367 . Wenn Sie Ihren Provider aus einer Liste der für Ihr Land verfügbaren Provider auswählen möchten. Sie können diese aber auch in der Bedienungsanleitung der Telefonanlage finden. wenn Ihr Modem an einer Telefonanlage angeschlossen ist. wenn das Modem nicht automatisch erkannt wird oder es spezielle Einstellungen für die Datenübertragung benötigt. kann ein Benutzer ohne Administratorberechtigungen keine andere Vorwahl festlegen. Geben Sie unter Regulärer Ausdruck für Vorwahl zur Amtsholung einen regulären Ausdruck an. Letztere Option sollte nicht verwendet werden. Wählen Sie im folgenden Dialogfeld den ISP (Internet Service Provider). Legen Sie unter Details die Baudrate und die Zeichenketten zur Modeminitialisierung fest. Dies ist vor allem bei ISDN-Terminaladaptern der Fall. der Lautsprecher eingeschaltet und der Wählton abgewartet werden soll. Zudem können Sie festlegen.4 Modemkonfiguration Wenn eine Telefonanlage zwischengeschaltet ist.Abbildung 18. ob Tonoder Impulswahl verwendet. eine Vorwahl für die Amtsholung eingeben. Schließen Sie das Dialogfeld mit OK. Um die Steuerung des Modems an den normalen Benutzer ohne root-Berechtigungen zu delegieren. Dieser muss der vom Benutzer unter Dial Prefix (Vorwahl) in KInternet bearbeitbaren Vorwahl entsprechen.

in dem Sie die Daten Ihres ISPs eingeben können. Ignoranz-Modus Diese Option ist standardmäßig aktiviert. deaktivieren Sie die Option Dynamische IP-Adresse und geben Sie die lokale IP-Adresse des Hosts und anschließend die entfernte IP-Adresse ein. um ein Dialogfeld zu öffnen. Im letzten Dialogfeld können Sie zusätzliche Verbindungsoptionen angeben: Dial-On-Demand Wenn Sie diese Option aktivieren. Diese Informationen erhalten Sie von Ihrem ISP. müssen Sie mindestens einen Namenserver angeben. Aktivieren Sie Immer Passwort abfragen. nach welchem Zeitraum der Netzwerkinaktivität die Modemverbindung automatisch getrennt wird. d. Während Verbindung DNS ändern Diese Option ist standardmäßig aktiviert. Wenn Ihr ISP Ihrem Host keine dynamische IP-Adresse zuweist. Lassen Sie die Option Standard-Route aktiviert und schließen Sie das Dialogfeld mit OK. h. DNS automatisch abrufen Wenn der Provider nach dem Herstellen der Verbindung seinen DNS-Server nicht überträgt. die Adresse des Namenservers wird bei jeder Verbindung mit dem Internet automatisch aktualisiert. Idle-Time-Out (Sekunden) Mit dieser Option legen Sie fest.aktivieren Sie Land. 368 Referenz . IP-Details Diese Option öffnet das Dialogfeld für die Adresskonfiguration. Eingabeaufforderungen vom ISP-Server werden ignoriert. damit immer eine Passwortabfrage erfolgt. Sie können auch auf Neu klicken. wenn Sie eine Verbindung herstellen. um den Verbindungsaufbau zu erleichtern. Dazu gehören ein Name für die Einwahlverbindung und den ISP sowie die vom ISP zur Verfügung gestellten Benutzerund Kennwortdaten für die Anmeldung. Externe Firewall-Schnittstelle und Firewall neu starten Mit diesen Optionen aktivieren Sie SUSEfirewall2 und sind für die Dauer der Internetverbindung vor Angriffen von außen geschützt. deaktivieren Sie diese Option und geben Sie die DNS-Daten manuell ein.

aber für ältere oder größere Telefonanlagen wählen Sie 1TR6. in dem eine Zusammenfassung der Modemkonfiguration angezeigt wird.3 ISDN Dieses Modul ermöglicht die Konfiguration einer oder mehrerer ISDN-Karten in Ihrem System.Durch Auswahl von Weiter gelangen Sie zum ursprünglichen Dialogfeld zurück. im Normalfall ist dies aber nicht notwendig. da Sie für eine Schnittstelle mehrere Provider einrichten können. Abbildung 18.5. Grundlegendes zu Netzwerken 369 . Die nachfolgenden Dialogfelder dienen dann dem Festlegen der verschiedenen ISDNOptionen für den ordnungsgemäßen Betrieb der Karte. Geben Sie dann noch die Ortsnetzkennzahl und ggf.5 ISDN-Konfiguration Wählen Sie im nächsten Dialogfeld. Theoretisch können Sie mehrere Schnittstellen einrichten. Schließen Sie dieses Dialogfeld mit Beenden. 18. das zu verwendende Protokoll. „ISDN-Konfiguration“ (S. wählen Sie sie manuell aus. Der Standard ist Euro-ISDN (EDSS1). die Vorwahl zur Amtsholung ein. Die entsprechende Landeskennung wird im Feld daneben angezeigt.4. Wenn YaST Ihre ISDN-Karte nicht erkennt. das in Abbildung 18. Für die USA gilt NI1. 369) dargestellt ist. Wählen Sie das Land in dem dafür vorgesehenen Feld aus.

Falls hot-plugged wird für PCMCIA. die Sie unter Eigene Telefonnummer eingeben. allerdings ohne Ortsnetzkennzahl. Sollten Sie eine falsche Nummer 370 Referenz . Im nächsten Dialogfeld können Sie den Schnittstellentyp für die ISDN-Karte angeben und weitere ISPs zu einer vorhandenen Schnittstelle hinzufügen. klicken Sie auf OK. der im Folgenden beschrieben wird.oder USB-Geräte verwendet. wie die ISDN-Schnittstelle gestartet werden soll: Bei Systemstart bewirkt. Die meisten ISPs verwenden jedoch den SyncPPP-Modus. Schnittstellen können in den Betriebsarten SyncPPP oder RawIP angelegt werden. ist vom jeweiligen Anschlussszenario abhängig: ISDN-Karte direkt an der Telefondose Eine standardmäßige ISDN-Leitung bietet Ihnen drei Rufnummern (sogenannte MSNs. Diese Option lädt den Treiber. Manuell erfordert. Wenn Sie alle Einstellungen vorgenommen haben. Multiple Subscriber Numbers). dass Sie den ISDN-Treiber als root mit dem Befehl rcisdn start laden. Abbildung 18.Startmodus legt fest. nachdem das Gerät eingesteckt wurde. dass der ISDN-Treiber bei jedem Systemstart initialisiert wird. Auf Wunsch können (auch) bis zu zehn Rufnummern zur Verfügung gestellt werden. Eine dieser MSNs muss hier eingegeben werden.6 Konfiguration der ISDN-Schnittstelle Die Nummer.

Kleinere Telefonanlagen für den Hausgebrauch verwenden für interne Anrufe in der Regel das Euro-ISDN-Protokoll (EDSS1). Eine der möglichen MSNs Ihrer Telefonanlage sollte funktionieren. Größere Telefonanlagen (z. wird Ihr Netzbetreiber die erste Ihrem ISDN-Anschluss zugeordnete MSN verwenden. Diese Telefonanlagen haben einen internen S0-Bus und verwenden für die angeschlossenen Geräte interne Rufnummern. 2. Die MSN heißt hier EAZ und ist üblicherweise die Durchwahl. aktivieren Sie ChargeHUP. das für die Implementierung komplexerer Verbindungsszenarien ausgelegt und aus diesem Grund für normale Heimbenutzer nicht relevant ist. Wenn die Verbindung vor der nächsten zu zahlenden Gebühreneinheit getrennt werden soll. Um dem normalen Benutzer ohne Administratorberechtigung das Aktivieren oder Deaktivieren der Schnittstelle zu ermöglichen. Weitere Informationen dazu entnehmen Sie bitte der Dokumentation Ihrer Telefonanlage. Anderenfalls tragen Sie gemäß den Angaben Ihres Providers die lokale IP-Adresse Ihres Rechners sowie die entfernte IP-Adresse in die dafür vorgesehenen Felder ein. Im nächsten Dialogfeld legen Sie die Einstellungen für die Vergabe der IP-Adressen fest. Für die Angabe der MSN verwenden Sie eine der internen Rufnummern. in Unternehmen) verwenden für die internen Anschlüsse das Protokoll 1TR6. Wenn Ihr Provider Ihnen keine statische IP-Adresse zugewiesen hat. indem Sie Externe Firewall-Schnittstelle und Firewall neu starten auswählen. Details öffnet ein Dialogfeld.eintragen. Durch Auswahl der entsprechenden Option können Sie auch die Kanalbündelung (Multilink-PPP) aktivieren. dass jeweils nur eine Schnittstelle Grundlegendes zu Netzwerken 371 . Im Notfall funktioniert eventuell auch eine einzelne Null. B. wählen Sie Benutzergesteuert. ISDN-Karte an einer Telefonanlage Auch hier kann die Konfiguration je nach installierten Komponenten variieren: 1. wählen Sie Dynamische IP-Adresse. aktivieren Sie Standard-Route. Für die Konfiguration unter Linux ist die Eingabe der letzten drei Stellen der EAZ in der Regel ausreichend. Im Notfall probieren Sie die Ziffern 1 bis 9. Dies funktioniert unter Umständen jedoch nicht mit jedem ISP. Beachten Sie. Soll die anzulegende Schnittstelle als Standard-Route ins Internet dienen. Schließen Sie das Dialogfeld Details mit OK. Sie können SuSEfirewall2 für die Verbindung aktivieren. sofern für diese der Zugriff nach außen freigeschaltet ist.

Bei einer Einzelplatz-Arbeitsstation müssen Sie dennoch eine Platzhalteradresse wie 192.168. Bestätigen Sie die Einstellungen mit Weiter. Wählen Sie zum Aktivieren dieser Einstellungen Beenden. Schließen Sie das Dialogfeld mit Weiter. Dadurch wird das Dialogfeld ProviderParameter geöffnet. Die Telefonnummer darf keine Leerzeichen oder Kommas enthalten. Um auf einer Einzelplatz-Arbeitsstation Dial-On-Demand verwenden zu können.4. Ferner können Sie festlegen. Bei den in der Liste aufgeführten ISPs handelt es sich um Call-By-Call-Provider. Die meisten Provider verwenden heute DHCP.99 angeben. Wenn Ihr ISP in der Liste nicht aufgeführt ist. d. in dem Sie alle Details zu Ihrem ISP eingeben können. B. das auf der einen Seite an die TV-Kabelbuchse und auf der anderen Seite (mit einem 10Base-TG Twisted-Pair-Kabel) an die Netzwerkkarte des Computers angeschlossen wird. Wählen Sie anschließend Weiter. h. z. Der TV-Kabel-Abonnent erhält in der Regel ein Modem. wählen Sie Neu.pro System als Standard-Route in Frage kommt. beim Verbindungsaufbau wird die IP-Adresse eines Namenservers übergeben. Im folgenden Dialogfeld können Sie Ihr Land angeben und einen ISP wählen.22. müssen Sie auf jeden Fall den Namenserver (DNS-Server) angeben.4 Kabelmodem In einigen Ländern. Geben Sie dann den Benutzernamen und das Passwort ein. Die meisten Provider unterstützen heute die dynamische DNS-Vergabe. Wenn Ihr ISP keine dynamischen DNS-Namen unterstützt. Das Kabelmodem stellt dann eine dedizierte Internetverbindung mit einer statischen IP-Adresse zur Verfügung. tragen Sie die IP-Adressen der Namenserver des ISPs ein. dass der Zugriff auf das Internet über TV-Kabelnetzwerke erfolgt. ist es nicht ungewöhnlich. nach wie vielen Sekunden die Verbindung automatisch getrennt werden soll. YaST zeigt eine Zusammenfassung der konfigurierten Schnittstellen an. das Sie von Ihrem ISP erhalten haben. den bzw. Wählen Sie beim Konfigurieren der Netzwerkkarte je nach Anweisungen Ihres ISPs entweder Automatische Adressenkonfiguration (mit DHCP) oder Konfiguration der statischen Adresse. 372 Referenz . in Österreich und in den USA. falls in der Zwischenzeit kein Datenaustausch stattgefunden hat. 18. Eine statische IPAdresse ist oft Teil eines speziellen Firmenkontos.

Deshalb dürfen Sie auch nicht die Option Automatische Adressenkonfiguration (mit DHCP) aktivieren. B. „Konfigurieren der Netzwerkkarte mit YaST“ (S.Österreich Beachten Sie bitte. Sie haben für den Verbindungsaufbau mit DSL keine Bedeutung und werden nur zur Initialisierung der Netzwerkkarte benötigt. Die automatische IP-Adressvergabe erfolgt bei DSL zwar automatisch. Falls dies nicht schon geschehen ist.4.168. Dieses YaST-Modul besteht aus mehreren Dialogfeldern. z. Wenn Sie eine Einzelplatz-Arbeitsstation konfigurieren. in denen Sie die Parameter des DSL-Zugangs basierend auf den folgenden Protokollen festlegen können: • PPP über Ethernet (PPPoE) • PPP über ATM (PPPoATM) • CAPI für ADSL (Fritz-Karten) • Tunnel-Protokoll für Point-to-Point (PPTP) . Geben Sie unter Subnetzmaske 255. Geben Sie stattdessen eine statische Dummy-Adresse für die Schnittstelle ein. dass die Konfiguration Ihres DSL-Zugangs mit PPPoE und PPTP eine korrekte Konfiguration der Netzwerkkarte voraussetzt. TIPP Die Werte in den Feldern IP-Adresse und Subnetzmaske sind lediglich Platzhalter.18. aber nicht mit dem DHCP-Protokoll. lassen Sie das Feld Standard-Gateway leer.255. 363)) auswählen. konfigurieren Sie zunächst die Karte.1.4.22.5 DSL Wählen Sie zum Konfigurieren des DSL-Geräts das YaST-Modul DSL unter Netzwerkgeräte aus.255.1.0 ein. indem Sie Netzwerkkarten konfigurieren (siehe Abschnitt 18. Grundlegendes zu Netzwerken 373 . 192.

beim Verbindungsaufbau wird die IP-Adresse eines Namenservers übergeben. In diesem Dialogfeld können Sie außerdem Ihr Land und einen der dort ansässigen ISPs auswählen. Geben Sie anschließend unter Geräte-Aktivierung an. müssen Sie auf jeden Fall den Namenserver (DNS-Server) angeben. ob die DSL-Verbindung schon beim Booten des Systems gestartet werden soll. h.Abbildung 18. mit der das DSL-Modem verbunden ist (in den meisten Fällen ist dies eth0).168.7 DSL-Konfiguration Zu Beginn der DSL-Konfiguration (siehe Abbildung 18. Wenn Ihr ISP keine dynamische DNS-Namen unterstützt.7. d.99 angeben. 374)) wählen Sie zunächst den PPP-Modus und die Ethernetkarte. Bei einer Einzelplatz-Arbeitsstation müssen Sie jedoch eine Platzhalteradresse wie 192. Um auf einer Einzelplatz-Arbeitsstation Dial-On-Demand verwenden zu können. tragen Sie die IP-Adressen der Namenserver des ISPs ein. um dem normalen Benutzer ohne root-Berechtigungen das Aktivieren und Deaktivieren der Schnittstelle mit KInternet zu ermöglichen. 374 Referenz . Die meisten Provider unterstützen heute die dynamische DNS-Vergabe. „DSL-Konfiguration“ (S. Die Inhalte der danach folgenden Dialogfelder der DSL-Konfiguration hängen stark von den bis jetzt festgelegten Optionen ab und werden in den folgenden Abschnitten daher nur kurz angesprochen.22. Klicken Sie auf Benutzergesteuert. Weitere Informationen zu den verfügbaren Optionen erhalten Sie in der ausführlichen Hilfe in den einzelnen Dialogfeldern.

die Benutzerkennung und Ihr Passwort. Hier sind Werte zwischen 60 und 300 Sekunden empfehlenswert. müssen Sie die Netzwerkressource in der SCPM-Konfiguration deaktivieren.5 Verwalten der Netzwerkverbindungen mit NetworkManager NetworkManager ist die ideale Lösung für eine mobile Arbeitsstation. nach welchem Zeitraum der Netzwerkinaktivität die Verbindung automatisch getrennt wird. Wenn Dial-On-Demand deaktiviert ist. Diese Informationen finden Sie in den T-DSLAnmeldeunterlagen. NetworkManager stellt automatisch Verbindungen mit den ihm bekannten WLAN-Netzwerken her.Idle-Timeout (Sekunden) definiert. Bei zwei oder gar mehreren Verbindungsmöglichkeiten stellt NetworkManager die Verbindung zum schnelleren Netzwerk her. das Zeitlimit auf Null zu setzen. um das automatische Trennen der Verbindung zu vermeiden. die T-Online-Nummer. Möchten Sie SCPM und NetworkManager zur gleichen Zeit verwenden. Die Konfiguration von T-DSL erfolgt ähnlich wie die DSL-Konfiguration. ANMERKUNG: NetworkManager und SCPM Verwenden Sie NetworkManager nicht gemeinsam mit SCPM. In diesem Dialogfeld geben Sie einige zusätzliche Informationen ein. die für T-DSL erforderlich sind: die Anschlusskennung. wenn die Netzwerkeinstellungen durch SCPM-Profile geändert werden. In den folgenden Fällen ist NetworkManager ungeeignet: • Ihr Computer hat eine statische Adresse • Sie möchten für eine Schnittstelle mehrere Einwahlanbieter verwenden • Sie möchten Ihre WLAN-Verbindung mit WPA-EAP verschlüsseln Grundlegendes zu Netzwerken 375 . Durch Auswahl von T-Online als Provider gelangen Sie in das YaST-Konfigurationsdialogfeld für T-DSL. 18. kann es hilfreich sein. Wenn Sie viel unterwegs sind und NetworkManager verwenden. brauchen Sie keine Gedanken mehr an die Konfiguration von Netzwerkschnittstellen und den Wechsel zwischen Netzwerken zu verschwenden.

werden Details angezeigt.oder DNS-Server) 18.• Ihr Computer ist ein Netzwerk-Router • Ihr Computer stellt Netzwerkdienste für andere Computer in Ihrem Netzwerk bereit (es handelt sich zum Beispiel um einen DHCP. Wenn es ausgeführt wird. starten Sie es mit dem Befehl knetworkmanager.1 Steuern von NetworkManager NetworkManager aktivieren Sie im YaST-Modul Ihres Netzwerkgeräts. aber ihre Schnittstellen sind verschieden. wie der Name. Falls es nicht ausgeführt wird. Da für NetworkManager keine Standardnetzwerkkonfiguration erforderlich ist. Für die erste Verbindung mit einem Netzwerk müssen Sie daher das NetworkManager-Applet verwenden. KNetworkManager wählt automatisch das beste verfügbare Netzwerk aus. wird die YaST-Konfiguration deaktiviert. das Passwort oder der Verschlüsselungsschlüssel. Wählen 376 Referenz . Die Funktionen beider Applets sind ähnlich. werden von NetworkManager automatisch abgefragt. Verschlüsselte drahtlose Netzwerke sind mit einem blauen Schlosssymbol gekennzeichnet. Sie können auch in anderen grafischen Umgebungen verwendet werden. Vom Netzwerk angeforderte Informationen. Ein passendes Applet sollte automatisch mit der Desktopumgebung gestartet werden. Um eine Verbindung mit einem verschlüsselten Netzwerk herzustellen. sowohl für verkabelte als auch für drahtlose Geräte. Wenn Sie mit der rechten Maustaste auf das Symbol klicken. Die zurzeit verwendete Verbindung ist im Menü aktiviert. Sowohl KDE also auch GNOME verfügen über eigene Applets für NetworkManager. Wenn Sie mit dem Cursor auf diese zeigen. Das Applet wird dann als Symbol in der Kontrollleiste angezeigt. kann aber nur automatisch eine Verbindung zu einem bekannten Netzwerk herstellen. Das Menü enthält die verfügbaren Netzwerkverbindungen. Die Signalstärke der drahtlosen Netzwerke wird ebenfalls im Menü angezeigt. Das KNetworkManager-Applet KNetworkManager ist ein KDE-Applet für die Steuerung von NetworkManager. wird das KNetworkManagerMenü mit verschiedenen Befehlen für die Verwaltung der Netzwerkverbindungen geöffnet. die die standardmäßige Kontrollleiste unterstützen. wählen Sie es im Menü aus.5. wird ein blaues Globussymbol in der Kontrollleiste angezeigt.

Wenn es ausgeführt wird. starten Sie die Verbindung durch Klicken auf die zu verwendende Verbindung. Um auf Einwahlverbindungen zuzugreifen. wählen Sie Einwahlverbindungen. wählen Sie Optionen → In OfflineModus wechseln im KNetworkManager-Menü aus. wählen Sie Optionen → Drahtlose Netzwerke deaktivieren im KNetworkManager-Menü. zeigen Sie mit dem Cursor darauf. Falls es nicht ausgeführt wird. Um drahtlose Netzwerkverbindungen zu deaktivieren. Wenn Sie nicht sicher sind. hängt vom Status der Netzwerkverbindung ab. um ein Menü mit verfügbaren Netzwerken anzuzeigen. und geben Sie den passenden Passwortsatz oder Schlüssel ein. wählen Sie Optionen → In Online-Modus wechseln. Wenn bereits Einwahlverbindungen definiert wurden. Hier können Sie eine neue Einwahlverbindung definieren.Sie im nun geöffneten Dialogfeld den Typ der Verschlüsselung. das seinen ESSID (Service Set Identifier) nicht sendet und demzufolge nicht automatisch erkannt werden kann. starten Sie es mit dem Befehl nm-applet. Um die Verbindung wieder zu aktivieren. Um eine Verbindung mit einem verschlüsselten Netzwerk herzustellen. den das Netzwerk verwendet und geben Sie den passenden Passwortsatz oder Schlüssel ein. bis eine Erklärung angezeigt wird. den das Netzwerk verwendet. Verschlüsselte drahtlose Netzwerke sind mit einem blauen Schildsymbol gekennzeichnet. Geben Sie in dem daraufhin angezeigten Dialogfeld den ESSID ein und legen Sie gegebenenfalls die Verschlüsselungsparameter fest. wählen Sie Verbindung zu anderem drahtlosen Netzwerk herstellen. Das Aktivieren der Netzwerke nimmt einige Sekunden in Anspruch. Um eine Verbindung mit einem Netzwerk herzustellen. Die zurzeit verwendete Verbindung ist im Menü aktiviert. Klicken Sie mit der linken Maustaste auf das Applet-Symbol. wählen Sie es im Menü aus. Um eine aktive Netzwerkverbindung zu deaktivieren. Einwahlverbindungen konfigurieren öffnet YaST. Wie das Symbol aussieht. Die Siganalstärke der drahtlosen Netzwerke wird ebenfalls im Menü angezeigt. Um drahtlose Verbindungen erneut zu aktivieren. Grundlegendes zu Netzwerken 377 . was das Symbol bedeutet. Das GNOME-NetworkManager-Applet GNOME verfügt zudem über sein eigenes Applet für NetworkManager. Wählen Sie im nun geöffneten Dialogfeld den Typ der Verschlüsselung. wird ein Symbol in der Kontrollleiste angezeigt. wählen Sie Optionen → Drahtlose Netzwerke aktivieren.

in den folgenden Verzeichnissen: • http://www.Um eine Verbindung mit einem Netzwerk herzustellen. USB und einige PCI-Karten) werden über Hotplug erkannt und konfiguriert. klicken Sie mit der rechten Maustaste auf das Applet-Symbol und wählen Sie Verbindungsinformationen im Menü aus. IPAdresse und Hardwareadresse) abzurufen. Um drahtlose Netzwerkverbindungen zu deaktivieren. Um Informationen zur aktuellen Verbindung (z. 18. B.org/projects/NetworkManager/ (Projektseite von NetworkManager) • http://www. das seinen ESSID (Service Set Identifier) nicht sendet und demzufolge nicht automatisch erkannt werden kann. Die folgenden Hintergrundinformationen zur Netzwerkkonfiguration können Ihnen jedoch auch bei der Arbeit mit YaST behilflich sein. Um Netzwerkverbindungen zu deaktivieren.2 Weitere Informationen Weitere Informationen über NetworkManager und d-bus erhalten Sie auf den folgenden Websites bzw. klicken Sie mit der rechten Maustaste auf das Applet-Symbol und deaktivieren Sie die Option Enable Networking (Netzwerk aktivieren).6 Manuelle Netzwerkkonfiguration Die manuelle Konfiguration der Netzwerksoftware sollte immer die letzte Alternative sein. YaST zu benutzen. klicken Sie mit der rechten Maustaste auf das Applet-Symbol und deaktivieren Sie die Option Drahtlose Netzwerke aktivieren. Geben Sie in dem daraufhin angezeigten Dialogfeld den ESSID ein und legen Sie gegebenenfalls die Verschlüsselungsparameter fest.gnome. klicken Sie mit der linken Maustaste auf das Symbol und wählen Sie Verbindung zu anderem drahtlosen Netzwerk herstellen.freedesktop.org/Software/dbus (Projektseite von dbus) • /usr/share/doc/packages/NetworkManager 18. Das System erkennt 378 Referenz . Wir empfehlen. Alle integrierten Netzwerkkarten und Hotplug-Netzwerkkarten (PCMCIA.5. verwendete Schnittstelle.

Falls eine von mehreren Netzwerkkarten ausfallen sollte. wählen Sie anstelle einer bestimmten Karte weniger spezifische Konfigurationsnamen.oder ifcfg. generiert der Kernel ein weiteres Hotplug-Ereignis.und Produkt-ID) lauten. wichtig. So würde bus-pcmcia beispielsweise für alle PCMCIA-Karten verwendet werden. Dieses Hotplug-Ereignis löst dann die Initialisierung des Geräts mithilfe des Skripts hwup aus. Um eine flexible Konfiguration zu ermöglichen. Die Konfigurationsnamen – d. kann diese Zuordnung nicht mehr in der Datei /etc/modprobe. Grundlegendes zu Netzwerken 379 . die Einträge hinter hwcfg. Das Einstecken eines Geräts löst ein Hotplug-Ereignis aus. Die Gerätekonfigurationen befinden sich im Verzeichnis /etc/ sysconfig/hardware/hwcfg-*. h.. dass sie die Geräte und die damit verknüpften Schnittstellen beschreiben. Der Kernel nummeriert die Schnittstellennamen gemäß der zeitlichen Reihenfolge ihrer Registrierung. Der Konfigurationsname für eine PCI-Karte kann beispielsweise bus-pci-0000:02:01.0 oder wlan-id-00:05:4e:42:31:7a (MAC-Adresse) lauten.– beschreiben die Geräte anhand des Steckplatzes. das das Einrichten der Schnittstelle mit ifup auslöst. die an einen USB-Anschluss angeschlossen sind. in der die Geräte angeschlossen werden. Für echte Hotplug-fähige Karten ist die Reihenfolge.eine Netzwerkkarte auf zwei unterschiedliche Weisen: erstens als physisches Gerät und zweitens als Schnittstelle. wurde die Konfiguration der Geräte (Hardware) und der Schnittstellen voneinander getrennt und die Zuordnung der Konfigurationen zu Geräten und Schnittstellen erfolgt nicht mehr auf Basis der Schnittstellennamen. Die Schnittstellenkonfigurationen befinden sich im Verzeichnis /etc/sysconfig/network/ifcfg-*. wird die Nummerierung aller danach initialisierten Karten verschoben. Wenn die Netzwerkkarte als neue Netzwerkschnittstelle initialisiert wird. Die Initialisierungsreihenfolge ist für die Zuordnung der Namen entscheidend. Die Namen der Konfigurationen werden so zugewiesen. Im neuen Konzept würden die Aliaseinträge in dieser Datei Probleme verursachen. Da bei der früheren Zuordnung von Treibern zu Schnittstellennamen statische Schnittstellennamen erforderlich waren. Um eine bestimmte Netzwerkkonfiguration einer Karte eines bestimmten Typs zuzuordnen (von der immer nur jeweils eine eingesetzt ist).conf erfolgen.0 (PCI-Steckplatz) oder vpid-0x8086-0x1014-0x0549 (Hersteller. So würde wlan-bus-usb beispielsweise WLAN-Karten zugeordnet werden. der gerätesspezifischen ID oder des Schnittstellennamens. Die Namen können andererseits auch durch einen vorangestellten Schnittstellentyp eingeschränkt werden. Der Name der zugeordneten Schnittstelle kann bus-pci-0000:02:01.

. Stellen Sie sicher. z. tr*. Firewall. anstelle des Schnittstellennamens eingegeben werden.rules beschrieben. Die Ausgabe von getcfg enthält alle Informationen. Der persistente Name pname muss sich jedoch von dem Namen unterscheiden. wenn die Netzwerkgeräte nicht immer in derselben Reihenfolge initialisiert werden. die für die Beschreibung eines Geräts verwendet werden können. den zuverlässigen Zugriff auf die Schnittstelle einer bestimmten Netzwerkkarte sicherzustellen: • getcfg-interface Konfigurationsname gibt den Namen der zugeordneten Netzwerkschnittstelle zurück. WICHTIG: Verwendung persistenter Schnittstellennamen Die Verwendung persistenter Schnittstellennamen wurde noch nicht für alle Bereiche getestet. B. am besten beschreibt. Erlaubte Zeichen in Schnittstellennamen sind auf [a-zA-Z0-9] beschränkt. 380 Referenz . Sie können diese Ihren Anforderungen anpassen. nicht zulässig. Daher kann in einigen Konfigurationsdateien der Konfigurationsname. dass jeder Schnittstellenname nur einmal benutzt wird. Aus diesem Grund sind eth*. Ein persistenter Name kann einer Schnittstelle nur direkt nach deren Registrierung zugewiesen werden. Verwenden Sie stattdessen net* oder beschreibende Namen wie extern. frei ausgewählte Schnittstellennamen handzuhaben. Es gibt zwei Möglichkeiten. Der Name der Schnittstelle ist jedoch weiter von der Initialisierungsreihenfolge abhängig.Das System verwendet immer die Konfiguration. DHCPD. die eine Schnittstelle oder das Gerät. der Treiber der Netzwerkkarte muss neu geladen oder hwup Gerätebeschreibung muss ausgeführt werden. den der Kernel automatisch zuweisen würde.d/30-net_persistent _names. • Persistente Schnittstellennamen werden automatisch jeder Schnittstelle zugewiesen. d. Routing oder eine virtuelle Netzwerkschnittstelle (Tunnel). Die Suche nach der am besten geeigneten Konfiguration erfolgt mit dem Befehl getcfg. h. Gehen Sie zum Erstellen von Schnittstellennamen vor wie in /etc/udev/rules. Daher sind einige Anwendungen möglicherweise nicht in der Lage. wlan* usw. Mit der beschriebenen Methode wird eine Netzwerkschnittstelle auch dann mit der richtigen Konfiguration eingestellt. das die Schnittstelle zur Verfügung stellt. intern oder dmz. Der Befehl rcnetwork restart reicht für diesen Zweck nicht aus. da Letzterer nicht persistent ist. Weitere Informationen zur Spezifikation von Konfigurationsnamen finden Sie auf der Manualpage für den Befehl getcfg.

Bei der Initialisierung eines Geräts wird ifup automatisch für die neue Schnittstelle über hotplug ausgeführt und die Schnittstelle wird eingerichtet. Auf diese Weise kann eine variierende Anzahl an Geräten mit einem vorhandenen Satz an Konfigurationen immer bestmöglich konfiguriert werden. Zuerst wird eine Hardwarekomponente initialisiert und anschließend werden alle anderen Aktionen ausgeführt. um ein Gerät zu initialisieren. wann immer möglich.5. Früher wurde die Hardware-Initialisierung durch den Befehl ifup Schnittstellenname ausgelöst. da es die Hardware nicht initialisiert.5 Konfigurationsphase Hardware Skripts für die manuelle Netzwerkkonfiguration Befehl Funktion hw{up. Die Initialisierung der Hardware erfolgt über den Befehl hwup (wird von hotplug oder coldplug ausgeführt). getcfg kann zum Abfragen des Namens der Schnittstelle verwendet werden.status} Die hw*-Skripts werden vom HotplugSubsystem ausgeführt. Weitere Informationen hierzu finden Sie auf der Manualpage für den Befehl hwup. nach Hardware und Schnittstelle unterschieden. „Skripts für die manuelle Netzwerkkonfiguration“ (S. hotplug oder auto ist und der Dienst network gestartet wurde. die mit einem Konfigurationsnamen oder einer Hardwarebeschreibung verknüpft ist.getcfg le Grundlegendes zu Netzwerken 381 . 381) zeigt die wichtigsten an der Netzwerkkonfiguration beteiligten Skripts. Weitere Informationen hierzu finden Sie auf der Manualpage für den Befehl getcfg. Die Skripts werden. Tabelle 18. Schnittstel. Jetzt ist die Vorgehensweise genau umgekehrt.ifup erfordert eine vorhandene Schnittstelle. Tabelle 18.down. die Initialisierung rückgängig zu machen oder den Status eines Geräts abzufragen. wenn der Startmodus onboot.

den Startmodus und Skriptverknüpfungen. können außerdem alle Variablen aus den Dateien dhcp. das Kernelmodul. 18. Sie enthalten Informationen wie den Startmodus und die IP-Adresse. Die hwcfg-static-*-Konfigurationen werden unabhängig von der Hardware angewendet.Konfigurationsphase Befehl Funktion Schnittstel. Weitere Informationen hierzu finden Sie auf der Manualpage für den Befehl ifup.1 Konfigurationsdateien Dieser Abschnitt bietet einen Überblick über die Netzwerkkonfigurationsdateien und erklärt ihren Zweck sowie das verwendete Format. Gerätemanagement über dynamischen Kernel mithilfe von udev (S. 382 Referenz .status} Die if*-Skripts starten vorhandene le Netzwerkschnittstellen oder setzen den Status der angegebenen Schnittstelle zurück.down. z. /etc/sysconfig/network/ifcfg-* Diese Dateien enthalten die Konfigurationsdaten. 273). Sie enthalten die erforderlichen Parameter. wenn coldplug gestartet wird. Weitere Informationen zu Hotplug und persistenten Gerätenamen finden Sie in Kapitel 12. /etc/syconfig/hardware/hwcfg-* Diese Dateien enthalten die Hardwarekonfigurationen der Netzwerkkarten und weiterer Geräte. die spezifisch für eine Netzwerkschnittstelle sind. wireless und config in den ifcfg-*-Dateien verwendet werden. Wenn nur eine einzelne allgemeine Einstellung nur für eine bestimmte Schnittstelle verwendet werden soll. Mögliche Parameter sind auf der Manualpage für den Befehl ifup beschrieben.6.if{up. Weitere Informationen hierzu finden Sie auf der Manualpage für den Befehl hwup. B.

Grundlegendes zu Netzwerken 383 . Die vierte Spalte ist nur für Netzwerke relevant.0 255.255.0. im Fall von erreichbaren Namenservern. wireless Die Datei config enthält allgemeine Einstellungen für das Verhalten von ifup. Die dritte Spalte enthält die Netzmaske für Netzwerke oder Hosts hinter einem Gateway. Definieren Sie für jede Schnittstelle.0. Die Variablen in allen drei Konfigurationsdateien sind kommentiert und können auch in den ifcfg-*-Dateien verwendet werden.255.0.235. für die ein separates Routing erforderlich ist. Routen zu einem Host über ein Gateway sowie Routen zu einem Netzwerk.145.168. Die zweite Spalte enthält das Standard-Gateway oder ein Gateway. den voll qualifizierten Netzwerk. die für die unterschiedlichen System-Tasks erforderlich sind. Die Einträge in der Routing-Konfigurationsdatei sehen wie folgt aus: # Destination # 127. PPP.156.0 Dummy/Gateway 0.127.255. Ethernet-. über das der Zugriff auf einen Host oder ein Netzwerk erfolgt. wo sie mit einer höheren Priorität verarbeitet werden.0. ifdown und ifstatus. /etc/sysconfig/network/routes..41 207.0 Device lo eth0 eth0 eth1 eth1 Das Routenziel steht in der ersten Spalte.255 255.0 default 207. Sämtliche statische Routen.45 207.51 Netmask 255. Diese Spalte kann die IP-Adresse eines Netzwerks oder Hosts bzw. B. dhcp enthält DHCP-Einstellungen und wireless Einstellungen für Wireless-LAN-Karten. Die Maske 255.0.0.0 0.0 255.51 192.0.255.68.0.0.0 204.255.255 gilt beispielsweise für einen Host hinter einem Gateway.127. In diese Spalte muss der Gerätename eingegeben werden.255.oder Dummy-Geräte. dhcp.255./etc/sysconfig/network/config. die mit dem lokalen Host verbunden sind.68. können in die Datei /etc/sysconfig/network/routes eingegeben werden: Routen zu einem Host.235.255. Loopback-.68.156. Ersetzen Sie * durch den Namen der Schnittstelle. z.oder Hostnamen enthalten.ifroute-* Hier wird das statische Routing von TCP/IP-Paketen festgelegt.0.255. eine zusätzliche Konfigurationsdatei: /etc/sysconfig/network/ifroute-*. ISDN-.0 0.0 204.

enthält sie einen vordefinierten Kommentar mit Informationen zu dem Dienst.5 /etc/resolv. YaST trägt den angegebenen Namenserver in diese Datei ein. Bei der Auflösung eines Namens.0. 384) zeigt. dhcp (dhcpcd und dhclient).168. Zudem wird beispielsweise nach einem Systemabsturz beim Booten des Systems ein Test ausgeführt. einen solchen zu generieren.conf von diesem Skript vorübergehend geändert wurde.5.In einer (optionalen) fünften Spalte kann der Typ einer Route angegeben werden.conf mit dem Skript modify_resolvconf. Weitere Informationen hierzu finden Sie auf der Manualpage für den Befehl routes(5).conf aussehen könnte.168. Beispiel 18. /etc/resolv. Ebenfalls aufgeführt ist der Status des Namenservers. B. dass der Parser den Befehl korrekt interpretiert. als die Änderungen vorgenommen wurden. zu der der Host gehört (Schlüsselwort search).20) as nameserver nameserver 192. pppd (wvdial). sowie Informationen darüber. Dienste. wie der automatische Änderungsmechanismus deaktiviert werden kann. an dem die ursprüngliche Datei gesichert wurde. Wenn die Datei /etc/resolv. wenn dieser Umkehrvorgang in einer anderen Reihenfolge ausgeführt wird.20 Einige Dienste. ipppd (isdn).conf # Our domain search example. pcmcia und hotplug ändern die Datei /etc/resolv.enthalten. dem Speicherort. wird versucht. Stellen Sie Kommentaren ein #-Zeichen voran. Nicht benötigte Spalten sollten ein Minuszeichen . Wenn /etc/resolv.0. geben Sie mehrere Zeilen ein. auf den der Zugriff erfolgt (Schlüsselwort nameserver). „/etc/resolv . kann die ursprüngliche Datei mit modify_resolvconf wiederhergestellt werden. Beispiel 18. Wenn Sie mehrere Namenserver verwenden. Wenn ein Dienst auf unnormale Weise beendet wurde. die diese Flexibilität möglicherweise benötigen.conf“ (S. der sie geändert hat. wobei jede Zeile mit nameserver beginnt. indem die einzelnen search-Einträge angehängt werden. der nicht voll qualifiziert ist. Diese können auf saubere Weise auch dann wieder rückgängig gemacht werden. z.conf mehrmals geändert wird. um zu 384 Referenz .conf In dieser Datei wird die Domäne angegeben. pcmcia und hotplug. sind beispielsweise isdn. um sicherzustellen. Es können mehrere Domänennamen angegeben werden.com # # We use sun (192. enthält die Datei die Änderungen in verschachtelter Form. wie /etc/resolv.

Die Änderungen sind in beiden Fällen permanent.com sun 192.0. „/etc/networks“ (S.1 localhost 192. Die von den genannten Diensten vorgenommenen Änderungen sind nur temporärer Natur.example.example. Kommentaren wird immer das #-Zeichen vorangestellt. Siehe Beispiel 18. die Auswirkungen der Änderung von resolv. IPAdressen zu Hostnamen zugewiesen. Wenn kein Namenserver implementiert ist.6.7. für die IP-Verbindungen eingerichtet werden sollen.20 sun.0.0 earth. dass Änderungen nach dem Wiederherstellen der Datei verloren gehen.conf vorhanden ist (z.168. Die IP-Adresse muss am Anfang der Zeile stehen und die Einträge müssen durch Leerzeichen und Tabulatoren getrennt werden. YaST ermittelt mit dem Befehl modify_resolvconf check. Abgesehen davon verlässt sich YaST nicht auf modify _resolvconf. hier aufgeführt sein.0. Beispiel 18.0. müssen alle Hosts. geänderte resolv. durch einen Systemabsturz).. Das Format ähnelt dem der hosts-Datei.6 /etc/hosts 127.0.conf geändert wurde. d. /etc/hosts In dieser Datei werden. 385) gezeigt. in welchem Fall die ursprüngliche (unveränderte) resolv. die aus der IP-Adresse.0 192. ob resolv.168. 385).168. Beispiel 18.conf über YaST sind identisch mit allen anderen manuellen Änderungen. ob eine unsaubere.0 Grundlegendes zu Netzwerken 385 .conf wiederhergestellt wird. B. h.com earth /etc/networks Hier werden Netzwerknamen in Netzwerkadressen umgesetzt. und warnt den Benutzer.7 /etc/networks loopback localnet 127. dem voll qualifizierten Hostnamen und dem Hostnamen besteht. jedoch stehen hier die Netzwerknamen vor den Adressen.0. „/etc/hosts“ (S.ermitteln. Geben Sie für jeden Host in die Datei eine Zeile ein. wie in Beispiel 18.0.

Mögliche Argumente (getrennt durch Leerzeichen oder Kommas): hosts: Durchsuchen der Datei /etc/hosts bind: Greift auf einen Namenserver zu nis: Über NIS multi on/off Legt fest./etc/host.8. d. Die verfügbaren Parameter sind in Tabelle 18. „ /etc/host. Tabelle 18. Jeder Parameter muss in einer eigenen Zeile stehen.conf “ (S. Ein Beispiel für /etc/host. Diese Option ist dann von Nutzen. bind nospoof on spoofalert on/off trim Domänenname 386 Referenz . die mit libc4 oder libc5 gelinkt sind. „Parameter für /etc/host.bzw.conf“ (S. Diese Parameter beeinflussen das spoofing des Namenservers. wenn in der Datei /etc/hosts nur Namen aus der lokalen Domäne stehen.conf. order hosts. 386) aufgeführt. haben aber weiter keinen Einfluss auf die Netzwerkkonfiguration. das Übersetzen von Host. diese aber auch mit angehängtem Domänennamen erkannt werden sollen. Kommentare werden durch ein #-Zeichen eingeleitet.conf wird in Beispiel 18. wird durch diese Datei gesteuert. 387) gezeigt. Der angegebene Domänenname wird vor dem Auflösen des Hostnamens von diesem abgeschnitten (insofern der Hostname diesen Domänennamen enthält). ob ein in /etc/hosts eingegebener Host mehrere IP-Adressen haben kann. h.conf Das Auflösen von Namen. Netzwerknamen über die resolver-Bibliothek. Diese Datei wird nur für Programme verwendet.6 Parameter für /etc/host. in welcher Reihenfolge die Dienste zum Auflösen eines Namens angesprochen werden sollen. Weitere Informationen zu aktuellen glibc-Programmen finden Sie in den Einstellungen in /etc/nsswitch .conf Legt fest.6.

„Über /etc/nsswitch.0 wurde Name Service Switch (NSS) eingeführt. Ein Beispiel für nsswitch. In der Datei /etc/nsswitch.conf passwd: group: hosts: networks: services: protocols: netgroup: automount: compat compat files dns files dns db files db files files files nis Die über NSS verfügbaren „Datenbanken“ sind in Tabelle 18.conf verfügbare Datenbanken“ (S. Das Domain Name System (DNS) (S. Beispiel 18. Kommentare werden durch ein #-Zeichen eingeleitet.9 /etc/nsswitch.conf wird festgelegt.conf Mit der GNU C Library 2. 388) aufgelistet. „/etc/nsswitch. Grundlegendes zu Netzwerken 387 . Zusätzlich sind in Zukunft zudem automount. netmasks und publickey zu erwarten. 389) aufgelistet. in welcher Reihenfolge bestimmte Informationen abgefragt werden.8. Die Konfigurationsoptionen für NSS-Datenbanken sind in Tabelle 18.conf“ (S.conf # We have named running order hosts bind # Allow multiple addrs multi on /etc/nsswitch. 399)). „Konfigurationsoptionen für NSS-„Datenbanken““ (S. bootparams. dass Anfragen über DNS an /etc/hosts (files) gehen (siehe Kapitel 20.conf ist in Beispiel 18.8 /etc/host. Weitere Informationen hierzu finden Sie auf der Manualpage für nsswitch. 387) dargestellt.Beispiel 18.9. Der Eintrag unter der hosts-Datenbank bedeutet.conf(5) und in dem Dokument The GNU C Library Reference Manual.7.

ethers group hosts netgroup networks passwd protocols rpc services shadow 388 Referenz . Weitere Informationen hierzu finden Sie auf der Manualpage für netgroup(5). Shadow-Passwörter der Benutzer. Netzwerkprotokolle. die von sendmail implementiert werden. Weitere Informationen hierzu finden Sie auf der Manualpage passwd(5). die von getnetent verwendet werden. Im Netzwerk gültige Host. Weitere Informationen hierzu finden Sie auf der Manualpage für shadow(5). die von getprotoent verwendet werden. Remote Procedure Call-Namen und -Adressen. Ethernet-Adressen Für Benutzergruppen. Siehe man 5 aliases. Für Hostnamen und IP-Adressen. Netzwerkdienste. Benutzerpasswörter. Weitere Informationen hierzu finden Sie auch auf der Manualpage für den Befehl group.Tabelle 18.und Benutzerlisten zum Steuern von Zugriffsrechten. die von getspnam verwendet werden. die von getservent verwendet werden. die von getpwent verwendet werden. die von getgrent verwendet werden.conf verfügbare Datenbanken Mail-Aliasse. Weitere Informationen hierzu finden Sie auf der Manualpage für protocols(5). Netzwerknamen und -adressen.7 aliases Über /etc/nsswitch. die von getrpcbyname und ähnlichen Funktionen verwendet werden. die von gethostbyname und ähnlichen Funktionen verwendet werden.

also nur der Hostname ohne den Domänennamen. shadow und group als Erweiterung verwendbar nis. siehe auch Kapitel 21. /etc/HOSTNAME Hier steht der Name des Computers. bis ein neu angelegter lokaler Benutzer dem System bekannt ist. Standardmäßig werden die Systemeinträge von passwd und groups von nscd gecacht. Wenn das Caching für passwd aktiviert wird. z. 423) Nur bei hosts und networks als Erweiterung verwendbar Nur bei passwd. nisplus dns compat /etc/nscd. Durch das Neustarten von nscd mit dem Befehl rcnscd restart kann diese Wartezeit verkürzt werden. dauert es in der Regel 15 Sekunden. Dies ist wichtig für die Leistung der Verzeichnisdienste. Sie darf nur eine Zeile enthalten. B.8 files db Konfigurationsoptionen für NSS-„Datenbanken“ Direkter Dateizugriff.und ReverseLookup-Tests mehr ausführen kann. in der der Hostname steht. z. NIS und LDAP. da der Mechanismus in nscd dazu führen würde.conf Mithilfe dieser Datei wird nscd (Name Service Cache Daemon) konfiguriert. da anderenfalls die Netzwerkverbindung für jeden Zugriff auf Namen oder Gruppen verwendet werden muss. sollten Sie einen DNS-Server für das Cachen einrichten.conf(5). hosts wird standardmäßig nicht gecacht.Tabelle 18. Statt nscd das Cachen der Namen zu übertragen. Arbeiten mit NIS (S. Grundlegendes zu Netzwerken 389 . Weitere Informationen hierzu finden Sie auf den Manualpages nscd(8) und nscd. Diese Datei wird von verschiedenen Skripts beim Booten des Computers gelesen. B. dass das lokale System keine Trust-Forward. /etc/aliases Zugriff über eine Datenbank NIS.

Wenn der Dienst network nicht gestartet wurde. /etc/init. die beim Booten des Computers die Netzwerkprogramme starten. B. „Einige Start-Skripts für Netzwerkprogramme“ (S. Startet den NFS-Server. z. Startet den Portmapper.d/coldplug (über Hotplug) initialisiert worden sein.d/inetd /etc/init. werden keine Netzwerkschnittstellen beim Einstecken über Hotplug implementiert.6. für einen NFS-Server.9.d/ portmap /etc/init.9 Einige Start-Skripts für Netzwerkprogramme Dieses Skript übernimmt die Konfiguration der Netzwerkschnittstellen.d/ypserv Startet den NIS-Server.d/ nfsserver /etc/init. Beispielsweise kann er vsftpd starten. Einige der Skripts sind in Tabelle 18. Die Hardware muss bereits von /etc/init. Startet xinetd. Diese werden gestartet. um bei Bedarf Serverdienste auf dem System zur Verfügung zu stellen.18.2 Startup-Skripts Neben den beschriebenen Konfigurationsdateien gibt es noch verschiedene Skripts. 390) beschrieben.d/ypbind Startet den NIS-Client. /etc/init. 390 Referenz . /etc/init. sobald das System in einen der Mehrbenutzer-Runlevel wechselt. sobald eine FTP-Verbindung initiiert wird.d/ network /etc/init. der für einen RPC-Server benötigt wird. xinetd kann verwendet werden. Tabelle 18.d/ sendmail Steuert den sendmail-Prozess.

Die wichtigsten Optionen dieser Konfigurationsdatei sind: open-inet-socket = yes|no Wenn smpppd über das Netzwerk gesteuert werden soll. Die Konfigurationsdatei von smpppd ist /etc/smpppd. die Einwählverbindung über einen Host im Netzwerk zu steuern. host-range und password entsprechend eingestellt werden. wenn Sie zusätzliche Funktionen von smpppd. um online zu sein. sondern wählen sich bei Bedarf ein. Im Prinzip müssen nur diese Programme korrekt gestartet werden. muss diese Option auf yes (ja) gesetzt werden.7. z. eignet er sich für die Steuerung von Einwählverbindungen ins Internet von einer Arbeitsstation in einem privaten Subnetzwerk.18. 18. Zum anderen stellt er den Benutzerprogrammen verschiedene Provider zur Verfügung und übermittelt Informationen über den aktuellen Status der Verbindung. B. Je nach Einwählart (ISDN oder DSL) wird die Verbindung von ipppd oder pppd gesteuert. einrichten möchten. Wenn dieser Parameter auf yes (ja) gesetzt ist. Grundlegendes zu Netzwerken 391 . Die eigentlichen Einwählprogramme KInternet und cinternet werden ebenfalls vorkonfiguriert. besteht die Möglichkeit. ist 3185. Manuelle Einstellungen sind nur notwendig. Da der smpppdDienst auch über das Netzwerk gesteuert werden kann.conf. Sofern Sie über eine Flatrate verfügen. Wenn das Internet-Gateway nicht der eigentliche Arbeitscomputer ist. auf dem smpppd lauscht. starten Sie einfach den entsprechenden Daemon. die Fernsteuerung. sollten auch die Parameter bind-address. Zum einen programmiert er den jeweils erforderlichen pppd oder ipppd und steuert deren Einwählverhalten. Der Port. Sie können die Einwählverbindung über ein KDE-Applet oder eine Befehlszeilen-Schnittstelle steuern. Sie ist so eingestellt.7 smpppd als Einwählhelfer Die meisten Heimanwender besitzen keine gesonderte Leitung für das Internet. dass standardmäßig keine Fernsteuerung möglich ist. An dieser Stelle kommt smpppd ins Spiel. Der Dienst bietet den Hilfsprogrammen eine einheitliche Schnittstelle.1 Konfigurieren von smpppd Die von smpppd bereitgestellten Verbindungen werden automatisch von YaST konfiguriert. die bei der Einwahl keine zusätzlichen Kosten verursacht. die in zwei Richtungen funktioniert.

Wenn kein Passwort vergeben wird. sollte die Sicherheit. password = Passwort Mit der Vergabe eines Passworts wird der Client-Zugriff auf autorisierte Hosts beschränkt. Alle Hosts. Diese Datei enthält nur drei Optionen: sites = Liste der Sites Hier weisen Sie die Frontends an.conf(5). Hosts.bind-address = IP Wenn ein Host mehrere IP-Adressen hat. sodass es ohne KDE verwendet werden kann und separat installiert werden muss. die außerhalb dieses Bereichs liegen. Da es lediglich ein reines Textpasswort ist. können Sie mit dieser Einstellung festlegen. 18. über welche IP-Adresse smpppd Verbindungen akzeptiert. Die Frontends testen die Optionen in der hier angegebenen Reihenfolge. wo sie nach smpppd suchen sollen.7.2 Konfigurieren von KInternet. Die Option local weist 392 Referenz . Wenn Sie diese Dienstprogramme zum Einsatz mit einem entfernten smpppd-Dienst vorbereiten möchten. cinternet und qinternet kann sowohl ein lokaler als auch ein entfernter smpppd-Dienst gesteuert werden. wird der Zugriff auf smpppd gewährt. qinternet ist im Grunde das Gleiche wie KInternet. nicht überbewertet werden. sind alle Clients berechtigt. die es bietet. das eine grafische Oberfläche bietet. slp-register = yes|no Mit diesem Parameter kann der smpppd-Dienst per SLP im Netzwerk bekannt gegeben werden. auf smpppd zuzugreifen.conf manuell oder mithilfe von KInternet. cinternet ist die Befehlszeilenvariante von KInternet. cinternet und qinternet für die Fernsteuerung Mit den Programmen KInternet. werden abgewiesen. verwendet aber nicht die KDE-Bibliotheken. bearbeiten Sie die Konfigurationsdatei /etc/smpppd-c. host-range = Anfangs-IP End-IP Der Parameter host-range definiert einen Netzbereich. Weitere Informationen über smpppd finden Sie in den Manualpages zu smpppd(8) und smpppd. deren IP-Adressen innerhalb dieses Bereichs liegen.

den Verbindungsaufbau dem lokalen smpppd-Dienst zu und gateway verweist auf einen smpppd-Dienst auf dem Gateway. slp weist die Frontends an. z. auf ihn zuzugreifen. Sofern der smpppd-Dienst aktiv ist. sich mit einem per SLP gefundenen smpppd-Dienst zu verbinden.conf(5) und cinternet(8). server = Server Geben Sie hier den Host an. finden Sie weitere Informationen in den Manualpages zu smpppd-c. Sollten Sie an dieser Stelle Schwierigkeiten haben. auf dem smpppd läuft. Die Verbindung wird nach den in der Datei config-file unter server spezifizierten Einstellungen hergestellt. mit dem Befehl cinternet --verbose --interface-list. B. können Sie jetzt versuchen. password = Passwort Geben Sie das Passwort für smpppd ein. Grundlegendes zu Netzwerken 393 .

.

Falls ein Dienst ohne SLP-Unterstützung kompiliert wurde. YOU-Server. Zur Konfiguration eines Netzwerk-Clients inklusive aller erforderlichen Dienste benötigt der Administrator traditionell detailliertes Wissen über die im Netzwerk verfügbaren Server.reg. Nutzen Sie SLP. können Sie ihn mit einer der folgenden Methoden per SLP verfügbar machen: Statische Registrierung über /etc/slp. Dies ist ein Beispiel einer solchen Datei für die Registrierung eines Scannerdiensts: SLP-Dienste im Netzwerk 395 .SLP-Dienste im Netzwerk Das Service Location Protocol (SLP) wurde entwickelt. 19. um vernetzten Clients zentrale Funktionen wie Installationsserver. YaST und Konqueror verfügen beide über SLP-fähige Frontends. Anwendungen mit SLP-Unterstützung können diese Informationen verarbeiten und können automatisch konfiguriert werden. Dateiserver oder Druckserver auf Ihrem SUSE Linux-System zur Verfügung zu stellen. SLP teilt allen Clients im lokalen Netzwerk die Verfügbarkeit ausgewählter Dienste mit. um die Konfiguration vernetzter Clients innerhalb eines lokalen Netzwerks zu vereinfachen. 19 SUSE Linux unterstützt die Installation von per SLP bekannt gegebenen Installationsquellen und beinhaltet viele Systemdienste mit integrierter Unterstützung für SLP.d Legen Sie für jeden neuen Dienst eine separate Registrierungsdatei an.1 Registrieren eigener Dienste Viele Anwendungen unter SUSE Linux verfügen durch die libslp-Bibliothek bereits über eine integrierte SLP-Unterstützung.

reg. Sie enthält den Diensttyp (scanner.sane) und die Adresse. auf dem der entsprechende Dienst gefunden werden kann. watch-tcp-port koppelt die SLP-Dienstankündigung daran.## Register a saned service on this system ## en means english language ## 65535 disables the timeout. die mit service: beginnt. die in den entsprechenden Browsern angezeigt wird. Geben Sie nun die Sprache an. und die Gültigkeitsdauer der Registrierung in Sekunden. ob der entsprechende Dienst aktiv ist. in der der Dienst angekündigt werden soll. Wählen Sie für die Registrierungsdauer einen Wert zwischen 0 und 65535.65535 watch-port-tcp=6566 description=SANE scanner daemon Die wichtigste Zeile dieser Datei ist die Dienst-URL.2 SLP-Frontends in SUSE Linux SUSE Linux enthält mehrere Frontends.d ist die Gruppierung aller Dienste innerhalb einer zentralen Datei. indem slpd den Status des Diensts überprüft. 0 verhindert die Registrierung.reg Der einzige Unterschied zum Verfahren mit /etc/slp. Abgetrennt durch einen Doppelpunkt folgt nun der Name des TCP-Ports.en. Statische Registrierung über /etc/slp. Diese Angaben müssen durch Kommas von der Dienst-URL getrennt werden. Dynamische Registrierung über slptool Verwenden Sie zur SLP-Registrierung eines Diensts aus proprietären Skripts das Befehlszeilen-Frontend slptool. unter der der Dienst auf dem Server verfügbar ist. Die Registrierungsdatei enthält außerdem die beiden Variablen watch-tcp-port und description.sane://$HOSTNAME:6566. 19. so the service registration does ## not need refreshes service:scanner. $HOSTNAME wird automatisch durch den vollständigen Hostnamen ersetzt. um SLP-Informationen über ein Netzwerk zu überprüfen und zu verwenden: 396 Referenz . Die zweite Variable enthält eine genauere Beschreibung des Diensts. Mit 65535 werden alle Einschränkungen aufgehoben.

um ihn zu starten.slptool slptool ist ein einfaches Befehlszeilenprogramm.3 SLP aktivieren slpd muss auf Ihrem System laufen. Konqueror Wird Konqueror als Netzwerkbrowser eingesetzt und mit slp:/ aufgerufen. Mit dem Befehl rcslpd stop können Sie ihn stoppen. die SLP-Informationen verarbeiten. 19. führen Sie rcslpd start as root aus. der alle im lokalen Netzwerk über SLP bekannt gegebenen Dienste in einer Baumansicht darstellt. wenn Sie Dienste anbieten möchten. die beim Booten eines Systems gestartet werden. Wenn Sie Konqueror mit service:/ aufrufen. um ausführlichere Informationen zum entsprechenden Dienst zu erhalten. können Sie mit einem Klick auf das entsprechende Symbol im Browserfenster eine Verbindung zum ausgewählten Dienst aufbauen. führen Sie den Befehl insserv slpd einmalig als root aus. SLP-Dienste im Netzwerk 397 . werden alle im lokalen Netz verfügbaren SLP-Dienste angezeigt. Für das bloße Abfragen von Diensten ist ein Start dieses Daemons nicht erforderlich. eine Statusabfrage aus. Klicken Sie auf die Symbole im Hauptfenster. SLP-Browser von YaST YaST enthält unter Netzwerkdienste → SLP-Browser einen separaten SLP-Browser. Standardmäßig ist der Daemon inaktiv. Mit restart oder status lösen Sie einen Neustart bzw. Wenn Sie ihn für die Dauer einer Sitzung aktivieren möchten. Soll slpd standardmäßig aktiv sein. Wie die meisten Systemdienste unter SUSE Linux wird der slpd-Daemon über ein separates init-Skript gesteuert. mit dem proprietäre Dienste oder SLP-Anfragen im Netzwerk bekannt gegeben werden können. slptool kann auch aus Skripts heraus aufgerufen werden. Mit slptool --help werden alle verfügbaren Optionen und Funktionen aufgelistet. Dadurch wird slpd automatisch zu den Diensten hinzugefügt.

SuSE-Datei mit Details zu SUSE Linux. den oben genannten RFCs und zwei einleitenden HTML-Dokumenten. RFC 2609 geht näher auf die Syntax der verwendeten Dienst-URLs ein und RFC 2610 thematisiert DHCP über SLP.4 Weitere Informationen Weitere Informationen zu SLP finden Sie in folgenden Quellen: RFC 2608. die SLP-Funktionen verwenden möchten. http://www. /usr/share/doc/packages/openslp Dieses Verzeichnis enthält alle zu SLP verfügbaren Dokumentationen einschließlich einer README. sollten das Paket openslp-devel installieren und im darin enthaltenen Programmers Guide nachschlagen. 398 Referenz . Programmierer.openslp.19.com Die Homepage des OpenSLP-Projekts. 2610 RFC 2608 befasst sich mit der Definition von SLP im Allgemeinen. 2609.

DNS-Server Der DNS-Server ist ein Server. die Zone opensuse der Domäne org.1 DNS-Terminologie Zone Der Domänen-Namespace wird in Regionen.org der Bereich bzw. Die folgenden Konfigurationsbeispiele beziehen sich auf BIND.3.168. Domänennamensystem) ist zur Auflösung der Domänenund Hostnamen in IP-Adressen erforderlich. einen sekundären Server für die Slave-Zone oder einen Slave-Server ohne jede Zone für das Caching besitzen. So wird die IP-Adresse 192. so genannte Zonen.0 beispielsweise dem Hostnamen earth zugewiesen. sollten Sie die allgemeinen Informationen zu DNS in Abschnitt 18. 361) lesen. Das Domain Name System (DNS) 399 . 20. auf dem der Name und die IP-Informationen für eine Domäne gespeichert sind.Das Domain Name System (DNS) 20 DNS (Domain Name System. „Namensauflösung“ (S. DNS-Server der Masterzone Die Masterzone beinhaltet alle Hosts aus Ihrem Netzwerk und der DNS-Server der Masterzone speichert die aktuellen Einträge für alle Hosts in Ihrer Domäne. Bevor Sie Ihren eigenen Namenserver einrichten.0. unterteilt. So ist beispielsweise opensuse. Sie können einen primären DNS-Server für die Masterzone.

Forwarder Forwarders sind DNS-Server. die für einfache Szenarien ausreichend ist. solange er über gültige (nicht abgelaufene) Zonendaten verfügt. SOA-Eintrag Der SOA (Start of Authority)-Eintrag ist der erste Eintrag in einer Zonendatei. Beim ersten Starten des Moduls werden Sie von einem Assistenten aufgefordert. Der DNS-Server der Slave-Zone antwortet autorisiert für die Zone. Der SOA-Eintrag wird bei der Synchronisierung von Daten zwischen mehreren Computern über DNS verwendet. Wenn der Slave keine neue Kopie der Zonendaten erhält. Komplexere Konfigurationsaufgaben können im Expertenmodus ausgeführt werden. einige grundlegende Entscheidungen hinsichtlich der Serveradministration zu treffen. die für die Weiterleitung von Mail über das Internet kontaktiert werden sollen. 20.DNS-Server der Slave-Zone Eine Slave-Zone ist eine Kopie der Masterzone. die er nicht bearbeiten kann. antwortet er nicht mehr für die Zone. Eintrag Der Eintrag besteht aus Informationen zu Namen und IP-Adresse. welche Computer für eine bestimmte Domänenzone zuständig sind. an die der DNS-Server Abfragen sendet. Einige spezielle Einträge sind beispielsweise: NS-Eintrag Ein NS-Eintrag informiert die Namenserver darüber.2 Konfiguration mit YaST Mit dem DNS-Modul von YaST können Sie einen DNS-Server für Ihr lokales Netzwerk konfigurieren. Die unterstützten Einträge und ihre Syntax sind in der BIND-Dokumentation beschrieben. Nach Abschluss der anfänglichen Konfiguration ist eine grundlegende Serverkonfiguration verfügbar. Der DNS-Server der SlaveZone erhält seine Zonendaten mithilfe von Zonentransfers von seinem Masterserver. MX-Eintrag Die MX (Mailaustausch)-Einträge beschreiben die Computer. 400 Referenz .

1 Wenn Sie das Modul zum ersten Mal starten. An den entsprechenden Stellen in den Dialogfeldern haben Sie die Möglichkeit. wie in Abschnitt 20. um andere Einstellungen für eine Das Domain Name System (DNS) 401 . ob der PPP-Daemon eine Liste von Forwarders bei der Einwahl über DSL oder ISDN eine Liste von Forwarders bereitstellen soll (PPP-Daemon legt Forwarders fest) oder ob Sie Ihre eigene Liste angeben möchten (Forwarders manuell festlegen).1 DNS-Server-Installation: Forwarder-Einstellungen 2 Das Dialogfeld DNS-Zonen besteht aus mehreren Teilen und ist für die Verwaltung von Zonendateien zuständig. in den Expertenkonfigurationsmodus zu wechseln. muss der Name auf .in-addr.arpa enden. „DNS-Server-Installation: DNS-Zonen“ (S. Bei einer neuen Zone müssen Sie unter Name der Zone einen Namen angeben. Dialogfeldern.5. wird das Dialogfeld ForwarderEinstellungen (siehe Abbildung 20.20.2. Siehe Abbildung 20. Um eine Reverse Zone hinzuzufügen.1. 415) beschrieben. Legen Sie hier fest.1 Assistentenkonfiguration Der Assistent besteht aus drei Schritten bzw.2. Abbildung 20. „Zonendateien“ (S. 402). Wählen Sie schließlich den Zonetyp (Master oder Slave) aus. 401)) geöffnet. „DNS-Server-Installation: ForwarderEinstellungen“ (S. Klicken Sie auf Zone bearbeiten.

bestehende Zone zu konfigurieren. und angeben. 403). Zum Entfernen einer Zone klicken Sie auf Zone löschen. Abbildung 20. „DNS-Server-Installation: Wizard beenden“ (S. 402 Referenz . Die Expertenkonfiguration lässt sich ebenfalls über dieses Dialogfeld aufrufen.3. ob DNS gestartet werden soll.2 DNS-Server-Installation: DNS-Zonen 3 Im abschließenden Dialogfeld können Sie die Ports für den DNS-Dienst in der Firewall öffnen. Siehe Abbildung 20. die während der Installation aktiviert wird.

ob der DNS-Server beim Booten des Systems oder manuell gestartet werden soll. Um den DNS-Server anzuhalten. Zum Speichern der aktuellen Einstellungen wählen Sie Einstellungen speichern und DNS-Server nun neu starten.3 DNS-Server-Installation: Wizard beenden 20. Das Domain Name System (DNS) 403 . Nach Abschluss dieses Fensters steht eine DNS-ServerKonfiguration mit Grundfunktionen zur Verfügung: Starten des DNS-Servers Legen Sie unter Systemstart fest.Abbildung 20. in dem mehrere Konfigurationsoptionen angezeigt werden. wählen Sie DNSServer nun starten.2 Konfiguration für Experten Nach dem Starten des Moduls öffnet YaST ein Fenster. Um den DNS-Server sofort zu starten. Sie können den DNS-Anschluss in der Firewall mit Firewall-Port öffnen öffnen und die Firewall-Einstellungen mit Firewall-Details bearbeiten.2. wählen Sie DNS-Server nun anhalten.

Verwenden Sie die systemweite Protokolldatei /var/log/messages durch Auswahl von In Systemprotokoll protokollieren oder geben Sie durch Auswahl von In Datei protokollieren eine andere Datei an. was und wie der DNS-Server protokollieren soll. wohin der DNS-Server die Protokolldaten schreiben soll. In diesem Fall kann die Protokolldatei extrem groß werden. aktivieren Sie Zonen-Updates protokollieren. der während Zonenaktualisierungen zwischen dem DHCP.4 DNS-Server: Protokollieren 404 Referenz . Siehe Abbildung 20.Protokollieren Um festzulegen. Geben Sie unter Protokolltyp an. „DNS-Server: Protokollieren“ (S. wählen Sie Protokollieren aus. aktivieren Sie Zonen-Transfer protokollieren.und dem DNS-Server stattfindet. Um den Datenverkehr zu protokollieren.4. In letzterem Fall müssen Sie außerdem die maximale Dateigröße in Megabyte und die Anzahl der zu speichernden Protokolldateien angeben. Um den Datenverkehr während eines Zonentransfers von Master zu Slave zu protokollieren. Daher sollte diese Option nur zur Fehlersuche aktiviert werden. 404). Abbildung 20. Weitere Optionen sind unter Zusätzliches Protokollieren verfügbar. Durch Aktivieren von Alle DNS-Abfragen protokollieren wird jede Abfrage protokolliert.

wählen Sie den Zonentyp Master aus. „DNS-Server: Zonen-Editor des Slave“ (S. Siehe Abbildung 20. wählen Sie den Zonentyp Master aus.5 DNS-Server: Zonen-Editor des Slave Hinzufügen einer Masterzone Wenn Sie eine Masterzone hinzufügen möchten. Geben Sie im Zonen-Editor unter Master DNS Server (Master-DNS-Server). wählen Sie den Zonentyp Slave aus und klicken Sie auf Hinzufügen. wählen Sie die Masterzone in der Tabelle aus und klicken Das Domain Name System (DNS) 405 . geben Sie den Namen der neuen Zone ein und klicken Sie auf Hinzufügen. 405). Bearbeiten einer Masterzone Wenn Sie eine Masterzone bearbeiten möchten. klicken Sie auf DNS-Zonen. Abbildung 20.Hinzufügen einer Slave-Zone Wenn Sie eine Slave-Zone hinzufügen möchten. Um den Zugriff auf den Server zu beschränken. klicken Sie auf DNS-Zonen. klicken Sie auf DNS-Zonen.5. wählen Sie eine der ACLs aus der Liste aus. von dem der Slave die Daten abrufen soll. den Master an.

407).6 DNS-Server: Zonen-Editor (NS-Einträge) Zonen-Editor (MX-Einträge) Um einen Mailserver für die aktuelle Zone zur bestehenden Liste hinzuzufügen. SOA und Einträge. Um einen Eintrag hinzuzufügen. „DNS-Server: Zonen-Editor (NS-Einträge)“ (S. Siehe Abbildung 20.7. geben Sie die entsprechende Adresse und den entsprechenden Prioritätswert ein. NS-Einträge. Vergewissern Sie sich. MX-Einträge. „DNS-Server: Zonen-Editor (MX-Einträge)“ (S. Abbildung 20. Zonen-Editor (NS-Einträge) In diesem Dialogfeld können Sie alternative Namenserver für die angegebenen Zonen definieren. dass Ihr eigener Namenserver in der Liste enthalten ist. 406 Referenz . Siehe Abbildung 20.6. Das Dialogfeld besteht aus mehreren Seiten: Basic (Grundlagen) (die zuerst geöffnete Seite). Bestätigen Sie den Vorgang anschließend durch Auswahl von Hinzufügen. 406).Sie auf Bearbeiten. geben Sie seinen Namen unter Hinzuzufügender Namenserver ein und bestätigen Sie den Vorgang anschließend mit Hinzufügen.

zone“ (S. Eine Erklärung der einzelnen Optionen finden Sie in Beispiel 20.Abbildung 20. „Datei /var/lib/named/world.7 DNS-Server: Zonen-Editor (MX-Einträge) Zonen-Editor (SOA) Auf dieser Seite können Sie SOA (Start of Authority)-Einträge erstellen. 415). Das Domain Name System (DNS) 407 .6.

PTR dient für Reverse Zones.3 Starten des Namenservers BIND Bei SUSE Linux-Systemen ist der Namenserver BIND (Berkeley Internet Name Domain) vorkonfiguriert.conf eingegeben haben. 20. Dies ist ein wesentlich langsamerer Prozess. sodass er problemlos unmittelbar nach der Installation gestartet werden kann. Normalerweise sollte der DNS des Anbieters zusammen mit der 408 Referenz . Diese drei Typen werden in einen bestehenden AEintrag aufgelöst. BIND führt die Namenauflösung über den Root-Namenserver durch.0. Wenn Sie bereits über eine funktionierende Internetverbindung verfügen und 127. Verwenden Sie die Typen NS und MX für detaillierte oder partielle Einträge. Geben Sie unter Eintragschlüssel den Hostnamen an und wählen Sie anschließend den Typ aus. A-Record steht für den Haupteintrag. CNAME ist ein Alias.Abbildung 20. ohne dass Ihnen der DNS des Anbieters bekannt sein muss. Es handelt sich um das Gegenteil eines A-Eintrags.1 als Namenserveradresse für localhost in /etc/resolv. verfügen Sie normalerweise bereits über eine funktionierende Namenauflösung.8 DNS-Server: Zonen-Editor (SOA) Zonen-Editor (Einträge) In diesem Dialogfeld wird die Namenauflösung verwaltet.0. mit denen die Informationen aus den Registerkarten NS-Einträge und MX-Einträge erweitert werden. Der Wert hierfür sollte eine IP-Adresse sein.

geben Sie die entsprechende IP-Adresse(n) im Abschnitt options unter forwarders ein. Wenn der Namenserver sich nicht starten lässt oder unerwartetes Verhalten zeigt. wird er ein richtiger DNS. Nur wenn Sie seine eigenen Zonen konfigurieren. da BIND ansonsten keine Anforderungen für diese Domäne weiterleitet.conf“ (S.1 zurückgeben. Testen Sie den Namenserver umgehend auf dem lokalen System mit den Programmen host bzw. Wenn Sie eine Fehlermeldung erhalten. Geben Sie zum Starten des Namenservers den Befehl rcnamed start als root ein.conf vermutlich einen falschen Namenservereintrag oder die Datei ist überhaupt nicht vorhanden.bzw. wie der Namenserverprozess hier genannt wird.1 ein.0. Setzen Sie hierfür die Variable MODIFY_NAMED_CONF_DYNAMICALLY in der Datei/etc/sysconfig/network/config auf yes. Ein einfaches Beispiel hierfür ist in der Dokumentation unter /usr/share/doc/packages/bind/sample-config enthalten. erfolgreich gestartet. Diese sollten localhost als Standardserver mit der Adresse 127. bis Ihnen eine von der verantwortlichen Institution zugewiesen wird. Warten Sie.0.0.zugehörigen IP-Adresse in die Konfigurationsdatei /etc/named. 410) handelt es sich lediglich um Beispiele. „Weiterleitungsoptionen in named.1. finden Sie die Ursache normalerweise in der Protokolldatei /var/ log/messages. Ist dies nicht der Fall. dig. Bei den Adressen in Beispiel 20. Das Domain Name System (DNS) 409 . sollten Sie sie besser nicht verwenden.0.conf unter forwarders eingegeben werden. um eine effektive und sichere Namenauflösung zu gewährleisten. Beispielsweise könnte in diesem Fall für diese Domäne der Zugriff auf den Webserver beim Anbieter nicht möglich sein. Beim ersten Test geben Sie host 127. TIPP: Automatische Anpassung der Namenserverinformationen Je nach Typ der Internet. Selbst wenn Sie eine eigene Domäne besitzen und diese vom Anbieter verwaltet wird. ob der Server tatsächlich ausgeführt wird. Wenn dies so weit funktioniert. wurde named. Dies sollte immer funktionieren. Falls rechts in grüner Schrift „done“ angezeigt wird. wird der Namenserver als reiner NurCache-Namenserver ausgeführt. Netzwerkverbindung können die Namenserverinformationen automatisch an die aktuellen Bedingungen angepasst werden. enthält /etc/resolv. Richten Sie jedoch noch keine offiziellen Domänen ein. Passen Sie diese Einträge an Ihr eigenes Setup an. Um den Namenserver des Anbieters oder einen bereits in Ihrem Netzwerk ausgeführten Server als Forwarder zu verwenden. sollten Sie mit rcnamed status überprüfen.

conf oder der Zonendateien müssen Sie BIND anweisen.4 Die Konfigurationsdatei /etc/dhcpd. sind jedoch in gesonderten Dateien im Verzeichnis /var/lib/named gespeichert.1.12.13.0. notify no.Beispiel 20. IP-Adressen usw.2. listen-on { 127. forwarders { 10. die aus Hostnamen.168.0. diese erneut zu lesen.99.conf gespeichert.“ abgeschlossen ist und dass sich die geschweiften Klammern an der richtigen Position befinden.arpa.11. Die entsprechenden Dateien müssen nicht bearbeitet werden und sollten so funktionieren.conf“ (S.127. Nach dem Ändern der Konfigurationsdatei /etc/named. Zugriffssteuerungsliste) sind optional.conf finden Sie in Beispiel 20. localhost und 0.12. wie sie sind. 10.168.“ sollte immer vorhanden sein. 192. bestehen. Der Eintrag type hint unter „. Der Abschnitt logging und die Einträge unter acl (access control list. Achten Sie außerdem darauf. 411).conf lässt sich grob in zwei Bereiche untergliedern. 410 Referenz .0/24.conf Alle Einstellungen für den BIND-Namenserver selbst sind in der Datei /etc/named . Einzelheiten hierzu werden weiter unten beschrieben. „Eine Grundversion von /etc/named.0.conf options { directory "/var/lib/named".in-addr. Eine Minimalversion von /etc/named. Dies geschieht mit dem Befehl rcnamed reload. Sie können den Server jederzeit durch Eingabe von rcnamed stop anhalten. wenn Sie den Namenserver mit rcnamed restart anhalten und erneut starten. Die Zonendaten für die zu bearbeitenden Domänen. dass jeder Eintrag mit einem „. 20. }. Dieselbe Wirkung erzielen Sie. Der eine ist der Abschnitt options für allgemeine Einstellungen und der zweite besteht aus zone-Einträgen für die einzelnen Domänen.14. Auf den Eintrag options folgen Einträge für die Zone. /etc/named. }. 192.1 Weiterleitungsoptionen in named. allow-query { 127/8. Kommentarzeilen beginnen mit # oder mit //.11.0. }. }.

0.0.conf options { directory "/var/lib/named". Führt dazu. Ersetzen Sie ip-adresse durch eine IP-Adresse wie 10. sie über die Root-Namenserver aufzulösen.0. an die DNS-Anforderungen weitergeleitet werden sollen.in-addr. wenn sie nicht direkt aufgelöst werden können. In der Regel ist dies /var/lib/named.Beispiel 20. }. Gibt die Namenserver (zumeist des Anbieters) an. }. Damit werden alle Anforderungen weitergeleitet.0.1. port 53 muss nicht explizit angegeben wer- Das Domain Name System (DNS) 411 .arpa" in { type master.0. Informiert BIND darüber. Anstatt forward first kann forward only verwendet werden.zone".1. an welchen Netzwerkschnittstellen und Ports ClientAbfragen akzeptiert werden sollen.0.0. zone ". }. file "root. file "127. in dem BIND die Dateien mit den Zonendaten finden kann.4.127.0. }.0. forward first. notify no. bevor versucht wird.1 Wichtige Konfigurationsoptionen directory „Dateiname“. Dies ist bei FirewallKonfigurationen sinnvoll. 20.2 Eine Grundversion von /etc/named. }. listen-on port 53 { 127. forwarders { 10. Gibt das Verzeichnis an. }. zone "0.hint". zone "localhost" in { type master.zone".1. ip-adresse. ohne dass sie an die Root-Namenserver gesendet werden. file "localhost. forwarders { ip-adresse. dass DNS-Anforderungen weitergeleitet werden. }." in { type hint.

1 ein..0. allow-transfer ! *. Jedes Mal. Dadurch wird BIND angewiesen. Setzen Sie diesen Wert auf „0“. Die einzige Alternative zu any ist none.255. Dieser Eintrag ist erforderlich. Der Wert /24 am Ende ist ein abgekürzter Ausdruck für die Netzmaske. netz.0. }. Geben Sie 127. Im vorliegenden Beispiel werden solche Anforderungen durch ! * vollständig verweigert. allow-query { 127. Ohne diesen Eintrag können Zonentransfer ohne Einschränkungen von jedem beliebigen Ort aus angefordert werden. listen-on-v6 port 53 {any. von denen aus Clients DNS-Anforderungen aufgeben können.0. Informiert BIND darüber. welche Hosts Zonentransfers anfordern können. wenn eine Firewall ausgehende DNS-Anforderungen blockiert. oder legen Sie ein Zeitintervall in Minuten fest. Ersetzen Sie netz durch Adressinformationen wie 192. Informiert BIND darüber. Die verwendete Einheit für die Zeitangabe ist Minuten.1/24.255. Definiert die Netzwerke. wird ein Eintrag in /var/log/messages ausgelöst. wenn dies geschieht. query-source address * port 53. 412 Referenz . query-source-v6 address * port 53.den.0. Der Standardwert ist 60 Minuten. in welchen Zeitabständen BIND den Cache leert. Ohne diesen Eintrag generiert BIND in der Datei /var/log/messages mehrere Zeilen mit statistischen Informationen pro Stunde. um Anforderungen vom lokalen Host zuzulassen. Legt fest. Wenn Sie diesen Eintrag ganz auslassen. Anforderungen extern von Port 53 und nicht von einem der Ports mit den hohen Nummern über 1024 aufzugeben. um diese Statistiken vollständig zu unterdrücken. statistics-interval 0.168. welcher Port auf IPv6-Client-Anforderungen überwacht werden soll. }.0. cleaning-interval 720. hier 255. werden standardmäßig alle Schnittstellen verwendet.1. Bei IPv6 akzeptiert der Server nur Wildcard-Adressen. Diese Option legt fest. da 53 der Standard-Port ist. welcher Port für IPv6-Abfragen verwendet werden soll.

wird dieser Vorgang nicht durchgeführt und BIND überwacht nur die beim Start erkannten Schnittstellen. no verhindert. Beispiel 20. die Art und Weise und der Ort der Protokollierung kann in BIND extensiv konfiguriert werden.2 Protokollieren Der Umfang. Um eine Slave-Zone zu definieren. Anderenfalls wird das Zeitintervall in Minuten angegeben. Normalerweise sollten die Standardeinstellungen ausreichen. In Beispiel 20.4. bei dem jegliche Protokollierung unterdrückt wird. „Eintrag zur Deaktivierung der Protokollierung“ (S.de zone "meine-domaene. Wenn dieser Wert auf 0 gesetzt ist.3. }. BIND durchsucht die Netzwerkschnittstellen regelmäßig nach neuen oder nicht vorhandenen Schnittstellen. Der Standardwert ist 60 Minuten. ändern Sie den Wert von type in slave und geben Sie einen Namenserver an. 413) sehen Sie die einfachste Form eines solchen Eintrags. dass anderen Namenserver informiert werden. }. notify no.4. der diese Zone als master verwaltet Das Domain Name System (DNS) 413 . 20. wie in Beispiel 20. file "meine-domaene.zone".3 Zoneneinträge Beispiel 20. notify no. }. „Zoneneintrag für meine-domaene.de" in { type master.de“ (S.de) an. 20. Geben Sie nach zone den Namen der zu verwaltenden Domäne (meine-domaene. wenn Änderungen an den Zonendaten vorgenommen werden oder wenn der Namenserver neu gestartet wird.4.4 Zoneneintrag für meine-domaene. 413) gezeigt.interface-interval 0.3 Eintrag zur Deaktivierung der Protokollierung logging { category default { null. gefolgt von in und einem Block relevanter Optionen in geschweiften Klammern.

Um zwischen Master.und Slave-Dateien zu unterscheiden. Er gibt an. vom Typ hint wird zur Festlegung der Root-Namenserver verwendet.zone“. Dieser Eintrag ist nur für Slave-Zonen erforderlich. da die betreffenden Daten von einem anderen Namenserver abgerufen werden. der Clients das Anlegen von DNS-Einträgen gestatten würde. Dies setzt voraus. Dies ist in der Regel aus Sicherheitsgründen nicht erstrebenswert.(dieser kann wiederum ein Slave eines anderen Masters sein). Diese Zonendefinition kann unverändert beibehalten werden.zone oder file „slave/andere-domaene. In diesem Eintrag wird die Datei angegeben. dass der lokale Namenserver für die Zone zuständig ist. }.zone". Durch die Angabe master wird BIND darüber informiert. }. wie in Beispiel 20.0. type hint. type slave.0. }. file "slave/andere-domaene. }. file meine-domaene.de" in { type slave. allow-update {! *.de“ (S. Zonenoptionen: type master.5 Zoneneintrag für andere-domaene. verwenden Sie das Verzeichnis slave für die Slave-Dateien.1. masters { server-ip-adresse. 414) gezeigt. „Zoneneintrag für andere-domaene.5. Mit dieser Option wird der externe Schreibzugriff gesteuert. Sie muss zusammen mit masters verwendet werden. Diese Zone wird von einem anderen Namenserver übertragen. Diese Datei ist für einen Slave nicht erforderlich. in der sich die Zonendaten für die Domäne befinden. dass eine Zonendatei im richtigen Format erstellt wurde.de zone "andere-domaene. masters { 10. Ohne diesen Eintrag sind überhaupt keine Zonenaktualisie- 414 Referenz . Beispiel 20. von welchem Namenserver die Zonendatei übertragen werden soll. Die Zone .

„Datei /var/lib/named/world. da ! * solche Aktivitäten effektiv unterbindet. die für die Domäne world.6.168.168.1.cosmos zuständig ist (siehe Beispiel 20. am Ende angegeben werden. müssen mit .168. die mit einem vollständigen Domänennamen angegeben werden.1. wird die Zone angefügt.0. Wenn Hostnamen ohne . 415)).zone. abgeschlossen werden.0. .1 192.2 192.zone $TTL 2D world.168. ( . Der oben stehende Eintrag hat dieselbe Wirkung. 20.168.cosmos. IN SOA 2003072441 1D 2H 1W 2D ) IN NS IN MX gateway sun moon earth mars www IN IN IN IN IN IN IN A A A A A A CNAME gateway serial refresh retry expiry minimum root.0.world.6 Datei /var/lib/named/world.zone“ (S.168. gateway 10 sun 192. Beispiel 20. TIPP: Verwenden des Punktes in Zonendateien Der Punkt (.1. Eine weist den Hostnamen IP-Adressen zu und die andere macht genau das Gegenteil: Sie stellt einen Hostnamen für eine IPAdresse bereit. Ein fehlender oder falsch platzierter Punkt ist wahrscheinlich die häufigste Ursache von Fehlern bei der Namenserverkonfiguration.) ist in den Zonendateien von entscheidender Bedeutung.1 192.cosmos. dass die Domäne ein weiteres Mal angefügt wird.3 192. Der erste zu betrachtende Fall ist die Zonendatei world.5 Zonendateien Zwei Arten von Zonendateien sind erforderlich.rungen zulässig.2 192. Vollständige Hostnamen. . .3 moon Das Domain Name System (DNS) 415 . . um zu verhindern.

.cosmos. Zeile 3: Die Seriennummer (serial) ist eine beliebige Nummer. Sie wird benötigt. Da das Zeichen @ bereits eine besondere Bedeutung hat. Der Punkt (. endet. 416 Referenz . in dem die sekundären Namenserver die Seriennummer (serial) der Zone überprüfen. • Durch ( werden alle Zeilen bis einschließlich ) in den SOA-Eintrag aufgenommen. In diesem Beispiel sind die Einträge zwei Tage lang gültig (2 D). da anderenfalls die Zone ein zweites Mal angefügt würde. Dieser Eintrag endet mit . die sich bei jeder Änderung der Datei erhöht. lauten. Zeile 2: Hier beginnt der SOA (Start of Authority)-Steuereintrag: • Der Name der zu verwaltenden Datei ist world. damit nicht die Zone angefügt wird. wird hier stattdessen .Zeile 1: $TTL legt die Standardlebensdauer fest.world.cosmos muss der Eintrag root. • Nach IN SOA befindet sich der Name des Namenservers. In diesem Fall beträgt dieses Intervall einen Tag.world. die für alle Einträge in dieser Datei gelten soll. Zeile 4: Die Aktualisierungsrate (refresh) gibt das Zeitintervall an. Statt root@world. der als Master für diese Zone fungiert.cosmos an der ersten Stelle. Hierfür hat sich eine 10-stellige Nummer aus Datum und Ausführungsnummer in der Form JJJJMMMTTNN als übliches Format etabliert.) am Ende muss stehen. um die sekundären Namenserver (Slave-Server) über Änderungen zu informieren.cosmos erweitert. Der Name wird von gateway zu gateway. da er nicht mit . • Es folgt die E-Mail-Adresse der für diesen Namenserver zuständigen Person. In diesem Fall wird die Zone aus dem entsprechenden Eintrag in /etc/named. eingegeben. Alternativ kann hier @ eingegeben werden.conf extrahiert.

Kontakt zum primären Server herzustellen.world.Zeile 5: Die Wiederholungsrate (retry) gibt das Zeitintervall an. wird der Eintrag mit A6 gekennzeichnet.world. nach dem ein sekundärer Server die im Cache gespeicherten Daten verwirft. werden alle hier aufgeführten Namenserver über die Änderungen an den Zonendaten informiert.cosmos annimmt.conf nicht auf no gesetzt ist. weil er zwei Netzwerkkarten aufweist. wird ein Versuch mit dem nächsthöheren Wert unternommen. In diesem Fall ist dies eine Woche. Wenn die Mailzustellung an diesen Server nicht möglich ist. wird zunächst der Mailserver mit dem kleinsten Wert verwendet. Es kann mehrere solche Zeilen geben – eine für den primären und jeweils eine für jeden sekundären Namenserver. da es nicht mit . Zeile 10: Der MX-Eintrag gibt den Mailserver an.cosmos erweitert. Wenn es sich um einer IPv6-Adresse handelt. Das Domain Name System (DNS) 417 . in denen den Hostnamen eine oder mehrere IP-Adressen zugewiesen werden. die Ergebnisse nicht aufgelöster DNS-Abfragen von anderen Servern im Cache gespeichert werden können. Daher werden sie alle um world. Die Namen sind hier ohne . Zeile 9: IN NS gibt den für diese Domäne verantwortlichen Namenserver an. Das frühere Token für IPv6-Adressen war AAAA. der E-Mails für die Domäne world. endet. Zeile 6: Die Ablaufzeit (expiry) gibt den Zeitraum an. gateway wird zu gateway. Wenn notify in /etc/named. In diesem Beispiel ist dies der Host sun. wenn er keinen erneuten Kontakt zum primären Server herstellen konnte. verarbeitet und weiterleitet. Die Zahl vor dem Hostnamen ist der Präferenzwert.cosmos. Dieses ist inzwischen veraltet. In diesem Fall sind dies zwei Stunden. aufgeführt. Zeilen 12–17: Dies sind die eigentlichen Adresseinträge. Zeile 7: Die letzte Angabe im SOA-Eintrag gibt die negative Cache-Lebensdauer negative caching TTL an – die Zeitdauer. nach dem ein sekundärer Namenserver bei einem Fehler erneut versucht. Dem Host-Gateway (gateway) werden zwei IP-Adressen zugewiesen. da sie ihre Domäne nicht enthalten.cosmos ergänzt. Bei jeder traditionellen Hostadresse (IPv4) wird der Eintrag mit A gekennzeichnet. Wenn mehrere MX-Einträge vorhanden sind.

Sie müssen diese Informationen angeben. Aufgrund der Möglichkeit einer Fragmentierung müssen Informationen zu fehlenden Bits vor der Adresse angegeben werden.in-addr. „Reverse-Lookup“ (S. 418 Referenz .168. Die Pseudodomäne in-addr. Siehe Beispiel 20. 419).arpa wird für Reverse-Lookups zur Auflösung von IP-Adressen in Hostnamen verwendet.ANMERKUNG: A6-Syntax Der A6-Eintrag weicht in seiner Syntax ein wenig vom AAAA-Eintrag ab.7. Sie wird in umgekehrter Notation an den Netzwerk-Teil der Adresse angehängt.arpa aufgelöst.1 wird also in 1. lautet das A6Format des Eintrags: pluto IN pluto IN AAAA 2345:00C1:CA11:0001:1234:5678:9ABC:DEF0 AAAA 2345:00D2:DA11:0001:1234:5678:9ABC:DEF0 Verwenden Sie keine IPv4-Adressen mit IPv6-Zuordnung.und keinen A6-Eintrag. selbst wenn Sie vorhaben. Zeile 18: Der Alias www kann zur Adressierung von mond (CNAME steht für canonical name (kanonischer Name)) verwendet werden. eine völlig unfragmentierte Adresse zu verwenden. 192.168.192. Da das obige Beispiel vollständig ist (es fehlen keine Bits). Wenn ein Host eine IPv4-Adresse aufweist. verwendet er einen A. Beispiel: Ein alter AAAA-Datensatz mit folgender Syntax: pluto IN pluto IN AAAA 2345:00C1:CA11:0001:1234:5678:9ABC:DEF0 AAAA 2345:00D2:DA11:0001:1234:5678:9ABC:DEF0 Hier müssen Sie im A6-Format Informationen zu fehlenden Bits hinzufügen.

Das Domain Name System (DNS) 419 .cosmos. Angenommen.168. mars. ohne .Beispiel 20.cosmos.192.7 Reverse-Lookup $TTL 2D 1. ergibt sich die vollständige IP-Adresse in umgekehrter Reihenfolge.) am Ende.arpa. Zeile 1: $TTL definiert die Standard-TTL. Wenn daran die Zone angehängt wird (ohne .192.in-addr.cosmos.168. earth.cosmos. refresh 2H . Zeilen 11–13: Dies sind die Zeigereinträge. minimum IN NS 1 2 3 IN PTR IN PTR IN PTR gateway. IN SOA gateway.cosmos.world.in-addr.168. gateway. root.world. retry 1W .world.arpa). die Zone heißt 1.arpa.world. sollte sie nicht zu den Hostnamen hinzugefügt werden.1. expiry 2D ) .in-addr. Zeilen 3–7: Siehe vorheriges Beispiel für world. am Ende eingegeben. Daher werden alle Hostnamen in ihrer vollständigen Form eingegeben – mit ihrer Domäne und mit einem Punkt (.cosmos) beschriebenen Einträgen. Zeile 9: Diese Zeile gibt wieder den für diese Zone verantwortlichen Namenserver an. serial 1D .0 aktivieren. die auf die IP-Adressen auf den entsprechenden Hosts verweisen. am Ende. Zeile 2: Die Konfigurationsdatei sollte Reverse-Lookup für das Netzwerk 192.world. Am Anfang der Zeile wird nur der letzte Teil der IP-Adresse eingegeben.cosmos.world. Diesmal wird der Name allerdings in vollständiger Form mit Domäne und . ( 2003072441 . die für alle Einträge hier gilt.cosmos. Die restlichen Einträge entsprechen den im vorherigen Beispiel (world.

geändert oder gelöscht werden. update-policy-Regel konfiguriert. Die zu aktualisierenden Einträge werden mit dem Befehl nsupdate an den Server übermittelt. Dieser Mechanismus wird in RFC 2136 beschrieben. 20.6 Dynamische Aktualisierung von Zonendaten Der Ausdruck dynamische Aktualisierung bezieht sich auf Vorgänge.Normalerweise sollten Zonentransfers zwischen verschiedenen Versionen von BIND problemlos möglich sein. bei denen Einträge in den Zonendateien eines Masterservers hinzugefügt.7 Sichere Transaktionen Sichere Transaktionen können mithilfe von Transaktionssignaturen (TSIGs) durchgeführt werden. 20. die auf gemeinsam genutzten geheimen Schlüsseln (auch TSIG-Schlüssel genannt) beruhen. Erstellen Sie einen TSIG-Schlüssel mit folgendem Befehl (Einzelheiten finden Sie unter man dnssec-keygen): dnssec-keygen -a hmac-md5 -b 128 -n HOST host1-host2 Dadurch werden zwei Schlüssel mit ungefähr folgenden Namen erstellt: 420 Referenz . Dynamisch zu aktualisierende Zonen sollten nicht von Hand bearbeitet werden. Die genaue Syntax dieses Befehls können Sie der Manual Page für nsupdate (man 8 nsupdate) entnehmen. wie in Abschnitt 20.7. „Sichere Transaktionen“ (S. als sich lediglich auf IPAdressen zu verlassen. ist wesentlich sicherer. In diesem Abschnitt wird die Erstellung und Verwendung solcher Schlüssel beschrieben. Aus Sicherheitsgründen sollten solche Aktualisierungen mithilfe von TSIG-Schlüsseln durchgeführt werden. Die Zugriffssteuerung von Schlüsseln abhängig zu machen. Die dynamische Aktualisierung wird individuell für jeden Zoneneintrag durch Hinzufügen einer optionalen allow-update. 420) beschrieben.bzw. Sichere Transaktionen werden für die Kommunikation zwischen verschiedenen Servern und für die dynamische Aktualisierung von Zonendaten benötigt.

um Transaktionssicherheit zu gewährleisten. secret ".+157+34265.2.conf des Servers folgende Regel enthalten: server 192.private Khost1-host2. dass die Berechtigungen von /etc/named.168. über SCP).key) auf den entfernten Host übertragen werden. Auf dem entfernten Server muss der Schlüssel in der Datei /etc/ named. Der entsprechende Eintrag könnte wie folgt aussehen: allow-update { key host1-host2. Fügen Sie TSIG-Schlüssel für alle ACLs (Access Control Lists.}.168. Um ihn für Transaktionen zu verwenden.3 { keys { host1-host2. möglichst auf eine sichere Weise (z. muss die zweite Datei (Khost1-host2.}. die für IP-Adressen und -Adressbereiche definiert sind. .key Der Schlüssel selbst (eine Zeichenkette. Der Standardwert für diese Datei lautet 0640. B. nicht zu verwechseln mit Dateisystem-ACLs) hinzu. muss die Datei /etc/named. Analoge Einträge müssen in die Konfigurationsdateien von host2 aufgenommen werden. damit eine sichere Kommunikation zwischen host1 und host2 möglich ist: key host1-host2. wie beispielsweise ejIkuCyyGJwwuN3xAteKgg==) ist in beiden Dateien enthalten.+157+34265 . Dieses Thema wird eingehender im Referenzhandbuch für BIND-Administratoren (unter update-policy) erörtert. WARNUNG: Dateiberechtigungen von /etc/named. }. . }.conf enthalten sein.3).conf aufgenommen wird.2. Alternativ können Sie die Schlüssel in eine gesonderte Datei mit speziell eingeschränkten Berechtigungen verschieben.conf Vergewissern Sie sich. { algorithm hmac-md5. Damit Server host1 den Schlüssel für host2 verwenden kann (in diesem Beispiel mit der Adresse 192. Zugriffssteuerungslisten. Das Domain Name System (DNS) 421 .ejIkuCyyGJwwuN3xAteKgg==. mit root als Eigentümer und named als Gruppe.conf ordnungsgemäß eingeschränkt sind. die dann aus /etc/named.+157+34265.Khost1-host2.

sowie die in BIND enthaltenen Manualpages. um die Zonen mit dnssec-signzone zu signieren. Die generierten öffentlichen Schlüssel sollten mithilfe einer $INCLUDE-Regel in die entsprechende Zonendatei aufgenommen werden. Die durch diesen Befehl erstellten Dateien werden anschließend verwendet.8 DNS-Sicherheit DNSSEC (DNS-Sicherheit) wird in RFC 2535 beschrieben. 20. wodurch wiederum die Dateien erstellt werden.conf aufgenommen werden sollen. Zurzeit wird der DSA-Verschlüsselungsalgorithmus zum Erstellen dieser Schlüssel verwendet. Diese werden mit dnssec-keygen erstellt. 422 Referenz .SuSE enthält aktuelle Informationen zu BIND in SUSE Linux.9 Weitere Informationen Weitere Informationen können Sie dem Referenzhandbuch für BIND-Administratoren aus Paket bind-doc entnehmen. genau wie die Host-Schlüssel. Die für DNSSEC verfügbaren Werkzeuge werden im BIND-Handbuch erörtert. Mit dem Befehl dnssec-makekeyset werden alle erstellten Schlüssel zu einem Satz zusammengefasst. /usr/share/doc/ packages/bind/README. auf die im Handbuch verwiesen wird. Außerdem könnten Sie die RFCs zurate ziehen. die für die einzelnen Zonen in /etc/named.20. In der übergeordneten Zone wird der Satz mit dnssec-signkey signiert. Einer als sicher betrachteten Zone müssen ein oder mehrere Zonenschlüssel zugeordnet sein. der dann auf sichere Weise in die übergeordnete Zone übertragen werden muss. das unter /usr/share/doc/packages/bind/ installiert ist.

Verteilte Nutzung von Dateisystemen mit NFS (S. Darauf wird hier jedoch nicht im Detail eingegangen. NIS kann auch für andere Zwecke eingesetzt werden (beispielsweise. da dies den Rahmen dieser Einführung sprengen würde. NIS (Network Information Service) kann als datenbankähnlicher Dienst verstanden werden.1 Konfigurieren von NIS-Servern Zur Verteilung von NIS-Informationen in Netzwerken können Sie entweder einen einzelnen Server (einen Master) verwenden. dass alle Benutzer.und Gruppen-IDs auf allen Computern in diesem Netzwerk identisch sind. /etc/shadow und /etc/group ermöglicht. der allen Clients Daten bereitstellt. Arbeiten mit NIS 423 . Das Netzwerk soll für die Benutzer transparent sein: Sie sollten unabhängig vom verwendeten Computer immer die gleiche Umgebung vorfinden. Möglich wird dies durch die NIS. um den Inhalt von Dateien wie /etc/ hosts oder /etc/services verfügbar zu machen). da es sich bei dem Dienst quasi um die „Gelben Seiten“ des Netzwerks handelt. die diese Informationen vom Master anfordern und dann an ihre jeweiligen Clients weiterleiten. NFS dient der Verteilung von Dateisystemen im Netzwerk und wird in Kapitel 22. 433) beschrieben.und NFS-Dienste. 21. der den netzwerkübergreifenden Zugriff auf den Inhalt der Dateien /etc/ passwd.Arbeiten mit NIS 21 Sobald mehrere Unix-Systeme in einem Netzwerk auf gemeinsame Ressourcen zugreifen. Für NIS wird vielfach synonym der Begriff YP (Yellow Pages) verwendet. oder Sie verwenden NIS-Slave-Server. muss sichergestellt sein.

1. fahren Sie mit Abschnitt 21. 2 Falls Sie nur einen NIS-Server in Ihrem Netzwerk benötigen oder dieser Server als Master für NIS-Slave-Server fungieren soll. klicken Sie auf NIS Master Server einrichten.1 Konfigurieren eines NIS-Master-Servers Gehen Sie wie folgt vor. um einen NIS-Master-Server für Ihr Netzwerk zu konfigurieren: 1 Starten Sie YaST → Netzwerkdienste → NIS-Server. TIPP Wenn bereits NIS-Serversoftware auf Ihrem Computer installiert ist. 429) beschrieben. richten Sie den Master-Server ein. 21. 424) fort. YaST installiert die erforderlichen Pakete. und richten Sie die Slave-Server in den Subnetzen ein.• Um nur einen NIS-Server für Ihr Netzwerk zu konfigurieren. 424 Referenz . • Wenn Ihr NIS-Master-Server seine Daten an Slave-Server in anderen Subnetzen exportieren soll.2.1. wie unter Abschnitt 21.1.1.1. „Konfigurieren eines NIS-Master-Servers“ (S. wählen Sie NIS Master Server installieren und einrichten. 424) beschrieben. wie unter Abschnitt 21. um die Erstellung eines NISMaster-Servers zu initiieren.1. „Konfigurieren eines NIS-Slave-Servers“ (S. „Konfigurieren eines NIS-Master-Servers“ (S.

b Definieren Sie. dass Benutzer mit dem Befehl ypchfn auch ihre Namens. Wählen Sie Ändern der Passwörter zulassen. indem Sie Dieser Rechner ist zugleich NIS-Client auswählen.1 NIS-Serverkonfiguration 3 Legen Sie die grundlegenden Optionen für das NIS-Setup fest: a Geben Sie den NIS-Domänennamen ein. an dem sich Benutzer anmelden und auf Daten vom NIS-Server zugreifen können. „GECOS“ bedeutet.und Adresseinstellungen ändern können. z.Abbildung 21. Die neue Shell muss einer der vordefinierten Einträge in /etc/shells sein. Dadurch werden die Optionen Ändern des GECOS-Eintrags zulassen und Ändern der Login-SHELL zulassen verfügbar. um Benutzern in Ihrem Netzwerk (sowohl lokalen als auch den vom NIS-Server verwalteten Benutzern) das Ändern ihres Passworts auf dem NIS-Server zu ermöglichen (mit dem Befehl yppasswd). „SHELL“ erlaubt Benutzern. von bash zu sh. B. Arbeiten mit NIS 425 . ob der Host auch ein NIS-Client sein soll. mit dem Befehl ypchsh ihre Standard-Shell zu ändern.

um zusätzliche Einstellungen vorzunehmen. Andere globale Einstellungen umfassen das Ändern des Quellverzeichnisses für den NIS-Server (standardmäßig /etc). Legen Sie auch die kleinste Benutzer. Außerdem können hier Passwörter zusammengeführt werden. /etc/shadow und /etc/group) zum Erstellen der Benutzerdatenbank verwendet werden. damit die Dateien (/etc/passwd. um Ihre Einstellungen zu bestätigen und in das vorherige Fenster zurückzukehren.und Gruppen-ID fest. damit YaST die Firewall-Einstellungen für den NIS-Server anpasst.c Wenn Ihr NIS-Server als Master-Server für NIS-Slave-Server in anderen Subnetzen fungieren soll. wählen Sie Aktiver Slave-Server für NIS vorhanden. Abbildung 21. die NIS anbieten soll. Die Einstellung sollte auf Ja gesetzt sein. d Wählen Sie Firewall-Ports öffnen. Klicken Sie auf OK.2 Konfiguration des Masterservers e Schließen Sie dieses Dialogfeld mit Weiter oder klicken Sie auf Andere globale Einstellungen. 426 Referenz .

5 Werden keine Slave-Server verwendet. Schließen Sie das Dialogfeld mit Weiter. welche Maps (Teildatenbanken) verfügbar sein sollen. Hier geben Sie die Maps an. 6 Legen Sie fest.3 Ändern des Verzeichnisses und Synchronisieren von Dateien für einen NIS-Server 4 Wenn Sie zuvor die Option Aktiver Slave-Server für NIS vorhanden aktiviert haben. h. wird die Slave-Konfiguration übersprungen und Sie gelangen direkt zum Dialogfeld für die Datenbankkonfiguration. die Teildatenbanken.Abbildung 21. und klicken Sie auf Weiter. um fortzufahren. geben Sie die entsprechenden Hostnamen der Slaves ein und klicken Sie auf Weiter. Die hier angezeigten Voreinstellungen sind für die meisten Fälle ausreichend. die vom NIS-Server auf den jeweiligen Client übertragen werden sollen. d. Arbeiten mit NIS 427 .

0.0.0. Mithilfe der entsprechenden Schaltflächen können Sie Hosts hinzufügen.0 0.0.0. aus welchen Netzwerken Anforderungen an den NIS-Server gesendet werden dürfen. Legen Sie fest.0 Der erste Eintrag ermöglicht Verbindungen vom eigenen Host. Der zweite erlaubt allen Hosts. Dies ist in der Regel nur das interne Netzwerk. In diesem Fall sollten die beiden folgenden Einträge vorhanden sein: 255. die den NIS-Server abfragen dürfen.0.0 0. bei dem es sich um den NIS-Server handelt.0. bearbeiten oder entfernen.0.0 127.4 Konfiguration der NIS Server Maps 7 Geben Sie die Hosts ein.Abbildung 21. 428 Referenz . Anforderungen an den Server zu senden.

21.2 Konfigurieren eines NIS-Slave-Servers Gehen Sie wie folgt vor.Abbildung 21. TIPP Wenn bereits NIS-Serversoftware auf Ihrem Computer installiert ist. klicken Sie auf NIS Slave Server einrichten. um zusätzliche NIS-Slave-Server in Ihrem Netzwerk zu konfigurieren: 1 Starten Sie YaST → Netzwerkdienste → NIS-Server.1. 2 Wählen Sie NIS Slave Server installieren und einrichten und klicken Sie auf Weiter. um die Änderungen zu speichern und das Setup abzuschließen. 3 Vervollständigen Sie das grundlegende Setup Ihres NIS-Slave-Servers: Arbeiten mit NIS 429 . um die Erstellung eines NIS-SlaveServers zu initiieren.5 Einrichten von Anforderungsberechtigungen für einen NIS-Server 8 Klicken Sie auf Beenden.

wenn der angegebene Server nicht reagiert.0.0 0. DHCP (S. Gewöhnlich sind das alle Hosts. b Geben Sie den Hostnamen oder die IP-Adresse des Master-Servers ein.0. Mithilfe der entsprechenden Schaltflächen können Sie Hosts hinzufügen. e Klicken Sie auf Weiter. Weitere Informationen zu DHCP finden Sie in Kapitel 23.2 Konfigurieren von NIS-Clients Verwenden Sie das Modul NIS-Client. 21. Abhängig von der Größe Ihres lokalen Netzwerks kann das ein sehr zeitraubendes Verfahren sein. 430 Referenz . 431). In diesem Fall sollten die beiden folgenden Einträge vorhanden sein: 255. c Aktivieren Sie Dieser Rechner ist zugleich NIS-Client. DHCP kann auch die NIS-Domäne und den NIS-Server angeben.0. um die Änderungen zu speichern und das Setup abzuschließen. Legen Sie fest. in Ihrem ganzen Netzwerk nach einem aktiven NIS-Server zu suchen.0. Anforderungen an den Server zu senden. d Passen Sie die Firewall-Einstellungen mit Ports in Firewall öffnen an. bearbeiten oder entfernen. ob der Host eine statische IP-Adresse hat oder ob er eine Adresse vom DHCP-Server erhält. 5 Klicken Sie auf Beenden.0 0. 4 Geben Sie die Hosts ein. die den NIS-Server abfragen dürfen.0.6. geben Sie die NIS-Domäne und den NIS-Server manuell an.0.0 Der erste Eintrag ermöglicht Verbindungen vom eigenen Host.0. Der zweite Eintrag ermöglicht allen Hosts. um eine Arbeitsstation für den Einsatz von NIS zu konfigurieren. Siehe Abbildung 21. Broadcast verlangt einen NIS-Server im lokalen Netzwerk.a Geben Sie die NIS-Domäne ein. aus welchen Netzwerken Anforderungen an den NIS-Server gesendet werden dürfen.0. „Festlegen der Domäne und Adresse eines NIS-Servers“ (S. Suchen weist YaST an. bei dem es sich um den NIS-Server handelt. die Zugriff auf das Netzwerk haben. wenn Sie Benutzeranmeldungen auf diesem Server ermöglichen möchten. Falls eine statische IP-Adresse verwendet wird. Legen Sie fest.0 127. 439).

Abbildung 21. wenn Hosts nicht abfragen dürfen.Sie können auch mehrere Server angeben.6 Festlegen der Domäne und Adresse eines NIS-Servers Arbeiten mit NIS 431 . Wenn Sie Fehlerhafter Server aktivieren. der über einen nicht berechtigten Port kommuniziert. Diese Option installiert bei Bedarf auch zusätzliche Software. Deaktivieren Sie in den Experteneinstellungen die Option Entfernten Hosts antworten. Abhängig von Ihrer lokalen Installation können Sie auch den Automounter aktivieren. indem Sie ihre Adressen durch Leerzeichen getrennt unter Adressen der NIS-Server angeben. welchen Server Ihr Client verwendet. Weitere Informationen finden Sie auf der Manualpage man ypbind. Wenn Sie alle Einstellungen vorgenommen haben. um sie zu speichern und zum YaST-Kontrollzentrum zurückzukehren. wird der Client für das Empfangen von Antworten von einem Server aktiviert. klicken Sie auf Beenden.

.

über ein funktionierendes DNS-System zu verfügen. das zu importierende Verzeichnis und den Einhängepunkt an. um Zeitüberschreitungen zu vermeiden. Dies geschieht am einfachsten mit dem YaST-Modul NFSClient. finden sie stets die gleiche Umgebung vor. an dem das Verzeichnis lokal eingehängt werden soll. Durch NFS lassen sich Dateisysteme im Netzwerk verteilen. ein Netzwerk für den Benutzer transparent zu machen. 22 Wie NIS ist NFS ein Client-Server-System. Diese Eingaben werden im ersten Dialogfeld nach einem Klick auf Hinzufügen eingeVerteilte Nutzung von Dateisystemen mit NFS 433 .1 Importieren von Dateisystemen mit YaST Autorisierte Benutzer können NFS-Verzeichnisse von NFS-Servern in ihre eigenen Dateibäume einhängen. Arbeiten mit NIS (S. 423) erwähnt.Verteilte Nutzung von Dateisystemen mit NFS Wie bereits in Kapitel 21. Dies ist zumindest für die Protokollierung erforderlich. weil der mountd-Daemon Reverse-Lookups ausführt. an welchem Terminal die Anwender angemeldet sind. WICHTIG: DNS-Bedarf Im Prinzip können alle Exporte allein mit IP-Adressen vorgenommen werden. Geben Sie nur den Hostnamen des NFS-Servers. dient NFS neben NIS dazu. Es ist jedoch ratsam. Ein Computer kann beides gleichzeitig sein – er kann Dateisysteme im Netzwerk zur Verfügung stellen (exportieren) und Dateisysteme anderer Hosts einhängen (importieren). Unabhängig davon. 22.

Abbildung 22. Sobald diese Voraussetzung erfüllt ist. Siehe Abbildung 22.2 Manuelles Importieren von Dateisystemen Das manuelle Importieren von Dateisystemen von einem NFS-Server ist sehr einfach. 434). lautet der Befehl: mount sun:/home /home 434 Referenz . dass ein RPC-Portmapper läuft. „Konfiguration des NFS-Clients mit YaST“ (S. Die Syntax ist wie folgt: mount host:remote-path local-path Wenn beispielsweise Benutzerverzeichnisse vom Rechner sun importiert werden sollen. Die einzige Voraussetzung ist.geben. Klicken Sie auf Firewall-Port öffnen.1. um die Firewall zu öffnen und entfernten Computern den Zugriff auf den Dienst zu gewähren. Mit einem Klick auf OK werden Ihre Änderungen gespeichert.1 Konfiguration des NFS-Clients mit YaST 22. Der Status der Firewall wird neben dem Kontrollkästchen angezeigt. der durch die Eingabe des Befehls rcportmap start vom root gestartet werden kann. können auf den entsprechenden Computer exportierte entfernte Dateisysteme analog zu lokalen Festplatten über den Befehl mount im Dateisystem eingehängt werden.

ohne dass sie lokal auf deren Hosts installiert werden müssen. die darauf Zugriff erhalten sollen. „Konfiguration des NFS-Servers“ (S. 435). Beenden schließt die Konfiguration ab. Legen Sie darunter Hosts fest. Auf diese Weise können Anwendungen für alle Mitglieder einer Gruppe zur Verfügung gestellt werden.2. Starten Sie YaST zum Installieren eines solchen Servers und wählen Sie Netzwerkdienste → NFS-Server. Verteilte Nutzung von Dateisystemen mit NFS 435 .3.2 Konfiguration des NFS-Servers Aktivieren Sie im nächsten Schritt NFS-Server starten und klicken Sie auf Weiter. Es erscheint ein Dialogfeld wie in Abbildung 22. Dies ist ein Server. Abbildung 22. Geben Sie im oberen Textfeld die zu exportierenden Verzeichnisse an. die ihm Zugriff gewähren. Für jeden Host können vier Optionen eingestellt werden: single host. 436) abgebildet. Dieses Dialogfeld ist in Abbildung 22. „Konfigurieren eines NFS-Servers mit YaST“ (S.22.3 Exportieren von Dateisystemen mit YaST Mit YaST können Sie einen Rechner Ihres Netzwerks zu einem NFS-Server machen. der Verzeichnisse und Dateien an alle Hosts exportiert. netgroups. Nähere Erklärungen zu diesen Optionen erhalten Sie durch Eingabe von man exports. wildcards und IP networks.

4 Manuelles Exportieren von Dateisystemen Wenn Sie auf die Unterstützung von YaST verzichten möchten.Abbildung 22. wenn Firewall-Ports öffnen ausgewählt ist. 22.nfsd) 436 Referenz . dass folgende Systeme auf dem NFS-Server laufen: • RPC-Portmapper (portmap) • RPC-Mount-Daemon (rpc. stellen Sie sicher. indem der nfs-Dienst aktiviert wird.3 Konfigurieren eines NFS-Servers mit YaST WICHTIG: Automatische Firewall-Konfiguration Wenn auf Ihrem System eine Firewall aktiviert ist (SuSEfirewall2).mountd) • RPC-NFS-Daemon (rpc. passt YaST deren Konfiguration für den NFS-Server an.

Wenn hier kein Computer angegeben wird. geben Sie die Befehle insserv /etc/init. Verteilte Nutzung von Dateisystemen mit NFS 437 . Autorisierte Computer werden üblicherweise mit ihren vollständigen Namen (inklusive der Domänennamen) angegeben. Diese Benutzer-ID sollte dem Benutzer nobody (Standardeinstellung) zugewiesen sein. „Berechtigungen für exportierte Dateisysteme“ (S.d/nfsserver und insserv /etc/init. Die wichtigsten Optionen sind in Tabelle 22.d/portmap ein.d/portmap und /etc/init. Erreicht wird dies. indem Benutzern mit der Benutzer-ID 0 (root) die Benutzer-ID 65534 zugewiesen wird. dass der Benutzer root eines importierenden Computers für das Dateisystem keine root-Berechtigungen hat. Die Berechtigungen für das zu exportierende Dateisystem werden nach dem Namen des Computers in Klammern festgelegt.und Leserechten exportiert.1 Option ro rw Berechtigungen für exportierte Dateisysteme Bedeutung Das Dateisystem wird schreibgeschützt exportiert (Standard). aber es können auch Platzhalter wie * oder ? (die ähnlich wie in der Bash-Shell vervollständigt werden) verwendet werden. Für jedes zu exportierende Verzeichnis wird eine Zeile für die Informationen dazu benötigt. die root-Berechtigungen bleiben gültig. welche Dateisysteme an welchen Computer exportiert werden sollen. Das Dateisystem wird mit Schreib.Damit beim Booten des Systems diese Dienste mithilfe der Skripts /etc/init. 437) beschrieben.1. kann jeder Computer das Dateisystem mit den angegebenen Rechten importieren.d/nfsserver gestartet werden. Definieren Sie zudem in der Konfigurationsdatei /etc/exports. Diese Option bewirkt. Alle Unterverzeichnisse eines Verzeichnisses werden ebenfalls automatisch exportiert. Tabelle 22. welche Computer mit welchen Berechtigungen darauf zugreifen dürfen. root_squash no_root_squash Dem Benutzer mit der ID 0 wird nicht die Benutzer-ID 65534 zugewiesen.

Symbolische Links bleiben unverändert.root_squash) (ro) 22.1. 438 Referenz . Auf dem Client werden die gleichen Benutzer-IDs verwendet wie auf dem Server (Standard). Dies ist nur dann sinnvoll. starten Sie mountd und nfsd erneut. wenn das gesamte Dateisystem eines Computers eingehängt wurde (Standard)./ umgesetzt.5 Weitere Informationen Informationen über das Konfigurieren eines NFS-Servers finden Sie in /usr/share/ doc/packages/nfs-utils/README und den dort aufgeführten Dokumenten.. /etc/exports wird von mountd und nfsd gelesen. Durch diese Option wird nfsd angewiesen. Voraussetzung hierfür ist der Daemon ugidd. damit Ihre Änderungen wirksam werden.1 /etc/exports # # /etc/exports # /home /usr/X11 /usr/lib/texmf / /home/ftp # End of exports sun(rw) venus(rw) sun(ro) venus(ro) sun(ro) venus(rw) earth(ro. Dies geschieht ganz einfach über rcnfsserver restart. „/etc/exports“ (S. Wenn Sie in dieser Datei eine Änderung vornehmen. eine Konvertierungstabelle für die Benutzer-IDs zu erstellen.sourceforge. 438). Beispiel 22. link_absolute map_identity map_daemon Ihre exports-Datei sieht möglicherweise aus wie in Beispiel 22. Client und Server haben keine übereinstimmenden BenutzerIDs.Option link_relative Bedeutung Absolute Links (beginnend mit /) werden in eine Folge von .net/ zur Verfügung. Die ausführliche technische Dokumentation steht online unter http://nfs .

Alle (selbst umfangreiche) Änderungen der Netzwerkadressen oder der -konfiguration können zentral in der Konfigurationsdatei des DHCP-Servers vorgenommen werden. Dies ist sehr viel komfortabler als das Neukonfigurieren zahlreicher Arbeitsstationen. Zum einen kann ein DHCP-Server so konfiguriert werden. Ein für DHCP konfigurierter Host verfügt nicht über eine eigene statische Adresse. Zum anderen kann DHCP aber auch so konfiguriert werden. Einstellungen in einem Netzwerk zentral von einem Server aus zuzuweisen. sobald der Client eine Verbindung herstellt. wenn die Anzahl der Clients im Netzwerk nicht die Anzahl der Adressen übersteigt. Das ist nur möglich. der einen DHCP-Server ausführt. dass der Server jedem Client. der eine Verbindung zu ihm herstellt. indem sie aus dem Adresspool eine IP-Adresse zugewiesen bekommen. Außerdem können vor allem neue Computer sehr einfach in das Netzwerk integriert werden.auch über einen längeren Zeitraum hinweg. Das ist nützlich. Er konfiguriert sich stattdessen vollständig und automatisch nach den Vorgaben des DHCP-Servers. eine Adresse aus einem dafür vorgesehenen Adresspool dynamisch zuweist. In diesem Fall versucht der DHCP-Server. dem Client bei jeder Anforderung dieselbe Adresse zuzuweisen . Wenn Sie auf der Client-Seite den NetworkManager verwenden. Verwenden Sie NetworkManager nie auf einem Computer.DHCP 23 Das DHCP (Dynamic Host Configuration Protocol) dient dazu. DHCP erleichtert Systemadministratoren das Leben. dass er jeden Client anhand der Hardware-Adresse seiner Netzwerkkarte (die in den meisten Fällen unveränderlich ist) identifiziert und ständig mit denselben Einstellungen versorgt. wenn Sie in wechselnden Umgebungen arbeiten und nur jeweils eine Schnittstelle aktiv ist. brauchen Sie den Client überhaupt nicht zu konfigurieren. Einstellungen müssen also nicht dezentral an einzelnen Arbeitsplatzcomputern konfiguriert werden. Das Abrufen der entsprechen- DHCP 439 .

ein Zeitserver. um die Firewall für diese Schnittstelle zu öffnen. einige grundlegende Entscheidungen hinsichtlich der Serveradministration zu treffen. Wählen Sie anschließend die Option Firewall für gewählte Schnittstelle öffnen. Wählen Sie in dieser Liste die Schnittstelle aus. 441). B. auf der der DHCP-Server lauschen soll. sondern auch das zu verwendende Gateway und die Adressen der Namenserver mitgeteilt.und Domänenname. Komplexere Konfigurationsaufgaben können im Expertenmodus ausgeführt werden. Nach Abschluss der anfänglichen Konfiguration ist eine grundlegende Serverkonfiguration verfügbar. „DHCP-Server: Kartenauswahl“ (S. Kartenauswahl Im ersten Schritt ermittelt YaST die in Ihr System eingebundenen Netzwerkschnittstellen und zeigt sie anschließend in einer Liste an. Im Übrigen können auch etliche andere Parameter zentral konfiguriert werden. die regelmäßig in unterschiedlichen Netzwerken verwendet werden. 440 Referenz .1. und klicken Sie auf Hinzufügen. Siehe Abbildung 23. von dem die Clients die aktuelle Uhrzeit abrufen können. Neben IP-Adresse und Netzmaske werden dem Client nicht nur der Computer. z.1 Konfigurieren eines DHCP-Servers mit YaST Beim ersten Starten des Moduls werden Sie von einem Assistenten aufgefordert. oder ein Druckserver.den Netzwerkeinstellungen von einem DHCP-Server ist auch besonders interessant für Notebooks. 23. die für einfache Szenarien ausreichend ist.

1 DHCP-Server: Kartenauswahl Globale Einstellungen In den Eingabefeldern legen Sie die Netzwerkinformationen fest.Abbildung 23. DHCP 441 .und Linux-Clients). 442). „DHCP-Server: Globale Einstellungen“ (S. Siehe Abbildung 23. die jeder von diesem DHCP-Server verwaltete Client erhalten soll. Diese sind: Domänenname. Adressen der primären und sekundären Namenserver.und WINS-Servers (für gemischte Netzwerkumgebungen mit Windows.2. Adressen eines Druck. Adresse eines Zeitservers. Gateway-Adressen und Leasing-Zeit.

Legen Sie optional auch die maximale Leasing-Zeit fest.2 DHCP-Server: Globale Einstellungen Dynamisches DHCP In diesem Schritt konfigurieren Sie die Vergabe der dynamischen IP-Adressen an Clients. Legen Sie abschließend die Leasing-Zeit fest. 443). in dem die zu vergebenden Adressen der DHCP-Clients liegen dürfen. für die eine bestimmte IP-Adresse auf dem Server für einen bestimmten Client reserviert bleibt.Abbildung 23. Alle zu vergebenden Adressen müssen unter eine gemeinsame Netzmaske fallen. „DHCP-Server: Dynamisches DHCP“ (S. für die ein Client seine IP-Adresse behalten darf.3. Hierzu legen Sie einen Bereich von IP-Adressen fest. 442 Referenz . Siehe Abbildung 23. ohne eine Verlängerung der Leasing-Zeit beantragen zu müssen.

„DHCP-Server: Start“ (S. Klicken Sie auf Beenden.Abbildung 23. zu Testzwecken) gestartet werden soll.4. Siehe Abbildung 23. um die Konfiguration des Servers abzuschließen. ob der DHCP-Server automatisch beim Booten des Systems oder bei Bedarf manuell (z. das sich mit den Startoptionen des DHCPServers befasst. B. DHCP 443 . 444). Hier können Sie festgelegen.3 DHCP-Server: Dynamisches DHCP Fertigstellen der Konfiguration und Auswahl des Startmodus Nachdem Sie den dritten Teil des Konfigurationsassistenten abgeschlossen haben. gelangen Sie in ein letztes Dialogfeld.

conf steuern lässt.4 DHCP-Server: Start 23. dhcpcd wird von SUSE Linux standardmäßig installiert. Der vom Internet Software Consortium (ISC) herausgegebene DHCP-Server dhcpd stellt die Serverfunktionalität zur Verfügung.2 DHCP-Softwarepakete Für SUSE Linux stehen sowohl ein DHCP-Server als auch -Clients bereit. um nach einem DHCP-Server zu suchen. das sich über die Konfigurationsdatei /etc/ dhclient. Das Programm ist sehr einfach in der Handhabung und wird beim Booten des Computers automatisch gestartet. Für komplexere Situationen greifen Sie auf dhclient von ISC zurück. Dieser Server least Adressen und überwacht deren Nutzung gemäß den Vorgaben in der Konfigurationsdatei /etc/ 444 Referenz .3 Der DHCP-Server dhcpd Das Kernstück des DHCP-Systems ist der dhcpd-Daemon. 23. Es kommt ohne eine Konfigurationsdatei aus und funktioniert im Normalfall ohne weitere Konfiguration.Abbildung 23. Client-seitig können Sie zwischen zwei unterschiedlichen DHCP-Clientprogrammen wählen: dhclient (ebenfalls vom ISC) und der DHCP Client Daemon im Paket dhcpcd.

wie viele Sekunden eine IP-Adresse standardmäßig an einen anfragenden Client geleast wird. subnet 192. Weitere Informationen zum Konfi- DHCP 445 .1. 192.168.1.0.255.1.168.dhcpd. Über die dort definierten Parameter und Werte stehen dem Systemadministrator eine Vielzahl von Möglichkeiten zur Verfügung. Idealerweise sollten Sie vor dem Einrichten von DHCP einen Namenserver auf dem Computer oder im Netzwerk konfigurieren. Dieser Namenserver sollte für jede dynamische Adresse jeweils einen Hostnamen und umgekehrt bereithalten.254.0 { range 192. 445) an.all". max-lease-time 7200.255. wie lange ein Computer maximal eine vom DHCP-Server vergebene IP-Adresse behalten darf.1. die zur Auflösung von IP-Adressen in Hostnamen (und umgekehrt) verwendet werden sollen.1 Die Konfigurationsdatei „/etc/dhcpd.0 netmask 255.conf in Beispiel 23.10 192.168.168.conf“ default-lease-time 600. ohne die dhcpd nicht startet. broadcast-address 192.255. ohne für diese eine Verlängerung anfordern zu müssen (max-lease-time). das Verhalten des Programms anforderungsgemäß zu beeinflussen.100 192.20.200.168. Beispiel 23.1.1.1.1. bevor dieser eine Verlängerung anfordern sollte (default-lease-time). Die Beispieldatei lässt sich in drei Abschnitte unterteilen.168. routers 192.2.conf““ (S.1. • Mit dem Eintrag option domain-name-servers können Sie bis zu drei Werte für die DNS-Server angeben. option option option option option # 10 minutes # 2 hours domain-name "cosmos.255. range 192.168.168.168. damit der DHCP-Server im Netzwerk IP-Adressen zuweisen kann. subnet-mask 255. Im zweiten Abschnitt werden einige grundsätzliche Netzwerkparameter global festgelegt: • Die Zeile option domain-name enthält die Standarddomäne des Netzwerks. Bitte achten Sie insbesondere auf die Semikolons am Ende jeder Zeile.conf. Im ersten Abschnitt wird definiert.255.1. } Diese einfache Konfigurationsdatei reicht bereits aus. „Die Konfigurationsdatei „/etc/dhcpd. Sehen Sie sich die einfache Beispieldatei /etc/ dhcpd. domain-name-servers 192.1. Hier wird auch festgelegt.

der Server bricht mit einem Fehler ab oder gibt beim Starten nicht done zurück).168.168. Das Domain Name System (DNS) (S.100 und 192. „Die Konfigurationsdatei „/etc/dhcpd.10 und 192. • Mit option subnet-mask wird die den Clients zugewiesene Netzmaske angegeben. 399).168.20 sowie 192. müssen diese in die chroot-Umgebung kopiert werden.gurieren eines eigenen Namenservers finden Sie in Kapitel 20.1. B.1. Im letzten Abschnitt der Datei werden ein Netzwerk und eine Subnetzmaske angegeben. Sollte wider Erwarten ein Problem mit der Konfiguration auftreten (z. die (aufgrund der Adresse von Quell.168. Nach dem Bearbeiten dieser wenigen Zeilen sollten Sie bereits in der Lage sein.1. In Beispiel 23.1. um die Dateien automatisch zu kopieren. 445) können Clients Adressen zwischen 192. Abschließend muss noch ein Adressbereich gewählt werden.1. aus dem der DHCP-Daemon IP-Adressen an anfragende Clients vergeben darf. die der anfragende Client verwenden soll. • Die Zeile option broadcast-address definiert die Broadcast-Adresse. Damit der Daemon die Konfigurationsdateien finden kann. wohin der Server Datenpakete schicken soll. finden Sie in der zentralen Systemprotokolldatei/var/log/messages meist ebenso Informationen dazu wie auf Konsole 10 ( Strg + Alt + F10 ). den DHCP-Daemon mit dem Befehl rcdhcpd start zu aktivieren.conf““ (S. 446 Referenz . In der Regel müssen Sie dazu nur den Befehl rcdhcpd start eingeben.und Zielhost sowie der Subnetzmaske) nicht im lokalen Netzwerk zugestellt werden können. Gerade bei kleineren Netzwerken ist dieser Router auch meist mit dem Internet-Gateway identisch.200 zugewiesen werden. Mit dem Befehl rcdhcpd check-syntax können Sie eine kurze Überprüfung der Konfigurationsdatei vornehmen lassen. Auf einem SUSE Linux-Standardsystem wird der DHCP-Daemon aus Sicherheitsgründen in einer chroot-Umgebung gestartet. • Mit option routers wird festgelegt. Der DHCP-Daemon ist sofort einsatzbereit.

23. Zur Identifizierung eines mit einer statischen Adresse konfigurierten Clients verwendet dhcpd die Hardware-Adresse. B. „Ergänzungen zur Konfigurationsdatei“ (S.1. fest definierte Zahl aus sechs Oktettpaaren.1 Clients mit statischen IP-Adressen DHCP lässt sich auch verwenden. fixed-address 192. Werden die entsprechenden Zeilen. DHCP 447 .21 und der Hostname „earth“ zugewiesen. Im Unterschied zu den dynamischen verfallen die statischen Adressinformationen nie.21.168. Als Hardwaretyp kommt heutzutage in aller Regel ethernet zum Einsatz. weist der DHCP-Daemon dem entsprechenden Client immer dieselben Daten zu. Auf Linux-Hosts kann die MAC-Adresse mit dem Befehl iplink show gefolgt vom Netzwerkgerät (z. dessen Netzwerkkarte die MAC-Adresse 00:00:45:12:EE:F4 hat. automatisch die IP-Adresse 192. „Die Konfigurationsdatei „/etc/dhcpd. eth0) ermittelt werden. 445) hinzugefügt. in Beispiel 23. hier earth) wird in die erste Zeile und die MAC-Adresse wird in die zweite Zeile eingegeben.168. Solche expliziten Adresszuweisungen haben Vorrang vor dynamischen Adressen aus dem Pool. B.1. Dies ist eine global eindeutige. z. wenn nicht mehr genügend freie Adressen zur Verfügung stehen und deshalb eine Neuverteilung unter den Clients erforderlich ist. Die Ausgabe sollte in etwa wie folgt aussehen: link/ether 00:00:45:12:EE:F4 Im vorherigen Beispiel wird also dem Client.conf““ (S.2.1. um einem bestimmten Client eine vordefinierte statische Adresse zuzuweisen. B. 447) zur Konfigurationsdatei von Beispiel 23. Beispiel 23. 00:00:45:12:EE:F4.2 Ergänzungen zur Konfigurationsdatei host earth { hardware ethernet 00:00:45:12:EE:F4.3. wobei durchaus auch das vor allem bei IBM-Systemen häufig zu findende token-ring unterstützt wird. B. z. } Der Name des entsprechenden Clients (host Hostname. über die jedes Netzwerkgerät verfügt. wie z.

wenn sie durch ein Skript wie /etc/ppp/ip-up dynamisch modifiziert werden. müssen außerdem einige weitere Konfigurationsdateien kopiert werden: • /etc/localtime • /etc/host. Damit der dhcp-Daemon aus der chrootUmgebung heraus auch nach einem Neustart des Syslog-ng-Daemons weiter protokollieren kann. setzen Sie die Variable DHCPD_RUN_CHROOTED in der Datei /etc/sysconfig/dhcpd auf „no“. befindet sich der zusätzliche Eintrag SYSLOGD_ADDITIONAL_SOCKET_DHCP in der Datei /etc/sysconfig/ syslog. Dieses Verhalten lässt sich über Einträge in der Datei /etc/sysconfig/dhcpd steuern. Damit der dhcpd auch in der chroot-Umgebung Hostnamen auflösen kann.conf Diese Dateien werden beim Starten des Init-Skripts in das Verzeichnis /var/lib/ dhcp/etc/ kopiert. Diese Dateien müssen aktualisiert gehalten werden. können Sie diese mit der Variablen DHCPD_CONF_INCLUDE_FILES in der Datei /etc/sysconfig/dhcpd festlegen.conf im Verzeichnis /var/ lib/dhcp/etc befinden. Um dies zu ermöglichen. Wenn in Ihrer Konfiguration weitere Dateien in die chroot-Umgebung kopiert werden müssen. muss sich die Konfigurationsdatei dhcpd. sind jedoch keine Probleme zu erwarten. Um den dhcpd ohne chroot-Umgebung laufen zu lassen.3. Falls in der Konfigurationsdatei anstelle von Hostnamen nur IP-Adressen verwendet werden. Sie wird vom Init-Skript beim Start automatisch dorthin kopiert. Damit kann dhcpd unter der Benutzer-ID nobody und in einer chroot-Umgebung (/var/lib/dhcp) ausgeführt werden. 448 Referenz .2 Besonderheiten bei der SUSE Linux-Version Aus Sicherheitsgründen enthält bei SUSE Linux der DHCP-Server von ISC den nonroot/chroot-Patch von Ari Edelkind.conf • /etc/hosts • /etc/resolv.23.

Weitere Informationen finden Sie zudem auf den Manualpages dhcpd. dhcpd.isc.org/products/DHCP/).conf.leases und dhcp-options.23.4 Weitere Informationen Weitere Informationen zu DHCP finden Sie auf der Website des Internet Software Consortium (http://www. dhcpd. DHCP 449 .

.

Er passt die Systemzeit ständig anhand zuverlässiger Zeitserver im Netzwerk an. SUSE Linux ermöglicht die Konfiguration eines Zeitsynchronisierung mit NTP 451 . das Zurückstellen kann beispielsweise zu Fehlfunktionen wichtiger Anwendungen führen. Das Aufrechterhalten der genauen Systemzeit ist in vielen Situationen wichtig. In einem Netzwerk muss in der Regel die Systemzeit aller Computer synchronisiert werden. Die integrierte Hardware-Uhr (BIOS-Uhr) erfüllt häufig nicht die Anforderungen bestimmter Anwendungen.Zeitsynchronisierung mit NTP 24 Der NTP-(Network Time Protocol-)Mechanismus ist ein Protokoll für die Synchronisierung der Systemzeit über das Netzwerk. Zudem ermöglicht er die Verwaltung lokaler Referenzuhren. Es gibt zwei Ziele – das Aufrechterhalten der absoluten Zeit und das Synchronisieren der Systemzeit aller Computer im Netzwerk. wenn keine genauere Zeitquelle verfügbar ist. beispielsweise funkgesteuerter Uhren. Zweitens kann ein Computer selbst für andere Computer im Netzwerk als Zeitquelle fungieren. von der manuellen Zeitanpassung wird jedoch dringend abgeraten.1 Konfigurieren eines NTP-Client mit YaST xntp ist so voreingestellt. 24. Das Verwenden der (BIOS-) Uhr ist jedoch nur eine Ausweichlösung. Erstens kann ein Computer die Zeit von einem Server abrufen. dass die lokale Computeruhr als Zeitreferenz verwendet wird. xntp stellt einen Mechanismus zur Lösung dieser Probleme bereit. der als zuverlässige Zeitquelle gilt. beispielsweise Datenbanken. Die manuelle Korrektur der Systemzeit würde schwerwiegende Probleme nach sich ziehen.

Wenn xntpd automatisch beim Booten des Systems gestartet werden soll. haben Sie die Wahl zwischen der Schnellkonfiguration und der komplexen Konfiguration. der Ihre Zeitzone verwaltet (Öffentlicher NTP-Server). ob die Zeitsynchronisierung anhand eines Zeitservers in Ihrem lokalen Netzwerk (Lokaler NTP-Server) oder eines Zeitservers im Internet erfolgen soll. die SuSEfirewall ausführen. Klicken Sie auf Use Random Server. um in einem zweites Dialogfeld einen geeigneten Zeitserver für Ihr Netzwerk auszuwählen.. wenn Sie keinen lokalen Zeitserver verwenden können.. Abbildung 24. da diese Teil eines geschützten Intranets sind. Geben Sie dann die NTP-Server-Konfiguration an. Beide Konfigurationstypen werden nachfolgend erläutert. Bei einem lokalen Zeitserver klicken Sie auf Lookup. oder auf Wählen. Im ersten Dialogfeld legen Sie den StartModus für xntpd und den abzufragenden Server fest. klicken Sie auf Beim Systemstart.1. (Zufallsserver verwenden).1 YaST: Konfigurieren eines NTP-Client Geben Sie im Dialogfeld für die detaillierte Serverauswahl an. um eine SLP- 452 Referenz . Für Clients.1 Schnelle NTP-Client-Konfiguration Die einfache NTP-Client-Konfiguration (Network Services (Netzwerkdienste) → NTP Client NTP-Client) umfasst zwei Dialogfelder. 24.NTP-Client mit YaST.

da der Angreifer daran gehindert wird. Mit NTP-Daemon über DHCP konfigurieren wird der NTP-Client so eingerichtet. 24. das gesamte System zu beeinträchtigen. „YaST: Konfigurieren eines NTP-Client“ (S. Abbildung 24.1. 452)).2 Komplexe NTP-Client-Konfiguration Der Zugriff auf die komplexe Konfiguration eines NTP-Client ist unter Komplexe Konfiguration im Hauptdialogfeld des Moduls NTP-Client möglich (siehe Abbildung 24. ob xntpd in Chroot-Jail gestartet werden soll. dass eine Liste der in Ihrem Netzwerk verfügbaren NTP-Server über DHCP (Dynamic Host Configuration Protocol) abgerufen wird. Zeitsynchronisierung mit NTP 453 . Wählen Sie den am besten geeigneten Zeitserver in der Liste der Suchergebnisse aus und schließen Sie das Dialogfeld mit OK. Im Hauptdialogfeld testen Sie die Verfügbarkeit des ausgewählten Servers mit Test und schließen das Dialogfeld mit Beenden. zunächst muss jedoch wie in der schnellen Konfiguration beschrieben ein Start-Modus ausgewählt werden.1.2 YaST: Komplexe NTP-Client-Konfiguration Legen Sie unter Komplexe Konfiguration des NTP-Clients fest. Bei einem öffentlichen Zeitserver wählen Sie in der Liste unter Öffentlicher NTP-Server Ihr Land (Ihre Zeitzone) sowie einen geeigneten Server aus und schließen das Dialogfeld dann mit OK.Abfrage für verfügbare Zeitserver in Ihrem Netzwerk zu starten. Hierdurch wird die Sicherheit im Falle eines Angriffs über xntpd erhöht.

Aktivieren Sie Für initiale Synchronisierung verwenden. wenn Ihnen eine zuverlässige Zeitquelle. Peer Ein Peer ist ein Computer. In einem Eingabefeld können Sie zusätzliche Optionen für xntpd angeben. Funkuhr Wenn eine Funkuhr für die Zeitsynchronisierung in Ihrem System verwendet werden soll. „Schnelle NTP-Client-Konfiguration“ (S. Ziehen Sie bezüglich detaillierter Informationen /usr/share/ doc/packages/xntp-doc zurate (Bestandteil des xntp-doc-Pakets).Die Server und anderen Zeitquellen für die Abfrage durch den Client sind im unteren Bereich aufgelistet. an die Broadcasts gesendet werden sollen. um den Treiber genauer einzustellen.1. geben Sie Uhrtyp. zur Verfügung steht. Mit Protokoll anzeigen können die Protokolldateien Ihres Clients angezeigt werden. Der Rest des Dialogfelds ist mit dem Dialogfeld Server identisch. mit dem eine symmetrische Beziehung eingerichtet wird: Er fungiert sowohl als Zeitserver wie auch als Client. Wenn Sie einen Peer im selben Netzwerk anstelle eines Servers verwenden möchten. Bearbeiten Sie diese Liste nach Bedarf mithilfe der Optionen Hinzufügen. 452)). um eine neue Quelle für Zeitinformationen hinzuzufügen. um die Synchronisierung der Zeitinformationen zwischen dem Server und dem Client auszulösen.1. Klicken Sie auf Treiber-Kalibirierung. Bearbeiten und Löschen. Wählen Sie im nachfolgenden Dialogfeld den Quellentyp aus. geben Sie die Adresse des Systems ein. Gerätename und weitere Optionen in diesem Dialogfeld ein. etwa eine funkgesteuerte Uhr. Klicken Sie auf Hinzufügen. Die folgenden Optionen stehen zur Verfügung: Server In einem anderen Dialogfeld können Sie einen NTP-Server auswählen (siehe Beschreibung unter Abschnitt 24.htm. Die Option für Broadcasts sollte nur aktiviert werden. Gerätezahl. wenn das System gebootet wird. Detaillierte Informationen zum Betrieb einer lokalen Funkuhr finden Sie in /usr/share/doc/packages/xntp-doc/html/refclock . 454 Referenz . mit dem die Zeitsynchronisierung vorgenommen werden soll. Ausgangs-Broadcast Zeitinformationen und Abfragen können im Netzwerk auch per Broadcast übermittelt werden. Geben Sie in diesem Dialogfeld die Adresse ein.

ergänzen Sie die Datei /etc/ ntp. Wenn ein oder mehrere bekannte Zeitserver exklusiv verwendet werden sollen.com hinzufügen. der falsche Informationen sendet. indem Sie die Zeile server ntp. Zeitsynchronisierung mit NTP 455 . geben Sie in diesen Feldern die Adresse ein. Wenn viele Clients vorhanden sind. Zweitens kann der Client auf NTP-Broadcasts warten. bis die Zeit stabil ist und die DriftDatei für das Korrigieren der lokalen Computeruhr erstellt wird. die mit servers beginnt. Der NTP-Mechanismus kann auf zwei unterschiedliche Arten als Client verwendet werden: Erstens kann der Client die Zeit in regelmäßigen Intervallen von einem bekannten Server abfragen.Eingangs-Broadcast Wenn Ihr Client die entsprechenden Informationen per Broadcast erhalten soll. Serverparameter festzulegen. dass die Qualität des Servers unbekannt ist und dass ein Server. Die Korrektur kommt umgehend zum Einsatz und führt zu einer größeren Stabilität der Systemzeit. Wenn beispielsweise ein Zeitserver mit der Bezeichnung ntp. geben Sie die Namen in der Zeile ein. zu schwerwiegenden Problemen führen kann.example. kann dies zu einer starken Auslastung des Servers führen. Dieser Ansatz hat den Nachteil. fügen Sie zusätzliche Zeilen mit dem Schlüsselwortserver hinzu. Geben Sie in diesem Fall die Zeile broadcastclient in der Konfigurationsdatei /etc/ ntp. Mithilfe der DriftDatei kann der systematische Fehler der Hardware-Uhr berechnet werden. sobald der Computer eingeschaltet wird.2 Konfigurieren von xntp im Netzwerk Die einfachste Art der Verwendung eines Zeitservers im Netzwerk besteht darin. ist der Servername nicht erforderlich.conf ein. 24. Wenn die Zeit per Broadcast ermittelt wird.example.com vom Netzwerk aus erreichbar ist.conf um seinen Namen. von der die jeweiligen Pakete akzeptiert werden sollen. Wenn Sie weitere Zeitserver hinzufügen möchten. Nach der Initialisierung von xntpd mit dem Befehl rcntpd start dauert es etwa eine Stunde. die von Broadcast-Zeitservern im Netzwerk gesendet werden.

Die Uhren werden so in die Datei /etc/ntp. die die verwendete Schnittstelle bestimmt. Zu diesem Zweck werden Ihnen spezielle IPAdressen im Format 127. als ob sie im Netzwerk vorhanden wären. Eine Liste unterstützter Uhren steht im Paket xntp-doc in der Datei /usr/share/doc/ packages/xntp-doc/html/refclock. Die vollständige server-Zeile für ein Conrad DCF77-Empfängermodul sieht folgendermaßen aus: server 127. welcher Treiber verwendet wird. 456 Referenz .127.3 Einrichten einer lokalen Referenzuhr Das Software-Paket xntp enthält Treiber für das Verbinden lokaler Referenzuhren.t. Hierbei steht t für den Uhrentyp und bestimmt. Das Conrad DCF77-Empfängermodul weist beispielsweise Modus 5 auf. In xntp erfolgt die eigentliche Konfiguration mithilfe von Pseudo-IPs. Jeder Treiber ist mit einer Nummer verknüpft.127. geben Sie das Schlüsselwort prefer an.8. auf denen die Treiberparameter beschrieben werden.24.0 mode 5 prefer Für andere Uhren gilt dasselbe Muster. Die Datei /usr/share/doc/ packages/xntp-doc/html/refclock.htm (NN steht für die Anzahl der Treiber) bietet Informationen zu dem bestimmten Uhrentyp. Wenn diese Uhr als bevorzugte Referenz verwendet werden soll.conf eingegeben.u zugewiesen. die die Konfigurationsdetails beschreiben.htm zur Verfügung. der die Uhr genauer angibt. Die Datei /usr/share/doc/packages/xntp-doc/ html/driverNN. Im Anschluss an die Installation des xntp-doc-Pakets steht die Dokumentation für xntp im Verzeichnis /usr/share/ doc/packages/xntp-doc/html zur Verfügung. Für die Uhr vom „Typ 8“ (Funkuhr über serielle Schnittstelle) ist ein zusätzlicher Modus erforderlich. Im Regelfall verfügen die einzelnen Treiber über spezielle Parameter.htm enthält Links zu den Treiberseiten. u steht für die Einheit (unit).

dass zahlreiche Anwendungen darauf zugreifen können. in diesem Kapitel wird jedoch ausschließlich die OpenLDAPImplementierung behandelt. So ist es nicht erforderlich. die wichtigen Informationen strukturiert anzuordnen und schnell zur Verfügung zu stellen.LDAP – Ein Verzeichnisdienst 25 Bei Lightweight Directory Access Protocol (LDAP) handelt es sich um eine Reihe von Protokollen für den Zugriff auf und die Verwaltung von Datenverzeichnissen. Die Daten sind so strukturiert.und Suchvorgänge optimiert wurde: LDAP – Ein Verzeichnisdienst 457 . In einer Netzwerkumgebung ist es entscheidend. von dem aus sie über ein bestimmtes Protokoll an alle Clients verteilt werden. Systemkonfigurationsverwaltung und Adressverwaltung eingesetzt werden. In diesem Kontext ist ein Verzeichnis eine Art Datenbank. da stattdessen auf ein zentrales Repository zugegriffen werden kann. die für schnelle und effektive Lese.und Gruppenverwaltung. Im Idealfall sind die Daten auf einem zentralen Server in einem Verzeichnis gespeichert. Mithilfe eines offenen und standardisierten Protokolls wie LDAP wird sichergestellt. wie Benutzer. Dadurch wird der Verwaltungsaufwand für die Daten erheblich reduziert. Es sind zwar mehrere Implementierungen des LDAPProtokolls möglich. LDAP kann für viele Zwecke. Dies kann mit einem Verzeichnisdienst erreicht werden. für jedes einzelne Kalenderwerkzeug und jeden E-Mail-Client eine eigene Datenbank zu speichern. das so viele verschiedene Client-Anwendungen wie möglich auf diese Informationen zugreifen können. der Informationen wie die Gelben Seiten in gut strukturierter und schnell durchsuchbarer Form enthält. Dieses Kapitel enthält die Grundlagen zum Verständnis der Funktionsweise von OpenLDAP und zur Verwaltung von LDAP-Daten mit YaST.

In Verzeichnissen ist dies jedoch nicht der Fall.500 entwickelten Verzeichniszugriffsprotokoll. Microsoft ADS. • Da der Schreibzugriff nur eingeschränkt möglich ist. LDAP ist eine weniger umfassende Version von DAP. LDAP sollte ursprünglich als schlankere Version von DAP. Das Design eines Verzeichnisdiensts wie LDAP ist nicht für die Unterstützung solch komplexer Aktualisierungs. wird ein Verzeichnisdienst zur Verwaltung der statischen Informationen eingesetzt.500Standard wird die hierarchische Anordnung von Verzeichniseinträgen gesteuert. insbesondere wenn daran Datengruppen wie Bankkonten oder Buchhaltung beteiligt sind. dem für den Zugriff auf X. ein möglichst großes Datenvolumen in kurzer Zeit verarbeiten zu können. sodass die Verwendung von verteilten 458 Referenz . Wenn ein Betrag an einer Stelle subtrahiert und an einer anderen Stelle addiert werden soll. Diese Art von Transaktionen wird von Datenbanken unterstützt. müssen beide Vorgänge innerhalb einer Transaktion gleichzeitig erfolgen. ohne die X. um das Gleichgewicht des Datenbestandes aufrecht zu erhalten.und Abfragemechanismen bestimmt. die sich normalerweise nicht ändern. die auf diesen Dienst zugreifen. Banyan's Street Talk und der OSI-Standard X. Herkömmliche Datenbanken sind speziell dafür bestimmt. Mithilfe von TCP/IP können Schnittstellen zwischen einer Anwendung und dem LDAP-Dienst wesentlich leichter hergestellt werden.500 sind nur einige Beispiele. Daten in einer herkömmlichen Datenbank werden in der Regel häufig geändert (dynamische Daten). In Unix und außerhalb von Unix gibt es zahlreiche Verzeichnisdienste. Sie können die plattformübergreifenden Funktionen von LDAP nutzen und Ressourcen sparen. • Bei der Verwaltung statischer Daten werden die vorhandenen Datengruppen nur selten aktualisiert.500Eintragshierarchie zu verlieren. LDAP unterstützt Verweise mit LDAPv3 (die Protokollversion im Paket openldap2).• Damit mehrere (gleichzeitige) Lesevorgänge möglich sind. ist der Schreibzugriff nur auf eine geringe Anzahl an Aktualisierungen durch den Administrator beschränkt. Mit dem X. Beim Arbeiten mit dynamischen Daten. Novell NDS.500-Unterstützung eingesetzt. In der Zwischenzeit wurde LDAP weiter entwickelt und vermehrt als eigenständige Lösung ohne X. dienen. müssen ihn schnell und einfach aufrufen können. So werden die Telefonnummern in einem Unternehmensverzeichnis beispielsweise nicht so häufig geändert wie die in der Buchhaltung verwalteten Zahlen. Kurzfristige Inkonsistenzen der Daten sind in Verzeichnissen in gewissem Maße akzeptabel. Alle Anwendungen. kommt der Datenkonsistenz höchste Priorität zu.

LDAP – Ein Verzeichnisdienst 459 . Auch die Verwendung von SASL (Simple Authentication and Security Layer) wurde neu eingeführt. Im Gegensatz zu NIS ist die Verwendung des LDAP-Diensts nicht auf reine UnixNetzwerke beschränkt. Darüber hinaus können über die Erweiterung slurpd mehrere LDAP-Server reproduziert werden. Es eignet sich nicht als Tool zur zentralen Datenadministration in heterogenen Netzwerken. slapd. Diese Dateien können ohne größeren Aufwand verwaltet werden. mail. mit dem Objektdaten in einer BerkeleyDBbasierten Datenbank verwaltet werden. Die in den Dateien unter /etc und in den Verzeichnissen group. LDAP ist nicht. netgroup. vorhanden. Auch Novell bietet einen LDAP-Dienst an. networks. Zusätzliche Tools für die Systemwartung slapcat. slurpd Dieses Programm ermöglicht die Reproduktion von Datenänderungen auf dem lokalen LDAP-Server auf anderen im Netzwerk installierten LDAP-Servern. da es sich hierbei um einfache Textdateien handelt. Das openldap2-Paket besteht aus folgenden Komponenten: slapd Ein eigenständiger LDAPv3-Server. Die oben erwähnten Anwendungsaufgaben werden zusätzlich in Nicht-Unix-Systemen unterstützt.Datenbanken unterstützt wird. rpc und services enthaltenen Konfigurationsdaten werden über Clients im ganzen Netzwerk verteilt. printcap. auf dem Objektdaten in einer lokalen Datenbank gespeichert werden können. slapindex 25. protocols. Es ist ein Open Source-Server. NIS ist nur für Unix-Plattformen bestimmt. passwd. Windows-Server (ab 2000) unterstützten LDAP als Verzeichnisdienst. slapadd.1 LDAP und NIS Der Unix-Systemadministrator verwendet für die Namenauflösung und die Datenverteilung in einem Netzwerk in der Regel NIS. wie ursprünglich vorgesehen. auf die Datenabfrage von X.500-Servern beschränkt. Die Verarbeitung größerer Datenmengen wird aufgrund der fehlenden Strukturierung jedoch immer schwieriger. hosts.

Der vollständige Pfad zum gewünschten Eintrag. 25. Solche Objektklassen sind beispielsweise root (das Stammelement des Verzeichnisbaums. Durch die klar definierte hierarchische Datenstruktur wird die Verwaltung großer Datenmengen erleichtert. wird als eindeutiger Name oder DN (Distinguished Name) bezeichnet. Objekte können im Allgemeinen einem von zwei möglichen Typen zugewiesen werden: Container Diese Objekte können wiederum andere Objekte enthalten. Ein einzelner Knoten im Pfad dieses Eintrags wird relativer eindeutiger Name oder RDN (relative distinguished name) genannt. da LDAP im Gegensatz zu NIS erweiterungsfähig ist. Evolution und Outlook • Verwaltung von Zonenbeschreibungen für einen BIND9-Namenserver • Benutzerauthentifizierung mit Samba in heterogenen Netzwerken Diese Liste lässt sich erweitern. c (Land). da die Daten besser durchsucht werden können. durch den der Eintrag eindeutig identifiziert wird. das in der Regel nicht vorhanden ist). Alle Einträge (auch „Objekte“ genannt) des Verzeichnisses verfügen über eine festgelegte Position innerhalb dieser Hierarchie. Directory Information Tree) bezeichnet.Das LDAP-Prinzip lässt sich auf jede beliebige Datenstruktur anwenden. die zentral verwaltet werden soll. wie Mozilla. sendmail) • Adressbücher für Mail-Clients. Diese Hierarchie wird als Verzeichnisinformationsbaum (DIT.2 Struktur eines LDAP-Verzeichnisbaums Ein LDAP-Verzeichnis weist eine Baumstruktur auf. 460 Referenz . Dieses Modell ist mit Verzeichnissen (Ordnern) in einem Dateisystem vergleichbar. Nachfolgend einige Anwendungsbeispiele: • Verwendung als Ersatz für den NIS-Dienst • Mail-Routing (postfix. ou (organisatorische Einheit) und dc (Domänenkomponente).

1 Struktur eines LDAP-Verzeichnisses Das vollständige Diagramm umfasst einen Beispiel-Verzeichnisbaum. Es besteht jedoch die Möglichkeit. Der Objekttyp wird durch die Objektklasse bestimmt. Die allgemeine Festlegung der Objekttypen. 461) gezeigt wird. Jeder Eintrag entspricht einem Feld im Bild.ou=doc. InetOrgPerson oder groupofNames. Er wird zusammengesetzt. Daher muss ein Schema die Definitionen aller Objektklassen und Attribute enthalten. Beispiele: person.Blatt Diese Objekte befinden sich am Ende einer Verzweigung und verfügen nicht über untergeordnete Objekte. die im DIT gespeichert werden sollen. die im gewünschten Anwendungsszenario verwendet werden. Hierin können die untergeordneten Elemente c (Land).dc=de. können. Mit der Objektklasse wird festgelegt.dc=suse. Die Einträge auf allen drei Ebenen werden dargestellt. Der vollständige gültige eindeutige Name für den fiktiven SUSE-Mitarbeiter Geeko Linux lautet in diesem Fall cn=Geeko Linux. Auf der obersten Ebene in der Verzeichnishierarchie steht das Stammelement root. Es gibt einige häufig verwendeten Schemata (siehe RFC 2252 und 2256). Abbildung 25. Die Bezüge innerhalb eines LDAP-Verzeichnisbaums werden im folgenden Beispiel verdeutlicht.1. „Struktur eines LDAP-Verzeichnisses“ (S. benutzerdefinierte Schemata zu erstellen LDAP – Ein Verzeichnisdienst 461 . das in Abbildung 25. erfolgt anhand eines Schemas.dc=suse.dc=de hinzugefügt wird. dc (Domänenkomponente) oder o (Organisation) enthalten sein. indem dem RDN cn=Geeko Linux der DN des vorhergehenden Eintrags ou=doc. welche Attribute des betreffenden Objekts zugewiesen werden müssen bzw.

und über die erforderlichen Attribute und gültigen Attributwerte. 462 Referenz .schema.1. dies erfordert.core“ (S.schema und inetorgperson.Geeko Linux ne Daten für das Intranet oder Internet) ou sn und cn In Beispiel 25. 462) erhalten Sie einen kurzen Überblick über die Objektklassen von core. In Tabelle 25. sofern die Umgebung.1 Objektklasse Häufig verwendete Objektklassen und Attribute Bedeutung Beispieleintrag suse Erforderliche Attribute dc dcObject domainComponent (Name der Domänenkomponenten) organizationalU.1.oder mehrere einander ergänzende Schemata zu verwenden. Tabelle 25.organizationalUnit (organisato.doc nit rische Einheit) inetOrgPerson inetOrgPerson (personenbezoge. die im Beispiel verwendet werden. „Häufig verwendete Objektklassen und Attribute“ (S. 463) wird ein Ausschnitt einer Schemadirektive mit entsprechenden Erklärungen dargestellt (die Zeilen sind für Erklärungszwecke nummeriert). in der der LDAP-Server verwendet werden soll. „Ausschnitt aus schema.

. den eindeutigen OID (Object Identifier) (numerisch) und die Abkürzung des Attributs. die im Zusammenhang mit dieser Objektklasse zulässig sind. Zeile 5 enthält eine kurze Beschreibung der Objektklasse.4. auf dem die Definitition basiert. In Zeile 7 werden. alle Attributtypen aufgeführt.5 NAME 'organizationalUnit' #5 DESC 'RFC2256: an organizational unit' #6 SUP top STRUCTURAL #7 MUST ou #8 MAY (userPassword $ searchGuide $ seeAlso $ businessCategory $ x121Address $ registeredAddress $ destinationIndicator $ preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $ postalAddress $ physicalDeliveryOfficeName $ st $ l $ description) ) . In Zeile 6 mit dem Eintrag SUP top wird angegeben.html zu finden.5.. Zeile 1 enthält den Namen des Attributs. mit MUST beginnend.core #1 attributetype (2. dass diese Objektklasse keiner anderen Objektklasse untergeordnet ist. Die Definition der Objektklasse organizationalUnit beginnt in Zeile 4 wie die Definition des Attributs mit einem OID und dem Namen der Objektklasse. Wenn Sie OpenLDAP installiert haben.5. die in Verbindung mti einem Objekt vom Typ organizationalUnit verwendet werden müssen. erwähnt. ist sie unter /usr/ share/doc/packages/openldap2/admin-guide/index.11 NAME ( 'ou' 'organizationalUnitName') #2 DESC 'RFC2256: organizational unit this object belongs to' #3 SUP name ) .6. dem das Attribut angehört.. Hier wird der entsprechende RFC. #4 objectclass ( 2. In der mit MAY beginnenden Zeile 8 werden die Attribute aufgeführt.1 Ausschnitt aus schema. LDAP – Ein Verzeichnisdienst 463 . Eine sehr gute Einführung in die Verwendung von Schemata finden Sie in der Dokumentation zu OpenLDAP. Der Attributtyp organizationalUnitName und die entsprechende Objektklasse organizationalUnit dienen hier als Beispiel.Beispiel 25.. Zeile 2 enthält eine kurze mit DESC gekennzeichnete Beschreibung des Attributs. Der Ausdruck SUP in Zeile 3 weist auf einen untergeordneten Attributtyp an.

2.conf eine vollständige Konfigurationsdatei für den LDAP-Server.schema /etc/openldap/schema/cosine.conf gibt das Schema an. Dieser Direktive werden zusätzliche erforderliche Schemata angefügt.schema /etc/openldap/schema/rfc2307bis.args Diese beiden Dateien enthalten die PID (Prozess-ID) und einige Argumente. „slapd.conf: pidfile und argsfile pidfile /var/run/slapd/slapd.25.schema ist erforderlich.2 slapd. mit denen der slapd-Prozess gestartet wird.conf Das installierte System enthält unter /etc/openldap/slapd.schema Diese erste in Beispiel 25.conf: Include-Direktive für Schemata include include include include include /etc/openldap/schema/core. 464 Referenz .3 Serverkonfiguration mit slapd.pid argsfile /var/run/slapd/slapd. Der Eintrag core.conf: Include-Direktive für Schemata“ (S. denen ein Rautenzeichen (#) vorangestellt wurde. Dieses Kommentarzeichen muss entfernt werden. 25. Die einzelnen Einträge und die erforderlichen Anpassungen werden hier kurz beschrieben. Beispiel 25.3.3 slapd.schema /etc/openldap/schema/inetorgperson.conf Beispiel 25. Hier müssen keine Änderungen vorgenommen werden. Die entsprechenden Informationen finden Sie in der vorhandenen Dokumentation zu OpenLDAP.1 Globale Direktiven in slapd. anhand dessen das LDAPVerzeichnis organisiert wird. Einträge. um sie zu aktivieren. 464) dargestellte Direktive in slapd. sind nicht aktiv.schema /etc/openldap/schema/yast.

Hier können reguläre Ausdrücke verwendet werden. slapd wertet alle Regeln in der Reihenfolge aus. mit dem die Zugriffsberechtigungen für das LDAP-Verzeichnis auf dem Server gesteuert werden. Darüber hinaus besteht die Möglichkeit.4.Beispiel 25. Einzelne Verzweigungen des Verzeichnisses können explizit mit separaten Regeln geschützt werden.conf: Zugriffssteuerung # Sample Access Control # Allow read access of root DSE # Allow self write access # Allow authenticated users read access # Allow anonymous users to authenticate # access to dn="" by * read access to * by self write by users read by anonymous auth # # if no access controls are present. sofern keine benutzerdefinierten Zugriffsregeln im datenbankspezifischen Abschnitt festgelegt werden. Folgende Tipps dienen als Unterstützung: • Jede Zugriffsregel weist folgende Struktur auf: access to <what> by <who> <access> • what ist ein Platzhalter für das Objekt oder Attribut.conf vorgenommenen Einträge sind gültig. in der sie in der Konfigurationsdatei angegeben sind.conf dargestellt. verfügen alle Benutzer über Lesezugriff auf das Verzeichnis. nur der Administrator (rootdn) hat jedoch Schreibberechtigung für dieses Verzeichnis.4 slapd. Die hier im globalen Abschnitt von slapd. Durch diese Regeln würden die globalen Deklarationen außer Kraft gesetzt. wer Zugriff auf die mit what angegebenen Bereich erhalten soll. Auch hier bricht slapd die Bewertung nach der ersten Übereinstimmung ab. auf das Zugriff gewährt wird. sodass die spezifischeren Regeln vor den allgemeineren Regeln angegeben werden sollten.conf: Zugriffssteuerung“ (S. Bereiche des Verzeichnisbaums mit einer Regel durch die Verwendung regulärer Ausdrücke zu verarbeiten. Die Zugriffssteuerung in LDAP ist ein hochkomplexer Prozess. the default is: # Allow read by all # # rootdn can always write! In Beispiel 25. Die in LDAP – Ein Verzeichnisdienst 465 . Allgemeine Regeln sollten nach den spezifischeren Regeln angegeben werden – die erste von slapd als gültig eingestufte Regel wird bewertet und alle folgenden Einträge werden ignoriert. Wie hier dargestellt. „slapd. • Mit who wird festgelegt. 465) ist der Ausschnitt der Datei slapd.

2 Tag * anonymous users self dn. 466) angegebenen Optionen.Tabelle 25.3 Tag none auth compare search read write Zugriffstypen Umfang des Zugriffs Kein Zugriff Für die Verbindung zum Server Für Objekt für Vergleichszugriff Für den Einsatz von Suchfiltern Lesezugriff Schreibzugriff 466 Referenz . Verwenden Sie die in Tabelle 25. „Benutzergruppen und ihre Zugriffsberechtigungen“ (S. Tabelle 25. 466) dargestellten Einträge sind möglich. die mit dem regulären Ausdruck übereinstimmen • Mit access wird der Zugriffstyp angegeben. „Zugriffstypen“ (S.regex=<regex> Benutzergruppen und ihre Zugriffsberechtigungen Umfang Alle Benutzer ohne Ausnahme Nicht authentifizierte („anonyme“) Benutzer Authentifizierte Benutzer Mit dem Zielobjekt verbundene Benutzer Alle Benutzer.3.2. Tabelle 25.

„slapd. LDAP – Ein Verzeichnisdienst 467 .regex="ou=([^. wird der Zugriff verweigert. Wenn der Client ein höheres Recht als die in den Regeln deklarierten Rechte anfordert.dc=suse.5 slapd. Alle anderen authentifizierten Benutzer verfügen über Lesezugriff und alle sonstigen Benutzer haben kein Zugriffsrecht. Access Control Information) zur Verfügung.conf: Beispiel für die Zugriffssteuerung access to dn. Detaillierte Informationen hierzu und eine Beispielkonfiguration für LDAP-Zugriffsrechte finden Sie in der Online-Dokumentation zum installierten openldap2-Paket. stehen Zugriffssteuerungsinformationen (ACI. Wenn gar keine Regeln deklariert sind. dass nur der jeweilige Administrator Schreibzugriff auf einen einzelnen ou-Eintrag erhält. 467) ist ein Beispiel einer einfachen Zugriffssteuerung dargestellt. Weitere Informationen hierzu erhalten Sie unter http://www.regex="cn=administrator. Zugriffsberechtigungen über die zentrale Serverkonfigurationsdatei (slapd. Nur explizit deklarierte Zugriffsrechte werden erteilt.conf: Beispiel für die Zugriffssteuerung“ (S.conf) zu verwalten.dc=suse. Mit ACI können Zugriffsdaten für einzelne Objekte innerhalb des LDAP-Baums gespeichert werden.org/ faq/data/cache/758. wird das Standardprinzip mit Schreibzugriff für den Administrator und Lesezugriff für alle anderen Benutzer angewendet. Dem Client wird Zugriff gewährt.openldap. Neben der Möglichkeit.ou=$1. die mithilfe von regulären Ausdrücken beliebig entwickelt werden kann. wenn in den Regeln ein höheres als das angeforderte Recht oder gleichwertiges Recht festgelegt ist. wird ihm der Zugriff verweigert. Diese Art der Zugriffssteuerung wird noch selten verwendet und von Entwicklern als experimentell betrachtet. TIPP: Festlegen von Zugriffsregeln Falls keine access to-Regel oder keine passende by-Direktive vorhanden ist.conf gewährten Rechten.5. In Beispiel 25.html. Beispiel 25.slapd vergleicht das vom Client angeforderte Zugriffsrecht mit den in slapd .]+).dc=de" write by user read by * none Mit dieser Regel wird festgelegt.dc=de" by dn.

Der hier angegebene Benutzer muss nicht über einen LDAP-Eintrag verfügen und nicht als regulärer Benutzer vorhanden sein. Anstelle von secret kann hier auch der mit slappasswd erstellte Hash-Wert des Administratorpassworts eingegeben werden. index objectClass eq veranlasst die Wartung eines Indizes aller Objektklassen. wird in der ersten Zeile dieses Abschnitts festgelegt (siehe Beispiel 25. in diesem Fall eine Berkeley-Datenbank. Hiermit wird auch die Zeit (in Minuten) bestimmt. bevor die Daten in die tatsächliche Datenbank geschrieben werden. # Use of strong authentication encouraged. especially for the rootdn.conf: Datenbankspezifische Direktiven database bdb checkpoint 1024 5 cachesize 10000 suffix "dc=suse. Mit checkpoint wird die Datenmenge (in KB) festgelegt. Mode 700 recommended. Die directory-Direktive gibt das Verzeichnis (im Dateisystem) an. nach denen die Benutzer am häufigsten suchen. rootpw secret # The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd/tools. 468 Referenz .dc=de" rootdn "cn=admin.dc=de" # Cleartext passwords. die zwischen zwei Schreibvorgängen vergeht. Mit cachesize wird die Anzahl der im Zwischenspeicher der Datenbank gespeicherten Objekte festgelegt.conf Beispiel 25. directory /var/lib/ldap # Indices to maintain index objectClass eq Der Datenbanktyp.3.6. Die an dieser Stelle für die Datenbank festgelegten benutzerdefinierten Regeln für Access können anstelle der globalen Access-Regeln verwendet werden.25.conf: Datenbankspezifische Direktiven“ (S. die im Transaktionsprotokoll gespeichert wird. 468)). wer für diesen Server über Administratorrechte verfügt. Mit dem darauf folgenden rootdn wird festgelegt.2 Datenbankspezifische Direktiven in slapd. Mit suffix wird angegeben.dc=suse. können hier je nach Erfahrung hinzugefügt werden.6 slapd. should # be avoided. in dem die Datenbankverzeichnisse auf dem Server gespeichert sind. Das Administratorpasswort wird mit rootpw festgelegt. See slappasswd(8) and slapd. für welchen Teil des LDAP-Baums dieser Server verantwortlich sein soll.conf(5) for details. „slapd. Attribute. Die letzte Direktive.

2. 25. „Datenbehandlung im LDAP-Verzeichnis“ (S.conf deklarierten Schemadateien finden Sie die verfügbaren Objektklassen und Attribute.4 Datenbehandlung im LDAP-Verzeichnis In OpenLDAP stehen eine Reihe von Werkzeugen für die Datenverwaltung im LDAPVerzeichnis zur Verfügung.3. 200) beschrieben.4. die eine beliebige Anzahl an Attribut-Wert-Paaren enthalten kann. Such. rootdn. Durch Eingabe des Befehls rcldap stop können Sie den Server manuell anhalten.und Änderungsvorgänge im Datenbestand werden im Folgenden kurz beschrieben. wie in Abschnitt 8.und Anhaltskripts mit dem Befehl insserv über die Befehlszeile zu erstellen.3. „Konfigurieren von Systemdiensten (Runlevel) mit YaST“ (S. sollten Sie aus praktischen Gründen die Objekte als Bundle in der Datenbank hinzufügen. Mit dem in Abschnitt 8. angehalten werden. In den in slapd. In OpenLDAP steht hierfür der Befehl ldapadd zur Verfügung. Lösch-. Darüber hinaus besteht die Möglichkeit. rootpw und index). die entsprechenden Verknüpfungen zu den Start. Wenn möglich. Zu diesem Zweck kann LDAP das LDIF-Format (LDAP Data Interchange Format) verarbeiten.3 Starten und Anhalten der Server Nachdem der LDAP-Server vollständig konfiguriert und alle gewünschten Einträge gemäß dem in Abschnitt 25.1 Einfügen von Daten in ein LDAP-Verzeichnis Sobald die Konfiguration des LDAP-Servers in /etc/openldap/lsapd. LDAP – Ein Verzeichnisdienst 469 .conf richtig und einsatzbereit ist (sie enthält die richtigen Einträge für suffix. indem Sie den Befehl rcldap start eingeben. 205) beschriebenen Runlevel-Editor von YaST kann der Server automatisch beim Booten und Anhalten des Systems gestartet bzw. 469) beschriebenen Muster vorgenommen wurden. Die vier wichtigsten Werkzeuge für Hinzufüge-.2. „Init-Skripts“ (S.2. fahren Sie mit der Eingabe von Datensätzen fort. Den Status des laufenden LDAP-Servers fragen Sie mit rcldap status ab. Bei einer LDIF-Datei handelt es sich um eine einfache Textdatei. starten Sie den LDAP-Server als root.4. directory.25. 25.

7 Beispiel für eine LDIF-Datei # The SUSE Organization dn: dc=suse.dc=de objectClass: dcObject objectClass: organization o: SUSE AG dc: suse # The organizational unit development (devel) dn: ou=devel.7. wie er in slapd. Speichern Sie die Datei mit der Erweiterung .ldif und geben Sie sie mit folgendem Befehl an den Server weiter: ldapadd -x -D <dn of the administrator> -W -f <file>. um die Eingabe in UTF-8 neu zu kodieren.ldif -x deaktiviert in diesem Fall die Authentifizierung mit SASL. Das Passwort wurde zuvor in slapd. Verwenden Sie einen Editor mit UTF-8-Unterstützung. 470) ähneln. Der gültige DN des Administrators wird hier so eingegeben.dc=de.dc=suse. Umlaute müssen richtig kodiert werden.conf konfiguriert wurde.1.dc=de objectClass: organizationalUnit ou: doc # The organizational unit internal IT (it) dn: ou=it.conf mit rootpw festgelegt.dc=de objectClass: organizationalUnit ou: it WICHTIG: Codierung von LDIF-Dateien LDAP arbeitet mit UTF-8 (Unicode). „Beispiel für eine LDIF-Datei“ (S. der den Vorgang aufruft. wie beispielsweise Kate oder neuere Versionen von Emacs.Die LDIF-Datei zur Erstellung eines groben Framework für das Beispiel in Abbildung 25. -D deklariert den Benutzer. Mit -f 470 Referenz .dc=suse. Ansonsten sollten Sie Umlaute und andere Sonderzeichen vermeiden oder recode verwenden.dc=suse. „Struktur eines LDAP-Verzeichnisses“ (S. Im aktuellen Beispiel lautet er cn=admin. 461) würde der Datei in Beispiel 25. Beispiel 25.dc=suse.dc=de objectClass: organizationalUnit ou: devel # The organizational unit documentation (doc) dn: ou=doc. Mit -W wird die Passworteingabe in der Befehlszeile (unverschlüsselt) umgangen und eine separate Passworteingabeaufforderung aktiviert.

8 ldapadd mit example. Wenn bestimmte Daten relativ häufig geändert werden müssen. wie im Beispiel der einzelnen Objekte dargestellt.dc=de" entry "ou=doc. Detaillierte Informationen zum Ausführen von ldapadd erhalten Sie in Beispiel 25.dc=suse.dc=de" entry "ou=it. Wenn Sie die Telefonnummer des Kollegen Tux von +49 1234 567-8 in +49 1234 567-10 LDAP – Ein Verzeichnisdienst 471 . „ldapadd mit example. 471) wird dem neuen LDAP-Verzeichnis Tux hinzugefügt.ldif“ (S.dc=de objectClass: inetOrgPerson cn: Tux Linux givenName: Tux sn: Linux mail: tux@suse.9.dc=suse.ldif Enter LDAP adding new adding new adding new adding new password: entry "dc=suse.dc=suse. Beispiel 25. Beispiel 25.2 Ändern von Daten im LDAP-Verzeichnis Mit dem Werkzeug ldapmodify kann der Datenbestand geändert werden. Am einfachsten können Sie dies durch die Änderung der entsprechenden LDIF-Datei und der Weiterleitung der geänderten Datei an den LDAP-Server erreichen.ou=devel. 25.de uid: tux telephoneNumber: +49 1234 567-8 Eine LDIF-Datei kann eine beliebige Anzahl an Objekten enthalten.9 LDIF-Daten für Tux # coworker Tux dn: cn=Tux Linux.dc=de -W -f example.dc=suse. „LDIF-Daten für Tux“ (S. Es können ganze Verzeichnisverzweigungen oder nur Teile davon in einem Vorgang an den Server weitergegeben werden.In Beispiel 25. 471).8.wird der Dateiname weitergegeben.dc=de" entry "ou=devel.4.ldif ldapadd -x -D cn=admin.dc=suse.dc=de" Die Benutzerdaten einzelner Personen können in separaten LDIF-Dateien vorbereitet werden. wird eine detaillierte Unterteilung der einzelnen Objekte empfohlen.

Beispiel 25.ldif Alternativ können Sie die zu ändernden Attribute direkt an ldapmodify weitergeben. Starten Sie ldapmodify und geben Sie Ihr Passwort ein: ldapmodify -x -D cn=admin.dc=de -W Enter LDAP password: 2. wie in Beispiel 25.dc=de changetype: modify replace: telephoneNumber telephoneNumber: +49 1234 567-10 Importieren Sie die geänderte Datei mit folgendem Befehl in das LDAP-Verzeichnis: ldapmodify -x -D cn=admin.dc=de "(objectClass=*)" 472 Referenz .ou=devel. 25.10 Geänderte LDIF-Datei tux. Die entsprechende Vorgehensweise wird nachfolgend beschrieben: 1.ändern möchten.dc=de -W -f tux. Eine einfache Abfrage weist folgende Syntax auf: ldapsearch -x -b dc=suse.dc=suse. Geben Sie die Änderungen ein und halten Sie sich dabei genau in die unten angegebene Syntax-Reihenfolge: dn: cn=Tux Linux.10.4.dc=de changetype: modify replace: telephoneNumber telephoneNumber: +49 1234 567-10 Detaillierte Informationen zu ldapmodify und der zugehörigen Syntax finden Sie auf der Manualpage ldapmodify(1).dc=suse.ldif # coworker Tux dn: cn=Tux Linux. bearbeiten Sie die LDIF-Datei.ldif“ (S. 472) angegeben. „Geänderte LDIF-Datei tux.ou=devel.dc=suse.3 Suchen und Lesen von Daten in einem LDAP-Verzeichnis Mit ldapsearch steht in OpenLDAP ein Befehlszeilenwerkzeug zum Suchen von Daten innerhalb eines LDAP-Verzeichnisses und zum Lesen von Daten aus dem Verzeichnis zur Verfügung.dc=suse.

um zu prüfen.1 Standardverfahren Hintergrundwissen über die Prozesse.5. Wenn Sie eine feiner abgestufte Suche in speziellen Unterabschnitten des LDAP-Verzeichnisses durchführen möchten (beispielsweise nur innerhalb der Abteilung devel). die für LDAP erforderlich sind (siehe nachfolgende Beschreibung) und installiert die benötigten Dateien. Diese Befehlsoption kann nach der Erstellung eines neuen Verzeichnisbaums verwendet werden. 25. die auf einem Client-Computer im Hintergrund ausgeführt werden. in dem die Suche durchgeführt werden soll.4.dc=de 25.ou=devel. erleichtert Ihnen das Verständnis der Funktionsweise des YaSTModuls LDAP-Client. Wenn Sie diese Funktion bei der Installation nicht aktiviert haben. ob alle Einträge richtig aufgezeichnet wurden und ob der Server wie gewünscht reagiert.Mit der Option -b wird die Suchbasis festgelegt – der Abschnitt des Baums.5 YaST LDAP-Client YaST enthält ein Modul zum Einrichten der LDAP-basierten Benutzerverwaltung. Wenn LDAP für die Netzwerkauthentifizierung aktiviert oder das YaST-Modul aufgerufen wird.dc=de.und NSS-bezogenen Änderungen. Mit -x wird die Aktivierung der einfachen Authentifizierung angefordert. Wenn Sie beispielsweise den vollständigen Eintrag für Tux Linux löschen möchten. erteilen Sie folgenden Befehl: ldapdelete -x -D cn=admin. Weitere Informationen zur Verwendung von ldapsearch finden Sie auf der entsprechenden Manualpage (ldapsearch(1)). werden die Pakete pam_ldap und nss_ldap LDAP – Ein Verzeichnisdienst 473 . dass alle im Verzeichnis enthaltenen Objekte gelesen werden sollen. 25. Die Syntax ist ähnlich wie die der oben beschriebenen Befehle.dc=suse. Im aktuellen Fall lautet er dc=suse.dc=suse. starten Sie das Modul durch Auswahl von Netzwerkdienste → LDAP-Client. (objectClass=*) deklariert. geben Sie diesen Abschnitt mit -b an ldapsearch weiter.4 Löschen von Daten in einem LDAP-Verzeichnis Mit ldapdelete werden unerwünschte Einträge gelöscht.dc=de -W cn=Tux \ Linux. YaST aktiviert alle PAM.

12 Anpassungen in nsswitch.d.conf“ (S. Diesen Mechanismus können Sie testen. indem Sie beispielsweise die Inhalte der Benutzerdatenbank mit dem Befehl getent passwd abrufen.d auf. zuerst die entsprechenden Dateien in /etc zu bewerten und zusätzlich die LDAP-Server aufzurufen. „An LDAP angepasste Datei pam_unix2. das für die Verhandlung zwischen den Anmeldeprozessen und dem LDAP-Verzeichnis als Quelle der Authentifizierungsdaten verantwortlich ist. 382). pam_ldap ist das PAM-Modul. die als Quellen für Authentifizierungs. 474 Referenz . 474)).12.11.conf in /etc/ erstellt. „Konfigurationsdateien“ (S. Beispiel 25. Kopieren Sie die entsprechenden Dateien in /etc/pam.11 An LDAP angepasste Datei pam_unix2. Weitere Informationen zur Funktionsweise von nsswitch. In der Datei nsswitch.conf“ (S. Konfigurationsdateien.so wird installiert und die PAM-Konfiguration entsprechend angepasst (siehe Beispiel 25.1. Beispiel 25. 474). Das dedizierte Modul pam_ldap. Bei der Installation dieses Pakets wird eine neue angepasste Datei nsswitch. Der zurückgegebene Datensatz enthält eine Übersicht über die lokalen Benutzer des Systems und über alle auf dem LDAP-Server gespeicherten Benutzer. Die glibc-Namenauflösung über den nsswitch-Mechanismus wird an den Einsatz von LDAP mit nss_ldap angepasst. „Anpassungen in nsswitch.installiert und die beiden entsprechenden Konfigurationsdateien angepasst.und Benutzerdaten dienen.conf passwd: compat group: compat passwd_compat: ldap group_compat: ldap Mit diesen Zeilen wird die Resolver-Bibliothek von glibc angewiesen.d/. die bereits für einzelne Dienste angepasst sind.6.conf finden Sie in Abschnitt 18.conf auth: account: password: session: use_ldap use_ldap use_ldap none Bei der manuellen Konfiguration zusätzlicher Dienste für die Verwendung von LDAP nehmen Sie das PAM-LDAP-Modul in die entsprechende PAM-Konfigurationsdatei für den Dienst in /etc/pam.conf müssen für die Benutzerverwaltung und -authentifizierung mit LDAP folgende Zeilen vorhanden sein: Siehe Beispiel 25. finden Sie unter /usr/share/doc/packages/pam _ldap/pam.

5.oder Benutzerverwaltung.2 Konfiguration des LDAP-Client Nachdem YaST die ersten Anpassungen von nss_ldap. 475) beschrieben. wenn Sie die LDAP-Benutzerverwaltung oder Netzwerkdienste → LDAPClient im YaST-Kontrollzentrum des installierten Systems auswählen. LDAP – Ein Verzeichnisdienst 475 . die einem Benutzer bzw. Dies beinhaltet die Änderung der Standardeinstellungen für neue Benutzer und Gruppen und der Anzahl und Art von Attributen. Grundlegende Konfiguration Das Dialogfeld für die grundlegende Konfiguration des LDAP-Client (Abbildung 25. 476)) wird während der Installation geöffnet.und Gruppenverwaltung“ (S. „YaST: Konfiguration des LDAP-Client“ (S. 25. dass sich reguläre über LDAP verwaltete Benutzer mit ssh oder login beim Server anmelden. einer Gruppe zugewiesen sind. /etc/passwd und /etc/group vorgenommen hat.Um zu verhindern. pam_ldap. müssen die Dateien /etc/passwd und /etc/group eine zusätzliche Zeile enthalten. 479) beschrieben. Das grundlegende Setup wird in „Grundlegende Konfiguration“ (S. können Sie einfach eine Verbindung zwischen dem Client und dem Server herstellen und die Benutzerverwaltung von YaST über LDAP ausführen lassen. Dies wird ausführlich in „Konfigurieren des YaST-Moduls zur Benutzer.2. Verwenden Sie für die weitere Konfiguration der YaST-Gruppe und der Benutzerkonfigurationsmodule den YaST LDAP-Client. Mit der LDAP-Benutzerverwaltung können Sie Benutzern und Gruppen mehrere und verschiedene Attribute zuweisen als bei herkömmlichen Lösungen zur Gruppen. Hierbei handelt es sich um die Zeile +::::::/sbin/nologin in /etc/passwd und +::: in /etc/group.

wählen Sie LDAP TLS/SSL. Wählen Sie LDAP verwenden. Wählen Sie den geeigneten „Base DN“ aus den Suchergebnissen. die YaST liefert.Abbildung 25. klicken Sie auf DN holen. 476 Referenz . YaST prüft dann. um die Benutzer Ihres Computers bei einem OpenLDAPServer zu authentifizieren und die Benutzerverwaltung über OpenLDAP zu aktivieren: 1 Klicken Sie zum Aktivieren von LDAP auf LDAP verwenden. 3 Geben Sie den LDAP Base DN ein. Wenn Sie den „Base DN“ automatisch abrufen möchten. jedoch Anmeldungen deaktivieren aus. um die Suchbasis auf dem LDAP-Server auszuwählen.2 YaST: Konfiguration des LDAP-Client Gehen Sie wie folgt vor. Sie jedoch verhindern möchten. dass sich Benutzer bei diesem Client anmelden. ob eine oder mehrere LDAP-Datenbanken an der oben angegebenen Serveradresse vorhanden sind. 4 Wenn eine durch TLS oder SSL geschützte Kommunikation mit dem Server erforderlich ist. 2 Geben Sie die IP-Adresse des zu verwendenden LDAP-Servers ein. wenn LDAP für die Authentifizierung verwendet werden soll.

3. geben Sie diese anderen Benennungskontexte unter Benutzerzuordnung. 7 Klicken Sie zum Anwenden der Einstellungen auf Beenden. um die entfernten Verzeichnisse. Passwörter und Gruppen von der im LDAP Base DN angegebenen globalen Suchbasis unterscheidet. Siehe Abbildung 25. Das folgende Dialogfeld verfügt über zwei Registerkarten.3 YaST: Erweiterte Konfiguration Wenn Sie als Administrator Daten auf einem Server ändern möchten. muss die Verwendung dieser Protokollversion durch Auswahl von LDAP Version 2 ausdrücklich aktiviert werden. LDAP – Ein Verzeichnisdienst 477 .5 Falls auf dem LDAP-Server noch LDAPv2 verwendet wird. 477): 1 Passen Sie auf der Registerkarte Client-Einstellungen die folgenden Einstellungen je nach Bedarf an: a Wenn sich die Suchbasis für Benutzer. „YaST: Erweiterte Konfiguration“ (S. 6 Wählen Sie Automounter starten aus. wie beispielsweise ein entfernt verwaltetes /home-Verzeichnis auf dem Client einzuhängen. Abbildung 25. klicken Sie auf Erweiterte Konfiguration. Passwortzuordnung und Gruppenzuordnung ein.

c Geben Sie die LDAP-Gruppe an. e Klicken Sie zum Verlassen der Erweiterten Konfiguration auf Übernehmen und anschließend zum Zuweisen der Einstellungen auf Beenden. die mit Attribut für Gruppenmitglied verwendet werden soll.b Geben Sie das Passwortänderungsprotokoll an. 478 Referenz . Dieser DN muss dem in /etc/openldap/slapd.dc=suse. Dies bedeutet. Die Standardmethode. B. dass mit crypt erstellte Passwort-Hashes verwendet werden. Der Zugriff auf die Konfigurationsmodule auf dem Server wird anschließend entsprechend den auf dem Server gespeicherten ACLs und ACIs gewährt. damit der Basis-DN automatisch angehängt wird. 479) beschriebenen Schritte. Geben Sie den vollen DN ein (z. um die Standardkonfigurationsobjekte auf dem Server zu erstellen und so die Benutzerverwaltung über LDAP zu ermöglichen. damit dieser spezielle Benutzer die auf einem LDAPServer gespeicherten Daten bearbeiten kann. lautet crypt. Der Standardwert ist member. Befolgen Sie die in „Konfigurieren des YaST-Moduls zur Benutzer.conf angegebenen Wert für rootdn entsprechen.und Gruppenverwaltung“ (S.dc=de) oder aktivieren Sie Basis-DN anhängen. cn=admin. b Geben Sie die entsprechenden Werte für Administrator-DN ein. wenn Sie cn=admin eingeben. Mit Einstellungen für die Benutzerverwaltung konfigurieren bearbeiten Sie Einträge auf dem LDAP-Server. c Aktivieren Sie die Option Standardkonfigurationsobjekte erzeugen. d Wenn der Client-Computer als Dateiserver für die Home-Verzeichnisse in Ihrem Netzwerk fungieren soll. aktivieren Sie Home-Verzeichnisse auf diesem Computer. Detaillierte Informationen zu dieser und anderen Optionen finden Sie auf der Manualpage pam_ldap. 2 Passen Sie unter Verwaltungseinstellungen folgende Einstellungen an: a Legen Sie die Basis zum Speichern der Benutzerverwaltungsdaten mit Konfigurations-Base DN fest. die bei Passwortänderungen verwendet wird.

4 YaST: Modulkonfiguration Im Dialogfeld für die Modulkonfiguration (Abbildung 25. Abbildung 25. vorhandene Konfigurationsmodule auswählen und ändern sowie Vorlagen für solche Module entwerfen und ändern. Wählen Sie für ein Benutzerkonfigurationsmodul suseuserconfiguration und für eine Gruppenkonfiguration susegroupconfiguration aus. Zum Erstellen eines neuen Konfigurationsmoduls gehen Sie wie folgt vor: 1 Klicken Sie auf Neu und wählen Sie den gewünschten Modultyp aus. Die hier vorgenommenen Voreinstellungen werden als LDAPObjekte im LDAP-Verzeichnis gespeichert.4. „YaST: Modulkonfiguration“ (S. um die Datenregistrierung zu vereinfachen. um die YaST-Module für die Benutzer.und Gruppenverwaltung anzupassen und sie nach Bedarf zu erweitern.und Gruppenverwaltung.und Gruppenverwaltung Verwenden Sie den YaST LDAP-Client. Definieren Sie die Vorlagen mit Standardwerten für die einzelnen Attribute.Konfigurieren des YaST-Moduls zur Benutzer. Die Registrierung von Benutzerdaten erfolgt weiterhin über reguläre YaST-Module für die Benutzer. LDAP – Ein Verzeichnisdienst 479 . 479)) können Sie neue Module erstellen. Die registrierten Daten werden als LDAP-Objekte auf dem Server gespeichert.

oder Gruppenkonfigurationsobjekte im LDAP-Baum). Mit den YaST-Modulen für die Gruppen. In der Inhaltsansicht wird dann eine Tabelle mit allen in diesem Modul zulässigen Attributen und den entsprechenden zugewiesenen Werten angezeigt.und Benutzerverwaltung werden Vorlagen mit sinnvollen Standardwerten eingebettet. Leere Attribute werden auf dem LDAP-Server gelöscht. 3 Ändern. Ein Modul können Sie umbenennen. Neben allen festgelegten Attributen enthält die Liste auch alle anderen im aktuellen Schema zulässigen jedoch momentan nicht verwendeten Attribute. 2 Legen Sie die Werte der allgemeinen dieser Vorlage zugewiesenen Attribute gemäß Ihren Anforderungen fest oder lassen Sie einige nicht benötigte Attribute leer. indem Sie einfach das Attribut cn des Moduls ändern. Zum Bearbeiten einer Vorlage für ein Konfigurationsmodul führen Sie folgende Schritte aus: 1 Klicken Sie im Dialogfeld Konfiguration von Modulen auf Vorlage konfigurieren. löschen oder fügen Sie neue Standardwerte für neue Objekte hinzu (Benutzer.2 Legen Sie einen Namen für die neue Vorlage fest. die in der Gruppen. 3 Akzeptieren Sie die voreingestellten Werte oder passen Sie die Standardwerte an.und Benutzerkonfiguration verwendet werden sollen. indem Sie Bearbeiten wählen und den neuen Wert eingeben. 480 Referenz . Durch Klicken auf Löschen wird das ausgewählte Modul gelöscht. 4 Mit OK fügen Sie das neue Modul dem Auswahlmenü hinzu.

TIPP Die Standardwerte für ein Attribut können anhand von anderen Attributen mithilfe einer Variablen anstelle eines absoluten Werts erstellt werden.Abbildung 25. können neue Gruppen und Benutzer wie gewohnt mit YaST registriert werden.5 YaST: Konfiguration einer Objektvorlage Verbinden Sie die Vorlage mit dem entsprechenden Modul. indem Sie den Wert des Attributs susedefaulttemplate für das Modul auf den DN der angepassten Vorlage setzen. LDAP – Ein Verzeichnisdienst 481 . Wenn Sie beispielsweise einen neuen Benutzer erstellen. Nachdem alle Module und Vorlage richtig konfiguriert wurden und zum Ausführen bereit sind. wird cn=%sn %givenName automatisch anhand der Attributwerte für sn und givenName erstellt.

d Rufen Sie die Registerkarte Plug-Ins auf.und Gruppenverwaltung“ (S. 483)). Das Verfahren für die Gruppenverwaltung entspricht dieser Vorgehensweise. Die Standardwerte und die Passworteinstellungen können mit den unter „Konfigurieren des YaST-Moduls zur Benutzer. Daraufhin wird ein Dialogfeld mit vier Registerkarten geöffnet: a Geben Sie auf der Registerkarte Benutzerdaten den Benutzernamen. Falls erforderlich.und Gruppendaten weicht nur geringfügig von dem Vorgang ohne Verwendung von LDAP ab. Die folgenden kurzen Anweisungen betreffen die Benutzerverwaltung.25. 2 Mit Filter festlegen können Sie die Anzeige der Benutzer auf LDAP-Benutzer beschränken und das Passwort für „Root-DN“ eingeben. um die Gruppenmitgliedschaft. 4 Klicken Sie zum Zuweisen der Einstellungen und zum Beenden der Benutzerkonfiguration auf Übernehmen. wählen Sie das LDAP-Plugin und klicken Sie zum Konfigurieren zusätzlicher LDAP-Attribute für den neuen Benutzer auf Starten (siehe Abbildung 25. 479) beschriebenen Schritten definiert werden. c Ändern oder akzeptieren Sie die standardmäßigen Passworteinstellungen. 3 Klicken Sie auf Hinzufügen und geben Sie die Konfiguration für einen neuen Benutzer ein.6 Konfigurieren von LDAP-Benutzern und -Gruppen Die tatsächliche Registrierung der Benutzer. die Anmelde-Shell und das Home-Verzeichnis für den neuen Benutzer anzugeben. b Wählen Sie die Registerkarte Details aus. 1 Rufen Sie die YaST-Benutzerverwaltung über Sicherheit und Benutzer → Benutzerverwaltung auf. die Anmeldeinformationen und das Passwort an.6. ändern Sie den Standardwert entsprechend Ihren Anforderungen. 482 Referenz . „YaST: Zusätzliche LDAPEinstellungen“ (S.

LDAP-Suchfilter auf die Gruppe der verfügbaren Benutzer anzuwenden oder das Modul zur Konfiguration von LDAP-Benutzern und Gruppen durch die Auswahl von Verwaltung von Benutzern und Gruppen aufzurufen. LDAP – Ein Verzeichnisdienst 483 . wurden in diesem Kapitel bewusst nicht behandelt. Detaillierte Informationen zu diesen beiden Themen erhalten Sie im OpenLDAP 2.7 Weitere Informationen Komplexere Themen.2 Administrator's Guide (Verweise siehe unten). 25. Hier haben Sie die Möglichkeit.html zur Verfügung. wie die SASL-Konfiguration oder das Einrichten eines LDAPServers für die Reproduktion.6 YaST: Zusätzliche LDAP-Einstellungen Im ersten Eingabeformular der Benutzerverwaltung stehen LDAP-Optionen zur Verfügung. Sie steht unter http://www .Abbildung 25.org/faq/data/cache/1. Auf der Website des OpenLDAP-Projekt stehen umfangreiche Dokumentationen für Einsteiger und fortgeschrittene LDAP-Benutzer zur Verfügung: OpenLDAP Faq-O-Matic Eine umfangreiche Sammlung von Fragen und Antworten zur Installation. Konfiguration und Verwendung von OpenLDAP. der die Auslastung auf mehrere Slaves verteilt.openldap.

OpenLDAP 2.openldap.org/doc/ admin22/quickstart. Dieses Dokument finden Sie unter http://www.Quick Start Guide Kurze Schritt-für-Schritt-Anleitung zur Installation des ersten LDAP-Servers.org/doc/admin22/ oder in einem installierten System unter /usr/share/doc/packages/openldap2/ admin-guide/index. Informationen zu LDAP Detaillierte allgemeine Einführung in die Grundlagen von LDAP: http://www .2 Administrator's Guide Eine detaillierte Einführung in alle wichtigen Aspekte der LDAP-Konfiguration einschließlich der Zugriffssteuerung und der Verschlüsselung.redbooks.html.openldap. 484 Referenz .com/redbooks/pdfs/sg244986.pdf. Dieses Dokument finden Sie unter http://www.html oder in einem installierten System unter /usr/ share/doc/packages/openldap2/admin-guide/quickstart. 2251 bis 2256. Literatur zu LDAP: • LDAP System Administration von Gerald Carter (ISBN 1-56592-491-6) • Understanding and Deploying LDAP Directory Services von Howes.html. Smith und Good (ISBN 0-672-32316-8) Das ausführlichste und wichtigste Referenzmaterial zum Thema LDAP sind die entsprechenden RFCs (Request for Comments).ibm.

Zur Installation und Konfiguration von Apache müssen Sie als Root-Benutzer angemeldet sein.netcraft.org/) entwickelte Apache-Server läuft auf fast allen Betriebssystemen. In diesem Kapitel erfahren Sie. Sie lernen SSL. konfiguriert und eingerichtet wird. Der von Apache Software Foundation (http:// www.1 Voraussetzungen Vergewissern Sie sich. CGI und weitere Module kennen und erfahren.1. Der HTTP-Server Apache 485 . wie Sie Apache in kürzester Zeit installieren und einrichten.Der HTTP-Server Apache 26 Mit einem Marktanteil von mehr als 70 % ist der Apache HTTP-Server (Apache) laut einer http://www. Grundlegendes zu Netzwerken (S.1 Schnellstart In diesem Abschnitt erfahren Sie. SUSE Linux enthält Apache Version 2. Das Netzwerk des Computers ist ordnungsgemäß konfiguriert. 345). wie Apache installiert.2. bevor Sie den Apache-Webserver einrichten: 1. 26. dass folgende Voraussetzungen erfüllt sind.com/-Umfrage im November 2005 der weltweit am häufigsten eingesetzte Webserver. 26.apache. wie Sie bei Problemen mit dem Webserver vorgehen. Weitere Informationen zu diesem Thema finden Sie unter Kapitel 18.

Bestätigen Sie die Installation der abhängigen Pakete. Lassen Sie dazu in SUSEFirewall2 den Service HTTP Server (HTTP-Server) in der externen Zone zu. Weitere Informationen zu diesem Thema finden Sie unter Kapitel 24. Diese Konfiguration können Sie in YaST vornehmen. 26. 3. dass die Systemzeit des Computers genau ist. Hierzu zählt sowohl das Multiprocessing-Modul (MPM) apache2-prefork als aus das Modul PHP5. dass Apache automatisch bei jedem Systemstart gestartet wird. Wählen Sie dann Filters (Filter) → Selections (Selektionen) und schließlich Einfacher Webserver mit Apache2 aus. 4. Die exakte Uhrzeit ist für Teile des HTTP-Protokolls nötig. Durch Synchronisierung mit einem Zeitserver ist sichergestellt. Zur Installation starten Sie YaST und wählen Sie Software → Software Management (SoftwareManagement) aus. 116). wird Apache beim Systemstart automatisch in Runlevel 3 und 5 gestartet.1. führen Sie YaST-Online-Update aus. „Konfigurieren von Systemdiensten (Runlevel) mit YaST“ (S. Zeitsynchronisierung mit NTP (S. 26. 486 Referenz . 505). Apache wird mit einer voreingestellten Standardkonfiguration installiert.3 Start Um Apache zu starten und sicherzustellen. um den Installationsvorgang abzuschließen.2. 205). Falls Sie sich nicht sicher sind.3. „Installieren. Wenn Sie Ihre Änderungen nun mit Beenden speichern. öffnen Sie YaST und wählen Sie System → System Services (Runlevel) (Systemdienste (Runlevel)) aus.2. 451). Weitere Informationen über Module erhalten Sie unter Abschnitt 26. Suchen Sie dann nach apache2 und aktivieren Sie den Service. Die neuesten Sicherheitsaktualisierungen sind installiert.2 Installation Apache ist in der Standardinstallation von SUSE Linux nicht enthalten. Weitere Informationen erhalten Sie unter „Konfiguration mit YaST“ (S.4.1. Weitere Informationen zu den Runlevels in SUSE Linux und eine Beschreibung des YaST-Runlevel-Editors finden Sie in Abschnitt 8. In der Firewall ist der Standardport des Webservers (Port 80) geöffnet. Aktivieren und Konfigurieren von Modulen“ (S. Der Webserver wird sofort gestartet.

2 Konfigurieren von Apache In SUSE Linux kann Apache auf zweierlei Weisen konfiguriert werden: mit YaST oder manuell. allerdings müssen Sie ohne den Komfort der Benutzeroberfläche von YaST zurechtkommen. 26. „Starten und Beenden von Apache“ (S.1 Manuelle Konfiguration von Apache Wenn Sie den Apache-Webserver manuell konfigurieren möchten.8.2. müsste der Webserver nun laufen. die Konfiguration an Ihre Anforderungen anpassen und weitere Module mit den benötigten Funktionen installieren. Der HTTP-Server Apache 487 . Sofern Sie beim Start von Apache keine Fehlermeldungen erhalten haben. wird der Computer automatisch neu gestartet. lesen Sie den Abschnitt Abschnitt 26. können Sie eigene Dokumente hinzufügen. Nachdem der Webserver nun läuft. müssen Sie die Klartext-Konfigurationsdateien als Root-Benutzer bearbeiten.3. wurde die ApacheWebserver-Software erfolgreich auf diesem System installiert).Über die Shell starten Sie Apache mit dem Befehl rcapache2 start. Wenn diese Seite nicht angezeigt wird. Starten Sie einen Webbrowser und öffnen Sie http:// localhost/. Der manuelle Neustart wird unter Abschnitt 26. Bei der manuellen Konfiguration können Sie mehr Details einstellen. 503) beschrieben. dass Apache beim Systemstart automatisch in Runlevel 3 und 5 gestartet wird. Mit dem Befehl chkconfig -a apache2 stellen Sie sicher. WICHTIG: Konfigurationsänderungen Die meisten Konfigurationsänderungen werden erst nach einem Neustart bzw. „Fehlerbehebung“ (S. Für die meisten Konfigurationsänderungen ist allerdings nur eine Aktualisierung mit rcapache2 reload erforderlich. 26. Wenn Sie YaST zur Konfiguration verwenden und die Konfiguration mit aktiviertem HTTP-Dienst abschließen. Nun sollte eine Apache-Testseite mit folgendem Text geöffnet werden: „If you can see this. 526). it means that the installation of the Apache Web server software on this system was successful“ (Wenn diese Seite angezeigt wird. nach dem Neuladen von Apache wirksam.

beispielsweise die zu ladenden Module. WICHTIG: Kein SuSEconfig-Modul für Apache Das SuSEconfig-Modul für Apache wurde in SUSE Linux entfernt. Die Apache-Konfigurationsdateien gliedern sich wie folgt: /etc/apache2/ | |.conf. Die Konfigurationsoptionen dieser Datei sind hinreichend dokumentiert und werden daher an dieser Stelle nicht näher erläutert.*. Jede Datei enthält mehrere Konfigurationsoptionen (auch als Direktiven bezeichnet). /etc/apache2/ /etc/apache2/ enthält alle Konfigurationsdateien für Apache. die einzuschließenden Konfigurationsdateien.conf 488 Referenz . die beim Serverstart zu verwendenden Flags sowie Flags. die der Befehlszeile hinzugefügt werden sollen. Für die Konfigurationsanforderungen eines typischen Webservers dürften die Einstellungen der Datei /etc/ sysconfig/apache2 ausreichen.Konfigurationsdateien Die Konfigurationsdateien von Apache befinden sich in zwei verschiedenen Verzeichnissen: • /etc/sysconfig/apache2 • /etc/apache2/ /etc/sysconfig/apache2 /etc/sysconfig/apache2 steuert einige globale Einstellungen von Apache. SuSEconfig muss nach einer Änderung von /etc/sysconfig/apache2 nicht mehr ausgeführt werden.conv |. In diesem Abschnitt wird der Zweck jeder einzelnen Datei erklärt.charset.d/ | | | |. Die Konfigurationsoptionen dieser Dateien sind hinreichend dokumentiert und werden daher an dieser Stelle nicht näher erläutert.

types mod_*.conf Dies sind Konfigurationsdateien anderer Module. errors. conf.conf ssl-global.conf Diese Datei legt fest.* sysconfig.*. sollten Sie sie in der virtuellen Hostkonfiguration überschreiben. Anderenfalls sollten Sie die entsprechenden Direktiven in den virtuellen Hostkonfigurationen überschreiben.d/vhost. .conf server-tuning. Wenn Sie die Meldungen für alle virtuellen Hosts ändern möchten.| |||||||||||| | | | | ||| default-server. welche Zeichensätze für die verschiedenen Sprachen verwendet werden.conf magic mime.d |.conf |.conf vhosts. uid.conv In dieser Datei ist festgelegt.template.include. Der HTTP-Server Apache 489 .conf |.conf .loadmodule. wie Apache auf Fehler reagiert. Bei Bedarf können die Konfigurationsdateien in Ihre virtuellen Hostkonfigurationen eingeschlossen werden.conf errors. können Sie diese Datei bearbeiten. Beispiele finden Sie in vhosts.conf Apache-Konfigurationsdateien in /etc/apache2/ charset. Statt die Werte in dieser Datei zu ändern.global.conf httpd. Sie können damit unterschiedliche Modulsätze für verschiedene virtuelle Hosts bereitstellen.conf ssl.d/*. Bearbeiten Sie diese Datei nicht.conf Diese Datei enthält eine globale Konfiguration für virtuelle Hosts mit vernünftigen Standardeinstellungen.conf listen.d | |. default-server.

„Installieren.conf und ssl. MIME-Typen. sollten Sie der Datei mod _mime-defaults.conf Dies ist die Hauptkonfigurationsdatei des Apache-Servers. Die Konfigurationsdateien optionaler Module befinden sich im Verzeichnis conf.types Diese Datei enthält die dem System bekannten MIME-Typen (genau genommen ist diese Datei eine Verknüpfung mit /etc/mime. Bearbeiten Sie diese Datei nicht.conf Diese Datei enthält Konfigurationsdirektiven für verschiedene MPMs (siehe Abschnitt 26. Einzelheiten finden Sie unter Abschnitt 26. server-tuning. 517). Außerdem konfiguriert diese Datei das namensbasierte virtuelle Hosting (siehe „Namensbasierte virtuelle Hosts“ (S. „Einrichten eines sicheren Webservers mit SSL“ (S.4. mit dessen Hilfe Apache den MIME-Typ unbekannter Dateien ermittelt. die hier nicht aufgelistet sind. Einzelheiten finden Sie unter Abschnitt 26. die sich auf die Leistung von Apache auswirken. Diese Datei sollten Sie nicht bearbeiten.types).d.conf hinzufügen. 505).conf Dies sind die Konfigurationsdateien der in der Standardinstallation enthaltenen Module. Sie enthält in erster Linie Include-Anweisungen und globale Einstellungen. magic Diese Datei enthält Daten für das Modul mime_magic. Host-spezifische Einstellungen wie DocumentRoot (absoluter Pfad) ändern Sie in der virtuellen Hostkonfiguration. Bearbeiten Sie diese Datei nicht. Sie können diese Datei bearbeiten.6. 492)). sollten den Webserver anschließend aber gründlich testen. Aktivieren und Konfigurieren von Modulen“ (S. mod_*. ssl-global. 510)) und allgemeine Konfigurationsoptionen.* Diese Dateien enthalten die globale SSL-Konfiguration und die SSL-Zertifikatdaten. 490 Referenz . listen. „Multiprocessing-Module“ (S.httpd. Globale Einstellungen können Sie in den in diesem Abschnitt aufgelisteten Konfigurationsdateien ändern.4. mime.4.conf Diese Datei bindet Apache an bestimmte IP-Adressen und Ports.

Bearbeiten Sie stattdessen die Dateien unter /etc/sysconfig/apache2. vhost-ssl. Alle Dateien in diesem Verzeichnis mit der Erweiterung . Virtuelle Hosts können mit YaST (siehe „Virtual Hosts (Virtuelle Hosts)“ (S. 491). Der HTTP-Server Apache 491 . um Verwaltungsaufwand (nur ein Webserver muss verwaltet werden) und Hardware-Kosten (für die einzelnen Domänen ist kein dedizierter Server erforderlich) zu sparen.d/*. Einzelheiten finden Sie unter „Virtuelle Hostkonfiguration“ (S. vhosts. Bearbeiten Sie diese Datei nicht. Virtuelle Hosts werden häufig eingesetzt.template für einen virtuellen Host mit SSLUnterstützung).conf In diese Dateien sollte Ihre virtuelle Hostkonfiguration gespeichert werden.und Gruppen-ID an.template bzw. unter der Apache läuft. mehrere URIs (Universal Resource Identifiers) vom gleichen physischen Computer aus bedienen zu können. In anderen Worten: Mehrere Domänen wie www.com und www.beispiel. IPAdressen oder Ports basieren. In SUSE Linux ist Apache unter /etc/apache2/vhosts.net können von einem einzigen Webserver auf einem physischen Computer ausgeführt werden.conf Diese Datei gibt die Benutzer. Außerdem enthält dieses Verzeichnis eine grundlegende Vorlage für virtuelle Hosts (vhost .conf Diese Konfigurationsdateien werden automatisch aus /etc/sysconfig/ apache2 konfiguriert.conf sind automatisch Bestandteil der Konfiguration.conf ist automatisch Bestandteil der Apache-Konfiguration. Jede Datei in diesem Verzeichnis mit der Erweiterung . Fügen Sie diesem Verzeichnis auch keine weiteren Konfigurationsdateien hinzu. Ändern Sie diese Dateien nicht. Das Verzeichnis enthält Vorlagen für virtuelle Hosts mit und ohne SSL.d/ standardmäßig für eine Konfigurationsdatei pro virtuellen Host vorbereitet.sysconfig.d/*.beispiel. Virtuelle Hosts können auf Namen. Virtuelle Hostkonfiguration Virtueller Host bezieht sich auf die Fähigkeit von Apache. 499)) oder manuell durch Bearbeitung einer Konfigurationsdatei konfiguriert werden. uid.

Es empfiehlt sich. welche IP-Adresse (und optional welcher Port) auf Client-Anforderungen mit dem Domänennamen im HTTP-Header überwacht werden soll. In diesem Fall werden die Anforderungen an allen Schnittstellen empfangen. Diese Option wird in der Konfigurationsdatei /etc/apache2/ listen. Der <VirtualHost></VirtualHost>-Block enthält die Informationen zu einer bestimmten Domäne. Dieser ist standardmäßig Port 80 und wird mit der Listen-Direktive konfiguriert. sondern Sie können auch jederzeit auf eine funktionierende Basiskonfiguration zurückgreifen. Namensbasierte virtuelle Hosts Namensbasierte virtuelle Hosts können an jeder IP-Adresse mehrere Websites bedienen.apache. um die Anforderung mit einem übereinstimmenden ServerName-Eintrag der virtuellen Hostdeklarationen zu verbinden. Aus dem gleichen Grund sollten Sie auch für jeden virtuellen Host eine eigene Konfigurationsdatei erstellen. verwendet es die in diesem Block angegebenen Direktiven.conf konfiguriert. Wenn Apache eine Client-Anforderung für einen definierten virtuellen Host empfängt. optionale Argument ist der Port. wenn der Webserver nur eine Domäne enthält. immer eine virtuelle Hostkonfiguration zu erstellen. Die Direktive NameVirtualHost teilt Apache mit.0/mod/quickreference . Sowohl für die IP-Adresse als auch für die Port-Nummer kann ein Platzhalterzeichen (*) eingegeben werden. dann wird der erste angegebene virtuelle Host als Standard verwendet. 492 Referenz . indem Sie einfach die Konfigurationsdatei des virtuellen Hosts verschieben. Dadurch fassen Sie nicht nur die gesamte domänenspezifische Konfiguration in einer einzigen Datei zusammen. Das zweite. löschen oder umbenennen.TIPP: Erstellen Sie immer eine virtuelle Hostkonfiguration. Apache verwendet das Hostfeld in dem vom Client übersandten HTTP-Header.org/docs/2. Als erstes Argument kann der vollständig qualifizierte Domänenname eingegeben werden – empfohlen wird aber die IP-Adresse.html. Nahezu alle Direktiven können auch im Kontext eines virtuellen Hosts verwendet werden. IPv6-Adressen müssen in eckigen Klammern eingeschlossen sein. Wird kein übereinstimmender ServerName gefunden. selbst dann. Weitere Informationen über die Konfigurationsdirektiven von Apache finden Sie unter http://httpd.

. </VirtualHost> <VirtualHost *> . den vollständig qualifizierten Domänennamen) als Argument. Beispiel 26.168. Auf dem physischen Server muss für jeden IP-basierten virtuellen Host eine eigene IPAdresse eingerichtet sein..1. </VirtualHost> <VirtualHost [2002:c0a8:164::]> . Falls der Computer nicht über die entsprechende Anzahl an Der HTTP-Server Apache 493 .1.. Diese Syntax ist allerdings nur in Verbindung mit einem Platzhalter in NameVirtualHost * zulässig. Auf einer Apache-Instanz befinden sich mehrere Domänen.168.1. Eine mit der NameVirtualHost-Direktive deklarierte Port-Nummer ist optional.100:80 NameVirtualHost 192.100:80> . </VirtualHost> <VirtualHost *:80> . </VirtualHost> IP-basierte virtuelle Hosts Bei dieser alternativen virtuellen Hostkonfiguration werden auf einem Computer mehrere IPs eingerichtet.168... </VirtualHost> <VirtualHost 192. IPv6-Adressen müssen in eckige Klammern eingeschlossen werden.100 NameVirtualHost *:80 NameVirtualHost * NameVirtualHost [2002:c0a8:164::]:80 In einer namensbasierten virtuellen Hostkonfiguration übernimmt das VirtualHost-Anfangstag die zuvor unter NameVirtualHost deklarierte IPAdresse (bzw.168. denen jeweils eine eigene IP zugewiesen ist.1. Anstelle der IP-Adresse wird auch ein Platzhalterzeichen (*) akzeptiert..1 Beispiele für namensbasierte VirtualHost-Einträge # NameVirtualHost IP-Adresse[:Port] NameVirtualHost 192..Beispiel 26....2 Namensbasierte VirtualHost-Direktiven <VirtualHost 192.100> .

ServerName Der vollständig qualifizierte Domänenname. Für jeden virtuellen Server wird ein eigener VirtualHost-Block benötigt.168. unter dem der Host angesprochen wird.. Weitere Optionen finden Sie in /etc/apache2/vhosts.0.0. Aus Sicherheitsgründen ist standardmäßig auf das gesamte Dateisystem kein Zugriff möglich. 494 Referenz . Sollte für 192.0.168. Beispiel 26.Netzwerkkarten verfügt. Sie müssen dieses Verzeichnis daher explizit innerhalb eines Directory-Containers entsperren. DocumentRoot Der absolute Pfad des Verzeichnisses..168..0. Anderenfalls fänden die Direktiven aus der Standardserverkonfiguration (/etc/apache2/ default-server. auf dem sich zwei Domänen mit den zusätzlichen IPs 192.20 und 192.d/vhost . können auch virtuelle Netzwerkschnittstellen verwendet werden (IP-Aliasing). müsste ein eigener IP-basierter Host für die HTTP-Anforderungen an diese Schnittstelle eingerichtet werden.3 IP-basierte VirtualHost-Direktiven <VirtualHost 192.168.10 befinden..20> . aus dem Apache die Dateien für diesen Host bedient.10 auch eine Listen-Direktive konfiguriert sein. Basiskonfiguration eines virtuellen Hosts Die Konfiguration eines virtuellen Hosts sollte mindestens die folgenden Direktiven enthalten.10.168.0.168.conf) Anwendung.0.0.10) VirtualHost-Direktiven angegeben. Das folgende Beispiel zeigt Apache auf einem Computer mit der IP 192.30> .168. </VirtualHost> In diesem Beispiel sind nur für die beiden zusätzlichen IP-Adressen (also nicht für 192. </VirtualHost> <VirtualHost 192.template.

com-access_log common <Directory "/srv/www/beispiel. /var/log/apache2/ ist das Standardverzeichnis für die Protokolldateien von Apache. da dies eine separate Analyse der Zugriffsdaten für jeden einzelnen Host ermöglicht.com"> Order allow. ErrorLog Das Fehlerprotokoll dieses virtuellen Hosts.168.deny Allow from all </Directory> Die vollständige Basiskonfiguration eines virtuellen Hosts sieht wie folgt aus: Beispiel 26.com ErrorLog /var/log/apache2/www.beispiel.10> ServerName www.beispiel. jedoch durchaus üblich. da dies die Fehlersuche erleichtert.4 Basiskonfiguration eines virtuellen Hosts <VirtualHost 192. in dem Sie die von Apache zu bedienenden Dateien abgelegt haben. /var/log/apache2/ ist das Standardverzeichnis für die Protokolldateien von Apache.deny Allow from all </Directory> </VirtualHost> Der HTTP-Server Apache 495 . Wie bereits erwähnt.com DocumentRoot /srv/www/beispiel.ServerAdmin Die E-Mail-Adresse des Serveradministrators. jedoch durchaus üblich.0. ist standardmäßig auf das gesamte Dateisystem kein Zugriff möglich. Ein eigenes Fehlerprotokoll für jeden virtuellen Host ist zwar nicht zwingend erforderlich.com_log CustomLog /var/log/apache2/www.com_htdocs"> Order allow. explizit entsperren: <Directory "/srv/www/beispiel. Ein eigenes Zugriffsprotokoll für jeden virtuellen Host ist zwar nicht zwingend erforderlich.beispiel. Daher müssen Sie das DocumentRoot-Verzeichnis.com_htdocs ServerAdmin webmaster@beispiel. Diese Adresse ist beispielsweise auf den von Apache erstellten Fehlerseiten angegeben. CustomLog Das Zugriffsprotokoll dieses virtuellen Hosts.

Wenn Sie dieses Modul zum ersten Mal starten. Im letzten Schritt des Assistenten haben Sie die Möglichkeit. Dort müssen Sie einige administrative Einstellungen vornehmen. Klicken Sie auf Weiter. Klicken Sie auf Weiter. um mit der Konfiguration fortzufahren.2 Konfigurieren von Apache mit YaST Zur Konfiguration des Webservers mit YaST starten Sie YaST und wählen Sie Network Services (Netzwerkdienste) → HTTP Server (HTTP-Server) aus. Sie können Ports aus allen drei Bereichen (Well-Known-Ports. Informationen zur Aktivierung bzw. Module Mit dieser Konfigurationsoption aktivieren bzw. Sie können eine beliebige Kombination aus bestehenden Netzwerkschnittstellen und zugehörigen IP-Adressen auswählen. Network Device Selection (Netzwerkgeräteauswahl) Geben Sie hier die Netzwerkschnittstellen und -ports an. sobald Sie das HTTP-Server-Modul aufrufen. die von Apache auf eingehende Anfragen überwacht werden. deaktivieren Sie die vom Webserver unterstützten Skriptsprachen. um die vom Webserver überwachten Ports in der Firewall zu öffnen. in dem Sie weitere spezielle Einstellungen vornehmen können.2. sofern diese nicht für andere Dienste reserviert sind. um den Webserver im Netzwerk (LAN. WAN oder Internet) verfügbar zu machen. 502). Das Schließen der Ports ist nur in Testsituationen sinnvoll. 501) beschriebene Dialogfeld geöffnet. Aktivieren Sie Open Firewall for Selected Ports (Firewall für ausgewählte Ports öffnen).26. in denen kein externer Zugriff auf den Webserver erforderlich ist. registrierte Ports und dynamische oder private Ports) verwenden. Deaktivierung anderer Module erhalten Sie unter „Server Modules (Server-Module)“ (S. wird der HTTP Server Wizard (HTTP-Server-Assistent) geöffnet. um das nächste Dialogfeld zu öffnen. HTTP Server Wizard (HTTP-Server-Assistent) Der HTTP-Server-Assistent besteht aus fünf Schritten. Nach Ausführung des Assistenten wird das unter „HTTP Server Configuration (HTTP-ServerKonfiguration)“ (S. Die Standardeinstellung ist die Überwachung aller Netzwerkschnittstellen (IP-Adressen) an Port 80. 496 Referenz . Dies ist erforderlich. den Expertenkonfigurationsmodus aufzurufen.

Wenn Sie die Hosteinstellungen (auch als Direktiven bezeichnet) bearbeiten möchten.1 HTTP-Server-Assistent: Default Host (Standardhost) Für den Server gelten folgende Standardeinstellungen: Document Root (Document Root) Der absolute Pfad des Verzeichnisses. Zum Löschen einer Direktive wählen Sie die Direktive aus und klicken Sie auf Löschen. kann Apache von einem einzigen Computer mehrere virtuelle Hosts bedienen. Der erste in der Konfigurationsdatei deklarierte virtuelle Host wird im Allgemeinen als Standardhost bezeichnet.Default Host (Standardhost) Diese Option betrifft den Standard-Webserver. Alle nachfolgenden virtuellen Hosts übernehmen die Konfiguration des Standardhosts. 491) beschrieben. wählen Sie den entsprechenden Eintrag in der Tabelle aus und klicken Sie auf Bearbeiten. Dies ist standardmäßig /srv/www/htdocs. Wie in „Virtuelle Hostkonfiguration“ (S. Der HTTP-Server Apache 497 . Abbildung 26. aus dem Apache die Dateien für diesen Host bedient. Zum Hinzufügen neuer Direktiven klicken Sie auf Hinzufügen.

ScriptAlias Ähnlich wie die Alias-Direktive ordnet die ScriptAlias-Direktive eine URL einem Speicherort im Dateisystem zu. Das Verzeichnis /etc/apache2/conf. verweist auf /usr/share/apache2/ icons. Im Verzeichnis /etc/apache2/conf. über die Clients den Webserver kontaktieren. Include Hier können weitere Konfigurationsdateien hinzugefügt werden. Server Name (Servername) Hier wird die Standard-URL festgelegt. Standardmäßig sind alle Dateien in diesem Verzeichnis (*. um den Webserver unter http://FQDN/ zu erreichen. B. Eine Änderung dieser Standardeinstellungen sollte nicht erforderlich sein.d/ befinden sich z. Alternativ können Sie auch die IP-Adresse verwenden. dass ScriptAlias als Zielverzeichnis einen CGI-Speicherort für die Ausführung von CGI-Skripts festlegt.und Anzeigeoptionen für die Verzeichnisse /usr/ share/apache2/icons und /srv/www/cgi-bin konfiguriert. Directory (Verzeichnis) Unter dieser Einstellung können Sie mehrere Konfigurationsoptionen zusammenfassen. die nur für das angegebene Verzeichnis gelten.conf) eingeschlossen. sofern die URL via Aliasing auf diesen Pfad verweist. Der Unterschied besteht darin.Alias Mithilfe von Alias-Direktiven können URL-Adressen physischen Speicherorten im Dateisystem zugeordnet werden. Hier werden auch die Zugriffs. Geben Sie hier keinen willkürlichen Namen ein – der Server muss unter diesem Namen „bekannt“ sein. Dies bedeutet. Der vorgegebene SUSE Linux-Alias für die in der Verzeichnisindex-Ansicht angezeigten Apache-Symbole.d/apache2-manual ?conf enthält hingegen alle apache2-manual-Konfigurationsdateien. /icons. dass über eine URL sogar auf Pfade im Dateisystem außerhalb des Document Root zugegriffen werden kann. Verwenden Sie einen qualifizierten Domänennamen (FQDN). die Konfigurationsdateien der externen Module. 498 Referenz .

kann ein virtueller Host die an seinen Servernamen gerichteten Anforderungen beantworten (siehe „Namensbasierte virtuelle Hosts“ (S. Wenn Determine Request Server by HTTP Headers (Anfrage-Server durch HTTP-Header bestimmen) aktiviert ist. Weitere Informationen über IP-basierte virtuelle Hosts erhalten Sie in „IP-basierte virtuelle Hosts“ (S. 492)). Virtual Hosts (Virtuelle Hosts) In diesem Schritt zeigt der Assistent eine Liste der bereits konfigurierten virtuellen Hosts an (siehe „Virtuelle Hostkonfiguration“ (S. Falls Sie vor Ausführung des HTTP-Assistenten keine manuellen Konfigurationsänderungen vorgenommen haben. Dieser ist identisch mit dem im vorangegangenen Schritt konfigurierten Standardhost. wie der Host identifiziert wird (nach seinem Namen oder nach seiner IP-Adresse). wählt Apache den angeforderten Host entsprechend der vom Client gesendeten HTTP-Header-Informationen aus. 491)). 491). Wenn Determine Request Server by HTTP Headers (Anfrage-Server durch Server-IP-Adresse bestimmen) aktiviert ist. Diese Optionen werden in „Default Host (Standardhost)“ (S.Server Administrator E-mail (E-Mail des Serveradministrators) Hier geben Sie die E-Mail-Adresse des Serveradministrators ein. Server Resolution (Server-Auflösung) Diese Option bezieht sich auf „Virtuelle Hostkonfiguration“ (S. Unter Server-Auflösung legen Sie fest. um mit dem zweiten Teil der virtuellen Hostkonfiguration fortzufahren. Zum Hinzufügen eines Hosts klicken Sie auf Hinzufügen und geben Sie im daraufhin geöffneten Dialogfeld die grundlegenden Informationen über den neuen Host ein. Durch einen Stern neben seinem Servernamen ist er als Standard gekennzeichnet. 497) näher erläutert. 493). Klicken Sie am Ende der Seite Default Host (Standardhost) auf Weiter. Der HTTP-Server Apache 499 . wird nur ein virtueller Host angezeigt. Klicken Sie auf Weiter. das Root-Verzeichnis für die Serverinhalte (DocumentRoot) und die E-Mail-Adresse des Administrators an. Unter Server-Identifikation geben Sie den Servernamen. Diese Adresse ist beispielsweise auf den von Apache erstellten Fehlerseiten angegeben. um mit der Konfiguration fortzufahren.

Dort können Sie auch SSL aktivieren. Mit Enable Public HTML (Öffentliches HTML aktivieren) stellen Sie den Inhalt der öffentlichen Benutzerverzeichnisse (~user/public_html/) auf dem Server unter http://www. müssen die Hostnamen im Netzwerk aufgelöst sein.com/~user bereit. schließen Sie die Konfiguration mit Beenden ab. Mit der Option Verzeichnisindex geben Sie an. WICHTIG: Erstellen virtueller Hosts Virtuelle Hosts können Sie nicht völlig willkürlich hinzufügen. Wenn Sie SSL aktivieren. „Konfigurieren von Apache mit SSL“ (S.2. Möchten Sie Einstellungen ändern. Bei IP-basierten virtuellen Hosts darf jeder verfügbaren IP-Adresse nur ein Host zugewiesen sein.6. 500 Referenz . wenn der Client ein Verzeichnis anfordert (standardmäßig ist dies die Datei index.Im zweiten Teil der virtuellen Hostkonfiguration legen Sie fest. 501) beschriebene Dialogfeld öffnen.beispiel. dann klicken Sie so oft auf Zurück. bis das entsprechende Dialogfeld angezeigt wird. Wenn Sie namensbasierte virtuelle Hosts hinzufügen möchten. Über HTTP Server Expert Configuration (Expertenkonfiguration für HTTP-Server) können Sie hier auch das in „HTTP Server Configuration (HTTP-Server-Konfiguration)“ (S. Zusammenfassung Dies ist der abschließende Schritt des Assistenten. Hier können Sie festlegen.html). Informationen über SSL und Zertifikate finden Sie in Abschnitt 26. wie und wann der Apache-Server gestartet werden soll: beim Systemstart oder manuell. Außerdem erhalten Sie in diesem Schritt eine kurze Zusammenfassung Ihrer bisherigen Konfiguration. ob CGI-Skripts zugelassen sind und welches Verzeichnis für diese Skripts verwendet wird. welche Datei angezeigt wird. 523). müssen Sie auch den Zertifikatpfad angeben. Statt der Standardeinstellung können Sie aber auch ein oder mehrere andere Dateinamen (jeweils getrennt durch ein Leerzeichen) angeben. Wenn Sie mit den Einstellungen zufrieden sind.

Dies geschieht erst. die vom Server überwacht werden sollen. das Kontrollkästchen Firewall auf gewählten Ports öffnen zu aktivieren. wenn Sie das Dialogfeld mit Beenden schließen. Standardmäßig werden alle Schnittstellen an Port 80 überwacht. die nachfolgend beschrieben werden. Das Dialogfeld enthält vier Registerkarten. Vergessen Sie nicht. Mit den Schaltflächen Hinzufügen. Bearbeiten und Löschen geben Sie unter Listen on Ports (Ports überwachen) die Adressen und Ports an. Listen Ports and Addresses (Überwachte Ports und Adressen) Geben Sie unter HTTP Service (HTTP-Service) an.Abbildung 26. Anderenfalls wäre der Webserver von außen Der HTTP-Server Apache 501 . Keine der in diesem Dialogfeld vorgenommenen Konfigurationsänderungen wird sofort wirksam. Klicken Sie hingegen auf Abbrechen.2 HTTP-Server-Assistent: Zusammenfassung HTTP Server Configuration (HTTP-Server-Konfiguration) Im Dialogfeld HTTP Server Configuration (HTTP-Server-Konfiguration) können Sie weitaus mehr Einstellungen vornehmen als im Assistenten (dieser wird ohnehin nur bei der Anfangskonfiguration des Webservers ausgeführt). ob Apache laufen soll (Aktiviert) oder beendet werden soll (Deaktiviert). so werden Ihre Konfigurationsänderungen verworfen.

aus dem Sie den Webserver auch neu starten oder neu laden können (siehe Abschnitt 26. Diese Funktion ist besonders beim Testen der Konfiguration hilfreich. Abbildung 26.3. Das Schließen des Ports ist nur in Testsituationen sinnvoll. Weitere Informationen über Module finden Sie in Abschnitt 26. in denen kein externer Zugriff auf den Webserver erforderlich ist.oder das Fehlerprotokoll überwachen. „Starten und Beenden von Apache“ (S. Aktivieren und Konfigurieren von Modulen“ (S. aber noch nicht in dieser Liste aufgeführt sind. Über die Schaltfläche Log Files (Protokolldateien) können Sie das Zugriffs.nicht erreichbar. Die Protokolldatei wird in einem eigenen Fenster geöffnet. Über Add Module (Modul hinzufügen) können Sie weitere Module hinzufügen. Diese Befehle werden sofort ausgeführt. 503)). 502 Referenz .3 HTTP-Server-Konfiguration: Listen Ports and Addresses (Überwachte Ports und Adressen) Server Modules (Server-Module) Über Toggle Status (Status ändern) können Sie Apache2-Module aktivieren und deaktivieren. die zwar bereits installiert. „Installieren. 505).4.

„Init-Skripts“ (S. Zum Starten. 2 und 6 beendet. 499) beschriebenen Dialogfeldern. 496)). 200)).3 Starten und Beenden von Apache Wenn Apache in YaST konfiguriert wurde (siehe Abschnitt 26.Abbildung 26. 497) und „Virtual Hosts (Virtuelle Hosts)“ (S. „Konfigurieren von Apache mit YaST“ (S. Beenden oder Manipulieren von Apache auf einem laufenden System verwenden Sie das init-Skript /usr/sbin/rcapache2 (allgemeine Informationen über init-Skripts erhalten Sie unter Abschnitt 8. sofern es noch nicht läuft.4 HTTP-Server-Konfiguration: Server Modules (Server-Module) „Default Host“ (Standardhost) und „Hosts“ (Hosts) Diese Registerkarten sind identisch mit den in „Default Host (Standardhost)“ (S. Der HTTP-Server Apache 503 .2.2. 1.2. Der Befehl rcapache2 akzeptiert folgende Parameter: start Startet Apache. Dieses Verhalten können Sie im RunlevelEditor von YaST oder mit dem Befehlszeilenprogramm chkconfig ändern. 26.2. wird Apache beim Systemstart in Runlevel 3 und 5 gestartet und in Runlevel 0.

wird er nun gestartet. probe Überprüft. ob sich die Konfiguration geändert hat). nachdem alle durch Forking erstellten Apache-Prozesse aufgefordert wurden. ihre Anforderungen vor dem Herunterfahren zu Ende zu führen. sofern der Webserver bereits gelaufen ist.startssl Startet Apache mit SSL-Unterstützung. reload oder graceful Beendet den Webserver erst. Für die Clients kommt es dabei zu keinen Verbindungsabbrüchen. sofern es noch nicht läuft. 504 Referenz . ausgeführt wird.. Bei einem Konfigurationsfehler wird der Webserver ohnehin nicht gestartet. 517). damit eine Konfigurationsänderung wirksam wird).6. Da dieser Test beim Starten. und schlägt die erforderlichen Argumente für den Befehl rcapache2 vor. B. h. Dies führt zu einem vollständigen „Neustart“ von Apache. neu geladen oder neu gestartet. ohne den laufenden Webserver zu beeinträchtigen. „Einrichten eines sicheren Webservers mit SSL“ (S. configtest Überprüft die Syntax der Konfigurationsdateien. Weitere Informationen über die SSL-Unterstützung finden Sie unter Abschnitt 26. restart Beendet Apache und startet es danach neu. ob ein Neuladen des Webservers erforderlich ist (d. Neuladen oder Neustarten des Servers automatisch durchgeführt wird. TIPP In Produktionsumgebungen ist rcapache2 reload die bevorzugte Methode für einen Neustart von Apache (der z. try-restart Beendet Apache und startet es danach neu. Falls der Webserver noch nicht gelaufen ist. ist eine explizite Ausführung des Tests in der Regel nicht notwendig. Anstelle der beendeten Prozesse werden neue Prozesse gestartet.

Apache-Module können bei der Entwicklung in die Apache-Binaries kompiliert oder während der Laufzeit dynamisch geladen werden.server-status und full-server-status Erstellt einen Dump des kurzen oder vollständigen Statusfensters. die Sie mit dem Befehl rcapache2 angeben. In SUSE Linux stehen diese Module als gemeinsame Objekte zur Verfügung. Zur Ausführung des rcapache2-Befehls mit diesem Parameter muss entweder lynx oder w3m installiert sein und das mod_status-Modul muss aktiviert sein. Alle anderen Basismodule stehen als gemeinsame Objekte zur Verfügung: Sie sind zwar nicht im ServerBinary enthalten. 506). „Aktivieren und Deaktivieren von Modulen“ (S.2. 26. die während der Laufzeit in Apache geladen werden können. TIPP: Weitere Flags Weitere Flags.4 Installieren. Aktivieren und Konfigurieren von Modulen Die Apache-Software ist modulartig aufgebaut. Sämtliche Funktionen mit Ausnahme der wichtigsten Aufgaben werden in Modulen zur Verfügung gestellt. Erweiterungsmodule Im Allgemeinen sind Erweiterungsmodule im Apache-Softwarepaket enthalten. In Apache von SUSE Linux sind nur die Basismodule mod_so und http_core kompiliert.4. können jedoch während der Laufzeit hinzugefügt werden. Der HTTP-Server Apache 505 . jedoch nicht statisch im Server kompiliert. dass selbst HTTP durch ein Modul verarbeitet wird (http_core). Apache-Module lassen sich in vier Kategorien einteilen: Basismodule Basismodule sind standardmäßig in Apache enthalten. Dies geht sogar so weit. werden direkt an den Webserver weitergeleitet. Informationen zum dynamischen Laden von Modulen erhalten Sie unter Abschnitt 26. Außerdem muss /etc/sysconfig/apache2 unter APACHE_SERVER_FLAGS das Flag status enthalten.

4. Perl.1 Installieren von Modulen Wenn Sie das Standardinstallationsverfahren für Apache durchgeführt haben (siehe Abschnitt 26. „Installation“ (S. 502) beschrieben. wird Apache mit allen Basis. Starten Sie dazu YaST und wählen Sie Software → Software Management (Software-Management). SUSE Linux bietet jedoch einige externe Module an. 26. 26. 506 Referenz . In YaST können Sie weitere externe Module installieren. Wählen Sie danach Filter → Search (Suche) und suchen Sie nach apache.Externe Module Externe Module sind nicht in der offiziellen Apache-Distribution enthalten.1. Alle anderen Module werden. 496) beschriebenen Modulkonfiguration aktivieren oder deaktivieren. a2dismod mod_foo aktivieren bzw. Manuell können Sie die Module mit dem Befehl a2enmod mod_foo bzw.und Erweiterungsmodulen sowie dem Multiprocessing-Modul Prefork und dem externen Modul PHP5 installiert. deaktivieren.2 Aktivieren und Deaktivieren von Modulen Die Skriptsprachenmodule PHP5. und stellen damit das Kernstück der Webserver-Software dar.4. 486)). Python und Ruby können Sie in YaST mit der im Abschnitt „HTTP Server Wizard (HTTP-Server-Assistent)“ (S. Die Ergebnisliste zeigt nun neben anderen Paketen alle verfügbaren externen Apache-Module an. a2enmod -l gibt eine Liste aller zurzeit aktiven Module aus. Multiprocessing-Module Multiprocessing-Module (MPMs) sind dafür verantwortlich. die ohne großen Aufwand sofort verwendet werden können. Anforderungen an den Webserver anzunehmen und zu verarbeiten. aktiviert oder deaktiviert. wie im Abschnitt „Server Modules (Server-Module)“ (S.2.

B.apache. müssen Sie sicherstellen. Die Digest-Authentifizierung in Apache 2. Wenn Sie auf allen virtuellen Hosts die gleichen Module benötigen. mod_auth_basic und mod_auth_digest funktionieren nur gemeinsam mit dem Authentifizierungsanbietermodul mod_authn_* (z. mod_authz_user für die Benutzerautorisierung).WICHTIG: Einschließen der Konfigurationsdateien externer Module Wenn Sie externe Module manuell aktivieren. dass auch ihre Konfigurationsdateien in allen virtuellen Hostkonfigurationen geladen werden. mod_alias Dieses Modul stellt die Direktiven Alias und Redirect bereit. 26. An dieser Stelle gehen wir daher nur kurz auf die wichtigsten Module ein.und Erweiterungsmodule Alle Basis. mod_auth* Die Authentifizierungsmodule stellen zwei Authentifizierungsmethoden bereit: Die Standardauthentifizierung mit mod_auth_basic und die Digest-Authentifizierung mit mod_auth_digest. Die Konfigurationsdateien externer Module befinden sich im Verzeichnis /etc/apache2/conf.2 befindet sich noch im Versuchsstadium. Beispiele hierzu finden Sie in der Datei /etc/apache2/vhosts. können Sie die Konfigurationsdateien aus diesem Verzeichnis mit *. Informationen zu den einzelnen Modulen erhalten Sie auch unter http://httpd.d/ und werden standardmäßig nicht geladen. B.d/vhost.template. Dieses Modul ist standardmäßig aktiviert.4.org/docs/2. eine angeforderte URL umleiten.2/mod/.2/howto/ auth.html Der HTTP-Server Apache 507 .org/docs/2. Weitere Informationen zu diesem Thema erhalten Sie im Artikel „Gewusst wie: Authentifizierung“ unter http://httpd. mod_authn_file für die Authentifizierung auf Basis einer Textdatei) und mit dem Autorisierungsmodul mod_authz_* (z. Damit können Sie eine URI einem bestimmten Verzeichnis zuordnen (Alias) bzw.conf einschließen.und Erweiterungsmodule werden ausführlich in der Apache-Dokumentation beschrieben.3 Basis.apache. Anderenfalls müssen Sie die Dateien einzeln einschließen.

mod_autoindex Wenn keine Indexdatei vorhanden ist (z. mod_expires Mit mod_expires legen Sie fest. generiert mod_autoindex Verzeichnislisten. Dieses Modul ist standardmäßig aktiviert. mod_deflate Mit diesem Modul kann Apache so konfiguriert werden. Dieses Modul ist standardmäßig aktiviert. mit der Sie festlegen können. die die grundlegende Funktionalität für die dynamische Generierung von HTML-Seiten bereitstellen. mod_dir mod_dir stellt die DirectoryIndex-Direktive bereit. Allerdings sind Verzeichnislisten durch die Options-Direktive standardmäßig deaktiviert – Sie müssen diese Einstellung daher in Ihrer virtuellen Hostkonfiguration ändern. B. Aus Sicherheitsgründen sollte der Zugriff auf diese URL generell eingeschränkt sein.und Browser-Caches durch Zustellung eines Expires-Header aktualisiert werden. wenn in einer Verzeichnisanforderung der nachgestellte Schrägstrich fehlt. Die Standardkonfigurationsdatei dieses Moduls befindet sich unter /etc/apache2/ und heißt mod _autoindex-defaults. Dieses Modul ist standardmäßig aktiviert. mod_info wird in der Datei /etc/apache2/mod_info .html). welche Dateien bei Anforderung eines Verzeichnisses automatisch zurückgegeben werden (standardmäßig index. Standardmäßig erhält nur localhost Zugriff auf diese URL. Dieses Modul ist standardmäßig aktiviert. mod_cgi mod_cgi wird zur Ausführung von CGI-Skripts benötigt. dass bestimmte Dateitypen automatisch vor der Bereitstellung komprimiert werden. index. mod_info Dieses Modul stellt unter http://localhost/server-info/ eine umfassende Übersicht über die Serverkonfiguration bereit.conf konfiguriert. wie häufig Ihre Dokumente über Proxy.conf. Das Aussehen dieser Indizes kann konfiguriert werden. Dieses Modul ist standardmäßig aktiviert. 508 Referenz . Außerdem leitet dieses Modul automatisch zur korrekten URI um. mod_include mod_include ermöglicht die Verwendung von serverseitigen Includes (SSI).html).

Dieses Modul ist standardmäßig aktiviert. Dieses Modul ist standardmäßig aktiviert. automatisch zu korrigieren.org/docs/2.6. Dieses Modul ist standardmäßig aktiviert. „Einrichten eines sicheren Webservers mit SSL“ (S. mod_mime Dieses Modul sorgt dafür.apache.2/content-negotiation. Weitere Einzelheiten finden Sie unter Abschnitt 26. Weitere Informationen erhalten Sie unter http://httpd. mod_rewrite Dieses Modul stellt die gleiche Funktionalität wie mod_alias bereit. bietet aber mehr Funktionen und ist somit flexibler. B. Standardmäßig erhält nur localhost Zugriff auf diese URl.html. mod_status wird in der Datei /etc/apache2/mod _status. dass eine Datei auf Basis seiner Dateinamenerweiterung mit dem korrekten MIME-Header bereitgestellt wird (z.mod_log_config Mit diesem Modul konfigurieren Sie den Aufbau der Apache-Protokolldateien. beispielsweise die Groß/Kleinschreibung. typografische Fehler in URLs. Dieses Modul ist standardmäßig aktiviert. 517). Mit mod_rewrite können Sie URLs auf Basis verschiedener Regeln umleiten. mod_speling mod_speling versucht. text/html für HTMLDokumente). mod_ssl Dieses Modul ermöglicht verschlüsselte Verbindungen zwischen dem Webserver und den Clients. Header anfordern und einiges mehr. mod_negotiation Dieses Modul ist für die Inhaltsverhandlung erforderlich. Aus Sicherheitsgründen sollte der Zugriff auf diese URL generell eingeschränkt sein. mod_status Dieses Modul stellt unter http://localhost/server-status/ Informationen über die Aktivität und Leistung des Servers bereit. Der HTTP-Server Apache 509 . mod_suexec Dieses Modul ermöglicht die Ausführung von CGI-Skripts unter einem anderen Benutzer oder einer anderen Gruppe.conf konfiguriert. Dieses Modul ist standardmäßig aktiviert.

konsumiert aber mehr Systemressourcen wie das Worker-MPM. Anstatt lediglich untergeordnete Prozesse zu erstellen (Forking). WICHTIG: MPMs in diesem Dokument In diesem Dokument wird davon ausgegangen. 26. verarbeitet das Worker-MPM Anforderungen durch Threads mit Serverprozessen. dass Apache mit dem PreforkMPM verwendet wird. der keine Threads verwendet.x: Er isoliert jede einzelne Anforderung und verarbeitet sie in einem separaten untergeordneten Prozess (Forking). Für UNIX-basierte Betriebssysteme gilt das Prefork-MPM als Standard-MPM. Ein Thread ist die „Lightweight-Version“ eines Prozesses. Diese Ansatzweise macht den Apache-Server durch den geringeren Ressourcenkonsum leistungsfähiger als mit dem Prefork-MPM. Eine Beeinträchtigung aller Anforderungen durch wenige problematische Anforderungen und somit eine Sperre des Webservers lassen sich dadurch vermeiden. Mit diesem Modul verhält sich der Webserver. Dieses Modul ist standardmäßig aktiviert. was die Handhabung von Anforderungen betrifft. Worker-MPM Das Worker-MPM implementiert einen Multithread-Webserver. Die prozessbasierte Vorgehensweise des Prefork-MPM bietet zwar Stabilität. Prefork-MPM Das Prefork-MPM implementiert einen Prefork-Webserver. Der Vorteil von Threads gegenüber Prozessen ist deren geringerer Ressourcenkonsum. Die untergeordneten Prefork-Prozesse sind auf mehrere Threads aufgeteilt (Multithreading). 510 Referenz . ähnlich wie Apache Version 1. In der Konfiguration muss die UserDir-Direktive angegeben sein.4 Multiprocessing-Module SUSE Linux bietet zwei Multiprocessing-Module (MPMs) für Apache.mod_userdir Dieses Modul ermöglicht benutzerspezifische Verzeichnisse unter ~user/.4.

Der HTTP-Server Apache 511 . die erstklassige Leistung ohne die Einschränkungen serverspezifischer APIs bietet.4. FastCGIAnwendungen liegen persistent vor und sind daher äußerst schnell.d/mod_fastcgi.conf Weitere Informationen: /usr/share/doc/packages/apache2-mod _fastcgi mod_perl mod_perl ermöglicht die Ausführung von Perl-Skripts in einem eingebetteten Interpreter. Von einer Verwendung des Worker-MPM in Verbindung mit mod_php wird daher abgeraten. Gegen die Verwendung des Worker-MPM in Apache spricht auch die Tatsache. mit den Systemressourcen zu kommunizieren. Paketname: apache2-mod_fastcgi Konfigurationsdatei: /etc/apache2/conf. Die Dokumentation zu den einzelnen Modulen finden Sie in den jeweils genannten Verzeichnissen. Im schlimmsten Fall fällt der Server dadurch aus.Ein gravierender Nachteil ist allerdings die geringere Stabilität des Worker-MPM: Ein beschädigter Thread kann sich auf alle Threads des Prozesses auswirken. Durch den persistenten. die mit SUSE Linux ausgeliefert werden. Bei einer Anforderung kommt es zu keiner Verzögerung durch den Start und die Initialisierung der Anwendung. Besonders bei gleichzeitiger Verwendung der Common Gateway Interface (CGI) auf einem überlasteten Apache-Server kann es zu internen Serverfehlern kommen. dass nicht alle verfügbaren Apache-Module Thread-sicher sind und daher nicht in Verbindung mit dem WorkerMPM eingesetzt werden können. im Server eingebetteten Interpreter lassen sich Verzögerungen durch den Start eines externen Interpreters und den Start von Perl vermeiden. FastCGI FastCGI ist eine sprachunabhängige. 26. WARNUNG: Verwendung von PHP-Modulen mit MPMs Nicht alle verfügbaren PHP-Module sind Thread-sicher. da Threads in diesem Fall unter Umständen nicht in der Lage sind. skalierbare Erweiterung zu CGI.5 Externe Module Nachfolgend finden Sie eine Liste aller externen Module.

plattformübergreifende. Paketname: apache2-mod_php5 Konfigurationsdatei: /etc/apache2/conf. Paketname: mod_jk-ap20 Weitere Informationen: /usr/share/doc/packages/mod_jk-ap20 512 Referenz .d/mod_perl.conf Weitere Informationen: /usr/share/doc/packages/apache2-mod_perl mod_php5 PHP ist eine serverseitige. Dadurch können Ruby CGI-Skripts in Originalversion ausgeführt werden. in HTML eingebettete Skriptsprache. Dies bringt Ihnen einen erheblichen Leistungsgewinn und zusätzliche Flexibilität bei der Entwicklung webbasierter Anwendungen.conf Weitere Informationen: /usr/share/doc/packages/apache2-mod_php5 mod_python mod_python bettet Python in den Apache-Webserver ein. Paketname: apache2-mod_python Weitere Informationen: /usr/share/doc/packages/apache2-mod _python mod_ruby mod_ruby bettet den Ruby-Interpreter in den Apache-Webserver ein. Diese Skripts werden mit mod_ruby wesentlich schneller ausgeführt.Paketname: apache2-mod_perl Konfigurationsdatei: /etc/apache2/conf.d/php5. Paketname: apache2-mod_ruby Weitere Informationen: /usr/share/doc/packages/apache2-mod_ruby mod_jk-ap20 Dieses Modul stellt Konnektoren zwischen Apache und einem Tomcat ServletContainer bereit.

dass sie nur für die jeweiligen MPMs (also „Prefork“ bzw. Für die Entwicklung eigener Apache-Module und für die Kompilierung von Drittanbieter-Modulen sind neben dem Paket apache2-devel auch die entsprechenden Entwicklungstools erforderlich. • /usr/sbin/apxs2-prefork: Für die Entwicklung von Prefork-MPMModulen. Die Module werden im Verzeichnis /usr/lib/ apache2 installiert. „Worker“) verwendet werden können. Dadurch ergeben sich Dynamic Shared Objects (DSOs). Die von apxs2 installierten Module können für alle MPMs verwendet werden. die zur Kompilierung von Apache-Erweiterungsmodulen erforderlich sind. in /usr/ lib/apache2-worker.c (-c kompiliert das Modul. -i installiert es und -a aktiviert es). Die Binaries von apxs2 befinden sich unter /usr/sbin: • /usr/sbin/apxs2: Für die Entwicklung von Erweiterungsmodulen. die mit allen MPMs verwendbar sind.6 Kompilieren von Modulen Apache kann von erfahrenen Benutzern durch selbst entwickelte Module erweitert werden. apache2-devel enthält unter anderem die apxs2-Tools. apxs2 installiert seine Module in /usr/lib/apache2. Alle weiteren Optionen von apxs2 werden auf der Manualpage apxs2(1) beschrieben. Die anderen beiden Programme installieren ihre Module so. apxs2 -cia mod_foo.4. • /usr/sbin/apxs2-worker: Für die Entwicklung von Worker-MPM-Modulen. Der HTTP-Server Apache 513 . Die Module werden im Verzeichnis /usr/lib/apache2-prefork installiert. die während der Laufzeit in Apache geladen werden können.26. apxs2 ermöglicht die Kompilierung und Installation von Modulen aus dem Quellcode (einschließlich der erforderlichen Änderungen an den Konfigurationsdateien). Zur Installation und Aktivierung eines Moduls aus dem Quellcode verwenden Sie den Befehl cd /Pfad/der/Modulquelle. apxs2-prefork und apxs2-worker installieren ihre Module hingegen in /usr/lib/apache2-prefork bzw.

1 Konfiguration in Apache In SUSE Linux ist die Ausführung von CGI-Skripts nur im Verzeichnis /srv/www/ cgi-bin/ erlaubt. WARNUNG: CGI-Sicherheit Die Zulassung der CGI-Skriptausführung auf dem Server ist ein Sicherheitsrisiko. 26. „Vermeiden von Sicherheitsproblemen“ (S. die von CGI-Skripts erstellten Inhalte bereitzustellen. Wenn Sie eine virtuelle Hostkonfiguration erstellt haben (siehe „Virtuelle Hostkonfiguration“ (S. Beide Module sind standardmäßig aktiviert.5 Aktivieren von CGI-Skripts Die Common Gateway Interface (CGI) von Apache ermöglicht die dynamische Erstellung von Inhalten mit Programmen bzw.2. In der Regel werden aber die Skriptsprachen Perl oder PHP verwendet.4.26. 524). Dieses Verzeichnis ist bereits für die Ausführung von CGI-Skripts konfiguriert. Außerdem ist mod_alias erforderlich. Weitere Informationen hierzu erhalten Sie unter Abschnitt 26.7. so genannten CGI-Skripts. 491)) und Ihre CGI-Skripts in einem Host-spezifischen Verzeichnis ablegen möchten. Informationen zur Aktivierung von Modulen finden Sie unter Abschnitt 26. 506). muss das Modul mod_cgi aktiviert sein. „Aktivieren und Deaktivieren von Modulen“ (S. Damit Apache in der Lage ist. 514 Referenz . CGI-Skripts können in jeder beliebigen Programmiersprache geschrieben sein.5. müssen Sie das betreffende Verzeichnis entsperren und für CGISkripts konfigurieren.

524)).2 Ausführen eines Beispielskripts Die CGI-Programmierung unterscheidet sich von der herkömmlichen Programmierung insoweit. Darüber hinaus muss die Skriptausgabe vom Client. Dieser Header wird an den Client gesendet. Dieses Skript gibt den Inhalt einiger Umgebungsvariablen als Klartext aus.com_cgi-bin/) und benennen Sie es in test. damit er weiß. Wenn Sie dieses Skript ausprobieren möchten.pl und . verstanden werden – dies ist in den meisten Fällen HTML.pl❸ Order allow.5. Dateien mit den Erweiterungen . alle Dateien in diesem Verzeichnis als CGI-Skripts zu behandeln Aktiviert die Ausführung von CGI-Skripts Fordert den Server auf.com_cgi-bin/"❶ <Directory "/srv/www/beispiel.cgi .5 CGI-Konfiguration für virtuelle Hosts ScriptAlias /cgi-bin/ "/srv/www/beispiel. in der Allow. 26. Über den Webserver zugängliche Dateien sollten dem root-Benutzer gehören (siehe auch Abschnitt 26. Unter /usr/share/doc/packages/apache2/test-cgi stellt Apache ein einfaches Testskript bereit.und Allow-Direktiven legen den Standardzugriffsstatus sowie die Reihenfolge fest. passen Sie diese Anweisung entsprechend Ihren Anforderungen an Die Order.und Deny-Direktiven ausgewertet werden.Beispiel 26. in der Regel einem Webbrowser. „Vermeiden von Sicherheitsproblemen“ (S. als CGI-Programmen und -Skripts ein MIME-Typ-Header wie Content-type: text/html vorangestellt sein muss. kopieren Sie es in das Verzeichnis /srv/www/cgi-bin/ bzw. welchen Inhaltstyp er empfängt. aber auch Klartext.com_cgi-bin/"> Options +ExecCGI❷ AddHandler cgi-script . in das Skriptverzeichnis Ihres virtuellen Hosts (/srv/www/beispiel.7.cgi um. Da der Der HTTP-Server Apache 515 . Bilder oder Ähnliches.deny❹ Allow from all </Directory> ❶ ❷ ❸ ❹ Fordert Apache auf.cgi als CGI-Skripts zu behandeln. in diesem Beispiel werden „deny“-Anweisungen vor „allow“-Anweisungen ausgewertet und der Zugriff ist von jedem Ort aus möglich.

Nun sollte der „CGI/1. ist dieses richtig konfiguriert? Falls Sie sich nicht sicher sind. Wechseln Sie daher in das CGIVerzeichnis und führen Sie den Befehl chmod 755 test.cgi auf.cgi aus. • Wurden die richtigen Berechtigungen zugewiesen? Wechseln Sie in das CGI-Verzeichnis und führen Sie ls -l test.cgi nicht bearbeitet haben.cgi auf.Webserver unter einem anderen Benutzer ausgeführt wird. • Falls Sie ein benutzerdefiniertes CGI-Verzeichnis eingerichtet haben. Falls Sie aber eigene Programme verwenden. Rufen Sie danach http://localhost/cgi-bin/test.cgi aus. Rufen Sie das Skript dazu mit http://localhost/cgi-bin/test.0Testskriptbericht“ angezeigt werden. Wenn Sie die Datei test.com/cgi-bin/test.5.cgi oder http://example. müssen CGI-Skripts von jedermann ausgeführt und gelesen werden können. sollten Sie diese immer auf Programmierfehler untersuchen. führen Sie das Skript im CGIStandardverzeichnis /srv/www/cgi-bin/ aus. dürfte sie keine Programmierfehler enthalten.3 Fehlerbehebung Wenn Sie nach der Ausführung des CGI-Testskripts statt des Testskriptberichts eine Fehlermeldung erhalten. überprüfen Sie Folgendes: CGI-Fehlerbehebung • Haben Sie den Server nach der Konfigurationsänderung neu geladen? Überprüfen Sie dies mit rcapache2 probe. 26. um die entsprechenden Berechtigungen einzurichten. Die Befehlsausgabe sollte mit folgender Zeile beginnen: -rwxr-xr-x 1 root root • Überprüfen Sie das Skript auf Programmierfehler. 516 Referenz .

damit beide Endpunkte jeweils die Identität des anderen Endpunkts überprüfen können. der jeder der beteiligten Benutzer vertraut. Dieses Zertifikat ist für die Autorisierung zwischen Webserver und Client erforderlich.26. müssen Sie ein SSL-Zertifikat erstellen.6. Sie können drei verschiedene Zertifikattypen erstellen: ein „Dummy“-Zertifikat. ein selbst signiertes Zertifikat für einen bestimmten Der HTTP-Server Apache 517 . mod_ssl implementiert die SSL/TSL-Protokolle nicht selbst. dass der Server eindeutig der richtige Endpunkt der Kommunikation ist. mod_ssl bietet mittels der Protokolle Secure Sockets Layer (SSL) und Transport Layer Security (TLS) eine sichere Verschlüsselung für die HTTP-Kommunikation zwischen einem Client und dem Webserver. Zu diesem Zweck sendet der Server vor der Beantwortung von Anforderungen an eine URL ein SSL-Zertifikat mit Informationen. Die Verwendung von mod_ssl in Apache erkennen Sie in URLs am Präfix https:// (statt http://). OpenSSL wird bei der Installation von Apache automatisch installiert. dass Informationen ohne das Risiko der Freigabe sensitiver Klartextinhalte übertragen werden. die sicherstellt. das allein zum Testen verwendet wird. verschlüsselte Verbindung mit Authentifizierung zwischen Webserver und Client übertragen werden. wird zwischen dem Webserver und dem Client eine private Verbindung eingerichtet. Außerdem wird durch das Zertifikat eine verschlüsselte Verbindung zwischen dem Client und dem Server hergestellt. Dies garantiert.1 Erstellen eines SSL-Zertifikats Wenn Sie SSL/TSL mit dem Webserver einsetzen möchten. die die Identität des Servers nachweisen. Wenn Sie SSL/TSL verwenden. In SUSE Linux wird die OpenSSL-Bibliothek verwendet. Zum Nachweis der Zertifikatintegrität muss das Zertifikat von einer Organisation signiert sein.6 Einrichten eines sicheren Webservers mit SSL Vertrauliche Daten wie Kreditkarteninformationen sollten nur über eine sichere. 26. Die Datenintegrität bleibt dadurch gewährleistet und Client und Server können sich gegenseitig authentifizieren. sondern fungiert als Schnittstelle zwischen Apache und einer SSL-Bibliothek.

2/ssl/ssl_intro. öffentlich bekannten Zertifizierungsstelle (CA) signiert wurde. der Ihnen vertraut.Benutzerkreis.key/server. 518 Referenz .org/docs/2.apache.crt im Verzeichnis /srv/www/htdocs/ CA. TIPP: Weitere Informationen Weitere Informationen über das Konzept von SSL/TSL und diesbezügliche Festlegungen finden Sie unter http://httpd. Die Zertifikaterstellung besteht im Grunde nur aus zwei Schritten: Zunächst wird ein privater Schlüssel für die Zertifizierungsstelle generiert und danach wird das Serverzertifikat mit diesem Schlüssel signiert. das von einer unabhängigen.html. sondern nur zum Testen. Erstellen eines „Dummy“-Zertifikats Die Erstellung eines Dummy-Zertifikats ist einfach.key • /etc/apache2/ssl.crt • /etc/apache2/ssl.csr Außerdem wird eine Kopie der Datei ca.csr/server. WICHTIG Verwenden Sie Dummy-Zertifikate niemals in Produktionsumgebungen. Dieses Skript erstellt oder überschreibt die folgenden Dateien: • /etc/apache2/ssl. und ein Zertifikat.crt • /etc/apache2/ssl.crt/server. Sie brauchen dazu lediglich das Skript /usr/bin/gensslcert aufzurufen.crt zum Herunterladen bereitgestellt.crt/ca.

Erstellen eines selbst signierten Zertifikats Wenn Sie einen sicheren Webserver für Ihr Intranet oder einen bestimmten Benutzerkreis einrichten. die Standardeinstellung).sh 1 Decide the signature algorithm used for certificates (Signaturalgorithmus für Zertifikat auswählen) Wählen Sie RSA aus ( R . beantworten. geben Sie „. Geben Sie an dieser Stelle nur gültige Daten ein. nach dem Land oder der Organisation.509-Zertifikatsignierungsanforderung für CA erstellen) Hier erstellen Sie den DN (Distinguished Name) der Zertifizierungsstelle. Dazu müssen Sie einige Fragen.sh make --no-print-directory /usr/bin/openssl /usr/sbin/ custom. B.1 Erstellen eines selbst signierten Zertifikats mit mkcert. Die Erstellung eines selbst signierten Zertifikats ist ein interaktiver Vorgang. z. Der HTTP-Server Apache 519 . von denen einige Benutzereingaben erfordern. Sie müssen nicht alle Fragen beantworten. beispielsweise Zertifizierungsstelle von My company. 3 Generating X. Unter Common Name (allgemeiner Name) müssen Sie den Namen der Zertifizierungsstelle eingeben. Das Programm gibt eine Reihe von Eingabeaufforderungen aus. später im Zertifikat angezeigt. 2 Generating RSA private key for CA (1024 bit) (Privaten RSA-Schlüssel für CA (1024 Bit) erstellen) Keine Eingabe erforderlich. Schließlich wird alles. Geben Sie hier einen aussagekräftigen Namen ein. Diesen Befehl sollten Sie keinesfalls außerhalb dieses Verzeichnisses ausführen. Wechseln Sie dazu zunächst in das Verzeichnis /usr/share/ doc/packages/apache2 und führen Sie den folgenden Befehl aus: . was Sie hier eingeben. Prozedur 26./mkcert.509 certificate signing request for CA (X. reicht unter Umständen ein von Ihrer eigenen Zertifizierungsstelle signiertes Zertifikat aus. da einige ältere Browser Probleme mit DSA haben.“ ein. der aus neun Schritten besteht. Wenn eine Frage nicht auf Sie zutrifft oder Sie eine Antwort offen lassen möchten.

509-Zertifikat für CA erstellen) Wählen Sie Zertifikatversion 3 aus (die Standardeinstellung). 8 Encrypting RSA private key of CA with a pass phrase for security (Privaten RSA-Schlüssel der CA aus Sicherheitsgründen mit einem Passwort verschlüsseln) 520 Referenz . B. Anderenfalls gibt der Browser beim Zugriff auf den Webserver eine Warnung mit dem Hinweis aus. Es werden nahezu die gleichen Fragen gestellt wie für den DN der Zertifizierungsstelle. www.com).509-Zertifikatsignierungsanforderung für SERVER erstellen) Hier erstellen Sie den DN für den Serverschlüssel.509-Zertifikat erstellen) Wählen Sie Zertifikatversion 3 aus (die Standardeinstellung).509 certificate signed by own CA (Von eigener CA signiertes X. dass das Zertifikat nicht mit dem Server übereinstimmt.509 certificate signing request for SERVER (X.beispiel. 5 Generating RSA private key for SERVER (1024 bit) (Privaten RSA-Schlüssel für SERVER (1024 Bit) erstellen) Keine Eingabe erforderlich. an einem anderen Standort befinden). 6 Generating X.4 Generating X. B. WICHTIG: Auswahl eines Common Name Als Common Name (allgemeiner Name) müssen Sie hier den vollständig qualifizierten Hostnamen des sicheren Servers eingeben (z. Ihre Antworten betreffen jedoch den Webserver und müssen nicht unbedingt identisch mit den für die Zertifizierungsstelle eingegebenen Daten sein (der Server kann sich z.509 certificate for CA signed by itself (Von CA selbst signiertes X. 7 Generating X.

müssen Sie dieses Passwort bei jedem Start des Webservers eingeben. Denken Sie aber daran. sondern in den passenden Verzeichnissen unter /etc/apache2/. wie im Skript angegeben. Die Ergebnisseite des Skripts enthält eine Liste der generierten Zertifikate und Schlüssel. und stellen Sie sicher. dass Ihr Schlüssel in diesem Fall ungeschützt ist. würde der Browser melden. Der letzte Schritt besteht darin.crt in ein Verzeichnis zu kopieren. Wäre die Zertifizierungsstelle nicht in dieser Liste enthalten. Der HTTP-Server Apache 521 . Anderenfalls bleibt Ihnen unter Umständen nicht genügend Zeit für die Eingabe des Passworts. Das neu erstellte Zertifikat ist ein Jahr lang gültig. die Zertifikatdatei der Zertifizierungsstelle aus dem Verzeichnis /etc/apache2/ssl. den privaten Schlüssel der Zertifizierungsstelle mit einem Passwort zu verschlüsseln. dass nur autorisierte Personen Zugriff auf den Schlüssel haben. im lokalen Verzeichnis conf erstellt. Wählen Sie daher J aus und geben Sie ein Passwort ein. 9 Encrypting RSA private key of SERVER with a pass phrase for security (Privaten RSA-Schlüssel des SERVERS aus Sicherheitsgründen mit einem Passwort verschlüsseln) Wenn Sie den Serverschlüssel mit einem Passwort verschlüsseln.Aus Sicherheitsgründen empfiehlt es sich. Dies macht den automatischen Start des Webservers beim Hochfahren des Computers oder einen Neustart des Webservers nahezu unmöglich. WICHTIG: Verschlüsseln des Serverschlüssels Wenn Sie sich dennoch entscheiden. bevor der Startversuch des Servers wegen Zeitüberschreitung abgebrochen wird. sollten Sie den APACHE_TIMEOUT-Wert in /etc/sysconfig/apache2 heraufsetzen. den Serverschlüssel mit einem Passwort zu verschlüsseln. in dem die Benutzer auf die Datei zugreifen können. Aus diesem Verzeichnis können die Benutzer die Zertifizierungsstelle in ihren Webbrowsern der Liste der bekannten und vertrauenswürdigen Zertifizierungsstellen hinzufügen. dass das Zertifikat von einer unbekannten Zertifizierungsstelle ausgegeben wurde. Die Dateien wurden allerdings nicht. Aus diesem Grund sollten Sie diese Frage mit N beantworten.crt/ca.

Das Skript fragt zunächst nach dem Passwort für die Verschlüsselung der CSR.sh -newreq auf. Einem Zertifikat. Die bekanntesten offiziellen Zertifizierungsstellen sind Thawte (http://www. z. Zertifizierungsstellen sind vertrauenswürdige unabhängige Parteien. denen Sie bekannt sind und die Ihnen als Zertifizierungsstelle vertrauen. beispielsweise Zertifizierungsstelle von My company. Danach müssen Sie einen Distinguished Name (DN) eingeben. sondern eine CSR (Certificate Signing Request. beantworten. Unter Common Name (allgemeiner Name) müssen Sie den Namen der Zertifizierungsstelle eingeben.pem.com). Zertifikate. nach dem Land oder der Organisation. das durch eine solche Zertifizierungsstelle signiert wurde. Sie müssen nicht alle Fragen beantworten. falls der Schlüssel kompromittiert wird) und einen alternativen Unternehmensnamen eingeben. aus dem Sie das Skript aufgerufen haben. kann daher voll und ganz vertraut werden. die Ihre Zertifikate signieren. B. Zertifikatsignierungsanforderung). Dazu müssen Sie einige Fragen. Zum Schluss müssen Sie noch ein Challenge Passwort (zur Vernichtung des Zertifikats. überprüft und später im Zertifikat angezeigt.verisign. deren Inhalte für die Öffentlichkeit bereitstehen. die von diesen Zertifizierungsstellen signiert wurden. Sichere Webserver. auf den Benutzer zugreifen. Zur Erstellung einer CSR rufen Sie das Skript /usr/share/ssl/misc/CA. Wenn eine Frage nicht auf Sie zutrifft oder Sie eine Antwort offen lassen möchten. Die CSR wird in dem Verzeichnis erstellt. Anfordern eines offiziell signierten Zertifikats Es gibt verschiedene offizielle Zertifizierungsstellen. 522 Referenz . geben Sie „. Zur Anforderung eines offiziell signierten Zertifikats senden Sie kein unsigniertes Zertifikat an die Zertifizierungsstelle.“ ein.com/) und Verisign (www. nicht geeignet.WICHTIG: Selbst signierte Zertifikate Verwenden Sie selbst signierte Zertifikate nur auf einem Webserver. B. Der Name der CSR-Datei lautet newreq. verfügen in der Regel über ein offiziell signiertes Zertifikat. Schließlich wird alles. werden daher von Browsern automatisch akzeptiert. Geben Sie an dieser Stelle nur gültige Daten ein. Geben Sie hier einen aussagekräftigen Namen ein. Diese und andere Zertifizierungsstellen sind bereits in Browsern kompiliert.thawte . was Sie hier eingeben. Für einen öffentlichen Online-Versand wäre ein solches Zertifikat z.

der Port 80 überwacht. die Firewall für den SSL-aktivierten Apache-Webserver an Port 443 zu öffnen. Ein Neuladen des Servers reicht dazu nicht aus. WICHTIG: Firewall-Konfiguration Vergessen Sie nicht. Zwischen einem „normalen“ Apache-Webserver. Fügen Sie der Modulliste „ssl“ hinzu. In der Tat kann die gleiche Apache-Instanz sowohl HTTP als auch HTTPS ausführen. Wenn Sie sich zuvor entschieden haben. die Werte der folgenden Direktiven einzustellen: • DocumentRoot • ServerName • ServerAdmin Der HTTP-Server Apache 523 . Ihr Serverzertifikat durch ein Passwort zu verschlüsseln.d/vhost-ssl.und TLS-Anforderungen. kommt es zu keinen Konflikten. 491). und einem SSL/TLS-aktivierten Apache-Server. Zur Verwendung von SSL muss SSL in der globalen Serverkonfiguration aktiviert sein. In der Regel verteilen separate virtuelle Hosts die Anforderungen für Port 80 und Port 443 an separate virtuelle Server. damit die Änderungen wirksam werden. die bereits an anderer Stelle hinreichend dokumentiert sind. sollten Sie nun den Wert von APACHE_TIMEOUT heraufsetzen. Informationen über die Basiskonfiguration eines virtuellen Hosts finden Sie unter „Virtuelle Hostkonfiguration“ (S. damit Ihnen beim Start von Apache genügend Zeit für die Eingabe des Passworts bleibt.template. 116)).6. Das Verzeichnis der virtuellen Hostkonfiguration enthält die Vorlage /etc/apache2/ vhosts. Zur Aktivierung öffnen Sie /etc/sysconfig/apache2 in einem Editor und suchen Sie nach APACHE_MODULES. Für den Anfang sollte es ausreichen. Suchen Sie anschließend nach APACHE_SERVER_FLAGS und fügen Sie „SSL“ hinzu.2 Konfigurieren von Apache mit SSL Port 443 ist auf dem Webserver der Standardport für SSL. der Port 443 überwacht. sofern dieser Eintrag noch nicht vorhanden ist (mod_ssl ist standardmäßig aktiviert). Starten Sie den Server anschließend neu. Sie können dazu YaST verwenden (siehe „Konfiguration mit YaST“ (S.26. Diese enthält SSL-spezifische Direktiven.

Für die Kommunikation auf Grundlage eines gültigen SSL-Zertifikats ist eine separate IP-Adresse bzw. erhalten bei jedem Besuch der URL eine Warnung mit dem Hinweis.suse.• ErrorLog • TransferLog WICHTIG: Namensbasierte virtuelle Hosts und SSL Auf einem Server mit nur einer IP-Adresse können nicht mehrere SSL-aktivierte virtuelle Hosts laufen. 26.suse.com/us/private/support/online _help/mailinglists/ 524 Referenz . dass das Zertifikat nicht mit dem Namen des Servers übereinstimmt. Dieser enthält Anleitungen zur Behebung der Risiken. die möglichst frühzeitig ausgeführt werden sollten.1 Stets aktuelle Software Bei Bekanntwerden von Sicherheitsrisiken in der Apache-Software veröffentlicht SUSE sofort einen entsprechenden Sicherheitshinweis. ein separater Port für jede SSL-aktivierte Domäne erforderlich. Sicherheitsprobleme. die versuchen. 26. Die Sicherheitsankündigungen von SUSE stehen unter folgenden Adressen zur Verfügung: • Webseite http://www.7 Vermeiden von Sicherheitsproblemen Ein dem öffentlichen Internet ausgesetzter Webserver erfordert ständige Wartungsund Verwaltungsarbeiten. Benutzer.com/us/private/support/online _help/mailinglists/ • Mailingliste http://www. Im Folgenden einige Tipps zur Verbesserung der Sicherheit.7. verursacht durch die Software wie auch durch versehentliche Fehlkonfigurationen. sind kaum zu vermeiden. eine Verbindung mit einer solchen Konfiguration herzustellen.

3 Zugriff auf das Dateisystem /etc/apache2/httpd. Das DocumentRoot-Verzeichnis und die CGI-Verzeichnisse Ihrer virtuellen Hosts sollten Sie als Unterverzeichnisse im Verzeichnis /srv/www anlegen. könnte jeder Benutzer Dateien darin ablegen.7.novell.xml 26. Wenn diese Verzeichnisse für alle Benutzer modifizierbar wären. die vom Server ausgeführt werden. Diese Direktiven sollten Sie nicht überschreiben. was wiederum dem Benutzer unbeabsichtigt Zugriff auf die Ressourcen des Dateisystems gewähren würde. Stattdessen sollten Sie explizit den Zugriff auf die Verzeichnisse aktivieren. denen der Serveradministrator vertraut.2 DocumentRoot-Berechtigungen In SUSE Linux sind das DocumentRoot-Verzeichnis /srv/www/htdocs (absoluter Pfad) und das CGI-Verzeichnis /srv/www/cgi-bin standardmäßig dem Benutzer bzw. Der HTTP-Server Apache 525 . 26.• RSS-Newsticker http://www. Stellen Sie auch bei diesen Verzeichnissen sicher. PHP.4 CGI-Skripts Interaktive Skripts in Perl. der Gruppe root zugeordnet. Diese Dateien würden dann von Apache mit wwwrun-Berechtigungen ausgeführt werden. 26. sollten nur aus Quellen stammen.7.7. Skripts.com/linux/security/suse _security. der Gruppe root zugeordnet sind.oder Systemkonfigurationsdateien zugreifen können. dass die Verzeichnisse und die darin enthaltenen Dateien dem Benutzer bzw. dass keine unbefugten Personen auf kritische Dateien wie Passwort. die Apache lesen muss (siehe „Basiskonfiguration eines virtuellen Hosts“ (S. 494)). Achten Sie dabei darauf.conf verweigert standardmäßig den Zugriff auf das gesamte Dateisystem. Keine gute Idee ist es. SSI oder anderen Programmiersprachen können im Prinzip jeden beliebigen Befehl ausführen und stellen damit generell ein Sicherheitsrisiko dar. den Benutzern die Ausführung ihrer eigenen Skripts zu erlauben. Zusätzlich empfiehlt es sich. Diese Berechtigungen sollten nicht geändert werden. die Sicherheit aller Skripts zu überprüfen.

Manchmal ist es eine Versuchung. An erster Stelle sei hier das Skript rcapache2 (siehe Abschnitt 26. statt sie global zuzulassen. Den Benutzern ist es allerdings nicht erlaubt. 503)) genannt. Zumindest sollten Sie die Möglichkeiten des Benutzers durch die Direktive AllowOverRide einschränken.3. mit mod_userdir Option-Direktiven zu überschreiben (sehen Sie sich hierzu die Konfigurationsdatei /etc/apache2/mod_userdir. die Sicherheitseinstellungen zu überschreiben. eine Webseite nicht angezeigt werden kann oder Benutzer keine Verbindung zum Webserver herstellen können. das die Ausführung von CGI-Skripts unter einem anderen Benutzer oder einer anderen Gruppe ermöglicht. Alle CGI-Skripts werden unter dem gleichen Benutzer ausgeführt. Die Direktiven ScriptAlias und Option ExecCGI werden zur Konfiguration verwendet. In der Standardkonfiguration von SUSE Linux ist es generell nicht gestattet.htaccess-Dateien zuzulassen. Abhilfe schafft hier das Modul suEXEC.conf an). Vermeiden Sie dies aber und verwenden Sie stattdessen besser das Skript rcapache2.Es ist durchaus üblich.5 Benutzerverzeichnisse Bei der Aktivierung von Benutzerverzeichnissen (mit mod_userdir oder mod_rewrite) sollten Sie unbedingt darauf achten. Es kann daher zu Konflikten zwischen verschiedenen Skripts kommen. Dabei wird die Ausführung von CGI-Skripts auf bestimmte Verzeichnisse eingeschränkt.8 Fehlerbehebung Wenn sich Apache nicht starten lässt. keine . das sich sehr ausführlich mit Fehlern und deren Ursachen befasst und bei Problemen mit Apache wirklich hilfreich ist. 26. 526 Referenz .7. Im Folgenden werden einige nützliche Ressourcen vorgestellt. sich die Skriptverwaltung durch eine Einschränkung der Skriptausführung zu vereinfachen. „Starten und Beenden von Apache“ (S. rcapache2 gibt sogar Tipps und Hinweise zur Behebung von Konfigurationsfehlern. die Ihnen bei der Fehlersuche behilflich sein können. die Binärdatei /usr/sbin/httpd2 zum Starten oder Beenden des Webservers zu verwenden.htaccess-Dateien standardmäßig aktiviert. Durch diese Dateien wäre es den Benutzern möglich. müssen Sie die Ursache des Problems herausfinden. CGI-Skripts von jedem beliebigen Ort aus auszuführen. 26. In SUSE Linux sind .

Führen Sie danach den Befehl rcapache2 restart aus. TIPP: Ein einfacher Test Die Apache-Protokollmeldungen können Sie mit dem Befehl tail -F /var/log/apache2/my_error_log überwachen. die Sie via Mailingliste unter http://httpd. Unter http://httpd.2. Falls sich Ihr Problem nicht mithilfe der vorgenannten Ressourcen beheben lässt. der beste Ort. die sich dieses speziellen Themas annimmt (siehe Abschnitt 26. nützlich. Des Weiteren empfehlen wir die Newsgroup comp. enthält das vollständige Apache-Handbuch für die lokale Installation und Referenz.2. „Konfigurieren von Apache mit YaST“ (S. SUSE-spezifische Konfigurationstipps finden Sie im Verzeichnis /usr/ share/doc/packages/apache2/README.html erreichen. die online unter http:// httpd. Sowohl bei geringfügigen als auch bei schwerwiegenden Fehlern sind die Protokolldateien von Apache. Das Handbuch ist nicht in der Standardinstallation enthalten. finden Sie weitere Informationen in der Apache-Fehlerdatenbank.*.apache. um nach Fehlerursachen zu fahnden.apache.2/ können Sie auch im Web darauf zugreifen.An zweiter Stelle möchten wir auf die Bedeutung von Protokolldateien hinweisen.servers. Der HTTP-Server Apache 527 .www.org/docs-2. B. wenn Sie mehr Details benötigen. Bei der manuellen Konfiguration von Apache können Sie die Ports für HTTP und HTTPS in der Firewall über das Firewall-Modul von YaST öffnen.infosystems.org/bug_report.org/userslist. Nach der Installation steht das ApacheHandbuch unter http://localhost/manual/ zur Verfügung. Dies ist z. Am schnellsten installieren Sie es mit dem Befehl yast -i apache2-doc. Standardmäßig befindet sich das Fehlerprotokoll in /var/log/ apache2/error_log.9 Weitere Informationen Das Paket apache2-doc. die Ports für Apache in der Firewall-Konfiguration des Servers zu öffnen. 26.apache. Versuchen Sie anschließend eine Verbindung mit einem Browser herzustellen und überprüfen Sie dort die Ausgabe.unix. 496)). Mit der Direktive LogLevel können Sie im Übrigen die Ausführlichkeit der protokollierten Meldungen einstellen. Sie können sich auch an die Apache-Benutzercommunity wenden. das an verschiedenen Orten bereitgestellt wird.html zur Verfügung steht. in erster Linie das Fehlerprotokoll. YaST bietet bei der Konfiguration von Apache eine eigene Option. Häufig wird vergessen.

1 Apache 2.2 erhalten Sie unter http://httpd.2/upgrading.apache2. externen Apache-Module finden Sie unter folgenden Adressen: FastCGI http://www. „Externe Module“ (S.4.apache. Upgrade-Informationen von Version 2.2 Apache-Module Weitere Informationen über die in Abschnitt 26.php.apache.net/ 26.2/developer/ 528 Referenz .org/docs/2.org/ docs-2.26.9.2 finden Sie unter http://httpd .org/ mod_php5 http://www.com/ mod_perl http://perl.apache.modruby.unix.net/manual/en/install.0 auf Version 2.9. 511) beschriebenen.5.apache.org/docs/2.html.org/dev/ Dokumentation für Apache-Entwickler http://httpd.2/new_features_2_2.3 Entwicklung Weitere Informationen zur Entwicklung von Apache-Modulen sowie zur Teilnahme am Apache-Webserver-Projekt finden Sie unter folgenden Adressen: Informationen für Apache-Entwickler http://httpd.2 Eine Liste der neuen Funktionen in Apache 2.apache.html.php mod_python http://www.fastcgi.org/ mod_ruby http://www. 26.9.modpython.

Auf dieser Seite erfahren Sie auch.apache. weshalb dieser Server Apache genannt wird.org/ABOUT_APACHE.com/sdb/en/index . werfen Sie einen Blick auf die SUSE-Supportdatenbank unter http://portal.modperl.9. Die Entstehungsgeschichte von Apache finden Sie unter http://httpd .suse.html.com/ 26. Der HTTP-Server Apache 529 .Entwickeln von Apache-Modulen mit Perl und C http://www.4 Verschiedene Informationsquellen Wenn Sie in SUSE Linux Probleme mit Apache haben.html.

.

Wenn Sie eine Datei auf einem Computer ändern. stellt sich aber schnell das Problem der Synchronisierung. und speichern die Dateien auf einem Server. Wer mit einem Laptop unterwegs ist. von allen benötigten Dateien Kopien auf der lokalen Festplatte zu haben. einen oder mehrere Computer am Arbeitsplatz und eventuell noch einen Laptop oder PDA für unterwegs. um Fehler. die ständig miteinander über ein schnelles Netzwerk in Verbindung stehen. wie etwa das Überschreiben einer neuen mit einer alten Datei. ist darauf angewiesen.Dateisynchronisierung Viele Menschen benutzen heutzutage mehrere Computer: einen Computer zu Hause. Dies kann bei gelegentlichen Kopiervorgängen manuell mithilfe von scp oder rsync erledigt werden. Alle Rechner greifen dabei über das Netzwerk auf ein und dieselben Daten zu. 27 27.1 Verfügbare Software zur Datensynchronisierung Auf Computern. Dateisynchronisierung 531 . Dieser Ansatz ist unmöglich. Da Sie mit allen Computern arbeiten und die Dateien ändern möchten. wie zum Beispiel NFS. ist die Datensynchronisierung kein Problem. Viele Dateien werden auf allen diesen Computern benötigt. Wenn Dateien bearbeitet werden. sollten alle Daten überall in aktueller Version zur Verfügung stehen. stellen Sie sicher. In diesem Fall wählen Sie ein Netzwerkdateisystem. zu vermeiden. Bei vielen Dateien wird das jedoch schnell aufwändig und erfordert hohe Aufmerksamkeit vom Benutzer. dass die Kopie der Datei auf allen anderen Computern aktualisiert wird. wenn die Netzverbindung schlecht oder teilweise gar nicht vorhanden ist.

welche Dateien geändert wurden und die Übertragung vom oder zum anderen Host vorschlagen. Beide Prozeduren müssen vom Benutzer initiiert werden.1. das meistens zur Versionsverwaltung von Quelltexten von Programmen benutzt wird. Für wichtige Dateien ist das Anlegen einer Sicherungskopie unerlässlich. wie diese Programme funktionieren und genutzt werden können. Die folgenden Zusammenfassungen sollen dem Benutzer eine Vorstellung davon liefern. gibt es einen Konflikt.WARNUNG: Risiko des Datenverlusts Bevor Sie Ihre Daten mit einem Synchronisierungssystem verwalten. Für gewöhnlich können Sie alle Vorschläge annehmen. Die Änderungen werden zusammengeführt und nur. Die Datenbank bleibt im Kon- 532 Referenz . 27. 27. um Dateien zu synchronisieren. Zeitstempel und Berechtigungen der ausgewählten Dateien gespeichert sind. Vor dem tatsächlichen Einsatz sollten Sie die Programmdokumentation sorgfältig lesen. CVS führt ein zentrales Repository auf dem Server.2 CVS CVS. in der Prüfsummen.1 Unison Unison ist kein Netzwerkdateisystem. sondern auch die Änderungen an ihnen speichert. das nicht nur die Dateien. Dabei ist CVS bei gleichzeitigen Änderungen einer Datei auf mehreren Computern sehr fehlertolerant. die diese Aufgabe mit verschiedenen Ansätzen automatisieren. Kopien der Dateien auf mehreren Computern zu führen. wenn in gleichen Zeilen Änderungen stattfanden. Beim nächsten Aufruf kann Unison erkennen. Das Programm Unison kann manuell aufgerufen werden. Damit eignet es sich auch für die Datensynchronisierung. Zur Vermeidung der zeitraubenden und fehlerträchtigen manuellen Arbeit bei der Datensynchronisierung gibt es Programme. bietet die Möglichkeit. Die Dateien werden einfach lokal gespeichert und bearbeitet.1. Bei der ersten Synchronisierung wird auf den beteiligten beiden Hosts eine Datenbank angelegt. sollten Sie mit dem verwendeten Programm vertraut sein und dessen Funktionalität testen. Lokal erfolgte Änderungen werden an das Repository übermittelt und können von anderen Computern durch ein Update abgerufen werden.

die auf einem IMAP-Server untergebracht sind. Subversion wurde weitgehend auf der Grundlage von existierenden Programmpaketen zusammengestellt.3 Subversion Im Gegensatz zu CVS. Synchronisierung ist sowohl zwischen einzelnen Mailboxen als auch zwischen Hierarchien von Mailboxen möglich. Diese Metadaten können ebenfalls der Versionsverwaltung unterliegen. CVS verwaltet aufgrund seiner Geschichte nur Dateien und „weiß“ nichts von Verzeichnissen.1. das sich im Laufe der Zeit „entwickelt“ hat. gelöscht werden muss.1. Des Weiteren können jeder Datei und jedem Verzeichnis Metadaten hinzugefügt werden. 27. ob sie synchronisiert bzw. Der Konflikt ist nur am Client-Host sichtbar und muss dort gelöst werden. Dabei wird für jede Nachricht aufgrund der im E-Mail-Header enthaltenen MessageID einzeln entschieden.fliktfall in einem konsistenten Zustand. Dateisynchronisierung 533 . wie zum Beispiel WebDAV (Web-based Distributed Authoring and Versioning). ist Subversion ein durchgängig konzipiertes Projekt. Es kann sich sowohl um lokale Mailbox-Dateien als auch um Mailboxen handeln. Daher wird zum Einsatz von Subversion immer auch der Webserver Apache mit der Erweiterung WebDAV verwendet. In Subversion dagegen besitzen auch Verzeichnisse eine Versionshistorie und können wie Dateien kopiert und umbenannt werden. Subversion wurde als technisch verbesserter Nachfolger von CVS entwickelt. Im Gegensatz zu CVS bietet Subversion transparenten Netzwerkzugriff über einige Protokolle. 27. Subversion wurde gegenüber seinem Vorgänger in vielen Bereichen deutlich verbessert. WebDAV erweitert das HTTPProtokoll für verteiltes Arbeiten an Dateien auf entfernten Webservern.4 mailsync Im Unterschied zu den bisher erwähnten Synchronisierungswerkzeugen dient mailsync einzig und allein der Synchronisierung von E-Mails zwischen verschiedenen Mailboxen.

3. Dies betrifft nicht nur Textdateien sondern auch binäre Dateien. Der Aufwand beim Erkennen der Änderungen hat seinen Preis. um ausschließlich Änderungen an Dateien zu übertragen. 4. bevor Sie mit iFolder arbeiten. B. Um die Unterschiede zwischen Dateien zu erkennen. Mit dieser Methode können Sie überall arbeiten. wenn Sie z. aber große Dateistrukturen über langsame Netzwerkverbindungen synchronisieren möchten. 534 Referenz . Das ist praktisch. Nach einer erfolgreichen Verbindung mit dem Internet werden die Änderungen an Ihrer Arbeit an den Server übertragen.5 rsync Wenn Sie keine Versionskontrolle benötigen.1. Synchronisieren Sie Ihre Dateien und beobachten Sie die Aktivität zwischen Ihrem Client und dem iFolder-Server.6 Novell iFolder Mit Novell iFolder können Sie jederzeit von überall auf Ihre Dateien zugreifen. Ändern Sie Ihre Einstellungen für die gewünschte Häufigkeit der Synchronisierung. wenn Sie dieselbe Datei auf zwei verschiedenen Computern ändern. Melden Sie sich an. Konflikte treten auf. Wenn Sie Ihre Dateien in Ihrem iFolder-Verzeichnis ablegen. 27.1. großzügig dimensioniert sein. Lösen Sie alle etwaigen Konflikte. iFolder speichert Konfliktdateien in einem separaten Verzeichnis. wird dieses sofort auf dem Server synchronisiert. Das Arbeiten mit iFolder umfasst die folgenden Schritte: 1. die synchronisiert werden sollen. 2. teilt rsync die Dateien in Blöcke auf und berechnet Prüfsummen zu diesen Blöcken. bei der Arbeit an einem Notebook unterwegs keine Internet-Verbindung haben. RAM ist besonders wichtig. Novell iFolder erlaubt Ihnen auch. bietet das Tool rsync ausgefeilte Mechanismen an.27. Für den Einsatz von rsync sollten die Computer. offline zu arbeiten. die bei der Synchronisierung auftreten. um Datenverlust zu vermeiden.

WebDAV und Unison startet der Benutzer die Datensynchronisierung manuell. Diesen Ansatz verfolgt Unison. rsync arbeitet eigentlich im Client-Modus. dass alle Hosts gleichberechtigt (als Peers) vernetzt sind und ihre Daten gegenseitig abgleichen. Im ersten Modell gleichen alle Clients ihre Dateien mit einem zentralen Server ab. Dateisynchronisierung 535 . erhältlich.3 Interaktiv oder automatisch In Subversion.2. 27. 27. 27. 27.com/ en-en/documentation/. Dies erlaubt die genaue Kontrolle über die abzugleichenden Dateien und einen einfachen Umgang mit Konflikten. Dieses Modell wird von Subversion.2. CVS.novell.2 Portabilität Subversion.2 Kriterien für die Auswahl eines Programms Bei der Entscheidung für ein Programm müssen einige wichtige Kriterien berücksichtigt werden.Weitere Informationen über iFolder erhalten Sie unter http://www.1 Client-Server oder Peer-to-Peer Zur Verteilung von Daten sind zwei verschiedene Modelle verbreitet. Tipps und Tricks zu iFolder siehe unter http://www . jedoch kann jeder Client auch als Server fungieren.und Windows-Systeme. Der Server muss zumindest zeitweise von allen Clients erreichbar sein. wie verschiedene Unix. CVS und Unison sind auch für viele andere Betriebssysteme. CVS und WebDAV verwendet.2.novell. Die andere Möglichkeit ist.com/coolsolutions/ifmag/. Andererseits können sich durch zu lange Synchronisierungsintervalle die Chancen für Konflikte erhöhen.

2. dass er nicht versehentlich Dateien überschreibt. Jedoch lassen sich Änderungen nicht so einfach zusammenführen wie bei Subversion oder CVS. Das liegt daran. wenn die gesamte Änderung erfolgreich ist. Wenn ein Konflikt auftritt. Bei Subversion oder CVS müssen neue Verzeichnisse und Dateien explizit über den Befehl svn add bzw. cvs add hinzugefügt werden.5 Auswählen und Hinzufügen von Dateien In seiner Standardkonfiguration synchronisiert Unison eine ganze Verzeichnisstruktur. 27. In rsync gibt es keine Konfliktbehandlung. wie RCS. dass die Dokumente zeilenweise zusammengeführt werden. vor allem. ist davon immer nur ein Client betroffen.2. Der Benutzer muss selbst darauf achten. wenn aufgrund einer großen Anzahl von Dateien die Fragezeichen in der Ausgabe von svn update und svn status oder cvs update ignoriert werden. Andererseits werden neue Dateien häufig übersehen. und alle etwaigen Konflikte manuell lösen. Daraus resultiert eine genauere Kontrolle über die zu synchronisierenden Dateien.4 Konflikte: Auftreten und Lösung Konflikte treten bei Subversion oder CVS nur selten auf. selbst wenn mehrere Leute an einem umfangreichen Programmprojekt arbeiten. Zur Sicherheit können Sie zusätzlich ein Versionierungssystem. Unison meldet Konflikte und Sie können dann die betroffenen Dateien einfach von der Synchronisierung ausschließen. Während in Subversion oder CVS im Konfliktfall Änderungen auch teilweise übernommen werden können.27. wird bei WebDAV ein Checkin nur dann vollzogen. 536 Referenz . In der Regel lassen sich Konflikte in Subversion oder CVS einfach lösen. Neue Dateien in der Struktur werden automatisch in die Synchronisierung einbezogen. verwenden.

Bei jeder Änderung kann ein kurzer Bearbeitungsvermerk hinzugefügt werden.2. kdevelop) und Texteditoren (z. B. wincvs). Im Textmodus bestätigen Sie die einzelnen Vorgänge interaktiv. CVS und Subversion sind etwas schwieriger zu bedienen.2. Viele Entwicklungswerkzeuge (z. 27.8 GUI Unison bietet eine grafische Benutzeroberfläche (GUI). welche Synchronisierungsvorgänge Unison ausführen möchte. B. cervisia) und für andere Betriebssysteme (z. Benutzer sollten zu deren Verwendung das Zusammenspiel zwischen Repository und lokalen Daten verstehen. Es gibt jedoch grafische Benutzeroberflächen für Linux (z. Die Behebung von Konflikten wird mit diesen Frontends oft sehr vereinfacht.27.7 Datenmenge und Speicherbedarf Auf jedem der beteiligten Computer ist für alle verteilten Daten genügend Speicherplatz auf der Festplatte erforderlich. 27. die anzeigt.2. B.6 Chronik Subversion und CVS bieten eine Rekonstruktion alter Dateiversionen als zusätzliche Funktion. Für Diplomarbeiten und Programmtexte ist dies eine wertvolle Hilfe. Änderungen der Daten sollten zunächst immer lokal mit dem Repository zusammenge- Dateisynchronisierung 537 . Bei Subversion bzw. Erfahrene Benutzer führen Subversion bzw. Damit lässt sich später die Entwicklung der Dateien aufgrund des Inhalts und der Vermerke gut nachvollziehen. 27. ist dort deutlich mehr Speicherplatz nötig. CVS fällt zusätzlich der Platzbedarf für die Repository-Datenbank auf dem Server an. Nehmen Sie den Vorschlag an oder schließen Sie einzelne Dateien aus der Synchronisierung aus. Da auf dem Server auch die Dateihistorie gespeichert wird. Bei binären Dateien wächst hingegen der Platzbedarf bei jeder Änderung um die Größe der Datei. Bei Dateien im Textformat müssen nur geänderte Zeilen neu gespeichert werden.9 Benutzerfreundlichkeit Unison und rsync sind ziemlich einfach zu benutzen und bieten sich auch für Anfänger an. emacs) unterstützen CVS oder Subversion.2. CVS gewöhnlich über die Befehlszeile aus. B.

2.Win rsync C-S Lin. Zugriffe auf CVS mit dem Mechanismus pserver sind in ungeschützten Netzwerken ebenfalls nicht empfehlenswert. + = gut. Subversion auch für Anfänger leicht zu benutzen. wird es bereits im produktiven Einsatz verwendet (z. Unison. Dies erfolgt gewöhnlich mit dem Befehl cvs update bzw. Subversion stellt bereits durch die Verwendung von Apache die benötigten Sicherheitsmechanismen zur Verfügung. Durch das Speichern der Entwicklungsgeschichte bietet CVS sogar Schutz vor bestimmten Benutzerfehlern. ist CVS bzw. CVS oder Unison über rsh (Remote Shell) einzusetzen. nicht verfügbar.Win mailsync gleich Lin. Tabelle 27.10 Sicherheit vor Angriffen Idealerweise sollten die Daten bei der Übertragung vor Abhören oder Änderungen geschützt sein.= schlecht bzw. svn update. Es sollte vermieden werden. ist die Datei nicht mehr zu retten. Unison ist noch relativ neu.führt werden.Un*x.Un*x. weist aber eine hohe Stabilität auf. rsync und Subversion lassen sich einfach über SSH (Secure Shell) benutzen und sind dann gut gegen derartige Angriffe gesichert. x = verfügbar Unison Client/Server Portabilität gleich Lin.Un*x 538 Referenz . Wenn dieser Vorgang verstanden wurde.Un*x. ++ = ausgezeichnet. o = mittelmäßig.Win CVS/SVN C-S/C-S Lin. svn commit wieder in das Repository zurückgeschickt werden. Es ist jedoch empfindlicher gegen Benutzerfehler.11 Schutz vor Datenverlust CVS wird schon sehr lange von vielen Entwicklern zur Verwaltung ihrer Programmprojekte benutzt und ist äußerst stabil. 27. CVS. Wenn die Synchronisierung eines Löschvorgangs bei einer Datei einmal bestätigt wurde.1 Funktionen der Werkzeuge zur Datensynchronisierung: -.= sehr schlecht. Obwohl Subversion im Vergleich zu CVS noch nicht sehr weit verbreitet ist. B.2. 27. Anschließend müssen die Daten über den Befehl cvs commit bzw. . vom Subversion-Projekt selbst). wie irrtümliches Löschen einer Datei.

27. Eine Konsolenversion kann ebenfalls verwendet werden. siehe Abschnitt 27. damit keine Interaktion mit dem Benutzer anfällt. „CVS“ (S. Die Synchronisierung erfolgt in beide Richtungen und lässt sich intuitiv über eine grafische Oberfläche steuern. x/x -o/o o/o +/+(ssh) ++/++ rsync x + o Verz.3. Die Synchronisierung lässt sich auch automatisieren. 532)).3 Einführung in Unison Unison eignet sich hervorragend für Synchronisierung und Transfer ganzer Verzeichnisstrukturen.1. Hier ist mit Server ein zweiter. Dazu ist jedoch einige Erfahrung nötig.2.1 Anforderungen Unison muss sowohl auf dem Client als auch auf dem Server installiert sein.Unison Interaktivität Geschwindigkeit Konflikte Dateiauswahl x o Verz. entfernter Host gemeint (im Unterschied zu CVS. mailsync + + Mailbox Chronik Speicherbedarf GUI Schwierigkeit Angriffe Datenverlust o + + +(ssh) + o + +(ssh) + + o +(SSL) + 27. CVS/SVN x/x o/+ ++/++ Ausw. Dateisynchronisierung 539 ./Datei. Verz.

dass Unison keinen Vorschlag zur Übertragungsrichtung machen kann. 27. Stimmen die Übertragungsrichtungen für alle angezeigten Einträge. Wenn alles funktioniert. lassen Sie die Option -testserver weg.Im folgenden Abschnitt wird Unison zusammen mit ssh verwendet.3. Bei der ersten Synchronisierung kennt Unison die Beziehung zwischen den beiden Verzeichnissen noch nicht und macht von daher Vorschläge für die Übertragungsrichtung der einzelnen Dateien und Verzeichnisse.es handelt sich nicht um eine Online-Verbindung. Mit den Pfeiltasten können Sie die Übertragungsrichtung für jeden Eintrag einstellen. ob die Kommunikation zwischen Client und Server funktioniert: unison -testserver /home/tux/dir1 ssh://geeko@server//homes/geeko/dir2 Die häufigsten Probleme. zwei Verzeichnisse (so genannte roots) aneinander zu binden. In diesem Fall muss ein SSH-Client auf dem Client und ein SSH-Server auf dem Server installiert sein. die hierbei auftreten können: • Die auf dem Client und Server eingesetzten Versionen von Unison sind nicht kompatibel. auf dem Server dagegen als geeko. Auf dem Client ist der Benutzer als tux bekannt. Die Pfeile in der Spalte Action geben die Übertragungsrichtung an. 540 Referenz . In diesem Beispiel ist das Verzeichnis-Layout wie folgt: Client: Server: /home/tux/dir1 /home/geeko/dir2 Diese beiden Verzeichnisse sollen synchronisiert werden. Als Erstes soll getestet werden. Diese Bindung ist symbolisch . • Der Server lässt keine SSH-Verbindung zu. dann klicken Sie einfach auf Go. da beide Versionen in der Zwischenzeit geändert wurden bzw. neu sind. • Keiner der angegebenen beiden Pfade existiert.2 Verwendung von Unison Das Grundprinzip bei Unison ist. Ein Fragezeichen bedeutet.

prefs root=/home/tux/dir1 root=ssh://wilber@server//homes/wilber/dir2 batch=true Für jede Bindung wird im Benutzerverzeichnis ~/. da jede Variante einer Datei dauerhaft auf dem CVS-Server gespeichert wird. ist zwar möglich. geben Sie diese Datei als Befehlszeilenparameter an. wie z.upenn. 27. Dateisynchronisierung 541 .unison/example. Das vollständige Handbuch steht unter http://www.unison/example.prefs.4 Einführung in CVS CVS bietet sich zur Synchronisierung an. können ebenfalls in diesem Verzeichnis gespeichert werden. wenn alle Arbeitsstationen auf denselben Server zugreifen können.prefs..3. Zudem bleiben in solchen Fällen die meisten Möglichkeiten von CVS ungenutzt. ob in eindeutigen Fällen die Synchronisierung automatisch durchgeführt werden soll) lässt sich beim Programmstart mithilfe von Befehlszeilenparametern steuern. Konfigurationssets.edu/~bcpierce/unison/ und mit dem SUSE-Paket unison zur Verfügung.Das Verhalten von Unison (z. B. JPEG-Dateien. B. Die Verwendung von CVS für die Synchronisierung von Daten in anderen Formaten.cis . wie ASCII-Text oder Programmquelltext. wie ~/. Die Verwendung von CVS zur Dateisynchronisierung ist nur möglich. Um die Synchronisierung zu starten.3 Weitere Informationen Die offizielle Dokumentation zu Unison ist äußerst nützlich. Daher gibt dieser Abschnitt nur eine kurze Einführung. 27.unison ein Synchronisierungsprotokoll geführt.1 Die Datei ~/. Eine komplette Liste aller Parameter liefert unison --help. wie in unison example. führt aber schnell zu großen Datenmengen. wenn einzelne Dateien häufig bearbeitet werden und in einem Dateiformat vorliegen. Beispiel 27.

In diesem Beispiel wird das Verzeichnis synchome genannt.2 Verwenden von CVS Das Synchronisierungsrepository kann jetzt mit cvs co synchome von allen Hosts gespeichert ("ausgecheckt") werden. Um Ihre Änderungen an den Server zu übermitteln. an dem sich alle gültigen Dateien befinden.1 Konfigurieren eines CVS-Servers Der Server ist der Ort. Abschließend muss ein Name für die Synchronisierung festgelegt werden. indem Sie den Kommentar bereits in der Befehlszeile eingeben. Zu diesem Zweck startet CVS einen Editor (den in der Umgebungsvariable $EDITOR definierten. Um den Synchronisationsnamen auf synchome zu setzen.27. 542 Referenz . wie in folgendem Beispiel: cvs import -m 'Das ist ein Test' synchome tux wilber 27. Jede stationäre Arbeitsstation kann als Server benutzt werden. Beim Konigurieren eines CVS-Servers ist es sinnvoll. wechseln Sie in das Verzeichnis synchome (oder eines seiner Unterverzeichnisse) und geben Sie cvs commit ein.4. Den Aufruf des Editors können Sie umgehen. ansonsten vi). Dadurch wird auf dem Client das neue Unterverzeichnis synchome angelegt. müssen auf der Client-Seite die folgenden Umgebungsvariablen gesetzt sein: CVS_RSH=ssh CVS_ROOT=tux@server:/serverdir Mit dem Befehl cvs init lässt sich der CVS-Server von der Client-Seite aus initialisieren. Benutzern über SSH Zugang zum Server zu gestatten. Wünschenswert ist.4. das ausschließlich Dateien enthält. Ist auf diesem Server der Benutzer als tux bekannt und sowohl auf dem Server als auch auf dem Client die CVS-Software installiert. dass die Daten des CVS-Repository in regelmäßige Backups einbezogen werden. einschließlich der neuesten Version jeder Datei. die von CVS verwaltet werden sollen (es darf auch leer sein). geben Sie Folgendes ein: cvs import synchome tux wilber Viele Befehle von CVS erfordern einen Kommentar. Wechseln Sie in dieses Verzeichnis. Das ist nur einmal erforderlich. Wählen oder erzeugen Sie auf dem Client ein Verzeichnis. Der Name des Verzeichnisses ist auch der Name der Synchronisierung.

war es möglich. Wenn Sie zu einer anderen Arbeitsstation wechseln. Falls Änderungen am Server erfolgt sind.Standardmäßig werden alle Dateien (einschließlich Unterverzeichnisse) an den Server übermittelt. Entweder übermitteln Sie die lokale Kopie an den Server oder Sie entfernen die lokale Datei und führen die Aktualisierung erneut durch. welche Dateien von einer Aktualisierung betroffen sind. Aktualisieren Sie einzelne Dateien oder Verzeichnisse. Neue Dateien und Verzeichnisse müssen dem Repository mit einem Befehl. um zu sehen. Dies betrifft alle Dateien. die vom Server bereitgestellt werden und auf dem lokalen System fehlen. hinzugefügt werden. Verwenden Sie cvs -nq update. Starten Sie die Synchronisierung mit dem Server über cvs update. geben Sie diese folgendermaßen an: cvs commit datei1 verzeichnis1. Den Unterschied zwischen den aktuellen Dateien und den auf dem Server gespeicherten Versionen sehen Sie mithilfe des Befehls cvs diff oder cvs diff datei1 verzeichnis1. falls dies nicht in einer früheren Sitzung an derselben Arbeitsstation erfolgt ist (siehe oben). Um nur einzelne Dateien oder Verzeichnisse zu übermitteln. Übermitteln Sie anschließend die neu hinzugefügten Dateien und Verzeichnisse mit cvs commit datei1 verzeichnis1. die Unterschiede mit der lokalen Kopie zusammenzuführen. Dateisynchronisierung 543 . bevor sie an den Server übermittelt werden. wie cvs add datei1 verzeichnis1. die während einer Aktualisierung angezeigt werden: U Die lokale Version wurde aktualisiert. Der Status M kennzeichnet eine lokal geänderte Datei. wie in cvs update datei1 verzeichnis1. P Die lokale Version wurde durch einen Patch der Server-Version aktualisiert. C Die lokale Datei hat einen Konflikt mit der aktuellen Version im Repository. ? Die Datei existiert nicht in CVS. In diesem Fall wird die fehlende Datei vom Server abgerufen. Hier sind einige der Statussymbole. speichern Sie das Synchronisierungsrepository. M Die lokale Version wurde geändert.

Es bietet sich vor allem an.5. 27. Legen Sie ein Repository nicht auf entfernten Dateisyste- 544 Referenz .org/ http://www. 27.4.org/manual/ 27. Viele dieser Eigenschaften wurden bereits ansatzweise in Abschnitt 27. der mit C gekennzeichnet wird. Subversion bietet dafür ein einfaches Administrationswerkzeug. h. könnten Sie sich entscheiden.3 Weitere Informationen Dieser Abschnitt gibt nur eine kurze Einführung in die vielen Möglichkeiten von CVS.5 Einführung in Subversion Subversion ist ein freies Open Source-System zur Versionskontrolle und wird häufig als Nachfolger von CVS betrachtet.gnu. welches das Dateisystem direkt verwendet) verwendet.1. bereits vorgestellte Eigenschaften von CVS treffen auch zum großen Teil auf Subversion zu.1 Installieren eines Subversion-Servers Die Installation einer Repository-Datenbank auf einem Server ist eine relativ einfache Prozedur. Für gewöhnlich wird die Berkeley-Datenbank oder FSFS (ein Repository. Ausführliche Dokumentation steht unter den folgenden URLs zur Verfügung: http://www. entsteht ein Konflikt.3. Beachten Sie in diesem Fall die Konfliktmarkierungen (»> und «<) in der Datei und entscheiden Sie sich für eine der beiden Versionen. wenn Sie die Vorteile von CVS genießen möchten.Wenn von verschiedenen Benutzern die gleiche Datei in derselben Zeile editiert und dann übermittelt wurde. Geben Sie zum Anlegen eines neuen Repositorys den folgenden Befehl ein: svnadmin create /path/to/repository Weitere Optionen erhalten Sie mit svnadmin help. Da dies eine ziemlich unangenehme Aufgabe sein kann. Im Unterschied zu CVS verwendet Subversion nicht RCS als Basis. sondern andere Arten von Repository. die lokale Datei zu löschen und dann mit der Eingabe cvs up die aktuelle Version vom Server abzurufen. 533) erwähnt. d. ohne dessen Nachteile in Kauf nehmen zu müssen. Ihre Änderungen zu verwerfen. „Subversion“ (S.cvshome.

Verwenden Sie dafür entweder den Apache-Webserver mit WebDAV oder svnserve. Sobald svnserve eingerichtet ist und läuft. Sie sollten das Subversion-Handbuch studieren. Der Befehl svnlook bietet Informationen über ein bestehendes Repository.. kann jeder Client mit einem der folgenden Befehle zugreifen: svn list http://svn. Weitere Informationen dazu finden Sie in Abschnitt 27.. AFS oder Windows SMB.5. „Weitere Informationen“ (S. Syntax: checkout URL[@REV].men. Die Datenbank benötigt POSIX-Sperrmechanismen.5. in welcher Revision die URL zuerst nachgeschlagen wird. der mit Subversion geliefert wird. Auf den Inhalt. die sich beim Aufruf von svn authentifizieren sollten. wobei der Name des Unterverzeichnisses dem Basisnamen der URL entspricht.example. Wenn PATH weggelassen wird. wie NFS.3. kann über eine URL mit svn:// oder svn+ssh:// auf das Repository zugegriffen werden. können in /etc/svnserve.2 Benutzung und Betrieb Verwenden Sie den Befehl svn (ähnlich wie cvs) für den Zugriff auf ein SubversionRepository. bestimmt REV. die diese Dateisysteme nicht unterstützen. Sind mehrere URLs angegeben. Mit svn help erhalten Sie die Beschreibung von Befehlsparametern: checkout (co): Speichern einer Arbeitskopie aus einem Repository auf dem Client. an.com/path/to/project Oder: svn list svn://svn. wird jede in einem Unterverzeichnis von PATH gespeichert. der Server.conf eingerichtet werden.. um verschiedenen Benutzern den Zugriff auf das Repository zu erlauben. 547). den ein korrekt konfigurierter Server mit einem entsprechenden Repository liefert. .example.. svnlook info /path/to/repository Ein Server muss konfiguriert werden. [PATH] Sofern angegeben.com/path/to/project Dateisynchronisierung 545 . Die Entscheidung für Apache oder svnserve hängt von vielen Faktoren ab. 27. wird der URL-Basisname als Ziel verwendet. Benutzer.

'D' Objekt ist zum Löschen markiert. Im Unterschied zu CVS kann der Status eines Arbeitsverzeichnisses in Subversion ohne Zugriff auf das Repository über den Befehl svn status angezeigt werden.txt Properties on 'foo. Löschen) daran ausgeführt werden: svn svn svn svn add file copy oldfile newfile move oldfile newfile delete file Diese Befehle können auch auf Verzeichnisse angewendet werden.txt Das vorangehende Beispiel setzt den Wert GPL für die Eigenschaft license.example. Anschließend können Operationen (Hinzufügen. 'A' Objekt ist zum Hinzufügen markiert. Kopieren. indem er mithilfe von svn update eine Synchronisierung mit dem Server ausführt.Speichern Sie ein bestehendes Projekt im aktuellen Verzeichnis mit dem Befehl svn checkout: svn checkout http://svn. Umbenennen. 'M' Objekt wurde geändert. Ein anderer Benutzer kann Ihre Änderungen in sein Arbeitsverzeichnis übernehmen.com/path/to/project nameofproject Dadurch wird auf dem Client das neue Unterverzeichnis nameofproject angelegt. Subversion kann zusätzlich Eigenschaften einer Datei oder eines Verzeichnisses aufzeichnen: svn propset license GPL foo. Die erste Spalte ist dabei die wichtigste: '' Keine Änderungen.txt': license : GPL Speichern Sie die Änderungen mit svn commit auf dem Server. Zeigen Sie Eigenschaften an mit svn proplist: svn proplist --verbose foo. 546 Referenz . Lokale Änderungen werden in fünf Spalten angezeigt.

die sich nicht wesentlich ändern. wenn große Datenmengen. regelmäßig übertragen werden müssen. B. die regelmäßig auf den eigentlichen Webserver in einer „DMZ“ gespiegelt werden. bei der Erstellung von Sicherungskopien häufig der Fall. 'I' Objekt wurde ignoriert.6 Einführung in rsync rsync bietet sich immer dann an. Die Bedeutung aller übrigen Spalten kann im Subversion-Handbuch nachgeschlagen werden.tigris . '~' Objekt wurde als Datei verwaltet. '?' Objekt unterliegt nicht der Versionskontrolle. Ein weiteres Einsatzgebiet sind so genannte StagingServer. wenn das Objekt ohne den Befehl svn gelöscht oder verschoben wurde. Dateisynchronisierung 547 .3 Weitere Informationen Erste Quelle ist die Homepage von Subversion unter http://subversion. 27. komplett englischsprachiges Buch finden Sie nach der Installation des Pakets subversion-doc im Verzeichnis file:///usr/ share/doc/packages/subversion/html/book. '!' Objekt wird vermisst. Es ist auch unter http://svnbook. Ein sehr empfehlenswertes.red-bean.html. Die zweite Spalte zeigt den Status der Eigenschaften. oder umgekehrt. auf denen komplette Verzeichnisstrukturen von Webservern gespeichert werden. Diese Markierung erscheint. Dabei handelt es sich um Server.html verfügbar. Dies ist z. 27.org/. wurde jedoch mittlerweile durch ein Verzeichnis ersetzt.com/svnbook/index.'C' Objekt ist in einem Konflikt.5.

sollte das Programm im „rsync“Modus betrieben werden. Alternativ kann rsyncd auch von xinetd gestartet werden. komplette Verzeichnisse auf ein anderes System zu spiegeln.log [FTP] path = /srv/ftp comment = An Example Starten Sie dann rsyncd mit rcrsyncd start. wie z. verwenden Sie die folgende Konfiguration: gid = nobody uid = nobody read only = true use chroot = no transfer logging = true log format = %h %o %f %l %b log file = /var/log/rsyncd. Dazu ist auf dem Zielsystem nur eine Remote-Shell. Wenn beispielsweise das Verzeichnis /srv/ftp über rsync zugänglich sein soll.27. Hierzu muss entweder dieser Dienst in YaST im Runlevel-Editor aktiviert oder manuell der Befehl insserv rsyncd eingegeben werden. Jedoch kann rsync auch als Daemon verwendet werden und Verzeichnisse im Netz zur Verfügung stellen. Damit rsync seine Funktionen voll ausnutzen kann. Mit rsync ist es direkt möglich. Die grundlegende Verwendung von rsync erfordert keine besondere Konfiguration. Konfigurieren Sie rsync in der Datei /etc/rsyncd. erforderlich. Zum einen kann rsync zum Archivieren oder Kopieren von Daten verwendet werden. auf denen rsyncd nicht allzu oft verwendet wird.6. Dies empfiehlt sich aber nur bei Servern. Beispielsweise kann mit folgendem Befehl ein Backup des Home-Verzeichnisses von „tux“ auf einem Backupserver „sun“ angelegt werden: rsync -baz -e ssh /home/tux/ tux@sun:backup Mit dem folgenden Befehl wird das Verzeichnis zurückgespielt: rsync -az -e ssh tux@sun:backup /home/tux/ Bis hierher unterscheidet sich die Benutzung kaum von einem normalen Kopierprogramm. 548 Referenz . wie scp.conf. Dazu wird auf einem der Systeme der Daemon rsyncd gestartet. SSH.1 Konfiguration und Betrieb rsync lässt sich in zwei verschiedenen Modi benutzen. rsyncd kann auch automatisch beim Bootvorgang gestartet werden. B.

6.conf. die auf dem Server im Verzeichnis /srv/ftp liegen. Das geschieht mit folgendem Befehl: rsync -avz sun::FTP Dieser Befehl listet alle Dateien auf.7 Einführung in mailsync mailsync eignet sich vor allem für die folgenden drei Aufgaben: • Synchronisierung von lokal gespeicherten E-Mails mit E-Mails.ps. Diese Anfrage wird auch in der Protokolldatei unter /var/log/rsyncd. dass keine neueren Dateien überschrieben werden.samba . Dann kann die Übertragung von einem Clientsystem aus getestet werden.2 Weitere Informationen Wichtige Informationen zu rsync finden Sie in den Manualpages man rsync und man rsyncd.Im obigen Beispiel wird auch eine Protokolldatei über alle Verbindungen angelegt. Standardmäßig werden bei der Synchronisierung mit rsync keine Dateien gelöscht. Dadurch entstehende Konflikte müssen manuell aufgelöst werden. Wenn dies erzwungen werden soll. kann stattdessen die Option --update angegeben werden. Um sicherzustellen.org/. Eine technische Dokumentation zur Vorgehensweise von rsync finden Sie unter /usr/share/doc/packages/rsync/tech_report. die auf einem Server gespeichert sind • Migration von Mailboxen in ein anderes Format bzw. Verwenden Sie . 27. Diese Datei wird unter /var/log/rsyncd.log aufgezeichnet. Um die Übertragung tatsächlich zu starten. Suche nach Duplikaten Dateisynchronisierung 549 . auf einen anderen Server • Integritätsprüfung einer Mailbox bzw. Beispiel: rsync -avz sun::FTP . für das aktuelle Verzeichnis. Aktuelles zu rsync finden Sie auf der Projekt-Website unter http://rsync. geben Sie ein Zielverzeichnis an. 27.log abgelegt. muss zusätzlich die Option --delete angegeben werden.

Die folgenden Abschnitte geben einige Beispiele für Stores.27. Für die folgende Definition: store localdir { pat Mail/* prefix Mail/ } listet der Befehl mailsync -m localdir alle Nachrichten auf. Ein Store für die Unterordner würde wie folgt aussehen: store imapdir { server {mail.com} pat INBOX } Das obige Beispiel adressiert nur den Hauptordner auf dem IMAP-Server.1 Konfiguration und Verwendung mailsync unterscheidet zwischen der Mailbox an sich (einem so genannten Store) und der Verknüpfung zwischen zwei Mailboxen (einem so genannten Channel).mailsync abgelegt.harvard.edu.edu.harvard. Die Spezifikation eines Store auf einem IMAP-Server sieht wie folgt aus: store imapinbox { server {mail.edu. } Unterstützt der IMAP-Server verschlüsselte Verbindungen. sollte die Server-Spezifikation wie folgt geändert werden: 550 Referenz .com/user=gulliver} ref {mail. Eine einfache Definition kann wie folgt aussehen: store saved-messages { pat Mail/saved-messages prefix Mail/ } Mail/ ist ein Unterverzeichnis im Home-Verzeichnis des Benutzers. Der Befehl mailsync localdir listet dagegen die Ordnernamen auf. wird ein Index aller Nachrichten in saved-messages aufgelistet.harvard. unter anderem den Ordner saved-messages.7. die unter Mail/ gespeichert sind.com} pat INBOX.harvard.* prefix INBOX. Die Definitionen der Stores und Channels sind in der ~/. das Ordner mit E-Mails enthält.edu.com/user=gulliver} ref {mail. Wird nun mailsync mit dem Befehl mailsync -m saved-messages gestartet.

Dadurch erhalten Sie eine Liste aller Nachrichten. welche Nachrichten bereits synchronisiert wurden. wie folgt: server {mail. wird sie dort gelöscht (da sie offenbar auf der anderen Seite existiert hatte und dort gelöscht wurde). bereits in der Datei msinfo protokolliert). welche Nachrichten bei einer Synchronisierung übertragen und welche gelöscht werden. angelegt.com/ssl/novalidate-cert/user=gulliver} Das Präfix wird später erklärt. Die Synchronisierung zwischen den einzelnen Ordnern wird wie folgt durchgeführt: • Existiert eine Nachricht schon auf beiden Seiten. Der Ordner INBOX.harvard. • Fehlt die Nachricht auf einer Seite und ist neu (d.harvard. • Von den resultierenden Ordnernamen wird jeweils das Präfix entfernt.edu. falls das Server-Zertifikat nicht bekannt ist. h. falls noch nicht vorhanden). Der Befehl mailsync folder bewirkt Folgendes: • Auf beiden Seiten wird das Mailbox-Muster erweitert. starten Sie mailsync mit einem Channel und einem Store gleichzeitig: mailsync folder localdir. • Die Ordner werden paarweise synchronisiert (bzw.edu.info } mailsync verfolgt mithilfe der Datei msinfo. h. nicht in der Datei msinfo protokolliert). sowie eine Liste Dateisynchronisierung 551 . Nun sollen die Ordner unter Mail/ mit den Unterverzeichnissen auf dem IMAP-Server verbunden werden: channel folder localdir imapdir { msinfo . die auf dem lokalen Host neu sind. geschieht nichts.mailsync. Um im Voraus ein Bild davon zu erhalten.sent-mail auf dem IMAP-Server wird also mit dem lokalen Ordner Mail/sent-mail synchronisiert (obige Definitionen vorausgesetzt). • Existiert die Nachricht nur auf einer Seite und ist alt (d. wird sie dorthin übertragen.com/ssl/user=gulliver} oder.server {mail.

die nur auf jeweils einer Seite existieren. Das Fehlen einer Message-ID wird in der Regel durch fehlerhafte Programme beim Senden oder Schreiben einer Nachricht verursacht. Sie können das Setzen dieses speziellen Status-Flags mithilfe der Option -n verhindern. h. wie z. 27. als neu und werden bei der nächsten Synchronisierung übertragen. Daher können einige E-Mail-Programme.2 Potenzielle Probleme Im Fall eines Datenverlusts ist es das sicherste Vorgehen. Die von mailsync benutzten Mailbox-Treiber (c-client) setzen nach der erfolgreichen Übertragung der Nachrichten an einen IMAP-Server ein spezielles Status-Flag.7. Nachrichten ohne Message-ID werden einfach ignoriert. die zugehörige ChannelProtokolldatei msinfo zu löschen. Nur Nachrichten mit einer Message-ID werden in die Synchronisierung einbezogen. diese Nachrichten nicht als neu erkennen. die auf der IMAP-Seite neu sind.7. mutt. die bei einer Synchronisierung auf der IMAP-Seite gelöscht werden würden.aller Nachrichten. Ähnlich erhalten Sie mit mailsync folder imapdir sowohl eine Liste aller Nachrichten. sie werden weder übertragen noch gelöscht. Dadurch ist es bei solchen IMAP-Servern nicht möglich. 552 Referenz . B.name). die bei einer Synchronisierung auf dem lokalen Host gelöscht werden würden. Dadurch gelten alle Nachrichten. 27. d. als auch eine Liste aller Nachrichten. Von besonderem Interesse ist in diesem Zusammenhang auch RFC 2076 „Common Internet Message Headers“. ein Muster ausschließlich für die Unterordner anzugeben.3 Weitere Informationen Die im Paket mailsync enthaltene README-Datei unter /usr/share/doc/ packages/mailsync/ bietet weitere Informationen. Auf bestimmten IMAP-Servern werden der Hauptordner mit INBOX und Unterordner mit einem beliebigen Namen angesprochen (im Gegensatz zu INBOX und INBOX.

CIFS-Protokoll Das CIFS-Protokoll (Common Internet File System) ist ein weiteres Protokoll. Dabei wird ein Namensdienst bereitgestellt. CIFS definiert ein Standardprotokoll für den Fernzugriff auf Dateisysteme über das Netzwerk. die die Kommunikation zwischen Computern ermöglicht.Samba 28 Mit Samba kann ein Unix-Computer als Datei. Auf Drängen von IBM gab Microsoft das Protokoll frei. Entsprechend muss auf allen Clients das TCP/IP-Protokoll installiert sein. das von Samba unterstützt wird. Mit diesem Dienst können die an das Netzwerk angeschlossenen Computer Namen für sich reservieren. Konfigurieren Sie Samba mit YaST.und Druckserver für DOS-. Samba setzt das SMB. Nach dieser Reservierung können die Computer anhand ihrer Namen Samba 553 . sodass auch andere Softwarehersteller Anbindungen an ein Microsoft-Domänennetzwerk einrichten konnten. SWAT (eine WebSchnittstelle) oder der Konfigurationsdatei.1 Terminologie SMB-Protokoll Samba verwendet das SMB-Protokoll (Server Message Block). Windowsund OS/2-Computer konfiguriert werden. Samba ist mittlerweile ein sehr umfassendes und komplexes Produkt. das Benutzergruppen die netzwerkweite Zusammenarbeit und gemeinsame Dokumentbenutzung ermöglicht.auf das TCP/IP-Protokoll auf. das auf den NetBIOS-Diensten basiert. NetBIOS NetBIOS ist eine Softwareschnittstelle (API). 28.

der SMB/CIFS-Dienste sowie NetBIOS over IPNamensdienste für Clients zur Verfügung stellt. Eine Implementierung. Er muss nicht dem Namen des exportierten Verzeichnisses entsprechen. Eine Freigabe wird unter einem eigenen Namen exportiert und kann von Clients unter diesem Namen angesprochen werden. Windows und OS/2 unterstützt. Das Samba-Protokoll wird von allen gängigen Betriebssystemen wie Mac OS X. 554 Referenz . Der Freigabename kann frei vergeben werden. die den jeweiligen DNS-Hostnamen entsprechen. Ebenso wird einem Drucker ein Name zugeordnet. die relativ nah an der Netzwerkhardware arbeitet. Samba-Client Samba-Client ist ein System.adressiert werden. Die NetBIOS-Schnittstelle kann in unterschiedlichen Netzwerkarchitekturen implementiert werden. Für die Überprüfung der Namen gibt es keine zentrale Instanz. Sie brauchen für Samba-Client keinen Daemon auszuführen. Für Linux gibt es zwei Daemons für Samba-Server: smnd für SMB/CIFS-Dienste und nmbd für Namensdienste. Jeder Computer im Netzwerk kann beliebig viele Namen reservieren. Mit NetBIOS implementierte Netzwerkprotokolle sind IPX (NetBIOS über TCP/IP) von Novell und TCP/IP. Es empfiehlt sich jedoch. nennt sich NetBEUI. Samba-Server Samba-Server ist ein Server. Für einen Samba-Server ist dies die Voreinstellung. wird aber häufig auch als NetBIOS bezeichnet. für einfachere Administration NetBIOS-Namen zu vergeben. Unter diesem Namen können die Clients auf den Drucker zugreifen. vollständig unabhängiger Namensraum. NetBIOS ist ein eigener. Freigaben sind Drucker und Verzeichnisse mit ihren Unterverzeichnissen auf dem Server. das die Integration von SMB-Ressourcen auf Linux-Systemebene ermöglicht. Für Linux gibt es zudem ein Dateisystem-Kernel-Modul für SMB. solange die Namen noch nicht Gebrauch sind. Die per TCP/IP übermittelten NetBIOS-Namen haben nichts mit den in der Datei /etc/hosts oder per DNS vergebenen Namen zu tun. Auf den Computern muss das TCP/IP-Protokoll installiert sein. Freigaben SMB-Server stellen den Clients Plattenplatz in Form von Freigaben (Shares) zur Verfügung. das Samba-Dienste von einem Samba-Server über das SMB-Protokoll nutzt. Für die verschiedenen UNIX-Versionen stellt Samba einen Client zur Verfügung.

das Sie auffordert.28.3. Das Dialogfeld Samba-Server-Installation besteht aus zwei Teilen: Arbeitsgruppe oder Domäne Wählen Sie unter Arbeitsgruppe oder Domäne eine Arbeitsgruppe oder Domäne aus oder geben Sie eine neue ein und klicken Sie auf Weiter. 555) beschrieben ist. und Sie am Ende der Konfiguration nach dem Passwort für Samba-root fragt. die in Abschnitt 28.2 Starten und Stoppen von Samba Sie können den Samba-Server automatisch beim Booten oder manuell starten bzw. starten Sie YaST und wählen Sie Netzwerkdienste → Samba-Server. ein paar grundlegende Entscheidungen hinsichtlich der Serveradministration zu treffen. „Konfigurieren eines Samba-Servers mit YaST“ (S. 28.3 Konfigurieren eines Samba-Servers Ein Samba-Server in SUSE Linux kann auf zwei Arten konfiguriert werden: mit YaST oder manuell. stoppen. Bei späteren Starts wird das Dialogfeld Samba-Server-Konfiguration geöffnet.1 Konfigurieren eines Samba-Servers mit YaST Um einen Samba-Server zu konfigurieren.1. 28. Start. verwenden Sie System → Systemdienste (Runlevel). In der Befehlszeile stoppen Sie für Samba erforderliche Dienste mit rcsmb stop && rcnmb stop und starten sie mit rcnmb start && rcsmb start. Bei der manuellen Konfiguration können Sie mehr Details einstellen. allerdings müssen Sie ohne den Komfort der Benutzeroberfläche von YaST zurechtkommen. Samba 555 .und Stopprichtlinien sind Teil der Samba-Serverkonfiguration mit YaST. Beim ersten Start des Moduls wird das Dialogfeld SambaServer-Installation geöffnet.3. Um die Ausführung von Samba-Diensten mit YaST zu starten oder zu stoppen.

556 Referenz . und klicken Sie auf Weiter. wenn Sie auf Erweiterte Einstellungen klicken. „Starten und Stoppen von Samba“ (S. Wenn mehrere Netzwerkschnittstellen vorhanden sind. Auf dieser Registerkarte können Sie auch Ports in Ihrer Firewall öffnen. um die ausgewählte Freigabe zu entfernen. Globale Einstellungen für Experten oder die Benutzerauthentifizierung können Sie festlegen. Klicken Sie zum Abschließen der Konfiguration auf Beenden. Um den manuellen Start zu aktivieren. um neue Freigaben hinzuzufügen. Es gibt einige vordefinierte Freigaben wie Home-Verzeichnisse und Drucker. zu welcher Domäne der Host gehört (Grundeinstellungen) und ob ein alternativer Hostname im Netzwerk (NetBIOSHostname) verwendet werden soll. wählen Sie Manually (Manuell). Klicken Sie auf Hinzufügen. Weitere Informationen über das Starten eines Samba-Servers erhalten Sie in Abschnitt 28. Freigaben Legen Sie auf dieser Registerkarte die zu aktivierenden Samba-Freigaben fest. wählen Sie die Netzwerkschnittstelle für SambaDienste. Beim ersten Start des Samba-Servermoduls wird das Dialogfeld Samba-Server-Konfiguration unmittelbar nach dem Dialogfeld Samba-Server-Installation geöffnet. bzw. ob Ihr Server als PDC fungieren soll. 555). auf Löschen. Sie können später alle Einstellungen von Samba-Server-Installation im Dialogfeld Samba-Server-Konfiguration auf der Registerkarte Identität ändern. Es besteht aus drei Registerkarten: Start Auf der Registerkarte Start können Sie den Start des Samba-Servers einstellen.Samba-Servertyp Geben Sie im nächsten Schritt an. wählen Sie During Boot (Beim Systemstart). die Schnittstellen auswählen und dann auf OK klicken.2. Wählen Sie hierfür Open Port in Firewall (Firewall-Port öffnen). indem Sie auf Firewall-Details klicken. Mit Status wechseln können Sie zwischen den Statuswerten Aktiviert und Deaktiviert wechseln. Identität Auf der Registerkarte Identität legen Sie fest. Um den Dienst bei jedem Systemboot zu starten.

conf.28. installieren Sie samba. Der Abschnitt „global“ Die folgenden Parameter im Abschnitt [global] sind den Gegebenheiten Ihres Netzwerkes anzupassen. mit der Sie den Samba-Server konfigurieren können. damit Ihr Samba-Server in einer Windows-Umgebung von anderen Computern über SMB erreichbar ist. Mit dieser Vorgehensweise können Details der Freigaben unterschiedlich oder im Abschnitt [global] übergreifend festgelegt werden. wählen Sie swat aus der Tabelle und klicken Sie auf Status wechseln (Ein oder Aus). verwenden Sie das root-Systemkonto.3. aktivieren Sie die Konfiguration der Netzwerkdienste. Wenn Sie über kein spezielles root-Konto für Samba verfügen. Öffnen Sie zur Aktivierung in YaST Netzwerkdienste → Netzwerkdienste (xinetd). Es stellt eine einfache Webschnittstelle zur Verfügung.3 Manuelles Konfigurieren des Servers Wenn Sie Samba als Server einsetzen möchten. Sollte der Name bereits vergeben sein. Ersetzen Sie TUX-NET durch eine entsprechende Arbeitsgruppe Ihrer Netzwerkumgebung. Sie können SWAT verwenden. Der Samba-Server erscheint mit seinem DNS-Namen. 28. sofern der Name noch nicht vergeben ist. Der Abschnitt [global] enthält die zentralen und globalen Einstellungen. indem Sie in einem Webbrowser http://localhost:901 aufrufen und sich als root anmelden. kann der Servername mithilfe Samba 557 . Die Abschnitte [share] enthalten die einzelnen Dateiund Druckerfreigaben. Diese Datei kann in zwei logische Bereiche aufgeteilt werden. Die Hauptkonfigurationsdatei von Samba ist /etc/samba/smb. ANMERKUNG: Aktivieren von SWAT Nach der Installation von Samba-Server ist SWAT nicht aktiviert. Letzteres trägt zur Übersichtlichkeit der Konfigurationsdatei bei. workgroup = TUX-NET Mit dieser Zeile wird der Samba-Server einer Arbeitsgruppe zugeordnet.3.2 Web-Administration mit SWAT Ein alternatives Werkzeug für die Administrationsaufgaben von Samba-Server ist SWAT (Samba Web Administration Tool).

ein Windows NT. in dem bereits ein WINS-Server betrieben wird. Freigaben In den folgenden Beispielen werden einerseits das CD-ROM-Laufwerk und andererseits die Verzeichnisse der Nutzer (homes) für SMB-Clients freigegeben. os level = 2 Anhand dieses Parameters entscheidet Ihr Samba-Server. 558 Referenz .von netbiosname=MEINNAME festgelegt werden. Sie müssen einen WINS-Server einrichten. Stellen Sie sicher.oder 2000Server) vorhanden ist und der Samba-Server eine Liste aller in der lokalen Umgebung vorhandenen Systeme verwalten soll. Weitere Informationen zu diesem wichtigen Thema finden Sie in den Dateien BROWSING.conf niemals gleichzeitig aktiviert sein. LMB (Local Master Browser) für seine Arbeitsgruppe zu werden. damit ein vorhandenes Windows-Netz nicht durch einen falsch konfigurierten Samba-Server gestört wird. Um einen Samba-Server als WINS-Server festzulegen. ob er versucht. Der Samba-Server wird dann als LMB für das lokale Netzwerk ausgewählt. Die Optionen wins server und wins support dürfen in der Datei smb. B. Wählen Sie bewusst einen niedrigen Wert. wins support und wins server Wenn Sie den Samba-Server in ein vorhandenes Windows-Netzwerk integrieren möchten. aktivieren Sie den Parameter wins server und setzen Sie seinen Wert auf die IP-Adresse des WINS-Servers. wenn Ihre Windows-Systeme in getrennten Subnetzen betrieben werden und sich gegenseitig erkennen sollen. Wenn im Netzwerk kein anderer SMB-Server (z. setzen Sie die Option wins support = Yes. da dies den Betrieb einer vorhandenen Windows-Netzwerkumgebung stören könnte.txt im Unterverzeichnis textdocs der Paketdokumentation. Beim Ändern dieses Werts sollten Sie besonders vorsichtig sein. setzen Sie den Parameter os level auf einen höheren Wert (z.conf. Testen Sie Änderungen zuerst in einem isolierten Netzwerk oder zu unkritischen Zeiten. dass diese Einstellung nur auf einem einzigen Samba-Server im Netzwerk aktiviert wird.txt und BROWSING-Config. B. 65). Weitere Informationen zu diesem Parameter finden Sie auf der Manualpage mansmb.

comment = Linux CD-ROM . Entfernen Sie die Semikolons in der ersten Spalte. locking = No [cdrom] und comment Der Eintrag [cdrom] ist der Name der Freigabe. um das CDROM-Laufwerk für Samba freizugeben. path = /media/cdrom . path = /media/cdrom path exportiert das Verzeichnis /media/cdrom. Zur Beschreibung dieser Freigabe kann ein zusätzlicher comment hinzugefügt werden. die von allen SMB-Clients im Netzwerk gesehen werden kann.[cdrom] . Diese Art der Freigabe ist aufgrund einer bewusst restriktiv gewählten Voreinstellung lediglich für die auf dem System vorhandenen Benutzer verfügbar. sind alle erforderlichen Zeilen dieser Freigabe durch Kommentarzeichen – hier Semikolons – deaktiviert. Durch diese Einstellung erhalten alle Benutzer im Netzwerk Leseberechtigungen. Beispiel 28. [homes] Eine besondere Stellung nimmt die Freigabe [homes] ein. Soll die Freigabe für alle Benutzer bereitgestellt werden. Es wird empfohlen. diesen Parameter sehr vorsichtig zu verwenden.1 Eine CD-ROM-Freigabe . so kann er eine Verbindung zu diesem herstellen.[cdrom] Um die versehentliche Freigabe eines CD-ROM-Laufwerks zu verhindern. fügen Sie der Konfiguration die Zeile guest ok = yes hinzu.2 homes-Freigabe [homes] comment = Home Directories valid users = %S browseable = No read only = No create mask = 0640 directory mask = 0750 Samba 559 . Hat der Benutzer auf dem Linux-Dateiserver ein gültiges Konto und ein eigenes Home-Verzeichnis. Dies gilt umso mehr für die Verwendung dieses Parameters im Abschnitt [global]. Beispiel 28.

[homes] Insoweit keine ausdrückliche Freigabe mit dem Freigabenamen des Benutzers existiert. deaktivieren Sie die Zeile valid users = %S. read only = No Samba untersagt Schreibzugriff auf exportierte Freigaben standardmäßig mit dem Parameter read only = Yes. Dies gilt jedoch nur für Freigaben mit Schreibberechtigung. Bei einer [homes]-Freigabe ist dies immer der Benutzername. create mask = 0640 Nicht auf MS Windows NT basierende Systeme kennen das Konzept der UnixZugriffsberechtigungen nicht. wird aufgrund der [homes]-Freigabe dynamisch eine Freigabe erzeugt. valid users = %S verhindert den Lesezugriff auch dann. sodass sie beim Erstellen einer Datei keine Berechtigungen zuweisen können. valid users = %S %S wird nach erfolgreichem Verbindungsaufbau durch den konkreten Freigabenamen ersetzt. muss der Wert read only = No festgesetzt werden. Soll also ein Verzeichnis als schreibbar freigegeben werden. welche Zugriffsberechtigungen neu erstellten Dateien zugewiesen werden. Dabei ist der Freigabename identisch mit dem Benutzernamen. SMB kennt drei verschiedene Möglichkeiten der Berechtigungsprüfung: 560 Referenz . browseable = No Durch diese Einstellung wird die Freigabe in der Netzwerkumgebung unsichtbar gemacht. was dem Wert writeable = Yes entspricht. Aus diesem Grund werden die Zugriffsberechtigungen auf die Freigabe eines Benutzers immer exklusiv auf den Eigentümer des Benutzerverzeichnisses beschränkt. Der Parameter create mask legt fest. Um der Gruppe Lese. der die Verbindung zum SMB-Server herstellt. Sicherheitsstufen (Security Levels) Jeder Zugriff auf eine Freigabe kann für mehr Sicherheit durch ein Passwort geschützt werden. wenn die Gruppe über Leseberechtigungen verfügt. Konkret wird hier dem Eigentümer das Lesen und Schreiben und den Mitgliedern der primären Gruppe des Eigentümers das Lesen erlaubt.oder Schreibzugriff zu gewähren.

NetBEUI oder NetBIOS über IPX können mit Samba nicht verwendet werden. einzelne Freigaben einer Serverkonfiguration mit Share Level Security und andere mit User Level Security zu exportieren. Jeder Benutzer muss sich bei einem Server mit einem Passwort anmelden. Es ist nicht möglich. Nach der Authentifizierung kann der Server dann abhängig vom Benutzernamen Zugriff auf die einzelnen exportierten Freigaben gewähren. Jeder Benutzer. Geben Sie im Dialogfeld SAMBA-Arbeitsgruppe die Domäne oder Arbeitsgruppe an. Allerdings übergibt es alle Passwortanfragen an einen anderen User Level Mode Server. der die Authentifizierung übernimmt. User Level Security (security = user) Diese Variante führt das Konzept des Benutzers in SMB ein. um alle verfügbaren Samba 561 . Wenn sich mehrere Server auf einem System befinden. Server Level Security (security = server): Seinen Clients gibt Samba vor. um auf Ressourcen (Dateien oder Drucker) auf dem Samba-Server zuzugreifen.4.Share Level Security (security = share) Einer Freigabe wird ein Passwort fest zugeordnet. im User Level Mode zu arbeiten.1 Konfigurieren eines Samba-Clients mit YaST Konfigurieren Sie einen Samba-Client. 28. Weitere Informationen zu diesem Thema finden Sie in der Samba-HOWTO-Collection. User und Server Level Security) gilt für den gesamten Server. 28. Die Sicherheit auf Freigabe-. der dieses Passwort kennt. Sie können jedoch auf einem System für jede konfigurierte IP-Adresse einen eigenen Samba-Server ausführen. Diese Einstellung erwartet einen weiteren Parameter (password server). beachten Sie die Optionen interfaces und bind interfaces only. hat Zugriff auf die Freigabe.und Serverebene (Share. Benutzer. Klicken Sie auf Durchsuchen.4 Konfigurieren der Clients Clients können auf den Samba-Server nur über TCP/IP zugreifen.

Gruppen und Domänen anzuzeigen.3 Abschnitt „global“ in smb. Sie wird jedoch nicht standardmäßig installiert. Um TCP/IP zu installieren.2 Windows 9x und ME Die Unterstützung für TCP/IP ist in Windows 9x und ME bereits integriert. 28. Wenn Sie Zusätzlich SMB-Informationen für LinuxAuthentifikation verwenden aktivieren. und wählen Sie die gewünschte Gruppe bzw. Wenn Sie alle Einstellungen vorgenommen haben. um die Konfiguration abzuschließen. der als Primary Domain Controller (PDC) konfiguriert ist. Am besten verbinden Sie diesen anschließend mit der LinuxDruckwarteschlange. klicken Sie auf Beenden. Domäne mit einem Mausklick aus.conf“ (S. Es müssen Einträge im Abschnitt [global] von smb. in denen sich überwiegend Windows-Clients befinden. 562) beschrieben. dass sich Benutzer nur mit einem gültigen Konto und zugehörigem Passwort anmelden dürfen.3. TIPP Um einen Drucker auf dem Samba-Server zu nutzen. sie kann aber auch mithilfe eines Samba-Servers ausgeführt werden.conf vorgenommen werden. 28. „Abschnitt „global“ in smb. sollten Sie den Standardoder den Apple-PostScript-Druckertreiber der entsprechenden Windows-Version installieren.5 Samba als Anmeldeserver In Netzwerken. die PostScript als Eingabeformat akzeptiert. Diese werden in Beispiel 28.4. Nach dem Neustart des Windows-Computers finden Sie den SambaServer durch Doppelklicken auf das Desktopsymbol für die Netzwerkumgebung. Beispiel 28. wählen Sie Systemsteuerung → System und wählen Sie anschließend Hinzufügen → Protokolle → TCP/IP von Microsoft.conf [global] workgroup = TUX-NET domain logons = Yes domain master = Yes 562 Referenz . In einem Windows-basierten Netzwerk wird diese Aufgabe von einem Windows NT-Server erledigt. erfolgt die Benutzerauthentifizierung über den Samba-Server. ist es oft wünschenswert.

SuSE) sind Einstellungen enthalten. Beispiel 28. indem Sie folgenden Befehl eingeben: net groupmap add ntgroup="Domain Admins" unixgroup=ntadmin Weitere Informationen zu diesem Thema finden Sie in Kapitel 12 der Samba-HOWTOCollection (/usr/share/doc/packages/samba/Samba-HOWTO-Collection . die Passwörter in eine Windows-konforme Verschlüsselungsform gebracht werden.4 Einrichten eines Computerkontos useradd hostname\$ smbpasswd -a -m hostname Mit dem Befehl useradd wird ein Dollarzeichen hinzugefügt.5 Automatisiertes Einrichten eines Computerkontos add machine script = /usr/sbin/useradd -g nogroup -c "NT Machine Account" \ -s /bin/false %m\$ Damit dieses Skript von Samba richtig ausgeführt werden kann. MS Windows NT 4. Außerdem müssen die Benutzerkonten bzw. wird dieses mit den folgenden Befehlen angelegt: Beispiel 28. die diese Arbeiten automatisieren. In der kommentierten Beispielkonfiguration (/usr/share/doc/packages/Samba/examples/ smb. Wenn Samba installiert ist. 28.Werden zur Verifizierung verschlüsselte Passwörter genutzt (Standard bei gepflegten MS Windows 9x-Installationen.pdf). um Samba 563 .0 ab Service Pack 3 und allen späteren Produkten). Anschließend können Sie allen Mitgliedern der Linux-Gruppe den Status Domain Admin zuweisen. benötigen Sie noch einen Samba-Benutzer mit Administratorrechten. Dies erfolgt mit dem Befehl smbpasswd -a name. muss der Samba Server damit umgehen können. können Sie in der Befehlszeile apropos samba eingeben. Fügen Sie hierzu der Gruppe ntadmin einen entsprechenden Benutzer hinzu. Der Befehl smbpasswd fügt dieses bei der Verwendung des Parameters -m automatisch hinzu.conf. Dies wird durch den Eintrag encrypt passwords = yes im Abschnitt [global] aktiviert (ab Samba Version 3 ist dies Standard).6 Weitere Informationen Ausführliche Informationen zu Samba finden Sie in der digitalen Dokumentation. Da nach dem Windows NT-Domänenkonzept auch die Computer selbst ein Domänenkonto benötigen.

Eine kommentierte Beispielkonfiguration (smb.pdf.conf.SuSE) finden Sie im Unterverzeichnis examples. Nach der Installation des Pakets samba-doc finden Sie die HOWTO-Informationen im Verzeichnis /usr/share/doc/packages/samba/ Samba-HOWTO-Collection. Das Samba-Team liefert in der Samba-HOWTO-Collection einen Abschnitt zur Fehlerbehebung.einige Manualpages aufzurufen. In Teil V ist außerdem eine ausführliche Anleitung zum Überprüfen der Konfiguration enthalten. Alternativ dazu finden Sie im Verzeichnis /usr/ share/doc/packages/samba weitere Online-Dokumentationen und Beispiele. 564 Referenz .

die Sammlung von statistischen Informationen zur Verwendung des Cache mithilfe von Programmen. wie Calamaris und cachemgr. aus dem Festplatten-Cache versorgt werden können. die Definition strenger Zugriffssteuerungslisten für alle Clients. wie Real Audio. stellt er die Objekte dem Client zu und behält eine Kopie davon im Festplatten-Cache.oder FTP-Server. Er fungiert normalerweise nur bei HTTP-Verbindungen als Proxy. Squid ist kein generischer Proxy. Einer der Vorteile des Cachings besteht darin. dass er angeforderte Internetobjekte. die auf den Proxy zugreifen. Squid dient als Proxy-Cache. die Konfiguration des Systems für transparentes Proxying. wie die Verteilung der Last auf mehrere miteinander kommunizierende Hierarchien von Proxyservern.und UNIX-Plattformen. wie beispielsweise Daten auf einem Web. Wenn die angeforderten Objekte vom Server eintreffen. die dasselbe Objekt anfordern. als der Server. Das bedeutet. dass mehrere Clients. SSL und WAIS. Dadurch können die Clients die Daten wesentlich schneller erhalten als aus dem Internet. Gopher. und die Filterung von Webinhalten mit squidGuard erörtert. das Zulassen oder Verweigern des Zugriffs auf bestimmte Webseiten mithilfe anderer Anwendungen und das Erstellen von Statistiken zu häufig besuchten Webseiten zur Bewertung der Internetgewohnheiten des Benutzers. der sich näher an der Arbeitsstation befindet. Er leitet Objektanforderungen von Clients (in diesem Fall: von Webbrowsern) an den Server weiter. News oder Video-Konferenzen. Neben dem eigentlichen Caching bietet Squid eine breite Palette von Funktionen.Der Proxyserver Squid 29 Squid ist ein häufig verwendeter Proxy-Cache für Linux. Durch dieses Verfahren wird außerdem der Datenverkehr im Netzwerk reduziert. die die Anforderung ausgegeben hat. Da Squid nur das UDP-Protokoll für die Bereitstellung von Kommunikation zwischen Der Proxyserver Squid 565 . die für die Inbetriebnahme erforderlichen Einstellungen. auf einem Computer speichert. Außerdem unterstützt er die Protokolle FTP. nicht jedoch andere Internetprotokolle. In diesem Kapitel werden seine Konfiguration.

sollte der Proxy in dieser Zone betrieben werden. In Abschnitt 29. „Konfigurieren eines transparenten Proxy“ (S. sodass er Objekte aus einem anderen Cache im lokalen Netzwerk oder direkt von der Quelle erhält. 578) wird die Implementierung eines transparenten Proxy beschrieben. sodass ein Cache Objektanforderungen an gleichgeordnete Caches oder einen übergeordneten Cache weiterleiten kann. Mehrere Proxies können gemeinsam verwendet werden.1 Squid und Sicherheit Squid kann zusammen mit einer Firewall verwendet werden. um interne Netzwerke mithilfe eines Proxy-Caches gegen Zugriffe von außen zu schützen. Außerdem können Cache-Hierarchien konfiguriert werden. Außerdem kann er ermitteln.1 Einige Tatsachen zu Proxy-Caches Als Proxy-Cache kann Squid auf verschiedene Weise verwendet werden. 566 Referenz .5. Die Firewall verweigert allen Clients Zugriff auf externe Dienste mit Ausnahme von Squid. Dadurch verringert sich die Gesamtlast im System und die Wahrscheinlichkeit. ein Objekt zu finden. 29.1.2 Mehrere Caches Mehrere Instanzen von Squid können für den Austausch von Objekten konfiguriert werden. Dadurch wird die Konfiguration der Clients erleichtert. Bei dieser Konfiguration steuert Squid den gesamten Webzugriff. Wenn zur Firewall-Konfiguration eine DMZ gehört.verschiedenen Caches unterstützt. 29. welche Objekttypen für wie lange im Cache gespeichert werden sollen. 29.1. das bereits im lokalen Netzwerk vorhanden ist. da sie in diesem Fall keine Informationen zum Proxy benötigen. werden zahlreiche andere Multimedia-Programme nicht unterstützt. Alle Webverbindungen müssen vom Proxy erstellt werden. In Kombination mit einer Firewall kann er die Sicherheit unterstützen. erhöht sich.

Diese beantworten die Anforderungen über ICP-Antworten mit einem HIT-Code. 29. Um dies zu ermitteln. Web. mit einem MISS-Code. Derartige Objekte werden nicht im Cache gespeichert. wird allen Objekten im Cache einer von mehreren möglichen Zuständen zugewiesen. Wenn mehrere HIT-Antworten gefunden wurden.3 Caching von Internetobjekten Nicht alle im Netzwerk verfügbaren Objekte sind statisch. der wiederum mit dem Proxy-Cache des ISP verbunden ist. wie beispielsweise CARP (Cache Array Routing Protocol) oder HTCP (Hypertext Cache Protocol). Diese Entscheidung ist unter anderem davon abhängig. Es gibt eine Vielzahl dynamisch erstellter CGI-Seiten. einen Proxyserver für jedes Subnetzwerk zu konfigurieren und mit einem übergeordneten Proxy zu verbinden.Die Auswahl einer geeigneten Topologie für die Cache-Hierarchie ist von entscheidender Bedeutung. von welchem Server heruntergeladen werden soll. werden andere ICP-Protokolle verwendet. da es nicht erstrebenswert ist. Es bleibt die Frage. TIPP Um eine Verdopplung der Objekte in verschiedenen Caches im Netzwerk zu vermeiden. Je mehr Objekte sich im Netzwerk befinden. wird die Anforderung an den übergeordneten Cache gesendet.1. desto größer ist die Wahrscheinlichkeit. Wenn keine zufrieden stellenden Antworten eingehen. wie lange alle anderen im Cache gespeicherten Objekte dort verbleiben sollten. das gewünschte zu finden. da sie sich bei jedem Zugriff ändern. das Gesamtaufkommen an Datenverkehr im Netzwerk zu erhöhen. welcher Cache die schnellste Antwort gesendet hat bzw. indem sie Header zu diesen Objekten hinzufügen. beispielsweise „Zuletzt Der Proxyserver Squid 567 . Bei sehr großen Netzwerken ist es sinnvoll. welcher näher ist. das über dem UDP-Protokoll ausgeführt wird. wenn das Objekt erkannt wurde bzw. sendet ein Cache eine ICP-Anforderung an alle gleichgeordneten Proxies. Die Übertragungen zwischen den Caches erfolgen über HTTP (Hypertext Transmission Protocol) auf der Grundlage von TCP. legt der Proxyserver fest. Diese gesamte Kommunikation wird über das ICP (Internet Cache Protocol) abgewickelt. Um den geeignetsten Server zum Abrufen der Objekte zu finden. wenn es nicht erkannt wurde. Besucherzähler und verschlüsselter SSL-Inhaltsdokumente.und Proxyserver ermitteln den Status eines Objekts.

wenn Squid an der Grenze seiner Leistungsfähigkeit arbeitet. und das entsprechende Datum. Im Zweifelsfall ist es vorzuziehen. Andere Header.2. die Squid von der Festplatte liest oder auf die Festplatte schreibt. die maximale Netzwerklast zu ermitteln. muss diesem Faktor besondere Aufmerksamkeit gewidmet werden. die das System tragen muss. Dazu werden Algorithmen. dass der Proxy die Objekte löscht.2. 29. Eine Möglichkeit zur Systembeschleunigung besteht in der gleichzeitigen Verwendung mehrerer Festplatten oder im Einsatz von Striping-RAID-Arrays.1 Festplatten Da Geschwindigkeit beim Caching eine wichtige Rolle spielt.2 Systemvoraussetzungen Die wichtigste Aufgabe besteht darin. die Systemanforderungen zu hoch einzuschätzen. das sich bereits dort befindet) gering. gemessen in Millisekunden) beschrieben. Wenn beispiels- 568 Referenz . dass Objekte nicht im Cache gespeichert werden dürfen. Bei Festplatten wird dieser Parameter als random seek time (Zufallszugriffszeit. die mehr als das Vierfache des Tagesdurchschnitts betragen können. eher klein zu sein scheinen. die angeben.2 Größe des Festplatten-Cache Bei einem kleinen Cache ist die Wahrscheinlichkeit eines HIT (Auffinden des angeforderten Objekts. werden ebenfalls verwendet. ist die Zugriffszeit der Festplatte entscheidender als ihr Datendurchsatz.geändert“ oder „Läuft ab“. Da die Datenblöcke. 29. Die folgenden Abschnitte widmen sich den einzelnen Systemfaktoren in der Reihenfolge ihrer Wichtigkeit. da der Cache schnell voll ist und die weniger häufig angeforderten Objekte durch neuere ersetzt werden. Für die Zwecke von Proxies sind Festplatten mit hoher Rotationsgeschwindigkeit wohl die bessere Wahl. verwendet. Dies bedeutet im Wesentlichen. 29. Daher muss besonders auf die Belastungsspitzen geachtet werden. da bei diesen der Lese-Schreib-Kopf schneller an die gewünschte Stelle gebracht werden kann. Objekte im Cache werden normalerweise aufgrund mangelnden Festplattenspeichers ersetzt. die am längsten nicht mehr angefordert wurden. da es zu erheblichen Einbußen in der Qualität des Diensts führen kann. wie beispielsweise LRU (last recently used).

2. 29. um das Abrufen dieser Daten zu beschleunigen.cgi kan für die Arbeitsspeicherverwaltung des Cache verwendet werden. Durch die Verwendung eines Computers mit mehreren Prozessoren wird die System- Der Proxyserver Squid 569 .6 GB an einem einzigen Tag erreicht. Bei einer Verbindung mit 1 Mbit/s beträgt die maximale Übertragungsrate 125 KB/s. Die Prozessorlast wird nur erhöht. 581) behandelt. Das Werkzeug cachemgr. damit Squid die durchsuchten Daten eines Tags im Cache speichern kann. Die einfachste Methode zur Ermittlung der benötigten Cache-Größe geht von der maximalen Übertragungsrate der Verbindung aus. da die Systemleistung erheblich eingeschränkt ist. die Squid im Arbeitsspeicher benötigt. Außerdem gibt es andere Daten. während die Inhalte des Cache geladen oder überprüft werden. „cachemgr. Daher sind bei diesem Beispiel 2 GB Festplattenspeicher erforderlich. Wenn dieser Datenverkehr vollständig im Cache gespeichert wird.cgi“ (S.3 RAM Der von Squid benötigte Arbeitsspeicher (RAM) steht in direktem Verhältnis zur Anzahl der Objekte im Cache. 29.4 CPU Die Verwendung von Squid bringt keine intensive CPU-Auslastung mit sich. bei etwa 2 GB liegt. Es ist sehr wichtig.6. beispielsweise eine Tabelle mit allen IP-Adressen.2. Da normalerweise nicht das gesamte Volumen der Verbindung ausgeschöpft wird. das auf den Cache zukommt. einen exakten Domänennamen-Cache. ergeben sich in einer Stunde 450 MB. wenn ein Wechsel auf die Festplatte erforderlich ist. um den Cache zu füllen. kann angenommen werden. Außerdem speichert Squid Cache-Objekt-Bezüge und häufig angeforderte Objekte im Hauptspeicher. Zugriffssteuerungslisten. Dieses Werkzeug wird in Abschnitt 29. RAM ist wesentlich schneller als eine Festplatte.weise 1 GB für den Cache zur Verfügung steht und die Benutzer nur Datenverkehr im Umfang von 10 MB pro Tag in Anspruch nehmen. dass das Gesamtdatenvolumen. dass genügend Arbeitsspeicher für den Squid-Vorgang zur Verfügung steht. Puffer usw.oder Intel EM64T-Systems mit mehr als 4 GB Arbeitsspeicher in Erwägung gezogen werden. Dadurch würden bei 8 Arbeitsstunden 3. Bei Sites mit extrem hohem Netzwerkverkehr sollte die Verwendung eines AMD64. dauert es mehrere hundert Tage. die am häufigsten angeforderten Objekte.

Beim ersten Start muss zunächst die Verzeichnisstruktur des Cache in /var/cache/squid definiert werden. sollten vielmehr schnellere Festplatten oder ein größerer Arbeitsspeicher verwendet werden. 576). In diesem Fall sollte zumindest der Namenserver eingegeben werden.conf gefunden wird.1 Befehle zum Starten und Stoppen von Squid Geben Sie zum Starten von Squid als root in der Befehlszeile den Befehl rcsquid start ein. 29.3. Wenn rechts in grüner Schrift done angezeigt wird.4.3 Starten von Squid Squid ist in SUSE Linux bereits vorkonfiguriert. Um Benutzern aus dem lokalen System und anderen Systemen den Zugriff auf Squid und das Internet zu ermöglichen. wenn kein DNS-Server in /etc/resolv. Sie können das Programm unmittelbar nach der Installation starten. die den Zugriff auf den Proxy steuern. Alternativ können Sie mit rcsquid restart einen vollständigen Neustart von Squid durchführen. 29. dass mindestens ein Namenserver und das Internet erreicht werden können. sollte das Netzwerk so konfiguriert werden. da Squid nicht startet. Daher sollten Sie ACLs definieren. Weitere Informationen hierzu finden Sie in Abschnitt 29.conf muss Squid die Konfigurationsdatei erneut laden. wenn eine Einwahlverbindung zusammen mit einer dynamischen DNS-Konfiguration verwendet wird. Verwenden Sie hierfür rcsquid reload. Um die Funktionsfähigkeit von Squid im lokalen System zu testen. Dies geschieht automatisch über das Startskript /etc/init. „Optionen für die Zugriffssteuerung“ (S. dass dadurch jedem der vollständige Zugriff auf Squid ermöglicht wird. müssen Sie den Eintrag in den Konfigurationsdateien /etc/squid/squid. Um die Effizienz zu steigern.2. Es können Probleme auftreten. 570 Referenz . geben Sie localhost als Proxy und 3128 als Port im Browser an. Nach der Bearbeitung der Konfigurationsdatei /etc/squid/squid. Um einen reibungslosen Start zu gewährleisten. wurde Squid erfolgreich geladen.leistung nicht erhöht.conf von http_access deny all in http_access allow all ändern. Beachten Sie dabei jedoch.d/squid und kann einige Sekunden oder sogar Minuten in Anspruch nehmen.

↑Start). überprüfen Sie. müssen Sie Squid mithilfe des YaSTRunlevel-Editors für die gewünschten Runlevels aktivieren. Dynamisches DNS Normalerweise wird bei dynamischem DNS der DNS-Server während des Aufbaus der Internetverbindung vom Anbieter festgelegt und die lokale Datei /etc/ resolv.conf fehlt.3.log. ob der Proxy ausgeführt wird. Dieser Vorgang kann einige Zeit in Anspruch nehmen. hängt davon ab. da Squid bis zu einer halben Minute (Option shutdown_lifetime in /etc/squid/squid. Siehe Abschnitt „Systemdienste (Runlevel)“ (Kapitel 2. muss der beschädigte Cache gelöscht werden. Systemkonfiguration mit YaST. 408)).conf) wartet. ob ein fehlerhafter Namenservereintrag vorliegt oder ob die Datei /etc/resolv. „Starten des Namenservers BIND“ (S. Damit Squid neu gestartet werden kann. Er fungiert dann einfach als Nur-Cache-Namenserver und kann außerdem DNS-Anforderungen über die Root-Namenserver auflösen. Wie dies durchgeführt werden kann.2 Lokaler DNS-Server Die Einrichtung eines lokalen DNS-Servers ist sinnvoll. Um diese zu entfernen. ohne dass irgendeine spezielle Konfiguration erforderlich ist (siehe Abschnitt 20.conf wird automatisch angepasst. Squid protokolliert die Ursache eines Startfehlers in der Datei /var/log/squid/cache. müssen Sie das Verzeichnis /var/ cache/squid manuell löschen. WARNUNG: Beenden von Squid Das Beenden von Squid mit kill oder killall kann zur Beschädigung des Cache führen. Dieses Verhalten wird in der Datei /etc/sysconfig/network/config mit der sysconfig-Variablen Der Proxyserver Squid 571 . Durch eine Deinstallation von Squid werden weder die Cache-Hierarchie noch die Protokolldateien entfernt.3. bevor es die Verbindungen zu den Clients trennt und seine Daten auf die Festplatte schreibt. ob Sie bei der Konfiguration der Internetverbindung dynamisches DNS auswählen. obwohl das Programm erfolgreich gestartet wurde. Mit dem Befehl rcsquid stop wird Squid heruntergefahren. Wenn Squid nach kurzer Zeit nicht mehr funktioniert. selbst wenn er nicht seine eigene Domäne verwaltet. Wenn Squid beim Booten des Systems automatisch geladen werden soll.Mit dem Befehl rcsquid status kann überprüft werden. 29.

Fast alle Einträge beginnen mit # (kommentierte Zeilen) und die relevanten Spezifikationen befinden sich am Ende der 572 Referenz . Setzen Sie diese Variable mit dem sysconfig-Editor von YaST auf „no“ (sieheAbschnitt 8. Außerdem muss der statische Namenserver des Anbieters zusammen mit seiner IP-Adresse manuell in die Datei /etc/named .MODIFY_RESOLV_CONF_DYNAMICALLY gesteuert. Geben Sie anschließend den lokalen DNS-Server in die Datei /etc/resolv. TIPP: DNS und Firewall Wenn eine Firewall ausgeführt wird. Der Standardport ist 3128.conf ein. „Ändern der Systemkonfiguration mithilfe des YaST-Editors „sysconfig““ (S. wenn er gestartet wird.0. Sie müssen jedoch den lokalen DNS-Server in die Datei /etc/resolv. Der Proxy ist für localhost verfügbar. indem die sysconfig-Variable MODIFY_NAMED_CONF_DYNAMICALLY auf YES gesetzt wird. Beim ersten Start von Squid sind keine Änderungen in dieser Datei erforderlich. geben Sie ihn zusammen mit seiner IP-Adresse in die Konfigurationsdatei /etc/named . sodass auch keine sysconfig-Variablen geändert werden müssen. Statisches DNS Beim statischen DNS finden beim Verbindunsgsaufbau keine automatischen DNSAnpassungen statt. externen Clients wird jedoch ursprünglich der Zugriff verweigert.conf Alle Einstellungen für den Squid-Proxyserver werden in der Datei /etc/squid/ squid. dass DNSAnforderungen durchgelassen werden. müssen Sie sicherstellen. 207)). die auf „yes“ gesetzt ist.1 für localhost.conf bietet detaillierte Informationen zu den Optionen sowie zahlreiche Beispiele.4 Die Konfigurationsdatei /etc/squid/squid.conf unter forwarders ein.conf unter forwarders eingegeben werden. Auf diese Weise kann Squid immer den lokalen Namenserver finden.conf vorgenommen. Verwenden Sie die IP-Adresse 127.0. 29. Mit dynamischem DNS kann dies automatisch während des Verbindungsaufbaus erreicht werden.1. Um den Zugriff auf den Namenserver des Anbieters zu ermöglichen. wie oben beschrieben.conf eingeben.3. Die vorinstallierte Konfigurationsdatei /etc/squid/squid.

die ebenfalls vom Operator des Parent für die Verwendung im Browser angegeben wurde.Zeile. Geben Sie als hostname den Namen und die IPAdresse des zu verwendenden Proxy und als type parent ein. 8080 wird jedoch ebenfalls häufig verwendet. Der StandardPort ist 3128. Setzen Sie icp-port auf 7 oder 0. 29.1 Allgemeine Konfigurationsoptionen (Auswahl) http_port 3128 Dies ist der Port. in der Regel 8080. Lassen Sie die Beispiele nach Möglichkeit unverändert und geben Sie die Optionen zusammen mit den geänderten Parametern in der Zeile darunter ein. dass die Konfiguration nicht mehr funktioniert. da die Optionen manchmal bearbeitet und neue Änderungen hinzugefügt werden. sodass das Entfernen der Kommentarzeichen ohne Ändern der Parameter in den meisten Fällen kaum Auswirkungen hat. Auf diese Weise können die Standardwerte problemlos wiederhergestellt und mit den Änderungen verglichen werden. wenn der ICP-Port des übergeordneten Proxy nicht bekannt ist und seine Verwendung für den Anbieter nicht wichtig ist. Der Proxyserver Squid 573 .conf bearbeiten und nur die in der vorherigen Datei vorgenommenen Änderungen übernehmen. besteht das Risiko. um die Verwendung des ICP-Protokolls zu verhindern. sollten Sie die neue Datei /etc/squid/squid. TIPP: Anpassen der Konfigurationsdatei nach einer Aktualisierung Wenn Sie eine Aktualisierung einer früheren Squid-Version durchgeführt haben. Außerdem können default und no-query nach den Portnummern angegeben werden. den Squid auf Client-Anforderungen überwacht. Wenn Sie versuchen. Geben Sie als proxy-port die Portnummer ein. Die angegebenen Werte korrelieren fast immer mit den Standardwerten. die alte squid.conf zu verwenden.4. cache_peer hostname type proxy-port icp-port Geben Sie hier einen übergeordneten Proxy ein. Sie können auch mehrere Portnummern durch Leerzeichen getrennt eingeben. Squid verhält sich dann in Bezug auf den Proxy des Anbieters wie ein normaler Browser. beispielsweise wenn Sie den Proxy Ihres ISP verwenden möchten.

Standardmäßig werden 100 MB Speicherplatz im Verzeichnis /var/cache/ squid belegt und 16 Unterverzeichnisse erstellt. cache_dir ufs /var/cache/squid/ 100 16 256 Der Eintrag cache_dir legt das Verzeichnis fest. Die letzte Ziffer der IP-Adresse wird auf 0 gesetzt.255. da zu viele Verzeichnisse ebenfalls zu Leistungsproblemen führen können.log Diese drei Einträge geben die Pfade an. Die letzten beiden Werte für die Verzeichnisse sollten nur nach reiflicher Überlegung erhöht werden. in dem alle Objekte auf dem Datenträger gespeichert werden. Wenn der Cache von mehreren Datenträgern gemeinsam verwendet wird. cache_access_log /var/log/squid/access.255 Mit diesem Eintrag werden die IP-Adressen von Clients in den Protokolldateien maskiert.255. Die Zahlen am Ende geben den maximal zu verwendenden Festplattenspeicher in BM und die Anzahl der Verzeichnisse auf der ersten und zweiten Ebene an. client_netmask 255. Einige Evaluierungsprogramme können solche Dateien jedoch nicht interpretieren. Auf diese Weise können Sie den Datenschutz für die Clients gewährleisten. müssen Sie mehrere cache_dir-Zeilen eingeben. erhalten Sie lesbare Protokolldateien.log. wenn Sie hier 255.cache_mem 8 MB Dieser Eintrag legt fest. cache_log /var/log/squid/cache. Cache und Protokolldateien auf mehrere Datenträger zu verteilen. genügend Reserve einzuplanen. Der Standardwert ist 8 MB. wie viel Arbeitsspeicher Squid für besonders beliebte Antworten verwenden kann. Achten Sie bei der Angabe des zu verwendenden Speicherplatzes darauf. Normalerweise werden hier keine Änderungen vorgenommen.255. 574 Referenz . cache_store_log /var/log/squid/store.255. unter denen Squid alle Aktionen protokolliert. Dieser Wert gibt nicht die Arbeitsspeichernutzung von Squid an und kann überschritten werden. Werte von mindestens 50 bis maximal 80 % des verfügbaren Speicherplatzes erscheinen hier am sinnvollsten. Der Parameter ufs sollte nicht geändert werden. Bei hoher Auslastung von Squid kann es sinnvoll sein. die wiederum jeweils 256 Unterverzeichnisse aufweisen.log.0 eingeben. emulate_httpd_log off Wenn der Eintrag auf on gesetzt ist.

entfernt Squid die IP-Adresse und den Systemnamen des Client aus den HTTP-Anforderungen. In solchen Fällen sollten Sie minutes in seconds ändern. forwarded_for on Wenn Sie den Eintrag auf off setzen. cache_mgr webmaster Eine E-Mail-Adresse. wenn keine angegeben wurde. append_domain <Domaene> Mit append_domain können Sie angeben. Normalerweise wird hier die eigene Domäne angegeben. logfile_rotate 0 Bei Ausführung von squid -k rotate kann Squid ein Rotationssystem für gesicherte Protokolldateien einführen. das Squid für die anonyme FTPAnmeldung verwenden soll. an die Squid eine Meldung sendet. da einige FTP-Server die Adressen auf Gültigkeit prüfen.0 negative_ttl 5 minutes. beispielsweise: X-Forwarded-For: 192. wenn es plötzlich abstürzt. negative_dns_ttl 5 minutes Die hier angegebenen Werte müssen in der Regel nicht geändert werden. welche Domäne automatisch angefügt wird.168. Bei einer Einwahlverbindung kann das Internet jedoch zeitweise nicht verfügbar sein.0. Der Standardwert ist webmaster. Es kann sinnvoll sein. Squid protokolliert die nicht erfolgreichen Anforderungen und lässt dann keine weiteren zu. Der Proxyserver Squid 575 . Danach sollte nach dem Klicken auf Neu laden im Browser der Einwahlvorgang nach wenigen Sekunden wieder aktiviert werden.ftp_user Squid@ Mit dieser Option wird das Passwort festgelegt. da das Archivieren und Löschen von Protokolldateien in SUSE Linux von einem in der Konfigurationsdatei /etc/ logrotate/squid festgelegten Cronjob durchgeführt wird. Der Standardwert ist 0. auch wenn die Internetverbindung zwischenzeitlich wieder hergestellt wurde. hier eine gültige E-MailAdresse anzugeben. Bei diesem Prozess werden die Dateien nummeriert und nach dem Erreichen des angegebenen Werts wird die älteste Datei überschrieben. sodass bei der Eingabe von www im Browser ein Zugriff auf Ihren eigenen Webserver erfolgt. Andernfalls wird eine Zeile zum Header hinzugefügt.

müssen Sie mit dem oben stehenden Befehl die Verbindung mit einem anderen Proxy erzwingen.0-192. Der Name <ACL-Name> kann frei gewählt werden.0 lunch time MTWHF 12:00-15:00 http_access allow <ACL-Name> http_access legt fest.2 Optionen für die Zugriffssteuerung Squid bietet ein detailliertes System für die Steuerung des Zugriffs auf den Proxy. Im Folgenden finden Sie einige einfache Beispiele: acl acl acl acl mysurfers srcdomain .168. zulassen.255. sind bereits vorhanden. wie beispielsweise all und localhost.0/255. wer den Proxy verwenden kann und wer auf welche Seiten im Internet zugreifen kann. die Sie im Abschnitt ACCESS CONTROLS in der Datei /etc/squid/squid.com teachers src 192. acl <ACL-Name> <Typ> <Daten> Für die Definition einer ACL sind mindestens drei Spezifikationen erforderlich. Dieser muss zuvor unter cache_peer eingegeben worden sein. Hierfür müssen ACLs angegeben werden. Dazu gehören Listen mit Regeln. Einige StandardACLs.0/255. bevor sie verwendet werden können. IP-Adressen oder URLs. allow verweigern bzw. dass Squid Anforderungen direkt aus dem Internet entgegennimmt. Durch die Implementierung von ACLs kann es problemlos und umfassend konfiguriert werden. werden alle Anforderungen zwangsweise direkt an den übergeordneten Proxy (parent) weitergeleitet. Dies kann beispielsweise dann erforderlich sein.conf finden.255. Die ACLs müssen zuerst definiert werden.Einträgen erstellt und von oben nach unten verarbeitet 576 Referenz . die nacheinander verarbeitet werden. Die Spezifikation für <Daten> hängt vom einzelnen ACL-Typ ab und kann auch aus einer Datei gelesen werden.never_direct allow ACL-Name Um zu verhindern. 29.4.168. dass sie tatsächlich angewendet wird. der die Verwendung der eigenen Proxies strikt vorschreibt oder der durch seine Firewall direkten Internetzugriff verweigert.9.7.0 students src 192. Als <Typ> können Sie aus einer Vielzahl verschiedener Optionen wählen. localhost und all wurden bereits oben definiert. Die bloße Definition einer ACL bedeutet jedoch noch nicht. Wenn als ACL-Name all angegeben wird. Diese Optionen können den Zugriff über deny bzw.255.1.255. beispielsweise über Hostnamen. wenn Sie einen Anbieter verwenden. Es können Listen mit einer beliebigen Anzahl von http_access. Dies geschieht nur in Verbindung mit http_access-Regeln.168.my-domain.

in das er den Benutzernamen und das Passwort eingeben muss. sodass nur Clients mit einer gültigen Anmeldung das Internet benutzen können. bei dem diese Regeln verwendet werden. Außerdem ist noch immer eine ACL erforderlich. Also zwischen dem Text # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR # CLIENTS und dem letzten http_access deny all redirect_program /usr/bin/squidGuard Mit dieser Option können Sie eine Umleitungsfunktion. während allen anderen Hosts der Zugriff vollständig verweigert wird. angeben. wie beispielsweise squidGuard.conf eingegeben werden. Der letzte Eintrag sollte immer http_access deny all lauten. das installiert und konfiguriert werden kann. http_access http_access http_access http_access deny localhost allow teachers allow students lunch time deny all Die Liste mit den http_access-Einträgen sollte um der besseren Lesbarkeit willen nur an der angegebenen Position in der Datei /etc/squid/squid. Die Gruppe students erhält nur montags bis freitags während der Mittagspause Zugriff. Der Proxyserver Squid 577 . die das Blockieren unerwünschter URLs ermöglicht.werden. Beim ersten Zugriff auf pam_auth wird dem Benutzer ein Anmeldefenster angezeigt. Der Internetzugang kann mithilfe der Proxy-Authentifizierung und der entsprechenden ACLs individuell für verschiedene Benutzergruppen gesteuert werden. Im folgenden Beispiel hat localhost freien Zugriff auf alle Elemente. wird der Zugriff auf die betreffende URL gestattet oder verweigert. hat die Gruppe teachers immer Zugriff auf das Internet. Je nachdem. beispielsweise pam_auth. geben Sie ein entsprechendes Programm an. auth_param basic program /usr/sbin/pam_auth Wenn die Benutzer auf dem Proxy authentifiziert werden müssen. http_access allow localhost http_access deny all In einem anderen Beispiel. squidGuard ist ein gesondertes Paket. was zuerst vorkommt.

um die Identität der einzelnen Benutzer zu ermitteln.acl password proxy_auth REQUIRED http_access allow password http_access deny all Das REQUIRED nach proxy_auth kann durch eine Liste der zulässigen Benutzernamen oder durch den Pfad zu einer solchen Liste ersetzt werden. ident_lookup_access allow <ACL-Name> Lassen Sie damit eine ident-Anforderung für alle ACL-definierten Clients ausführen. Wenn Sie all auf <ACLName> anwenden. definieren Sie hier eine entsprechende ACL: acl identhosts ident REQUIRED http_access allow password http_access deny all Ersetzen Sie auch hier REQUIRED durch eine Liste der zulässigen Benutzernamen. 578 Referenz . Durch die Verwendung von ident kann die Zugriffszeit erheblich reduziert werden. gilt dies für alle Clients. unabhängig davon. da die ident-Lookups für jede Anforderung wiederholt werden. dass nur Clients mit einem erfolgreichen ident-Lookup zulässig sind. Für Microsoft Windows steht kostenlose Software zum Herunterladen aus dem Internet zur Verfügung. Bei der Arbeit in einem Netzwerk können verschiedene Situationen entstehen: • Aus Sicherheitsgründen sollten alle Clients einen Proxy für den Zugriff auf das Internet verwenden. Außerdem muss ein ident-Daemon auf allen Clients ausgeführt werden. ob sie sich in seinem Cache befinden oder nicht. Bei Linux installieren Sie für diesen Zweck das Paket „pidentd“. 29.5 Konfigurieren eines transparenten Proxy Normalerweise läuft die Arbeit mit Proxyservern folgendermaßen ab: Der Webbrowser sendet Anforderungen an einen bestimmten Port im Proxyserver und der Proxy stellt die angeforderten Objekte bereit. Um sicherzustellen.

• Der Proxy in einem Netzwerk wird verschoben. In all diesen Fällen kann ein transparenter Proxy verwendet werden. woher sie kommen.1 Konfigurationsoptionen in /etc/squid/squid. ohne dass bekannt ist. die vorhandenen Clients sollten jedoch ihre alte Konfiguration beibehalten.5. verläuft der gesamte Prozess transparent. unabhängig davon. Die Konfigurationsdatei besteht aus gut dokumentierten Einträgen. Verwenden Sie dazu das eingeschlossene Werkzeug SuSEfirewall2 (in „Konfiguration mit YaST“ (S. 29. Der Proxyserver Squid 579 .conf aktiviert werden. sodass der Webbrowser die angeforderten Seiten erhält. ob sie sich dessen bewusst sind. 116) beschrieben).2 Firewall-Konfiguration mit SuSEfirewall2 Leiten Sie nun alle eingehenden Anforderungen über die Firewall mithilfe einer PortWeiterleitungsregel an den Squid-Port um. Das Prinzip ist extrem einfach: Der Proxy fängt die Anforderungen des Webbrowsers ab und beantwortet sie. um den transparenten Proxy in Betrieb zu nehmen: • httpd_accel_host virtual • httpd_accel_port 80 Die Portnummer des eigentlichen HTTP-Servers • httpd_accel_with_proxy on • httpd_accel_uses_host_header on 29. Die Konfigurationsdatei dieses Programms finden Sie in /etc/sysconfig/ SuSEfirewall2. Wie der Name schon andeutet.• Alle Clients müssen einen Proxy verwenden.conf Folgende Optionen müssen in der Datei /etc/squid/squid.5.

auf die vom sicheren (internen) Netzwerk aus zugegriffen wird (sowohl über TCP als auch über UDP): FW_SERVICES_INT_TCP="domain www 3128" FW_SERVICES_INT_UDP=„domain“ Dies ermöglicht den Zugriff auf Webdienste und Squid (Standardport: 3128).1 Firewall-Konfiguration: Option 15 # # # # # # # # # # # # # # 15.3128 0/0.8080" 580 Referenz . In diesem Beispiel werden nur Webdienste für den Außenbereich angeboten: FW_SERVICES_EXT_TCP="www" Definieren Sie Ports und Dienste (siehe /etc/services) auf der Firewall. separated with spaces.Um einen transparenten Proxy festzulegen. or transparently redirect incoming Web traffic to a secure Web server.g. wie beispielsweise dem Internet. Der Dienst „domain“ steht für DNS (Domain Name Service. Andernfalls nehmen Sie einfach die oben stehenden Einträge heraus und setzten Sie die folgende Option auf no: FW_SERVICE_DNS="yes" Die wichtigste Option ist Option Nummer 15: Beispiel 29.80.0.0/8.1. erfolgt. Domänennamen-Dienst).) Which accesses to services should be redirected to a local port on the firewall machine? This can be used to force all internal users to surf via your Squid proxy. Choice: leave empty or use the following explained syntax of redirecting rules. das auf das Netzwerk verweist: FW_DEV_INT="eth0" Ports und Dienste (siehe /etc/services) auf der Firewall definieren. Dieser Dienst wird häufig verwendet. separated by a colon.80. A redirecting rule consists of 1) source IP/net.172. müssen Sie mehrere Firewall-Optionen konfigurieren: • Gerät. e. auf die ein Zugriff von nicht verbürgten (externen) Netzwerken.0. das auf das Internet verweist: FW_DEV_EXT="eth1" • Gerät. 3) original destination port and 4) local port to redirect the traffic to. 2) destination IP/net.20.1.0/0. "10.

0/0.0/16.0/0.21.log überprüfen.0/16.0. die auf die ProxyFirewall zugreifen. Starten Sie Squid.0/16.3128 192. beispielsweise FTP (Port 21). und schließlich den Port. Geben Sie bei Webbrowsern die Netzwerke 0/0 an.168. Geben Sie zuerst die IP-Adresse und die Netzmaske der internen Netzwerke ein. 570) gezeigt.6 cachemgr.21. HTTPS oder SSL (Port 443).3128 192. Da Squid andere Protokolle als HTTP unterstützt. Um sicherzustellen.80.0/0. an den diese Anforderungen gesendet werden. Der Proxyserver Squid 581 .0.0. Geben Sie anschließend den ursprünglichen Port ein.3128" Um die Firewall mit der neuen Konfiguration zu starten. müssen diese im entsprechenden Eintrag durch ein Leerzeichen getrennt sein. In diesem Beispiel werden Webdienste (Port 80) an den Proxy-Port (Port 3128) umgeleitet. müssen Sie eine Portabsuche auf dem Computer von einem beliebigen Computer außerhalb Ihres Netzwerks aus durchführen.3128" FW_REDIRECT_UDP="192. Die Befehlssyntax für das Absuchen der Ports mit nmap lautet nmap -O IP_address.Die oben angegebenen Kommentare geben die zu verwendende Syntax an. an den alle diese Anforderungen umgeleitet werden. Um zu überprüfen.0/0. müssen Sie einen Eintrag in der Datei /etc/sysconfig/SuSEfirewall2 ändern.cgi) ist ein CGI-Dienstprogramm für die Anzeige der Statistiken zur Arbeitsspeichernutzung eines laufenden Squid-Prozesses. Dieser Platzhalter bedeutet „überallhin“. 29. Wenn mehrere Netzwerke bzw. an die diese Clients ihre Anforderungen senden. Geben Sie als Zweites die IP-Adresse und die Netzmaske ein. Dienste hinzugefügt werden sollen. müssen Anforderungen von anderen Ports an den Proxy umgeleitet werden. Der Eintrag START_FW muss auf „yes“ gesetzt werden. „Starten von Squid“ (S. FW_REDIRECT_TCP="192. Außerdem bietet er eine bequemere Methode zur Verwaltung des Cache und zur Anzeige der Statistiken ohne Anmeldung beim Server.3.0. dass alle Ports korrekt konfiguriert sind. wie in Abschnitt 29.168.80. müssen Sie die Squid-Protokolle in /var/log/squid/access.168.cgi Der Cache-Manager (cachemgr. ob alles ordnungsgemäß funktioniert.0/16. Nur die Webdienste (Port 80) sollten verfügbar sein.168.

müssen Sie eine zusätzliche ACL aufnehmen.255 Folgende Regeln gewähren Apache Zugriffsrechte auf Squid: http_access allow manager localhost http_access deny manager Diese Regeln setzen voraus. „Zugriffsregeln“ (S. Wenn die Kommunikation zwischen Cache-Manager und Squid von dem Webserver auf einem anderen Computer ihren Ausgang nimmt. Zuerst werden zwei ACLs definiert. Der HTTP-Server Apache (S. Der letzte Schritt besteht darin. um Zugriff vom CGI-Script auf Squid zu gewähren. Die erste ACL ist die wichtigste. Andernfalls geben Sie rcapache start ein.6.2. 485) beschrieben.6. da der Cache-Manager versucht. acl manager proto cache_object acl localhost src 127.cgi in das Apache-Verzeichnis cgi-bin zu kopieren: cp /usr/share/doc/packages/squid/scripts/cachemgr. wie in Beispiel 29. Konfigurieren Sie Apache.0. geben Sie als root den Befehl rcapache status ein. Anschließend verwenden die http_access-Optionen diese ACLs. dass der Webserver und Squid auf demselben Computer ausgeführt werden.29. die für den Cache-Manager erforderlich sind. ob Apache bereits ausgeführt wird. 582 Referenz .cgi /srv/www/cgi-bin/ 29. 583) beschrieben.2 Cache-Manager-ACLs in /etc/squid/squid.1/255.conf Es gibt einige Standardeinstellungen in der Originaldatei.255. wie in Kapitel 26. Um zu überprüfen.0. Wenn eine Meldung der folgenden Art angezeigt wird: Checking for service httpd: OK Server uptime: 1 day 18 hours 29 minutes 39 seconds wird Apache auf dem Rechner angezeigt. über das cache_objectProtokoll mit Squid zu kommunizieren.255. um Apache mit den Standardeinstellungen von SUSE Linux zu starten.1 Setup Zunächst muss ein Webserver in Ihrem System ausgeführt werden. die Datei cachemgr.

3 Anzeige der Statistiken Rufen Sie die entsprechende Website auf: http://webserver.1.example.squid-cache.0.squidguard.255. wie das Schließen des Cache über entfernten Zugriff oder die Anzeige weiterer Informationen zum Cache. um den Zugriff vom Webserver zu gestatten. Der Proxyserver Squid 583 .org/ cgi-bin/cachemgr.2 Zugriffsregeln acl manager proto cache_object acl localhost src 127.7 squidGuard Dieser Abschnitt dient nicht zur Erläuterung einer umfassenden Konfiguration von squidGuard. Diese Liste wird als Teil des Eintragskommentars in /etc/squid/squid.6.255. Konfigurieren Sie hierfür den Eintrag cachemgr_passwd mit einem Passwort für den Manager und der Liste der anzuzeigenden Optionen. Weitere Details für die einzelnen. „Zugriffsregeln“ (S.3.3 Zugriffsregeln http_access allow manager localhost http_access allow manager webserver http_access deny manager Konfigurieren Sie ein Passwort für den Manager für den Zugriff auf weitere Optionen. 29.Beispiel 29.255 # webserver IP Fügen Sie dann die Regeln in Beispiel 29.cgi.conf angezeigt.html.org.255. Er soll lediglich eine Einführung und einige Hinweise für die Verwendung bieten: Eine Behandlung tiefer gehender Konfigurationsfragen finden Sie auf der squidGuard-Website unter http://www. 583) hinzu.0. Drücken Sie continue (Fortsetzen) und blättern Sie durch die verschiedenen Statistiken. Verwenden Sie hierfür einfach rcsquid reload.org/Doc/FAQ/FAQ-9. Beispiel 29.1/255.168.255 acl webserver src 192.7/255. Starten Sie Squid nach jeder Änderung der Konfigurationsdatei neu. vom Cache-Manager angezeigten Einträge finden Sie in den Squid FAQ unter http://www . 29.255.

• Blockieren des Zugriffs auf einige gelistete oder in einer Blacklist stehende Webserver bzw. um Squid umzuleiten. squidGuard verwendet die Standard-Umleitungsschnittstelle von Squid und bietet folgende Möglichkeiten: • Einschränken des Webzugriffs für einige Benutzer auf eine Liste akzeptierter oder gut bekannter Webserver bzw.und Zugriffssteuerungs-Plugin für Squid.org/config/. Wochentag. flexibles und schnelles Filter-. • Bearbeiten. • Verwenden verschiedener Regeln für verschiedene Benutzergruppen. URLs für einige Benutzer. die reguläre Ausdrücke oder Wörter aus einer entsprechenden Liste enthalten. wie JavaScript oder VBscript. wenn der Client eine Website anfordert. Die Verwendung von Apache wird dringend empfohlen. • Umleiten nicht registrierter Benutzer zu einem Registrierungsformular. Damit können Sie mehrere Zugriffsregeln mit verschiedenen Einschränkungen für verschiedene Benutzergruppen in einem SquidCache erstellen.squidguard. Filtern oder Zensieren von in HTML eingebetteten Skriptsprachen.conf an. Konfigurationsbeispiele finden Sie unter http://www. • Verwenden verschiedener Zugriffsregeln je nach Tageszeit. • Umleiten blockierter URLs an eine „intelligente“ CGI-basierte Informationsseite. squidGuard und Squid können nicht zu folgenden Zwecken eingesetzt werden: • Bearbeiten. Erstellen Sie als Nächstes eine Dummy-Seite mit „Zugriff verweigert“ oder eine mehr oder weniger komplexe CGI-Seite. 584 Referenz . Vor der Verwendung muss squidGuard zunächst installiert werden. Datum usw. Geben Sie eine Datei mit der Minimalkonfiguration als /etc/squidguard. Umleitungs. Später können Sie mit komplizierteren Konfigurationseinstellungen experimentieren. Filtern oder Zensieren von Text in Dokumenten.squidGuard ist ein kostenloses (GPL). • Blockieren des Zugriffs bestimmter Benutzer auf URLs. • Umleiten von Bannern in eine leere GIF-Datei. die auf der schwarzen Liste steht. URLs.

Beim Piping mehrerer Protokolldateien ist darauf zu achten.de/. Im Folgenden finden Sie einige Optionen des Programms: -a Ausgabe aller verfügbaren Berichte -w Ausgabe als HTML-Bericht Der Proxyserver Squid 585 .880 URLs (insgesamt 13. indem Sie rcsquid reload ausführen. dient zur Konfiguration der Anzahl der „Umleitungs“-Prozesse (in diesem Fall squidGuard-Prozesse). Die Calamaris-Homepage befindet sich unter http:// Calamaris. Melden Sie sich als root an und geben Sie cat access.900 Domänen und 7. mit dem Berichte über die Cache-Aktivität im ASCIIoder HTML-Format erstellt werden können. Das Programm ist recht benutzerfreundlich. Daher wird nicht empfohlen. Es arbeitet mit nativen SquidZugriffsprotokolldateien.conf: redirect_program /usr/bin/squidGuard Eine weitere Option.8 Erstellung von Cache-Berichten mit Calamaris Calamaris ist ein Perl-Skript. redirect_children. die auf dem Computer ausgeführt werden. Verwenden Sie folgenden Eintrag in der Datei /etc/squid/squid. 29. da die Zuordnung dieser Prozesse übermäßig viel Speicher verbrauchen würde. dass die Protokolldateien chronologisch (die ältesten Dateien zuerst) geordnet sind.files | calamaris Optionen > reportfile ein. Testen Sie nun Ihre Einstellungen mit einem Browser.000 Anforderungen innerhalb von 10 Sekunden verarbeitet werden.780) können 100.Konfigurieren Sie nun Squid für die Verwendung von squidGuard. redirect_children 4 Lassen Sie Squid abschließend die neue Konfiguration laden. squidGuard ist schnell genug. 5. um mit einer große Anzahl von Anforderungen umgehen zu können: bei einem Pentium-Prozessor mit 500 MHz.Cord.log. mehr als vier Prozesse festzulegen.

Das zugehörige Archiv finden Sie unter http://www .log | calamaris -a -w \ > /usr/local/httpd/htdocs/Squid/squidreport.net/. Ein weiteres leistungsstarkes Werkzeug zum Erstellen von Berichten ist SARG (Squid Analysis Report Generator).squid-cache. Hier finden Sie das Squid-Benutzerhandbuch und eine umfassende Sammlung mit FAQ zu Squid. 586 Referenz .2 access.html Dadurch wird der Bericht im Verzeichnis des Webservers gespeichert.-l Einschließen einer Meldung oder eines Logos in den Berichtsheader Weitere Informationen zu den verschiedenen Optionen finden Sie auf der Manualpage des Programms (man calamaris).9 Weitere Informationen Besuchen Sie die Squid-Homepage unter http://www.squid-cache.org/mail-archive/squid-users/.1 access.org/.log.gz. Typisches Beispiel: cat access. Zur Anzeige des Berichts ist Apache erforderlich. 29.sourceforge.log. Nach der Installation ist eine kleine HOWTO-Datei zu transparenten Proxies in howtoenh verfügbar: /usr/share/doc/howto/en/txt/TransparentProxy .orgMailinglisten zu Squid verfügbar. Außerdem sind Sie unter squid-users@squid-cache. Weitere Informationen hierzu finden Sie unter: http:// sarg.

Teil V. Mobilität .

.

die für die Steuerung von PCMCIA verfügbare Software und die Möglichkeiten zur Fehlersuche bei etwaigen Problemen werden in Kapitel 31. Platzbedarf und Stromverbrauch wichtige Eigenschaften sind. angeschlossen sein.und Modemkarten sowie externe Festplatten. ISDN.1 Energieeinsparung Durch die Integration von energieoptimierten Systemkomponenten bei der Herstellung von Notebooks erhöht sich die Eignung der Geräte für die Verwendung ohne Zugang Mobile Computernutzung mit Linux 589 . Ebenso zählen zahlreiche Software-Komponenten zu den Bestandteilen mobiler Computerszenarios und einige Anwendungen sind sogar speziell für die mobile Verwendung vorgesehen. Mobiltelefonen und dem Datenaustausch zwischen diesen Geräten in Verbindung gebracht. An Notebooks oder Desktop-Systeme können aber auch mobile Hardware-Komponenten. Flash-Laufwerke und Digitalkameras.Mobile Computernutzung mit Linux Die mobile Computernutzung wird meist mit Notebooks.1. 601) beschrieben.1 Notebooks Die Hardware von Notebooks unterscheidet sich von der eines normalen Desktopsystems. 30. Die Implementierung der Unterstützung für diese Hardware. die während der Konfiguration zu berücksichtigenden Aspekte. Die Hersteller von mobiler Hardware haben den PCMCIA-Standard (Personal Computer Memory Card International Association) entwickelt. Dieser Standard bezieht sich auf Speicherkarten. 30 30. Netzwerkschnittstellenkarten. dass hier Kriterien wie Austauschbarkeit. wie externe Festplatten. PDAs. PCMCIA (S. Dies liegt daran.

Ihr Beitrag zur Energieeinsparung ist mindestens so wichtig wie der des Betriebssystems. nicht verwendete PCMCIA-Karten usw. SUSE Linux unterstützt verschiedene Methoden. die den Energieverbrauch eines Notebooks beeinflussen und sich auf die Betriebsdauer bei Akkubetrieb auswirken.) • Ausschalten der Festplatte im Ruhezustand Detaillierte Hintergrundinformationen zur Energieverwaltung unter SUSE Linux und zum Betrieb des YaST-Energieverwaltungsmoduls finden Sie in Kapitel 33.1.2 Integration in unterschiedlichen Betriebsumgebungen Ihr System muss sich an unterschiedliche Betriebsumgebungen anpassen können. wenn es für mobile Computernutzung verwendet werden soll. 30. 627). In der folgenden Liste werden die Möglichkeiten zur Energieeinsparung in absteigender Reihenfolge ihrer Wirksamkeit angegeben: • Drosselung der CPU-Geschwindigkeit • Ausschalten der Anzeigebeleuchtung während Pausen • Manuelle Anpassung der Anzeigebeleuchtung • Ausstecken nicht verwendeter. externe Maus. Viele Dienste hängen von der Umgebung ab und die zu Grunde liegenden Clients müssen neu konfiguriert werden.zum Stromnetz. Energieverwaltung (S. 590 Referenz . Hotplug-fähiger Zubehörteile (USB-CD-ROM. SUSE Linux übernimmt diese Konfiguration für Sie.

Namensauflösung. sind folgende Dienste betroffen: Netzwerk Dazu gehören IP-Adresszuweisung. müssen die verschiedenen Anzeigekonfigurationen verfügbar sein.1 Integrieren eines Notebooks in ein Netzwerk Drucken ? ? Mail ? ? ? ? ? ? Proxy X-Konfiguration Netzwerk Bei einem Notebook beispielsweise.Abbildung 30. Drucken Die aktuelle Datenbank der verfügbaren Drucker und ein verfügbarer Druckserver (abhängig vom Netzwerk) müssen vorhanden sein. Internet-Konnektivität und Konnektivität mit anderen Netzwerken. das zwischen einem kleinen Heimnetzwerk zu Hause und einem Firmennetzwerk hin und her pendelt. Mobile Computernutzung mit Linux 591 . E-Mail und Proxys Wie beim Drucken muss die Liste der entsprechenden Server immer aktuell sein. X Wenn das Notebook zeitweise an einen Beamer oder einen externen Monitor angeschlossen ist.

B.und WPA-PSK-Verschlüsselung in WLANs mit Einwählverbindungen (mit smpppd). NetworkManager unterstützt WEP. Tabelle 30. Verwaltung der Systemkonfigurationsprofile (S. die als Profil bezeichnet wird. bevor umgeschaltet werden kann. Nein Nein 592 Referenz . Sie sind nützlich. Der Computer hat eine statische IP-Adresse. Die Anwendung benötigt das Root-Passwort.SUSE Linux bietet verschiedene Möglichkeiten zur Integration eines Notebooks in bestehende Betriebsumgebungen: SCPM SCPM (System Configuration Profile Management. Firmennetzwerk) eingesetzt wird. Ein Umschalten zwischen den Profilen ist jederzeit möglich. Profile können für verschiedene Situationen erstellt werden. NetworkManager NetworkManager wurde speziell für die mobile Verbindung von Notebooks mit Netzwerken entwickelt. In KDE können Sie für den Wechsel zwischen Profilen das Kicker-Applet „Profil-Auswahl“ verwenden. wenn ein System in unterschiedlichen Umgebungen (Heimnetzwerk. Beide Desktop-Umgebungen von SUSE Linux (GNOME und KDE) bieten ein Front-End zu NetworkManager. Der Computer wird mit verschiedenen Netzwerken verbunden. 611). Dieses Verwaltungsprogramm ermöglicht einen einfachen und automatischen Wechsel zwischen verschiedenen Netzwerkumgebungen oder Netzwerktypen wie WLAN und Ethernet. Der Computer stellt Netzwerkdienste bereit (z.1 Anwendungsbeispiele für NetworkManager Verwendung von NetworkManager Ja Ja Computer Der Computer ist ein Notebook. Verwaltung der Systemkonfigurationsprofile) ermöglicht die Speicherung beliebiger Konfigurationszustände eines Systems in einer Art „Snapshot“. DNS oder DHCP). Informationen über SCPM finden Sie in Kapitel 32.

Anwendungen. SLP Das Service Location Protocol (SLP) vereinfacht die Verbindung eines Notebooks mit einem bestehenden Netzwerk. SLP kann sogar für die Installation eines Systems verwendet werden. 395). wenn die Netzwerkkonfiguration nicht automatisch von NetworkManager übernommen werden soll. Das Symbol wird entsprechend der Art der Energieversorgung angepasst.Verwenden Sie die Werkzeuge von YaST zur Konfiguration der Netzwerkverbindungen. Weitere Informationen zu SLP finden Sie unter Kapitel 19. Damit können Sie das Verhalten des Systems bei verschiedenen Arten der Energieversorgung festlegen. SLP erleichtert die Konfiguration eines vernetzten Computers erheblich. Bei Arbeit mit Akkustrom wird als Symbol eine Batterie angezeigt. Bei Arbeit mit Wechselstrom wird ein kleines Steckersymbol angezeigt. Datensysnchronisation und drahtlose Kommunikation mit Peripheriegeräten und dem Internet.1. In den folgenden Abschnitten werden die wichtigsten Anwendungen behandelt.3 Software-Optionen Es gibt verschiedene Sonderaufgabenbereiche bei der mobilen Verwendung. Das zugehörige Menü öffnet das YaST-Modul für die Energieverwaltung nach der Anforderung des Stammpassworts. das den Zustand des Akkus in der Systemsteuerung anzeigt. wodurch sich die Suche nach einer geeigneten Installationsquelle erübrigt. die SUSE Linux für jede Aufgabe bietet. SLP-Dienste im Netzwerk (S. können die von SLP weitergeleiteten Informationen verarbeiten und automatisch konfiguriert werden. SLP sendet die Verfügbarkeit eines bestimmten Diensttyps an alle Clients in einem lokalen Netzwerk. Der Schwerpunkt von SCPM liegt auf der Aktivierung und Aufrechterhaltung reproduzierbarer Systembedingungen. Weitere Informationen über die EnergieMobile Computernutzung mit Linux 593 . Ohne SLP benötigt der Administrator eines Notebooks normalerweise detaillierte Kenntnisse über die im Netzwerk verfügbaren Dienste. die von dedizierter Software abgedeckt werden: Systemüberwachung (insbesondere der Ladezustand des Akkus). Systemüberwachung SUSE Linux bietet zwei KDE-Werkzeuge zur Systemüberwachung: KPowersave KPowersave ist ein Applet. indem es einen Großteil der Konfiguration automatisiert. die SLP unterstützen. 30.

Dazu 594 Referenz . der vom Netzwerk getrennt ist. Datensynchronisierung Beim ständigen Wechsel zwischen der Arbeit auf einem mobilen Computer. KSysguard weist Monitore für ACPI (Akkustatus). KSysguard kann außerdem als Daemon auf Computern ohne KDE-Umgebung ausgeführt werden. Abbildung 30. auf den SUSE-Hilfeseiten. Außerdem kann diese Anwendung alle Systemprozesse überwachen und anzeigen. KSysguard KSysguard ist eine unabhängige Anwendung. CPU-Last.2 Überwachen des Akkuzustands mit KSysguard Auf dem GNOME-Desktop verwenden Sie zur Systemüberwachung das KontrollleistenApplet GNOME ACPI und die Anwendung Systemmonitor. Es ist möglich. Die Darstellung und Filterung der gesammelten Daten kann benutzerdefiniert angepasst werden. verschiedene Systemparameter auf verschiedenen Datenseiten zu überwachen oder die Daten von mehreren Computern parallel über das Netzwerk zu sammeln. 627).verwaltung und die entsprechenden YaST-Module finden Sie in Kapitel 33. Energieverwaltung (S. Netzwerk. die alle messbaren Parameter des Systems in eine einzige Überwachungsumgebung sammelt. und der Arbeit an einer vernetzten Arbeitsstation in einem Büro müssen die verarbeiteten Daten stets auf allen Instanzen synchronisiert sein. Partitionierung und Arbeitsspeicherauslastung. Weitere Informationen zu diesem Programm finden Sie in der zugehörigen integrierten Hilfefunktion bzw.

Der E-MailClient muss so konfiguriert sein. Dateisynchronisierung (S. ohne dass sie für den Zugriff an einen bestimmten Standort gebunden sind. Wie bei der Mobiltelefonie steht WLAN-Benutzern ein großes Netzwerk zur Verfügung. „Wireless LAN“ (S. Informationen über WLAN finden Sie in Abschnitt 34. um zuverlässige Rückmeldungen über nicht gesendete Mail zu erhalten. Linux unterstützt drei Typen von drahtloser Kommunikation: WLAN WLAN weist die größte Reichweite dieser drahtlosen Technologien auf und ist daher als einziges für den Betrieb großer und zuweilen sogar räumlich geteilter Netzwerke geeignet. je nachdem. Verwenden Sie zum Senden von Nachrichten einen im Mail-Client implementierten SMTP-Server anstatt des systemweiten MTAPostfix oder Sendmail. Dadurch wird gewährleistet. Peripheriegeräten. die sich für die Synchronisierung von Daten zwischen Notebook und Arbeitsstation eignen. Mobiltelefonen oder PDAs verbunden sein. 655). Synchronisieren von Dateien und Verzeichnissen Es gibt mehrere Dienstprogramme. wie Mozilla Thunderbird Mail.gehören E-Mail-Ordner. Die Lösung sieht für beide Fälle folgendermaßen aus: Synchronisieren von E-Mail Verwenden Sie ein IMAP-Konto zum Speichern der E-Mails im Firmennetzwerk. Mobile Computernutzung mit Linux 595 . Drahtlose Kommunikation Neben einem Anschluss an ein Heim. Detaillierte Informationen finden Sie in Kapitel 27. wie unter Anwendungen beschrieben. Der Zugriff auf die E-Mails von der Arbeitsstation aus erfolgt dann über einen beliebigen. Verzeichnisse und einzelne Dateien. Einzelne Computer können untereinander eine Verbindung herstellen und so ein unabhängiges drahtloses Netzwerk bilden oder auf das Internet zugreifen. dass für Sent Messages (Gesendete Nachrichten) immer derselbe Ordner aufgerufen wird.1. 531). die sowohl für die Arbeit unterwegs als auch im Büro vorliegen müssen. welcher Zugriffspunkt die beste Verbindung aufweist. dass nach Abschluss der Synchronisierung alle Nachrichten mit den zugehörigen Statusinformationen verfügbar sind. Ein mobiler Benutzer kann zwischen verschiedenen Zugriffspunkten umschalten. Evolution oder KMail. Als Zugriffspunkte bezeichnete Geräte können als Basisstationen für WLAN-fähige Geräte und als Zwischengeräte für den Zugriff auf das Internet fungieren. nicht verbundenen IMAP-fähigen E-Mail-Client.oder Firmennetzwerk über ein Kabel kann ein Notebook auch drahtlos mit anderen Computern.

Außerdem kann es zur Verbindung mehrerer Computer innerhalb des Sichtbereichs verwendet werden. Der Langstreckentransport der Datei zum Empfänger erfolgt über das Mobilfunknetz. wie Wände. 680). verwendet. „Infrarot-Datenübertragung“ (S.2.3. um entfernte Systeme über ein Netzwerk zu verbinden. Eine mögliche Anwendung von IrDA ist die Übertragung einer Datei von einem Notebook auf ein Mobiltelefon. zugehörige Anwendungen und seine Konfiguration finden Sie in Abschnitt 34. Ein weiterer Anwendungsbereich von IrDA ist die drahtlose Übertragung von Druckaufträgen im Büro. können nicht überwunden werden.1. Mögliche Sicherheitsmaßnahmen können in folgenden Bereichen ergriffen werden: Schutz gegen Diebstahl Schützen Sie Ihr System stets nach Möglichkeit gegen Diebstahl. verfügbar. Des Weiteren wird Bluetooth zum Anschluss drahtloser Systemkomponenten. ebenso wie IrDA. für die Kommunikation zwischen Computern (Notebooks) und PDAs oder Mobiltelefonen verwendet werden. wie Wände. beispielsweise Tastatur und Maus. Weitere Informationen zu IrDA finden Sie in Abschnitt 34. Dies gewährleistet die Sicherheit der Daten im Falle eines Diebstahls. Sichern der Daten auf dem System Wichtige Daten sollten nicht nur während der Übertragung. „Bluetooth“ (S. 668). IrDA IrDA ist die drahtlose Technologie mit der kürzesten Reichweite. Beide Kommunikationspartner müssen sich in Sichtweite voneinander befinden. Die kurze Entfernung zwischen Notebook und Mobiltelefon wird mit IrDa überbrückt.4 Datensicherheit Idealerweise schützen Sie die Daten auf Ihrem Notebook mehrfach gegen unbefugten Zugriff.Bluetooth Bluetooth weist das breiteste Anwendungsspektrum von allen drahtlosen Technologien auf. Im Einzelhandel ist verschiedenes Sicherheitszubehör. Die Reichweite dieser Technologie reicht jedoch nicht aus. Hindernisse. Die Erstellung einer verschlüsselten Partition mit SUSE Linux 596 Referenz . sondern auch auf der Festplatte verschlüsselt sein. 30. WLAN ist die optimale Technologie für die Kommunikation durch physische Hindernisse. Es kann. Weitere Informationen über Bluetooth. wie beispielsweise Ketten.

140) beschrieben. Drahtlose Kommunikation (S. das beim Rechtsklicken auf das Symbol Mobile Computernutzung mit Linux 597 . bearbeiten und löschen. wird das zugehörige Symbol in My Computer (Arbeitsplatz) (KDE) bzw. dem es gelingt. WICHTIG: Datensicherheit und Suspend to Disk Verschlüsselte Partitionen werden bei Suspend to Disk nicht ausgehängt. Externe Festplatten (USB und Firewire) Sobald eine externe Festplatte ordnungsgemäß vom System erkannt wurde. das bei früheren Versionen von SUSE Linux erforderlich war. dass die Geräte auf den entsprechenden Speicherorten im Dateisystem eingehängt werden. Durch subfs und submount wird gewährleistet. Alle Geräte werden automatisch über Hotplug erkannt und konfiguriert. Linux und Netzwerke betreffende Sicherheitsrisiken sind in Abschnitt 4. Der Ausdruck mobiles Speichergerät bezieht sich auf jegliche Art von Firewire. USB-Flash-Laufwerken oder Digitalkameras.2 Mobile Hardware SUSE Linux unterstützt die automatische Erkennung mobiler Speichergeräte über Firewire (IEEE 1394) oder USB. 655).oder USB-Festplatten. Dem Benutzer bleibt das manuelle Einhängen und Aushängen. die Hardware zu stehlen und einen Resume-Vorgang für die Festplatte durchführt. „Verschlüsseln von Partitionen und Dateien“ (S.3. Durch Klicken auf das Symbol wird der Inhalt des Laufwerks angezeigt. sobald sie mit dem System über die entsprechende Schnittstelle verbunden sind. Computer (Computer) (GNOME) in der Liste der eingehängten Laufwerke aufgeführt.wird in Abschnitt 4.5. Daher sind alle Daten auf diesen Partitionen für jeden verfügbar. Sicherheitsmaßnahmen für drahtlose Netzwerke finden Sie im Kapitel 34. Um einer Festplatte einen anderen Namen zu geben als den vom System zugeteilten. Sie können hier Ordner und Dateien erstellen. wählen Sie das entsprechende Menüelement aus dem Menü aus. 127) beschrieben. 30. gleichgültig auf welche Weise sie erfolgt. Ein Gerät kann einfach getrennt werden. Allgemeine. Netzwerksicherheit Jegliche Datenübertragung sollte gesichert werden. „Sicherheit und Vertraulichkeit“ (S. nun völlig erspart. sobald kein Programm mehr darauf zugreift.

). Die Konfiguration dieser Protokolle auf den Mobiltelefonen selbst wird in den entsprechenden Handbüchern beschrieben. welche Art von Daten synchronisiert werden soll (Adressen. Ein einfaches Dienstprogramm zur Bildbearbeitung und -verwaltung ist f-spot. Termine usw. durch den das Gerät in /media eingehängt wurde.2. Die Konfiguration seitens Linux wird in Abschnitt 34. Erweiterte Fotobearbeitung ist über GIMP möglich. müssen Sie bestimmen. 598 Referenz .geöffnet wird. Mit KDE können Sie die Bilder unter der URL camera:/ lesen und darauf zugreifen. Sobald die Unterstützung für Palm Pilots konfiguriert wurde. USB-Flash-Laufwerke Diese Geräte werden vom System genau wie externe Festplatten behandelt. bleibt davon unbeeinflusst. 680) beschrieben. Der Deskriptor. ist bereits in Evolution und Kontact integriert. Ebenso können Sie die Einträge im Dateimanager umbenennen. Bei der Verwendung von GNOME zeigt Nautilus die Bilder in ihrem eigenen Ordner an. andere nur eines von beiden. Weitere Einzelheiten zu Digitalkameras und Bildverwaltung finden Sie in Kapitel Digitalkameras und Linux (↑Anwendungen). Beide GroupwareAnwendungen werden unter Anwendungen beschrieben.3. 668) und Abschnitt 34.3 Mobiltelefone und PDAs Ein Desktopsystem oder Notebook kann über Bluetooth oder IrDA mit einem Mobiltelefon kommunizieren. Digitalkameras (USB und Firewire) Vom Gerät erkannte Digitalkameras werden ebenfalls im Dateimanager-Überblick als externe Laufwerke angezeigt. Die Anwendungsbereiche für die beiden Protokolle und die entsprechende erweiterte Dokumentation wurde bereits in „Drahtlose Kommunikation“ (S. Unterstützung für die Synchronisierung mit Handheld-Geräten von Palm. „Bluetooth“ (S.. Diese Bilder können dann mithilfe von Digikam oder GIMP verarbeitet werden. „Infrarot-Datenübertragung“ (S. 30. Inc. 595) erwähnt. Einige Modelle unterstützen beide Protokolle. Die Namensänderung wird nur im Dateimanager angezeigt. Die erstmalige Verbindung mit dem Gerät erfolgt in beiden Fällen problemlos mit der Unterstützung durch einen Assistenten.

Für die Synchronisierung von Adressdaten steht außerdem das Programm KitchenSync zur Verfügung. 30. Einige Beiträge sind auf Englisch. In dieser Liste diskutieren Benutzer alle Aspekte der mobilen Computernutzung mit SUSE Linux.org/.linux-on-laptops. doch der größte Teil der archivierten Informationen liegt in deutscher Sprache vor.org/ finden Sie auch unterhttp://www. Siehe http://lists. SUSE unterhält eine deutschsprachige Mailingliste. Dieses Verzeichnis enthält häufig kurz vor Veröffentlichung eingegangene Rückmeldungen von Testern und Entwicklern und bietet so wertvolle Hinweise zur Problemlösung. Bei Problemen mit der Engergieverwaltung von SUSE Linux bei Notebooks sollten Sie die Datei README unter /usr/share/doc/packages/powersave lesen.suse. die sich mit dem Thema Notebooks befasst.com/archive/suse-laptop/.und Software-Aspekten von Notebooks. Verschiedene Bereiche dieser Website befassen sich mit den Hardware. Mobiltelefonen und anderer mobiler Hardware. Diese Methode wird unter Anwendungen beschrieben. Hier finden Sie Informationen zu Notebooks und Handhelds.Das in Kontact integrierte Programm KPilot steht auch als unabhängiges Dienstprogramm zur Verfügung. PDAs.com/. Einen ähnlichen Ansatz wie den unter http://tuxmobil. Mobile Computernutzung mit Linux 599 .4 Weitere Informationen Die zentrale Informationsquelle für alle Fragen in Bezug auf mobile Geräte und Linux ist http://tuxmobil.

.

SmartMedia. CompactFlash. die PC Memory Card International Association. PCMCIA 601 . „Steuern der PCMCIA-Karten mithilfe von pccardctl“ (S.und Wireless LAN-Adapter • Bluetooth-Karten • Speicherkarten (Flash. PCMCIA-Karten werden hauptsächlich auf mobilen Computern zu verschiedenen Zwecken genutzt. 602). Linux schließt zudem Werkzeuge für die PCMCIA-Verwaltung ein. B. z. Anfangs schloss PCMCIA nur PC-Karten (die einen 16-Bit-Bus verwenden. MemoryStick) • Modems Die Kartenverwaltung wird zum Großteil im Hintergrund von udev und hotplug ausgeführt. Hintergrundinformationen zu PCMCIA erhalten Sie in Abschnitt 31. die die möglichen Typen von PC-Karten standardisiert hat.PCMCIA 31 PCMCIA wird oft im Zusammenhang mit Hardware an sich verwendet. MMC. „PCMCIA im Detail“ (S.2. SRAM usw. 602). Beispiele: • Ethernet.) • Speicherkartenadapter (SD. später auch CardBus-Karten (die einen 32-Bit-Bus verwenden).1. ISA-Karte) ein. Unter Linux wird eine breite Palette an PCMCIA-Hardware unterstützt. Wenn ein Eingreifen des Benutzers erforderlich ist. obwohl dem Begriff die Organisation zugrunde liegt. Genaue Informationen zum pccardctlBefehl erhalten Sie in Abschnitt 31. verwenden Sie den pccardctl-Befehl.

31. Im Folgenden finden Sie eine Liste der wichtigsten pccardctl-Befehle. ohne dass der Benutzer eingreifen muss. pccardctl eject Geben Sie die Karte manuell aus und benachrichtigen Sie die Client-Treiber. „Allgemeine Probleme bei Suspend-Vorgängen mit PCMCIA“ (S. was auf Ihrem Linux-System geschieht. dass der automatische Vorgang nicht fehlerfrei durchgeführt wird. dass die Karte ausgegeben wird. benachrichtigen Sie die ClientTreiber. wenn ein PCMCIA-Gerät an Ihren Computer angeschlossen wird. Trennen Sie die Stromverbindung für den Socket. Diese Option ist insbesondere dann hilfreich.1 Steuern der PCMCIA-Karten mithilfe von pccardctl Die Kartenverwaltung erfolgt normalerweise durch udev und hotplug.2. 608). pccardctl resume pccardctl resume stellen Sie die Stromverbindung für den Socket her und stellen Sie die Konfiguration wieder her. Für diese Befehle sind Root-Berechtigungen erforderlich: pccardctl insert Falls die Karte nicht automatisch erkannt wurde. wenn Sie auf Probleme mit suspend und resume stoßen.3. pccardctl suspend Fahren Sie das System herunter und trennen Sie die Stromverbindung für den Socket. die vor dem suspend-Ereignis vorlag.2 PCMCIA im Detail Folgene Abschnitte beschreiben. Weitere Informationen finden Sie auf der Manualpage zu pccardctl. pccardctl ermöglicht die manuelle Steuerung der Karte für den Fall. aber geben Sie die Karte nicht aus (Aufheben der Bindung der entsprechenden Module). dass die Karte soeben eingeschoben wurde. Siehe Beschreibung in Abschnitt 31. 31. Die Komponenten interagieren 602 Referenz .

Hotplug erstellt ein PCI-Ereignis.3. erkennt der BridgeTreiber.oder Geräteinitialisierung aus.2. „Bridge-Initialisierung“ (S. Nachdem die Brigde ordnungsgemäß eingerichtet wurde. Weisen Sie der Karte E/A.1 Bridge-Initialisierung Die meisten PCMCIA-Bridges sind PCI-Geräte und werden als solche behandelt.2. PCMCIA 603 . dass eine Karte vorhanden ist. Im Folgenden wird der PCMCIA-Initialisierungsvorgang unter Linux grob dargestellt: 1. 603) beschrieben eingerichtet werden. indem Sie eine Bindung mit dem passenden Kartentreiber herstellen. Die PCMCIA-Bridge (oder Socket) muss ordnungsgemäß wie in Abschnitt 31.2. Der Bridge-Initialisierungsvorgang kann wie folgt zusammengefasst werden: 1. d. c.2. Bei einigen Karten muss die Card Information Structure (CIS) hochgeladen werden. „Einrichtung der Schnittstelle“ (S. 606). Schließlich wird die Schnittstelle an sich eingerichtet und kann verwendet werden.2. 3.und Speicherbereiche für PC-Karten 2.untereinander und es müssen viele Anforderungen erfüllt werden. „Initialisierung der Karte“ (S. Voraussetzungen: • Passender Treiber für die Bridge • Zusätzliche I/O. Weitere Informationen hierzu finden Sie in Abschnitt 31.und Speicherbereiche und IRQ-Leitungen zu. 31. e. Lösen Sie die Karten. damit das PCMCIAGerät unterstützt wird. Geben Sie die richtige Spannung an. 604) aus: a.1. b. und löst deren Initialisierung gemäß der Beschreibung in Abschnitt 31. Legen Sie den Kartentyp fest.

Für sämtliche Ereignisse ruft udev /sbin/hwup auf. 604 Referenz . In Abschnitt 31. um das Treibermodul zu laden. 3. /sbin/hwup überprüft /etc/sysconfig/hardware hinsichtlich einer vorhandenen Gerätekonfiguration. Nachdem diese Schritte erfolgreich abgeschlossen wurde. Bei PC-Karten ist dies ein pcmcia-Ereignis. wie im folgenden Abschnitt beschrieben.opts falsch sind. um ein Treibermodul zu laden. um den Treiber zu laden. um /sbin/hwup aufzurufen und das pcmcia-Kernelmodul zu laden.3.und Speicherbereiche. Die Card Services im Kernel überprüfen diese Bereiche. ist die Bridge vollständig initialisiert.opts angegeben sind. 606) finden Sie Informationen zur Fehlersuche und Behebung dieses Problems. „Computer stürzt mit PCMCIA ab“ (S. die durch das Einsetzen einer PCMCIA-Karte verursacht werden. initialisiert. Der Modulname wird entweder in einer hwcfg*-Datei unter /etc/ sysconfig/hardware oder über den Befehl modprobe modalias angegeben. Alle E/A. 2. wenn nur CardBus-Karten verwendet werden: a.2. 4.1. die in /etc/pcmcia/config. wird diese Konfiguration verwendet.2. Die pcmcia_socket-Ereignisse lösen udev aus. werden dem Socket hinzugefügt. 31. Anderenfalls ruft /sbin/hwup modprobe mit der vom Kernel bereitgestellten modalias-Zeichenkette auf. können wie folgt zusammengefasst werden: 1. Falls eine passende Konfiguration gefunden wird. Falls die Speicherbereiche in /etc/pcmcia/config. Anschließend wird die Karte selbst.2 Initialisierung der Karte Die Ereignisse. c. Neue hotplug-Ereignisse werden gesendet (eines pro PCMCIA-Socket) Die folgenden Schritte werden ausgelassen. udev ruft /sbin/hwup auf. b. Ein hotplug-Ereignis tritt ein. Bei CardBus-Karten ist dies ein pci-Ereignis. kann dieser Schritt Ihren Computer zum Absturz bringen.

indem Sie PCMCIA_COLDPLUG_REINSERT auf yes setzen. benötigen Sie möglicherweise die folgenden Parameter in /etc/sysconfig/pcmcia. Um zu deaktivieren. Gegebenenfalls löst die Geräteinitialisierung ein Firmware-Hotplug-Ereignis aus. können Sie Function Matching verwenden. legen Sie für diese Variable no fest. setzt das System die Einrichtung der Schnittstelle gemäß der Beschreibung im nächsten Abschnitt fort. Die Standardeinstellung ist no. legen Sie für diese Variable no fest. Nachdem diese Schritte abgeschlossen wurden. Um dies zu verhindern. geben Sie die Karte aus und legen Sie sie wieder ein per Soft Eject und Soft Insert). dass die CIS der Karte beschädigt ist. PCMCIA 605 . Um den Funktionsabgleich zu deaktivieren. dass die CIS von der Festplatte geladen wird. Das bedeutet. eine Netzwerkkarte) und wäre für sämtliche eingelegte PC-Karten zuständig. welche Geräte die Treiber behandeln sollen. Demzufolge wird der Treiber nicht anhand der ID. sondern anhand der Funktion der Karte ausgewählt (z. die vor dem Booten eingelegt werden. werden manchmal nicht erkannt. falls sich herausstellt. die diese Funktion haben (z. PCMCIA_COLDPLUG_REINSERT Karten. Sie enthält zusätzliche Implementierungsdetails zur Karte. Der Gerätetreiber registriert die Schnittstellen.3. Die Standardeinstellung ist yes. Dieses sucht nach Firmware und lädt diese. 4. deren IDs dem Kernel bekannt sind. unterstützt werden. die angibt. deren ID nicht aufgelistet ist. hwup überprüft die Integrität der integrierten CIS der Karte und versucht. Um die Karten zu unterstützen. B. Die Standardeinstellung ist yes. dass nur die Geräte. damit die Karte vollständig unterstützt wird und fehlerfrei arbeitet: PCMCIA_LOAD_CIS Die Firmware einer PC-Karte wird als CIS (Card Information Structure) bezeichnet. B. PCMCIA_ALLOW_FUNC_MATCH Linux-Gerätetreiber enthalten eine Geräte-ID-Tabelle. Netzwerkkarten). Falls es sich bei Ihrer Karte um eine PC-Karte handelt. eine andere CIS von der Festplatte zu laden.

Um die Ursache für den Absturz des Computers zu ermitteln. um PCMCIA manuell einzurichten: 1 Vermeiden Sie. wenn PCMCIA beim Booten gestartet wird. nachdem die Initialisierung erfolgreich abgeschlossen wurde. können Sie den problematischen Schritt oder die Komponente umgehen.3.txt. Weitere Informationen zu diesem Thema finden Sie in PCMCIA README (/usr/share/doc/packages/pcmciautils/README.SuSE). die gelegentlich mit PCMCIA auftreten. 2 Booten Sie das System in einer textbasierten Umgebung und melden Sie sich als „root“ an.1 Computer stürzt mit PCMCIA ab Ihr Computer stürtzt ab. Gerätemanagement über dynamischen Kernel mithilfe von udev (S. und aktivieren Sie SysRq. um die Fehlersuche zu erleichtern. Gehen Sie wie folgt vor. 31. Wenn Sie PCMCIA sorgfältig manuell installieren.2. manuell ein.31. dass PCMCIA beim Booten des Systems gestartet wird. 31. wie nachstehend beschrieben. können Sie den Schritt oder die Komponente. 3 Fügen Sie dem Kernel die passenden PCMCIA-Module hinzu: 606 Referenz . Sobald die Ursache erkannt wurde. indem Sie folgende Optionen an die Bootprompt anfügen: init=3 pcmcia=off sysrq=1 Weitere Informationen zu SysRq erhalten Sie in der Datei /usr/src/linux/ Documentation/sysrq. Die Registrierung der Schnittstelle erfolgt durch die hotplug-Funktion von udev. Genaue Informationen zu udev und hotplug erhalten Sie in Kapitel 12. 273).3 Einrichtung der Schnittstelle Je nach Kartentyp werden verschiedene Schnittstellen registriert.3 Fehlerbehebung Im Folgenden finden Sie eine Liste der bekanntesten Probleme. die den Absturz des Computers verursacht hat. eindeutig identifizieren. richten Sie den Computer.

in dem die Bereichskonfiguration enthalten ist (in diesem Fall pcmcia_socket0. legen Sie sie permanent fest.oder Speicherbereiche in /etc/pcmcia/config . indem Sie sie in /etc/pcmcia/config . 6 Nachdem die Socket-Einrichtung erfolgreich abgeschlossen wurde. Gehen Sie (für jeden einzelnen Socket) wie folgt vor.3.opts einschließen. Gehen Sie wie folgt vor./sbin/modprobe yenta_socket /sbin/modprobe pcmcia 4 Starten Sie den PCMCIA-Socket: /sbin/pcmcia-socket-startupN Ersetzen Sie N durch die Nummer des Socket.opts aus und versuchen Sie die Socket-Einrichtung erneut. um E/A-Bereiche manuell hinzuzufügen: 1 Wechseln Sie zum Verzeichnis. funktioniert die Karteninitialisierung und die Schnittstelleneinrichtung wie in Abschnitt 31.2. 606) beschrieben. „Initialisierung der Karte“ (S. 5 Falls der vorige Schritt den Computer zum Absturz brachte. wurden möglicherweise die falschen E/A.end > available_resources_io PCMCIA 607 . wie nachfolgend beschrieben. Nachdem Sie die passenden Bereiche erfolgreich manuell hinzugefügt haben.2. um dies zu vermeiden: • Schließen Sie Bereiche in /ect/pcmcia/config. muss für andere Socket-Nummern angepasst werden): cd /sys/class/pcmcia_socket/pcmcia_socket0 2 Führen Sie den folgenden Befehl aus: echo begin . Wiederholen Sie diesen Schritt für jeden Socket.2. 604) und Abschnitt 31. „Einrichtung der Schnittstelle“ (S.opts angegeben. • Fügen Sie die Bereiche manuell durch.

Ersetzen Sie begin und end mit den Adressen.opts).3. finden. die mit diesem Produkt geliefert wurde.com einen Fehlerbericht ein.opts: include port 0x800-0x8ff. 2 Öffnen Sie die Datei /etc/powersave/sleep. enden soll. 3 Legen Sie folgende Variablen fest: 608 Referenz . gehen Sie wie folgt vor: 1 Melden Sie sich als „root“ an. Um PCMCIA-Karten während eines Suspend-Vorgangs automatisch auszugeben.novell.2 Allgemeine Probleme bei Suspend-Vorgängen mit PCMCIA Schließen Sie. port 0xc00 0xcff Dieselbe Vorgehensweise gilt für die Speicherbereiche unter available_resources _mem.0x8ff > available_resources_io echo 0xc00 . reichen Sie diesbezüglich unter http://bugzilla. damit die Entwickler das Problem untersuchen