Anke Börnig LPIC-2 Vorbereitung auf die Prüfungen des Linux Professional Institute 5. Auflage Open Source Press
Alle in diesem Buch enthaltenen Programme, Darstellungen und Informationen wurden nach bestem Wissen erstellt. Dennoch sind Fehler nicht ganz auszuschließen. Aus diesem Grunde sind die in dem vorliegenden Buch enthaltenen Informationen mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Autor(en), Herausgeber, Übersetzer und Verlag übernehmen infolgedessen keine Verantwortung und werden keine daraus folgende Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieser Informationen oder Teilen davon entsteht, auch nicht für die Verletzung von Patentrechten, die daraus resultieren können. Ebenso wenig übernehmen Autor(en) und Verlag die Gewähr dafür, dass die beschriebenen Verfahren usw. frei von Schutzrechten Dritter sind. Die in diesem Werk wiedergegebenen Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. werden ohne Gewährleistung der freien Verwendbarkeit benutzt und können auch ohne besondere Kennzeichnung eingetragene Marken oder Warenzeichen sein und als solche den gesetzlichen Bestimmungen unterliegen. Dieses Werk ist urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdrucks und der Vervielfältigung des Buches oder Teilen daraus vorbehalten. Kein Teil des Werkes darf ohne schriftliche Genehmigung des Verlags in irgendeiner Form (Druck, Fotokopie, Mikrofilm oder einem anderen Verfahren), auch nicht für Zwecke der Unterrichtsgestaltung, reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden. Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. Copyright 2013 Open Source Press, München Gesamtlektorat: Dr. Markus Wirtz Satz: Open Source Press & Thomas Schraitle (AsciiDoc/DocBook/XSL-FO/XEP) Umschlaggestaltung: Olga Saborov, Open Source Press Gesamtherstellung: Kösel, Krugzell ISBN: 9783955390419 (E-Book PDF) ISBN: 9783955390402 (gedruckte Ausgabe) http://www.opensourcepress.de
Vorwort 17 I Prüfung 201 23 200 Kapazitätsplanung 25 200.1 Ressourcen-Verbrauch messen und Probleme beheben........ 26 200.1.1 Ausgabe von Informationen zum Input/Output von Devices mit iostat............................... 27 200.1.2 vmstat Ausgabe von Informationen über Speicher, Prozesse und I/O................................ 31 200.1.3 Ausgabe von Informationen übers Netzwerk mit netstat........................................ 34 200.1.4 Ausgabe der Prozessliste mit ps oder pstree........... 39 200.1.5 Angemeldete Benutzer listen mit w................. 40 200.1.6 lsof (List Open Files)............................. 41 Börnig LPIC-2 5
200.1.7 top........................................... 42 200.1.8 uptime........................................ 44 200.1.9 sar........................................... 44 200.2 Künftigen Ressourcen-Bedarf vorhersagen................. 48 200.2.1 collectd....................................... 48 200.2.2 Nagios, MRTG, Cacti............................. 49 200.3 Übungen............................................ 51 201 Der Linux-Kernel 53 201.1 Kernel-Komponenten.................................. 54 201.1.1 Grundlagen.................................... 55 201.1.2 Kernel-Version.................................. 55 201.1.3 Das Verzeichnis /usr/src/linux/..................... 58 201.1.4 Kernel-Module................................. 58 201.2 Einen Linux-Kernel kompilieren.......................... 63 201.2.1 Kompilieren eines Kernels......................... 65 201.2.2 make und Makefiles............................. 69 201.2.3 gzip und bzip2.................................. 71 201.2.4 Initial Ramdisk................................. 72 201.3 Verwaltung des Kernels zur Laufzeit und Troubleshooting...... 79 201.3.1 Die Pseudodateien unter /proc/sys/kernel............. 81 201.3.2 Modul-Konfigurationsdateien...................... 81 www.opensourcepress.de 6
201.3.3 dmesg........................................ 84 201.3.4 Den PCI-Bus auslesen mit lspci..................... 84 201.3.5 Hardware-Parameter erfragen mit lsdev.............. 87 201.3.6 lsusb......................................... 88 201.3.7 sysctl......................................... 89 201.3.8 Grundlagen der Geräte-Verwaltung................. 91 201.3.9 udev-regeln................................... 97 201.4 Übungen........................................... 106 202 Systemstart 107 202.1 Anpassen des SysV-init-Systemstarts.................... 108 202.1.1 Bootprozess und Startskripte..................... 109 202.1.2 Der Aufbau von Startskripten..................... 127 202.2 Systemwiederherstellung.............................. 130 202.2.1 UEFI......................................... 131 202.2.2 Der Bootloader GRUB........................... 133 202.2.3 Konfiguration von GRUB Legacy................... 133 202.2.4 Konfiguration von GRUB2....................... 138 202.2.5 Systemrettung................................ 144 202.2.6 Dateisystemcheck.............................. 150 202.3 Alternative Bootloader................................ 152 202.3.1 Der Bootloader LILO............................ 153 Börnig LPIC-2 7
202.3.2 Das SYSLINUX-Paket............................ 153 202.3.3 SYSLINUX.................................... 154 202.3.4 EXTLINUX..................................... 155 202.3.5 ISOLINUX..................................... 156 202.3.6 PXELINUX.................................... 156 202.4 Übungen........................................... 157 203 Dateisystem und Devices 159 203.1 Arbeiten mit dem Linux-Dateisystem..................... 160 203.1.1 Einbinden von Dateisystemen..................... 161 203.1.2 mount und umount............................ 164 203.1.3 Ausgabe von Device-Informationen mit blkid........ 169 203.1.4 Swap........................................ 171 203.2 Pflege des Linux-Dateisystems.......................... 174 203.2.1 Dateisystem- Maintenance...................... 175 203.2.2 Die Dateisysteme ext2, ext3 und ext4............... 176 203.2.3 Das Dateisystem XFS............................ 191 203.2.4 Das Dateisystem BTRFS.......................... 208 203.2.5 Verwalten von SMART-Geräten.................... 210 203.3 Setzen und Konfigurieren von Dateisystem-Optionen........ 211 203.3.1 Automounter................................. 212 203.3.2 Erstellen von ISO9660-Dateisystemen.............. 215 www.opensourcepress.de 8
203.3.3 Arbeiten mit dem UDF-Dateisystem................ 218 203.3.4 Das HFS-Dateisystem........................... 221 203.3.5 Erzeugen eines byteweisen Abbilds von Datenträgern.................................. 222 203.3.6 Image-Dateien mounten......................... 224 203.3.7 Verschlüsselung von Dateisystemen................ 224 203.4 Übungen........................................... 230 204 Erweiterte Administration von Storage Devices 233 204.1 RAID-Konfiguration.................................. 234 204.1.1 RAID-Grundlagen.............................. 234 204.1.2 RAID-Konfiguration mit mdadm................... 237 204.2 Konfiguration des Zugriffs auf Storage Devices............. 242 204.2.1 ATAPI, SATA und SCSI........................... 243 204.2.2 hdparm...................................... 244 204.2.3 sdparm...................................... 249 204.2.4 Einrichten und Verwalten von iscsi-devices......... 253 204.2.5 WWID, WWN, LUNs............................. 258 204.3 Logical Volume Manager.............................. 259 204.3.1 Der Logical Volume Manager..................... 259 204.4 Übungen........................................... 271 205 Netzwerkkonfiguration 273 Börnig LPIC-2 9
205.1 Grundlagen der Netzwerkkonfiguration................... 274 205.1.1 Netzwerkklassen und Subnetting.................. 275 205.1.2 Routing...................................... 290 205.1.3 Konfiguration von IP-Adressen mit ifconfig.......... 297 205.1.4 Netzwerk-Konfiguration mit ip.................... 304 205.1.5 ARP......................................... 311 205.1.6 Konfiguration von Funk-Netzwerken............... 312 205.2 Fortgeschrittene Netzwerkkonfiguration.................. 325 205.2.1 Befehle zur Fehleranalyse im Netzwerk............. 326 205.2.2 Portscans mit nmap............................ 337 205.3 Fehlerbehebung in Netzwerken......................... 342 205.3.1 Konfiguration der Namensauflösung............... 344 205.3.2 /usr/sbin/traceroute............................ 346 205.3.3 NetworkManager.............................. 349 205.4 Übungen........................................... 350 206 System-Wartung 351 206.1 Programme aus dem Quellcode übersetzen und installieren......................................... 352 206.1.1 Ein Programm aus dem Quellcode übersetzen und installieren................................... 353 206.1.2 Patches einspielen.............................. 358 www.opensourcepress.de 10
206.2 Datensicherung..................................... 361 206.2.1 Backup...................................... 362 206.2.2 tar.......................................... 364 206.2.3 mt.......................................... 367 206.2.4 rsync........................................ 369 206.3 Benutzern system-relevante Informationen zukommen lassen............................................. 376 206.3.1 Nachrichten beim Login......................... 376 206.3.2 Nachrichten an angemeldete Benutzer übermitteln.... 379 206.4 Übungen........................................... 381 II Prüfung 202 383 207 Domain Name Server 385 207.1 Grundlagen der DNS-Serverkonfiguration................. 386 207.1.1 BIND-Konfiguration............................ 387 207.1.2 dnsmasq..................................... 413 207.1.3 djbdns....................................... 414 207.1.4 PowerDNS.................................... 415 207.2 Erstellen und Pflegen von DNS-Zonen.................... 416 207.2.1 Zonendateien für den Nameserver................. 417 207.3 Absicherung eines DNS-Servers......................... 429 Börnig LPIC-2 11
207.3.1 Sicherheitseinstellungen für BIND................. 430 207.4 Übungen........................................... 439 208 Web-Dienste 441 208.1 Grundlegende Konfiguration von Apache................. 442 208.1.1 Konfiguration des Webservers Apache.............. 443 208.1.2 Konfiguration virtueller Webserver................. 466 208.2 Apache für HTTPS einrichten........................... 469 208.2.1 HTTPS-Konfiguration............................ 470 208.2.2 Erstellen eines SSL-Zertifikats..................... 473 208.2.3 SSL und Virtuelle Hosts.......................... 478 208.3 Konfiguration von Squid als Caching-Proxy............... 479 208.3.1 Konfiguration des Proxy-Servers Squid............. 479 208.4 Konfiguration von Nginx als Webserver und Reverse Proxy.... 488 208.4.1 Nginx........................................ 488 208.4.2 Nginx als Webserver............................ 489 208.4.3 Nginx als Reverse Proxy......................... 498 208.5 Übungen........................................... 499 209 Freigabe von Dateien 501 209.1 Konfiguration eines Samba-Servers...................... 502 209.1.1 Samba....................................... 503 www.opensourcepress.de 12
209.1.2 Mounten von Samba-Freigaben................... 526 209.1.3 Dateien im Zusammenhang mit Samba............. 527 209.1.4 Befehle im Zusammenhang mit Samba............. 530 209.2 Konfiguration eines NFS-Servers........................ 547 209.2.1 NFS-Server................................... 548 209.2.2 NFSv4....................................... 561 209.2.3 TCP-Wrapper.................................. 562 209.3 Übungen........................................... 567 210 Verwaltung von Netzwerk-Clients 569 210.1 DHCP-Konfiguration................................. 570 210.1.1 Konfiguration eines DHCP-Servers................. 571 210.1.2 DHCP Relay Agent.............................. 582 210.2 PAM-Authentifizierung............................... 582 210.2.1 Pluggable Authentication Modules (PAM)........... 583 210.3 LDAP-Client-Konfiguration............................ 597 210.3.1 Die Client-Konfiguration......................... 598 210.4 Konfiguration eines OpenLDAP-Servers................... 605 210.4.1 LDAP-Grundlagen.............................. 606 210.4.2 Konfiguration des OpenLDAP-Servers............... 612 210.4.3 slapdadd, slapcat, slapindex...................... 628 Börnig LPIC-2 13
210.4.4 SSSD System Security Services Daemon........... 629 210.5 Übungen........................................... 630 211 E-Mail-Dienste 633 211.1 E-Mail-Server....................................... 634 211.1.1 E-Mail-Grundlagen............................. 635 211.1.2 SMTP........................................ 637 211.1.3 Konfiguration von Postfix........................ 641 211.1.4 Konfiguration von Exim......................... 669 211.1.5 Konfiguration von Sendmail...................... 675 211.1.6 Einrichten von Mail-Quotas...................... 687 211.1.7 Protokoll-Dateien.............................. 688 211.2 Konfiguration der lokalen Mailzustellung................. 689 211.2.1 Lokale E-Mail-Zustellung........................ 690 211.3 Mails an entfernte Clients ausliefern..................... 696 211.3.1 Die Protokolle POP3 und IMAP.................... 697 211.3.2 Der POP/IMAP-Server Courier..................... 698 211.3.3 Der POP/IMAP-Server Dovecot.................... 701 211.4 Übungen........................................... 712 212 Systemsicherheit 715 212.1 Routerkonfiguration.................................. 716 www.opensourcepress.de 14
212.1.1 Paketfilter.................................... 717 212.1.2 ip6tables..................................... 727 212.1.3 Für Firewalls relevante Einstellungen in /proc........ 727 212.1.4 Sicherheit durch private IPv4-Adressen............. 729 212.1.5 Dynamisches Routing........................... 729 212.2 Verwaltung von FTP-Servern........................... 730 212.2.1 Passives und aktives FTP......................... 731 212.2.2 Absichern der FTP-Server-Konfiguration............ 731 212.2.3 Konfiguration von Pure-FTPd..................... 734 212.2.4 Konfiguration von vsftpd........................ 737 212.2.5 Konfiguration von ProFTPd....................... 738 212.3 Secure Shell (SSH)................................... 741 212.3.1 SSH......................................... 742 212.4 Sicherheitsmaßnahmen............................... 753 212.4.1 Sicherheitsrelevante Informationen beziehen......... 754 212.4.2 Offene Ports finden mit telnet.................... 755 212.4.3 Netzwerkanalyse mit snort....................... 756 212.4.4 Der Netzwerkscanner OpenVAS (ehem. Nessus)....... 758 212.4.5 fail2ban...................................... 762 212.4.6 Kerberos..................................... 763 212.5 OpenVPN.......................................... 769 Börnig LPIC-2 15
212.5.1 OpenVPN-Konfiguration......................... 770 212.6 Übungen........................................... 780 A Beispiel-Lösungen 781 A.1 Prüfung 201......................................... 781 A.1.1 Thema 200: Kapazitätsplanung.................... 781 A.1.2 Thema 201: Der Linux-Kernel..................... 783 A.1.3 Thema 202: Systemstart......................... 784 A.1.4 Thema 203: Dateisystem und Devices............... 785 A.1.5 Thema 204: Erweiterte Administration von Storage Devices....................................... 786 A.1.6 Thema 205: Netzwerkkonfiguration................ 788 A.1.7 Thema 206: System-Wartung..................... 789 A.2 Prüfung 202........................................ 790 A.2.1 Thema 207: DNS............................... 790 A.2.2 Thema 208: Web-Dienste........................ 794 A.2.3 Thema 209: Freigabe von Dateien.................. 795 A.2.4 Thema 210: Verwaltung von Netzwerk-Clients........ 797 A.2.5 Thema 211: E-Mail-Dienste....................... 798 A.2.6 Thema 212: Systemsicherheit..................... 800 Index 803 www.opensourcepress.de 16