Home
Linux¨Ubung: - Mathematisches Institut
Contents
1. Abbildung 10 1 Webinterface von Cups Abbildung 10 2 Cupsdiagramm 98 KAPITEL 10 DRUCKEN Kapitel 11 Graphische Oberfl che 11 1 Einf hrung Die Basisinstallation eines Linux Rechners muss nicht zwingend eine grafische Benutzero berfl che GUI vorsehen Aus Sicht des Linux Einsteigers macht das die Installation und die ersten Schritte an der Maschine nicht gerade leichter da heute jeder mit der Handha bung einer Maus und dem Konzept grafischer Oberfl chen vertraut ist Wie man gesehen hat stellt ein textbasiertes System in vielen Anwendungen einschliesslich der Erstinstalla tion kein wirkliches Hindernis dar Linux an sich der Kernel weiss nichts von Grafik im Gegensatz zu weitverbreiteten anderen Betriebssystemen die die grafische Oberfl che fest in ihrem Kern integriert haben Bei UNIXen ist das nicht so vielmehr l uft das X Window System v llig unabh ngig vom Kernel es ist sogar v llig unabh ngig davon entstanden Linux eigentlich jeder Distribution verwendet das X Window System zur Darstellung der grafischen Benutzeroberfl che Die Treiber f r die verschiedenen Grafikkarten wer den vom XFree86 Team entwickelt und stellen neben dem Kernel die zweite wesentliche Hardware Software Schnittstelle dar X Free86 ist eine freie Implementation des X Window Systems welches auf allen Unix hnlichen Betriebssystemen bis hin zu Mac OS X l uft Die 86 im Namen l t vielleicht vermuten
2. alias cd weitere Alias Deklarationen Die Alias Definitionen muss man nicht jedesmal eingeben sondern kann sie in den Setup Dateien unterbringen Listen solcher Abk rzungen der Form alias Abkiirzung jBefehl mit Optionen tr gt man am besten in die globale Datei etc profile oder in benut zerlokale Dateien wie profile oder bashrc ein Der Befehl alias ohne Argumente zeigt alle bereits vergebenen Abk rzungen an Mit dem Befehl unalias kann man Definitionen wieder aufheben 4 2 6 Wildcards in Dateinamen Viele Kommandos zum Beispiel ls oder cp haben als Argumente die Namen von Dateien oder Verzeichnissen Namen die Wildcards enthalten werden zu einer Liste von Namen expandiert Wildcards sind nahe verwandt zu Regul ren Ausdr cken die von vielen Pro grammen verarbeitet werden k nnen Beispiele von Wildcards sind Wildcard Bedeutung beliebiges Zeichen beliebige Zeichenkette auch der L nge Null abe die einzelnen Zeichen a b oder c a dg i die einzelnen Zeichen a b c d g h oder i fabd nicht die einzelnen Zeichen a b oder d dies das optionale Zeichenketten Tabelle 4 2 Beispiele f r Wildcards 4 2 7 Zeichen mit besonderer Bedeutung Eine ganze Reihe von Zeichen haben f r die Shell besondere Bedeutung ein Teil hiervon wurde bereits in den vorherigen Abschnitten vorgestellt SPACE TAB CR 4 lt gt I N Ds A A e Um di
3. Wer bernimmt die Verwaltung der Maschine F r welchen Benutzerkreis ist die Maschine gedacht E In welchem Kontext soll die Maschine laufen Intra oder Internet usw siehe Vor berlegungen 15 3 Installationsquellen Als Installationsquellen kommen im Allgemeinen folgende Medien zum Einsatz CD ROM oder DVD der entsprechenden Linuxdistribution Eine Partition auf einer angeschlossenen gemounteten Festplatte Ein per NFS gemountetes Verzeichnis 15 3 INSTALLATIONSQUELLEN 149 e Ein Installationsserver NFS oder FTP s Kap 15 3 1 S 149 e Disketten wird heute eigentlich nicht mehr angeboten H chstens Ein Disketten Mini Linuxe Sofern die Hardware nicht in der Lage ist von CD oder DVD zu booten oder man nicht von CD installieren m chte muss zu Begin einer Installation das Erstellen der Boot und Module Root Disketten erfolgen Die Root Diskette wird zuweilen auch Rescue Disk oder Supplement Disk genannt Entweder erstellt man sich diese Diskette mit den angebotenen DOS Tools rawrite exe oder man erstellt sie sich auf einem laufenden Linux System mit dem Befehl dd diskdump Zun chst mountet man sich das Quellmedium hier exemplarisch die CD ROM in den Dateibaum mount media cdrom Nun beginnt die Suche nach dem passenden Disk Image Hat man erst die passenden Dateien gefunden eine leere Diskette eingelegt und mit mount media floppy gemountet so schreibt man das Diskettenimage sei der Imagename
4. f r die abgesichterte Variante zu liefern 2 5 AUFGABEN 21 maier rechner01 ssh X 1 root server02 Password Last login Sun Sep 25 13 45 02 2005 from rechner01 localnet private Have a lot of fun server02 tt kate etc resolv conf amp server02 Diese kleine Befehlsabfolge kann man dazu nutzen sich als Systemadministrator mit einer entfernten Linux Box zu verbinden hier server02 und auf ihr einen Editor zum Bearbeiten beispielsweise der etc resolv conf zu starten Als Ergebnis zeigt der lokale Desktop die grafische Oberfl che des Editors als normales Fenster an auf dem Desktop an Man kann nun mit kate von server02 genauso arbeiten als w rde man direkt an dieser Maschine hocken So kann man einen Rechner fernadministrieren auch wenn er in einem gesicherten Serverraum steht Wenn die Verbindung h ngt kann man sie durch die Eingabe von Tilde Punkt beenden Die Eingabe von c liefert das Konfigurationsinterface beispielsweise zum Aufsetzen von Tunneln Etwas abgewandelt kann man auch einfach direkt ein Kommando remote starten ohne eine Shell auf der entfernten Maschine zu starten maier rechner01 ssh X 1 root server02 kate etc resolv conf 2 4 2 Filetransfer per Secure Copy Kopieren mit ssh zum Beispiel scp user dozent lak pdf kurs kopiert die Datei lak pdf aus dem Homeverzeichnis von user auf dem Rechner dozent in das Verzeichnis kurs auf dem lokalen Rechner Umge kehrt
5. gt mkdir name_des_neuen_verzeichnisses dirk0s02 gt rmdir name_des_neuen_verzeichnisses Dieses kann analog mit rmdir wieder entsorgt werden Eine Datei zu kopieren geschieht mittels cp in den folgenden Auspr gungen user0s01 gt cp existierende_ datei neuer_dateiname user s01 gt cp existierende_datei existierendes_verzeichnis user s01 gt cp exist_datei exist_verzeichnis neuer_dateiname In vielen Aspekten analog arbeitet das Kommando mv wobei die Quelldatei anschliessend nicht mehr unter ihrem urspr nglichen Namen existiert Bei beiden Programmen wird eine eventuell existierende Zieldatei ohne Warnung berschrieben Gel scht werden kann eine Datei durch rm dateiname Eine einfache Aufstellung des Verzeichnisinhalts liefert Is mit vielen Zusatzinforma tionen 1s alh wobei zus tzlich die Dateigr e nicht einfach in Byte sondern h uman readable in Kilo Mega oder GigaByte angegeben wird Die aktuelle Belegung eines Ver zeichnisses liefert du disk usage wobei Unterverzeichnisse nochmal separat angezeigt werden 2 2 8 Dateinamen Die Benennung von Dateien und Verzeichnissen besitzt fast keine Grenzen Es gibt je doch einige praktische berlegungen die einen auf den Einsatz eher un blicher Zeichen verzichten lassen Tabu ist das Trennzeichen f r Verzeichnisse Nicht so sinnvoll sind Sonderzeichen die von der Shell speziell interpretiert werden oder Umlaute Leerzeichen in Dateinamen s
6. print working directory ls zeigt in Inhalt von Verzeichnissen an ls steht f r list Man k nnte auch alternativ ls lt Verzeichnis gt eingeben ohne vorher cd lt Verzeichnis gt ausgef hrt zu haben aber immer nur von einer Ebene in die n chste oder mit dem vollst ndigen Pfadnamen Wenn man 1s 1 eingibt erfahrt man sogar noch mehr ber die Dateien als den Namen z B die Gr e etc rmdir lt Verzeichnis gt l scht leere Verzeichnisse rmdir steht f r remove directory Wieder kann man nur Unterverzeichnisse des aktuellen Verzeichnisses oder den ganzen Pfad angeben Wenn sich in dem zu l schenden Verzeichnis noch etwas befindet l scht der Computer sie nicht Dann muss man erst mit rm lt Dateiname gt die Dateien darin l schen Mit rm kann man sie alle auf einmal beseitigen Bestimmte Dateitypen l scht man mit rm lt extension gt also z B rm jpg um alle Bilddateien des Typs jpg zu l schen mv lt Datei gt lt Verzeichnis gt verschiebt eine Datei von einem Verzeichnis in ein anderes nat rlich nur wenn die Datei in dem aktuellen Verzeichnis steht oder man den gesamten Pfad angibt mv funktioniert eingeschr nkt ber die Grenzen von Filesystemen hinweg da nur nderungen in den Inode Eintr gen erfolgen und die Datei nicht physikalisch bewegt wird mv steht f r move Wenn man den Namen einer Datei ndern m chte gibt man mv lt alteDatei gt lt neueDatei gt ein cp l
7. Das Startskript f r das Drucksystem steht als Ipd normalerweise in etc init d Manch mal reicht Start Stop bei Schwierigkeiten nicht aus um das System nach Problmen zu einem definierten Verhalten zu bewegen Dann hilft es im Allgemeinen den kompletten Spoolbereich zu l schen stop the printers sbin init d lpd stop clean spool aerea cd var spool lpd for iin do rm i fx done start the printers sbin init d lpd start 10 2 7 Tips Man auch die Daten einer Pipe in einen Ausdruck umleiten tail f var log messages lpr Pnadeldrucker Diese Kommandofolge druckt die Zeilen aus var log messages zeilenweise auf einen Nadeldrucker Das kann von Bedeutung sein wenn man Wert auf ein ungef lschtes System protokoll legt Die Kommdofolge cat aufkleber txt gt dev lp1 druckt Aufkleber auf den Nadeldrucker an lp1 zweite parallele Schnittstelle ohne das Drucksystem zu benutzen 10 3 Cups Cups Common Unix Printing System baut auf IPP Internet Printing Protocol auf und Als Webserver realisiert http localhost 631 Die Verwaltung und Dokumentation erfolgt per Webinterface Wichtige Dateien In etc cups cupsd conf mime types In var log cups error_log page_log access_log Netzwerk 10 3 CUPS 97 v Dr o nquer Dokument Bearbeiten Ansicht Gehezu Lesezeichen Extras Einstellungen Fenster Hilfe ARIOGO 200 RAMAL A E Adresse http darkstar 631 printers
8. z B de_DE UTF8 f r Deutsch mit UTF8 Zeichensatz HOST Enthalten den Rechnernamen der Maschine HOSTNAME HOME Enth lt den Pfad des Home Verzeichnisses MANPATH Enth lt den Suchpfad zu den installierten Manualpages PATH Enth lt den Suchpfad f r ausf hrbare Programme PRINTER Enth lt die Bezeichnung des Default Druckers PWD Speichert den Pfad in dem man sich gerade befindet SHELL Enth lt den Namen der Login Shell SHLVL Diese Variable wird beim Start einer Subshell um eins erh ht Die Loginshell halt blicherweise den Shell Level eins Tabelle 5 1 Wichtige Umgebungsvariablen der Shell Der Suchpfad der Shell ist eine Liste von Verzeichnissen Der Suchpfad wird durch die Umgebungsvariable PATH definiert eine durch Doppelpunkte getrennte Liste Beispiel eines Programmaufrufes ohne geeigneten Pfad und die entsprechende Anpassung user linux05 gt traceroute bash traceroute command not found 42 KAPITEL 5 SHELLPROGRAMMIERUNG user linux05 gt echo PATH usr local bin usr bin usr X11R6 bin bin usr games opt gnome bin opt kde3 bin user linux05 gt traceroute bash traceroute command not found user linux05 gt which traceroute user linux05 gt PATH PATH usr sbin user linux05 gt which traceroute usr sbin traceroute user linux05 gt traceroute usage traceroute nFV first_tt1 m max_hops p port S source_addr I interface t t
9. z B f r die Installation von Software die allen Benutzern zur Verf gung gestellt werden soll Keinesfalls als root die t gliche Arbeit machen Daf r existieren die gew hnlichen Benut zeraccounts deren Rechte f r die Standardaufgabenstellungen ausreichen Administrative Aufgaben sollten niemals m de oder in Eile ausgef hrt werden da mit root Rechten leicht irreversible Sch den angerichet werden k nnen 13 2 4 etc passwd und etc shadow Ein System sollte das Passwort der Benutzer unbedingt nicht in etc passwd speichern Die Datei etc passwd ist f r die Welt lesbar und muss es auch sein damit der eine oder andere Dienst funktioniert Das Problem dabei ist dass somit jeder mit einem Cracker bewaffnet auf Passwortsuche gehen kann solange die Passw rter in dieser Datei stehen Es leuchtet ein dass ein Passwort das in einer Datei steht die nur root lesen kann diese Hintert re schlie t Also Shadow Passwort in etc shadow benutzen 13 2 5 Locken oder ausloggen Aus demselben Grund wie zuvor ist beim Verlassen einer Maschine darauf zu achten dass man bei allen Konsolen ausgeloggt ist oder diese gelockt hat Arbeiten mehrere Leute an der Konsole dann sollte man so nett sein und die Sitzung beenden und nicht nur den Bildschirm sperren 13 2 6 Setuid und Verzeichnisse Es ist darauf zu achten dass normale Benutzer in System Verzeichnissen wie etc bin usr bin sbin usw keine Schreibberechtigung
10. Corn nn 59 6 8 Andrew Filesystem 2 22 Co oo nommen 60 INHALTSVERZEICHNIS 6 9 6 10 6 8 1 Die Clientseite 2 2 Coon onen D tei rten a ee a el 6 9 1 Typ einer Datei ermitteln 2 2 Comm rn 6 9 2 Textdateien und Kodierung 2 2 2 nn nn AMD Se er a a ee ee as eh einer Al 6 10 1 Filesystem Aufteilung 2 22 2 om mn nn 6 10 2 Un Maunien cesta ee ae SS 6 10 3 Speicherplatz auf der Festplatte 2 2 Kommen 7 Zugriffsrechte und Verzeichnisstruktur 7 1 7 2 7 3 7 4 7 5 7 6 7 7 7 8 7 9 7 10 7 11 7 12 7 13 7 14 7 15 7 16 Zugrifistechte asas a are ts Systembefehle zur Arbeit mit Dateien Datelablagestandards 2 2 2 2 Con onen D monen u ar Kara einen en Dabei a Aufbau einiger wichtiger Verzeichnisse 2 2 2222 rn Konfigurationsdateien 22 2 2 CC on nn nn OA Allgemein u a ls o a Ren are pda da tea da in hA 7 6 22 Shell Sa cn aan ee aA A aa n a e a S 1 6 3 Netzwerk ea soria aaa e Das umfangreichste Verzeichnis usr a Optionale Software o Die Schnittstelle zum Kernel proc ooo a Ger tedateien a e aan 0 Dae e a A a a en le 7 10 1 Probleme statischer Namensgebung 2 2 2222 7 10 2 Dynamische Devices mit udev 2 2 2 CE m a 7 10 3 Beteiligte Prozesse und Dienste 2 2 2 2 2 nn nn nenn Bin rdateien ausf hrbare Dateien 2 2 oc oo e Bibliotheken rra a ur a a da air Vatniable Daten se mi
11. Prozessen ber das Filesystem analog zu TCP IP s FIFOs na Einfachere Version als Sockets zur Kom med pipes munikation zwischen Prozessen ber das Filesystem Ger tedateien Schnittstellen zum Kernel Blockorientiert b block oder Zeichenorientiert od c cha racter Tabelle 6 6 Dateiarten 6 9 1 Typ einer Datei ermitteln Das Konzept von Dateiendungen ist eine Sache f r sich Viele Windowsbenutzer haben sich schon gefragt weshalb pl tzlich aus einem Textdokument eine Excel Tabelle werden soll einfach nur durch die nderung der Endung Deshalb ist den meisten Linux Programmen die Endung auch herzlich egal Programme selbst haben oft berhaupt keine Endung vielleicht abgesehen von sh f r Shell oder pl f r Perl Skripten Programme sind am sogenannten Execute Bit bei den Zugriffsrechten zu erkennen rwxr xr x 1 root root 78136 2005 03 19 21 28 bin ls rwxr xr x 1 root root 44616 2005 03 19 21 28 usr bin du Das x ist eine Voraussetzung f r die Ausf hrbarkeit bei anderen Dateiarten macht das X Bit jedoch keinen Sinn GNU Linux stellt mit dem Befehl file ein sehr m chtiges Tool zum Feststellen des Types einer Datei zur Verf gung linux02 tmp file file dump tcpdump capture file little endian version 2 4 Ethernet capture length 96 files sxw setgid sticky empty ls ELF 32 bit LSB executable Intel 80386 version 1 SYSV for GNU Linux 2 2 5 dynamically linked uses shared
12. ee a Tabelle 13 2 NMAP im Einsatz 13 5 AUFGABEN 129 13 4 8 Firewall Inzwischen gibt es drei Firewallimplementationen f r den Linuxkernel Das ipfwadm f hrte diese Funktionalit t in den 2 0 er Kernel als ein wichtiges neues Feature ein Die Firewal lingf higkeit wurde mit ipchains im Kernel der 2 2 er Serie stark verbessert und wird deshalb in einem eigenen Kapitel beschrieben Der Kernel 2 4 bringt eine weiter verbes serte Firewall mit netfilter mit sich ist aber abw rtskompatibel ber Kernelmodule zu ipfwadm und ipchains 13 5 Aufgaben 13 5 1 Secure Shell 1 Wie sieht das Kommando aus wenn man sich auf eine entferne Maschine Remote Login mit dem Rechnernamen test domain local verbinden will und man die Benutzer ID userid auf der entfernten Maschine verwenden will und unter einer anderen ID auf der Ausgangsmaschine angemeldet ist 2 Wie k nnte der SCP Kopierbefehl aussehen wenn eine Datei namens unterlagen txt vom Rechner test domain local unter der UserID root in das lokale Verzeichnis auf dem eigenen Rechner kopiert werden soll 3 Welches Problem liegt vor wenn ich folgende Meldung zu sehen bekomme user linux SharedFiles kurs klausur gt ssh 10 30 4 44 8014 CCCACCCCCCCCCCCACCCCCCACCCCACCCCACCCAACCCCACCCACCCCACCCCACCOCACCOCA 8014 Q WARNING REMOTE HOST IDENTIFICATION HAS CHANGED 0 8014 OOCOOOOOO0OO00O00O00OOOO00O0O0OOO0O00OO0OOOOOOO00O0000000000 8014 IT IS POSSIBLE THAT SOMEONE I
13. etc init d bzw etc rc d Vor der Festlegung der File System Hierarchy Standard fand man diese Unterverzeichnisse unterhalb sbin Au er diesem Verzeichnis gibt es auch noch die Unterverzeichnisse etc init d rc0 d etc init d rcl d etc init d rc2 d etc init d rc3 d etc init d rc4 d etc init d rc5 d etc init d rc6 d In den Verzeichnissen befinden sich Links der Form e etc init d rc d S dienstname gt etc init d dienstname e etc init d rc d K dienstname gt etc init d dienstname Wobei nicht f r jedes Skript unbedingt eine Start und eine Stopverkn pfung existieren m ssen F r das automatische Hochfahren von Diensten gibt es zwei M glichkeiten der Steuerung Entweder werden die o g Links nur bei Bedarf angelegt oder es existieren f r jedes Skript die notwendigen Eintr ge Dieses ist bei SuSE Linux der Fall Die Steuerung ob ein Dienst gestartet werden soll oder nicht findet hier in der zentralen Konfigurationsdatei ete re config statt M chte das System nun aus irgendeinem Grund in einen Runlevel kommen so schaut es auch wieder ein Skript in dem entsprechenden Verzeichnis nach Dateien die in Wirk lichkeit Links nach etc init d sind die mit S beginnen und f hrt diese in alphabeti scher numerischer Reihenfolge mit dem Parameter start aus Konventionsgem kommt nach dem S eine zweistellige Zahl mit der man festlegen kann in welcher Reihenfolge ein Dienst gestarte
14. libcom_err so 2 1 libnss_hesiod so 2 libxcrypt so 1 libcrypt so 1 libnss_ldap so 2 libxcrypt so 1 2 2 libdevmapper so libnss_mdns 0 2 so libz so 1 libdevmapper so 1 01 libnss_mdns so 2 libz so 1 2 2 libdl so 2 libnss_nis so 2 lsb libe2p so 2 libnss_nisplus so 2 modules libe2p so 2 3 libnss_winbind so 2 scpm libevms 2 3 s0 0 libnss_wins so 2 security libevms 2 3 s0 0 3 libpam so 0 tls libevms a libpam so 0 78 Unterhalb von lib finden sich distributionsspezifisch einige weitere wichtige Verzeichnisse wie modules f r die Kernelmodule security f r die PAM Bibliotheken und Module 7 13 Variable Daten Unterhalb des Verzeichnisses var werden alle vom System w rend der Laufzeit generierten Daten wie z B Logfiles Caches Locks abgelegt Hier liegen auch bestimmte Laufzeitda ten wie z B die Datenbankfiles von MySQL und LDAP oder die Tabellen des Nameservers Die SMTP Programme Mailagents legen unterhalb von var blicherweise ihre Queues und teilweise die Mail der Systembenutzer ab Dies geschieht auch durch den Serverdienst f r Usenet News Laufen viele und h ufig benutzte Dienste so wird in diesem Bereich 78 KAPITEL 7 ZUGRIFFSRECHTE UND VERZEICHNISSTRUKTUR Mail gespeichert dann sollte f r dieses Verzeichnis ausreichend Platz f r dynamisches Wachstum eingeplant werden 7 14 Das Tempor rverzeichnis Im Verzeichnis tmp legen einige Programmen tempor re Dateien zur Zwischenspeicherung von Laufzeitdaten oder zur
15. offizielle Linux Distribution und somit l t sich von Linux nicht spre chen wie von MacOS DOS OS 2 oder den verschiedenen Windows Versionen Viele der Systemprogramme die mit heutigen Linux Distributionen ausgeliefert werden gab es be reits vor Linux Sie wurden meistens von Systemadministratoren und entwicklern geschrie ben um bestimmte Aufgaben zu erleichtern oder die mitgelieferten Systemprogramme der Unix Hersteller zu verbessern und in ihrem Funktionsumfang zu erweitern Diese Program me wurden zumeist im Quelltext Source Code weitergegeben und meist unter die GNU Public License gestellt Das Internet schaffte die Infrastruktur zur sekundenschnellen Kommunikation der Soft ware Entwickler erst dadurch wurden so gro e Projekte wie Linux berhaupt m glich 1 4 Linux im Vergleich zu Windows DOS Linux ist wie andere Unixe auch ein Multi User Betriebssystem Dieses mag f r den Einsatz am heimischen Rechner wo man frau sowieso die einzige Person am Einschalter ist erstmal etwas bertrieben sein aber wenn man sich das Sicherheitskonzept ansieht wird man sehen dass die Unterteilung in mehrere Benutzer durchaus Sinn macht Inzwischen entwickelt sich auch das Microsoft Universum immer st rker in Richtung Serverbetriebssystem welches mit vielen Einschr nkungen die im Folgenden genannt werden aufr umt Trotzdem bleiben eine Reihe von W nschen offen und sei es nur f r ein bestimmtes Problem einen Blick in den Sourcecode we
16. realisiert und ankommende Mails zwischenspeichert so dass sie von den BenutzerInnen per IMAP oder POP3 Post Office Protocol angeholt werden kann Gleichzeitig lassen sich Filtermechanismen f r Spam und Viren installieren 3File Transfer Protocol Dynamic Host Control Protocol Domain Name System die Zuordnung von Namen d h Rechnernamen und Dom nennamen zusammen ergeben sie den sog Full Qualified Domain Name FQDN SLeightweight Directory Access Protocol z B zur Benutzerverwaltung in grossen Rechnernetzen 148 KAPITEL 15 15 2 2 Evtl Netzkonfiguration Bezugnehmend auf ein typisches ethernet basiertes LAN IP Adresse des Rechners Name des Rechners Domainname Domainadresse Subnet Maske Subnet Name Subnet Nummer Primary Nameserver Secondary Nameserver Third Nameserver Default Gateway INSTALLATION Viele Distributionen versuchen bei der Installation alle wesentlichen Netzwerkparameter per DHCP zu beschaffen Befindet sich ein entsprechender Server im Netz und ist die zu installierende Maschine auf diesem Server eingetragen braucht man sich normalerweise um diese Daten nicht zu k mmern Soll jedoch die Netzwerkkonfiguration sp ter einmal fest auf der Maschine eingetragen werden werden die Daten sp ter immer noch ben tigt 15 2 3 Weitere Informationen Welche Distribution woher bekommt man die Files Wer gibt ggf Hilfestellungen wann Welches Profil Server Multimedia X Terminal SW Entwicklung
17. rzung si In diesem Eintrag steht meistens sbin init d boot In dem Sysinit Skript werden Dinge wie fsck und das Einbinden von Filesystemen Installation von Swap Partitionen sowie weitere Basisaufgaben erledigt Bis hierher verhalten sich alle Systeme gleich Zur ck zur ete inittab In der etc inittab wird die erste M glichkeit geschaffen dass sich jemand einloggen kann um das System zu managen Von hier aus werden auch alle anderen Konfigurations dateien Startupdateien indirekt angesto en In dieser Datei wird der Default Runlevel festgelegt und je nach Runlevel auch Konfigurations Shellskripte wie etc rc d rc multi an gesto en In dieser und in einer handvoll anderer Dateien wird das gesamte System gestartet Der Bereich etc rc d ist typisch f r BSD artige Systeme Die meisten Linuxdistributionen verwenden jedoch das System V Init 83 84 KAPITEL 9 PROZESSMANAGEMENT SystemV hat eine andere Methode f r die Start Skripte Hier wird intensiv von Softlinks Gebrauch gemacht In SystemV gibt es pro Dienst bzw Daemon genau ein Start Stop Skript Die Start Stop Skripte in SystemV akzeptieren genau einen Parameter dieser muss entweder start stop restart status sein Ruft man ein solches Skript mit start auf so wird der Dienst hochgefahren Entsprechend wird er bei dem Parameter stop angehalten All diese Dateien befinden sich in einem einzigen Verzeichnis blicherweise in
18. 4 3 1 Kommandozeile und Umleitung 2 2 2 2 on nn 37 Shellprogrammierung 39 5 1 Vanablenv aars au say Nana un nee lt 39 5 1 1 Fest definierte Shell Variablen 2 2 2 2 2 on nn 39 5 1 2 Umgebungsvariablen 2 22 22 o nn nn 40 5 1 3 Variablen zur Shellprogrammierung 42 5 1 4 Mit der Shell rechnen o e o 44 5 2 Kontrollstr ukt ren 120 ss a2 2 a it A a Denen 45 972 17 Schleifen 2 3 2 4 werget ia Sarnen aa 45 5 2 2 Bedingte Ausf hrung 2 22 2 2 Emm nme 45 5 3 Weitere Interpretersprachen 22 2 2 2m rn nn 48 5 4 Aufgaben arrau u rs rn a een ler tan 48 5 4 1 Shell Umgebungsvariablen 22 222 on nn nenn 48 5 4 2 Shellprogrammierung 2 22 Comm 49 Filesysteme 51 OL AUTbaU re A re are Sl Se Ben ae each ers dao de Sas 51 6 2 Einh ngen und Aush ngen nn nn 51 6 3 Die Datei etc fstab Lts Sum 2 Ban dl rele ts Jota cal ae a 52 6 4 Eilesysteme s rowno cc Paseos moaia a lan a A aa A Aaa 54 64 1 Uberblie loo sage ale 54 6 4 2 Ext2 und Ext3 Filesysteme o nn 54 6 4 3 Dateisystem berpr fung e 55 60 Journalin PS vr a 3 a A A a Dar ann 55 6 5 1 Inkonsistente Daten a 55 6 5 2 Aufbau von Journalaling FS 2 2 2 on a 56 6 6 Schicht oder Overlay Dateisysteme 2 2 2 on nn nn 57 6 6 1 UnionFS im Einsatz 2 22 Coon nn 57 6 6 2 Variationen des Themas nn 59 6 7 Netzwerkdateisysteme
19. Active Internet connections servers and established Proto Recv Q Send Q Local Address Foreign Address State tcp 0 O nfs xk LISTEN tcp 0 O mysql xk LISTEN udp 0 O who kk udp 0 O nfs xk Active UNIX domain sockets servers and established Proto RefCnt Flags Type State I Node Path unix 9 DGRAM 613 dev log unix 2 ACC STREAM LISTENING 3810 tmp X11 unix X0 unix 2 ACC STREAM LISTENING 6332 tmp ICE unix 1051 Mit netstat M kann man sich einen berblick verschaffen welche Netzwerkverbin dungen gerade maskiert werden root server netstat M IP masquerading entries prot expire source destination ports tcp 0 40 46 1234 test local 210 24 30 216 3592 gt 2183 64155 tcp 0 45 64 1234 test local 210 24 30 216 3593 gt 2187 64156 tcp 0 49 43 1234 test local 210 24 30 216 3594 gt 2188 64157 tcp 1 03 12 1234 test local 210 24 30 216 3596 gt 2195 64159 tcp 0 54 57 1234 test local 210 24 30 216 3595 gt 2192 64158 Wird die Option n beim Aufruf des Kommandos gesetzt wird keine Namensaufl sung durchgef hrt was die Anzeige stark beschleunigen kann gerade bei IP Nummern die nicht im Nameserver bekannt sind netstat r liefert die Kernel Routingtabelle in hnlicher Weise wie sie auch vom Kom mando route angezeigt wird Wenn Sie netstat mit dem Flag i aufrufen gibt es die Sta tistiken f r die gerade aktiven Netzwerk Schnittstellen aus Geben Sie au erdem das Flag a mit an we
20. Beispiele f r Escape Sequenzen 4 2 9 Jobkontrolle Wenn ein Kommando abgesetzt wurde wartet die Shell normalerweise bis dieses ordnungs gem beendet wurde Anschlie end gibt sie wieder den Prompt aus um auf das n chste Kommando zu warten Manche Kommandos k nnen jedoch viel Zeit ben tigen oder gar w hrend der kompletten Arbeitssitzung laufen Damit man nicht f r jedes Programm das gestartet werden soll eine eigene Shell ffnen muss k nnen Programme wie man sagt im Hintergrund gestartet werden Das bedeutet nichts anderes als dass die Shell nicht erst auf die Beendigung des abgesetzten Programmes wartet sondern sofort wieder einen Prompt ausgibt um ggf ein weiteres Kommando entgegenzunehmen Man kann ein Kommando auch direkt im Hintergrund starten indem man amp an das Kommando anh ngt Weitere Kommandos k nnen dann eingegeben werden w hrend das erste ausgef hrt wird dirkChermes gt kdvi lak dvi amp Unter der grafischen Oberfl che bedeutet das Anh ngen von amp im Terminalfenster dass das Fenster aus dem eine Anwendung gestartet wurde weiter benutzt werden kann Der Sinn der Bezeichnungen Vordergrund und Hintergrund ist unmittelbar eing ngig In technischer Hinsicht sind Vordergrund und Hintergrund zwei Begriffe die sich im Zu sammenhang mit der Shell nur auf ein bestimmtes Terminal beziehen k nnen Ist die soge nannte Prozess Gruppen ID eines Prozesses identisch mit der eines Terminals
21. Ger t zuerst von Floppy Festplatte und vom CD Laufwerk bootet Welche M glichkeiten bestehen um die Installationsumgebung zu booten Welche Bootloader kennen Sie Welche Konfigurationsdateien sind f r die Linuxboot loader anzupassen Erh hen Sie die Wartezeit bis vom Bootloader ein Betriebssystem gestartet wird Wozu brauche ich rdev Brauche ich es zwingend wenn ich einen Bootloader ver wende oder kann ich mir anders behelfen Wie berpr ft man ob der Kernel sein Rootdevice oberste Hierarchie des Filesy stems kennt welches Rootdevice aktuell gestartet wurde und wie muss ich das Root device Prompt des Bootloaders angeben wenn es z B auf dev sda3 liegt 12 8 Aufgaben 12 8 1 Kernel 1 2 3 Wozu kann es n tzlich sein den Kernel modular auszulegen In welchen Dateien wird das automatische Laden von Kernelmodulen konfiguriert Welche ist dabei vom Systemadministrator zu ndern und welche wird automatisch beim Installieren der Kernelmodule angelegt Welche Optionen versteht das Kommmando make zur Konfiguration des Kernels Wie passe ich am einfachsten die Konfiguration eines lteren Kernels auf meinen neu en an 122 4 KAPITEL 12 KERNEL UND BOOTLOADER Mit welchem Aufruf kann ich in einem frisch ausgepackten Kernelverzeichnis die Kon figuration eines lteren Kernels einfach anpassen Welche Datei muss ich daf r kopie ren Welches Tool erzeugt die Modulabh ngigke
22. IDs der eingeloggten Person an der Maschine nicht zwingend mit der AFS Benutzer ID bereinstimmen m ssen An der Linux Maschine ist dirk eingeloggt mit dem Kommando klog dsuchod und anschliessender Passwort Eingabe hat sich der angemeldete Benutzer ein AFS Token f r den Zugriff auf die dsuchod freige schalteten AFS Bereiche geholt Durch Eingabe des Kommandos fs quota oder k rzer fs q im AFS Baum bekommt man die Meldung wieviel Prozent des eigenen Quotas aufgebraucht sind dirk login02 afs uni freiburg de www ks htdocs gt fs q 74 of quota used Eine ausf hrlichere Information mit Angabe des zur Verf gung stehenden und verbrauchten Speicherplatzes bekommt man mit dirk login02 afs uni freiburg de www ks htdocs gt fs lq Volume Name Quota Used Used Partition www ks 400000 295334 74 73 Die Zugriffsberechtigungen von AFS beziehen sich immer auf ein ganzes Verzeichnis und alle darin enthaltenen Dateien Sie beziehen sich nicht automatisch auf enthaltene Unter verzeichnisse Wenn die Zugriffsberechtigung f r eine einzelne Datei ge ndert werden soll muss diese ein anderes Verzeichnis mit den gew nschten Zugriffsrechten verschoben werden Die Zugriffsberechtigung wird dabei vom bergordneten Verzeichnis geerbt AFS definiert insgesammt sieben Rechtearten dabei beziehen sich vier Zugriffsrechte auf das Verzeichnis Drei weitere Berechtigungen beziehen sich auf die Dateien innerhalb des Verzeichnisses Beim Setzen des Rechtelevel
23. Kommandozeile 2 2 DIE ERSTE SITZUNG 13 Strg r R ckw rts suchen in der Liste der bis dahin eingegebenen Befehle Hierbei erfolgt mit jedem danach eingegebenen Zeichen die Suche nach dem n chsten passenden Eintrag in der Liste der Befehle Strg z Stoppt laufende Prozesse die aus der Shell aufgerufen wurden und gibt den Prompt an den Benutzer zur ck Shift PgUP Erlaubt das Hochschieben des Terminalbildschirms um bereits nach oben herausgeschobene Bildschirmbereiche wieder sichtbar zu machen Shift PgDOWN Gegenst ck zum eben Genannten Erlaubt das Bl ttern nach unten Oft arbeitet man SSH Verbindungen entfernt auf anderen Rechnern Wenn eine solche Verbindung h ngt kann man sie mit dieser Tastenfolge beenden Sonst kann es sein dass die Shell sehr lange unbenutzbar ist bevor die Verbindung endg ltig zur ckgesetzt wird Ist nur relevant f r SSH Diese Tastenkombination liefert das Kommando Interface zu SSH um beispielsweise Tunnel aufzusetzen 2 2 3 Login Jede r BenutzerIn meldet sich mit einer Kombination aus Benutzername und Passwort an der Maschine an und bekommt erst dann eine Umgebung Shell siehe Kapitel 2 2 4 S 13 zur Kommunikation mit dem System zur Verf gung gestellt Wie auch f r Datei und Ver zeichnisnamen so gilt auch hier dass nach Gross und Kleinschreibung bei Benutzername und Passwort unterschieden wird Die Kommandozeile wird aus historischen Gr nden als
24. Prozess Interaktion an Zum Erzeugen einer Datei in diesem Verzeichnis braucht ein Prozess keine besonderen Rechte Das L schen von Dateien ist nur den Prozessen des Dateieigent mers erlaubt wenn das Stickybit f r das tmp Verzeichnis gesetzt ist user linux skripten grundlagen gt ls ld tmp drwxrwxrwt 37 root root 4096 2003 08 20 14 15 tmp Weil in tmp Dateien unvorhersehbarer Gr e zu unberechenbaren Zeitpunkten von allen Benutzern eines Systems erzeugt werden k nnen legt man dieses Verzeichnis am besten in eine eigene Partition Der Cron Dienst sollte dazu eingesetzt werden regelm ig in be stimmten Abst nden das Verzeichnis aufzur umen und die Dateien zu entsorgen Sonst kann es schnell passieren dass normale Benutzer durch gro z giges Auslagern ihrer berbest nde den Tempor rbereich berlaufen lassen 7 15 Literatur e S Hetze D Hohndel M M ller O Kirch Anwenderhandbuch LINUX Leitfaden zur Systemverwaltung LunetIX 1997 e Fred Hantelmann LINUX f r Durchstarter Springer 1997 Beide B cher geben eine gute Einf hrung in den Umgang mit Linux das Login die Shell Kommandoeingabe das Dateisystem und wichtige Systembefehle Erkl rungen zu Netzwerken erfolgen nicht oder nur sehr am Rande und sind in Anbetracht des Druckdatums nicht mehr aktuell 7 16 Aufgaben 7 16 1 Rechtesystem 1 Wie l sst sich das Rechte Muster rw r r einer Datei erzeugen und was sagt es aus 2 Mit welchem K
25. Schl ssel zum Er folg um ein Betriebssystem einer breiten Masse an Anwendern zur Verf gung zu stellen weil kaum ein Computeranwender gerne auf Komfort bei der Benutzung seines Computers verzichten will Er m chte sich in erster Linie auf den Kern seiner Bed rfnisse konzentrie ren z B Briefe schreiben im Internet surfen Mails senden und empfangen Solche Dinge mit einem Mausklick schnell und bequem zu machen mit einem Klick Textpassagen aus dem Internet in die eigene Ausarbeitung zu kopieren Icons auf der Oberfl che die mit einem Klick eine h ufig genutzte Anwendung starten all das sind die Leistungungen eines Desktopsystems Die beiden wohl verbreitesten Desktopsysteme sind e KDE Kool Desktop Environment basierend auf dem GUI Toolkit QT e Gnome GNU Network Object Model Environment basierend auf dem GUI Toolkit GTK Beide Desktop Environments werden aber mit jeder gr eren Distribution mitgeliefert und gleichen sich sehr im Funktionsumfang Welches ist nun die geeignetere Oberfl che f r einen bestimmten Einsatzzweck Hier gilt der Grundsatz ausprobieren Die Geschm cker sind verschieden und es gibt genug Alternativen die nahezu die pers nlichen W nsche und Bed rfnisse eines Anwenders abdecken Neben KDE und Gnome gibt es alternativ auch noch die M glichkeit einen klassischen Windowmanager wie FVWM oder IceWM zu verwenden diese bieten zwar geringeren Komfort schonen aber die Ressourcen was z B auf eine
26. Welchen Nachteil hat das Verfahren aus Aufgabe 1b Welche Alternativen kennen Sie noch zur Rettung nicht mehr bootender Systeme Index A Tanenbaum 4 Access Control List 71 Account 19 ACL 71 AFS 5 69 70 ACL 72 Rechte 72 alias 40 Anmelden 18 apropos 23 Arbeitsspeicher 6 21 awk 88 bashrc 40 Batch 35 bc 51 Bedienungsanleitung 24 Beenden 13 Benutzerkonto 19 Betriebssystem DOS 6 Linux 4 6 Minix 4 Windows 6 Bibliothek 61 Bildschirm 39 Booten 13 OS Loader 13 C Compiler 4 cat 31 cd 80 chfn 20 chmod 79 chsh 20 CIFS 7 clear 16 CPU 6 D mon 82 date 20 Datei 8 31 Kodierung 75 Text 75 Dateiarten 73 Dateibetrachter 31 Dateigr e 65 Dateinamen 21 Grossschreibung 21 Kleinschreibung 21 Dateisystem 7 64 67 AFS 70 EXT2 7 EXT3 7 Metadaten 66 Netzwerk 69 NFS 69 ReiserFS 7 XFS 7 declare 50 df 21 Dienst 9 15 93 DNS 84 resolv conf 84 DOS 64 Editor 31 eject 62 emacs 33 Entwickler 6 export 20 Ext3 64 file 74 Fileserver 71 Filesystem 62 64 filesystems 64 find 22 finger 20 free 21 fsck 64 65 fstab 62 gcc 4 152 INDEX Ger t 8 GNOME 4 GPL 4 Grafikserver 5 grep 88 GUI 10 gzip 88 head 31 HFS 64 Hintergrund 41 82 History 37 Hochfahren 13 Home Verzeichnis 37 49 71 82 Homeverzeichnis 80 hosts 84 hotplug 86 iconv 75 id 21 inittab 16 ISO9660 64 iss
27. Zeilen und tail die letzten Zeilen einer Datei an 3 2 Texteditoren Texteditoren spielen unter Linux eine grosse Rolle da sie h ufig zum Anlegen und ndern von Dateien ben tigt werden Fast alle Konfigurationsdateien verschiedener Programme und Services sind Textdateien welche auf die konkreten Bed rfnisse der User oder des Systems angepasst werden m ssen oder k nnen ls Kap 5 1 S 39 25 26 KAPITEL 3 EDITOREN UND DATEIBETRACHTER 33 Joe Der zu Beginn sicherlich am einfachsten zu bedienende Texteditor ist joe der in seiner Kommandosyntax wordstar kompatibel ist Er eignet sich insbesondere fiir User die sich partout nicht den vi aneignen wollen aber dennoch eine M glichkeit suchen von der Kon sole aus einfache Bearbeitungen an Textdateien vorzunehmen Mit vi gemeinsam hat joe zum einen den Vorteil auch dann zu laufen wenn sonst nichts mehr geht zum anderen die gen gsamen Anspr che an die Hardware Im Gegensatz zum vi dessen Bedienungskonzept manchem Neuling als recht kryptisch erscheint ist joe aber etwas konventioneller Der Editor wird einfach von der Konsole aus gestartet mit joe lt Dateiname gt Dann erscheint der Dateiinhalt im Editierbereich Zum Eingeben einfach die Tastatur verwenden der Cursor kann mit den Cursortasten bewegt werden joe legt von jeder ge nderten Datei eine Sicherungskopie an die aus dem Dateinamen mit angeh ngtem Tilde besteht wenn man es ihm nicht in der Konfigurationsdatei etc j
28. ae wat nn 142 14 43 KDE 2222 o on mans EA ts 142 TA 5e Software a A A a ee a u ne ee ee 143 14 5 1 Installation und Management 2 2 2 En e 143 14 52 Entwicklung cr A a ae NT A ei ee 143 15 Installation 145 15 1 Einsatzbereiche ssp we 3 n 8 2 80 Sana Sea 145 15 1 1 Router Gateway Sister een 145 15 1 2 Desktopsystem a 145 15 1 3 Preiswerter Parallelrechner 2 2 aa 146 15 1 4 Kosteng nstiges X Terminal 2 2 2 nn nn 146 15 1 5 Linux Diskless Client 2 2222 Coon 146 1941 67 Fileserver 2 25 2 2 2 882 AS Be Ve N AN 146 LEA WWW 9erver is ee ee ra a 146 15 1 8 Allgemeine Server Funktionen 2 22 2 nommen 147 15 2 Vorbereitung der Installation 22 2 CC mon nn 147 15 21 Hardware 5 lu e E A A A a t 147 15 2 2 Evtl Netzkonfiguration e 148 15 2 3 Weitere Informationen oaoa 148 15 3 Installationsquellen 2 2 2 2 ou nn nn nn 148 15 3 1 Evtl Installationsserver 2 2 2 Coon 149 15 4 Software die nicht der Distribution beiliest 2 222 2 150 15 5 Aufgaben ta Gas sa Ak Se Be ld Bauens a E 150 15 5 1 Linux als Betriebssystem 2 222 Coon e e 150 15 5 2 Bestimmung der Rechnerkonfiguration 2 2 2 2 150 15 5 3 Einrichten der Festplatte 2 CL o nn 150 15 5 4 Rettungssystem diskette 2 2 2 2 2 151 Kapitel 1 Einleitung Grundlagen 1 1 Zu diesen Unterlagen Diese Unterlagen wurden aus Anlass mehrerer Vorlesungen und Fortbildungsku
29. anzeigen lassen Im Ein zelnen zieht ein logout das Abmelden vom System ein automatisches L schen aller noch anh ngigen Jobs nach sich die w rend dieser Sitzung gestartet wurden Abhilfe schafft hier der Befehl nohup Kommando amp Denn nohup startet den Prozess in der Weise dass er gegen ein Beenden der Shell immun ist und schreibt die evtl anfallenden Ausgaben des Befehls in eine Datei blicherweise nohup out Ein Nebeneffekt der Ver wendung von nohup ist dass die Prozesse mit einem um f nf h heren Nicelevel gestartet werden 9 6 Zeitsteuerung Linux bietet etliche Programme f r das Automatisieren von Aufgaben Ein Beispiel ist cron Dieser ist ein Systemdienst und sollte beim Booten automatisch gestartet und im Normalbetrieb nicht beendet werden Cron ist f r sich wiederholende Aufgaben zust ndig die automatisch zu bestimmten Zeiten stattfinden sollen dem ber hmtesten Windows Fenster dem Blue Screen 9 6 ZEITSTEUERUNG 89 F r die Verwaltung seiner Aufgaben liest cron die crontab Datei Das System und jeder User haben ihre eigenen cron Dateien Die des Systems befindet sich in der Datei etc crontab Sie sollte m glichst nicht ge ndert werden Auch der Benutzer root sollte seine eigene Datei erzeugen Das Kommando crontab etc crontab wird eine crontab Datei erzeugen die eine Kopie der System crontab Datei ist Diese Datei kann nun mit crontab e editiert werden Beachten Sie dass crontab sowohl der Name
30. dass diese Software nur auf 3 4 5 86er Prozessoren lauff hig ist Urspr nglich wurde XFree86 auch daf r entwickelt mittlerweile ist XFree86 aber auch auf anderen Prozessor Architekturen lauff hig Anfang der 80er Jahre kam man am MIT Massachusettes Institut of Technologies darauf dass es ja ein bisschen schade ist wenn man ein echtes Mehrbenutzer und Multitasking System hat darauf aber nur mit einer Konsole zugreifen kann Die naheliegende Idee Mehrere Anwendungen in unterschiedlichen bewegbaren Fenstern auf dem gleichen Schirm anzeigen So entstand X als akademisches Projekt der Quellcode wurde von vielen kom merziellen UNIX Anbietern aufgegriffen fortentwickelt und in ihre UNIXe integriert X11 selbst entstand im Jahre 1986 als Ergebnis der beiden Vorg ngerprojekte V und W Im Laufe der Entwicklung wurden die grundlegenden Protokolle weiterentwickelt blieben aber immer zu den lteren Versionen kompatibel 1992 erschien dann die erste Version von X11 f r PCs Das XFree86 Projekt selbst startete mit einem Referenzserver f r die PC Plattform der von Thomas R ll heute Xi Graphics geschrieben wurde und dem Projekt zur Verf gung gestellt wurde Ungeachtet dessen ist es inzwischen ohne weiteres m glich mit jedem Standard Linux in den Genuss einer grafischen Benutzeroberflche zu kommen Um eine Grafikkarte zu benut zen ben tigt man wie bei anderen Betriebssystemen auch einen Treiber Diese Treiber Ihttp www xfree8
31. der ATX Standard daf r gesorgt dass der Einschalter nicht mehr gleich den Strom trennt sondern vorher noch das Shutdown Kommando an das Betriebssystem weiterreicht Die meisten Linux Distributionen reagieren auf dieses schon in der Grundeinstellung Der ganze Zinnober ist wie inzwischen bei neueren Windows Versionen auch angera ten Linuxserver reagieren unter Umst nden ausgesprochen empfindlich wenn sie nicht ordnungsgem ss beendet werden 2 2 Die erste Sitzung Sitzung kommt von Sitzen Jetzt kommt schon die erste Entscheidung Entweder man setzt sich an die Konsole also direkt an den Bildschirm des Linux Computers vor die reale Hardware Oder man geht per telnet oder besser weil verschl sselt per ssh also von irgendeinem entfernten PC aus ber Netzwerk an die Sache heran Dann sitzt man jedoch nicht mehr direkt an der Hardware was aber kein Problem darstellt solange man nicht an bestimmte Komponenten wie z B das DVD Rom Laufwerk heran m chte Sollte kein Netz zur Verf gung stehen er brigt sich diese Entscheidung An dieser Stelle sollte darauf hingewiesen werden dass sich eine Netzwerk Sitzung immer ber das sogenannte Loopback Netzwerk Interface realisieren l sst Denn das Loopback Interface ist auf jedem Linux Rechner unabh ngig von einer realen Internet oder LAN Anbindung eingerichet Das Einloggen geschieht dann mittels ssh localhost oder ssh 1 user 127 0 0 1 In diesem Beispiel sieht man bereits ein
32. der Datei als auch der Name des ausf hrbaren Programmes ist hnlich wie passwd Die erzeugte Datei wird in ihrer Grundstruktur in etwa wie diese Konfiguration eines SuSE Systems aussehen SHELL bin shr dhcpcd if not then delete var run dhcpcd eth0 pid file PATH usr bin usr sbin sbin bin usr lib news bin MAILTO root check scripts in cron hourly cron daily cron weekly and cron monthly 15 root test x usr lib cron run crons amp amp usr lib X cron run crons gt dev null 2 gt amp 1 59 k ke root rm f var spool cron lastrun cron hourly 154 x root rm f var spool cron lastrun cron daily 295 6 root rm f var spool cron lastrun cron weekly 444 1x root rm f var spool cron lastrun cron monthly reinitialize adsl connection 304 x root rcnetwork stop ds10 sleep 5 rcnetwork start ds10 Die Zeilen zur Steuerung bestimmter Abl ufe haben ein spezielles Format F nf Zeitfel der gefolgt von dem auszuf hrenden Programm Die systemweite crontab besitzt ein weite res Feld das cron anweist das Programm als spezieller User auszuf hren z B root In einem User crontab wird dieses Feld ignoriert Die f nf Zeitfelder sind Minuten Stunden Tag des Monats Monat Wochentag Zeit Datumsfeld Definitionsbereich Minute 0 59 Stunde 0 23 Tag des Monats 1 31 Monat 1 12 oder Namen siehe unten Wochentag 0 7 0 oder 7 ist Sonntag oder Namen Tabelle 9 4 Definiti
33. der Festplatte organisieren und griffbereit halten Solche internen Strukturen werden Metadaten genannt und sind sozusagen die Daten ber die Daten Die Metadaten definieren beispielsweise wo die Datenbl cke einer Datei zu finden sind wer Besitzer ist die Rechte die letzten Zugriffszeitpunkte und anderes mehr Alle Verwaltungsdaten m ssen unbedingt konsistent gehalten werden So kann auf eine Datei nicht zugegriffen werden wenn die Datenbl cke nicht dort liegen wo sie laut Metada ten erwartet werden Oder es k nnte passieren dass bestimmte Datenbl cke als nicht belegt definiert sind obwohl dort Daten abgelegt sind die somit berschrieben werden k nnten Wird eine Datei neu angelegt so werden in mindestens f nf verschiedenen Struktu ren der Metadaten nderungen vorgenommen Gibt es w hrend dieser nderungen einen Systemausfall ist das Dateisystem inkonsistent es sei denn es gibt ein Journal Journal Bevor eine nderung an den Metadaten vorgenommen wird wie durch das An legen einer neuen Datei werden die daf r n tigen Metadaten nderungen zun chst aus schlie lich in das Journal geschrieben welches eine Art Logfile darstellt Diese Eintr ge im Journal gelten solange nicht f r das Dateisystem bis die Journal Eintr ge mit einem commit abgeschlossen werden Erst dann werden die neuen Metadaten auf die Festplatte geschrieben Wie soll dies nun vor Inkonsistenzen nach einem Systemabsturz sch tzen Nach einem Neust
34. der Option defaults verbergen sich eine ganze Reihe von Standardeinstellungen wozu z B auto und nouser z hlen Wenn ein Dateisystem von jedem Systembenutzer eingebunden werden kann durch die Option user entspricht default fiir nicht privilegierte Benutzer der Kombination nosuid noexec nodev und rw Es d rfen mehrere Optionen in der vierten Spalte in einer durch Kommata getrennten Liste angegeben werden Die Optionen die mit einem no beginnen k nnen auch ohne die Vorsilbe eingesetzt werden womit sich ihre Bedeutung erwartungsgem umkehrt Die Tabelle 6 3 auf Seite 53 bietet eine bersicht ber die Optionen der vierten Spalte der fstab 6 4 Filesysteme 6 4 1 berblick Die Linux Verzeichnisstruktur kann sich durchaus auf sehr verschiedene Filesysteme vertei len wobei zumindest f r einen Teil der Verzeichnisse diese bestimmte Eigenschaften aufwei sen m ssen Als Rootfilesystem notwendige Basishierarchie kommen z B Ext3 zur Zeit eines der Standard FS ReiserFS oder Reiser4 ein weiteres modernes Journaling FS XFS UMSDOS Filesystem auf Basis einer DOS bzw Windows95 98 ME Installation MINIX Mini FS NFS Networkfilesystem f r Diskless Clients in Frage F r kleine Embedded Devices gibt es weitere Filesysteme wie jffs2 oder squashfs Linux versteht teilweise im Nur Lese Modus weitere Filesysteme DOS VFAT NTFS HFS IS09660 Rom FS UFS Alle Dateisys
35. die f r ein Bootmen notwendig ist muss menu lst hei en und unterhalb von boot grub ange legt werden F r alle Einstellungen ist wichtig dass GRUB immer bei 0 anf ngt zu z hlen womit z B die erste Partition auf der primary slave Festplatte entspr che dev hdb1 mit hd1 0 bezeichnet w rde Die Titel der einzelnen Konfigurationen m ssen eindeutig sein Im Folgenden wird ein Beispiel Listing gezeigt default 1 gfxmenu hd0 1 boot message timeout 8 title linux kernel hd0 1 bo0t vmlinuz root dev hda2 vga 0x317 splash silent initrd hd0 1 boot initrd title linux nopnp kernel hd0 1 bo0t vmlinuz nopnp root dev hda2 vga 0x317 splash silent initrd hd0 1 boot initrd nopnp 12 6 BOOTLOADER 117 title failsafe kernel hd0 1 bo0t vmlinuz shipped root dev hda2 vga 0x317 ide nodma apm off acpi off vga normal nosmp noapic maxcpus 0 3 initrd hd0 1 boot initrd shipped title win98 root hd1 0 makeactive chainloader 1 title winXP root hd1 2 makeactive chainloader 1 Der erste Eintrag nach den Kommentaren ist default 1 der im gezeigten Beispiel festlegt welcher Eintrag im Bootmen vorselektiert angezeigt werden soll Standardm ig beginnt GRUB bei 0 im gezeigten Fall wird linux nopnp markiert Soll z B win98 als Default gew hlt werden m sste der Wert entsprechend auf 3 eingestellt werden Anschlie end folgt timeout 10 Hierdurch wird eingestellt nach wie viel Sekunden GRUB den markie
36. die Ausgabe seines Programms auf den Bildschirm in eine Datei oder auf ein Drucker ausgegeben wird Auch Treiber gibt es unter Linux Sie werden entweder fest in den Systemkern Kernel eincompiliert oder als Zusatzmodule geladen 1 5 Anmerkungen Alle Kommandos werden blicherweise ohne Nachfrage ausgef hrt also sollte gewisse Vor sicht geboten oder Toleranz gegen ber verschwundenen Daten angebracht sein Deshalb bietet es sich gerade f r Neulinge an f r die ersten Gehversuche CD Linuxe wie Knop pix an Eine andere Alternative ist die Benutzung von VMware im nonpersistenten Modus d h alle Daten werden in einen Zwischenpuffer geschrieben statt direkt die virtuel le Festplatte zu ver ndern Liegen wichtige Daten auf dem System so sollten regelm ssige Backups erfolgen das gilt f r alle Betriebssysteme Viele Befehle zur Systemadministration sind dem Superuser root vorbehalten Zur Erh hung der Lesbarkeit werden alle ausf hrbaren Dateien oder Systembefehle durch Fettdruck z B Is oder dhcpd hervorgehoben Alle Konfigurationsdateien oder Verzeichnisse werden italic gesetzt z B home name Beispiele f r Kommandoeingaben wie last sort less werden in Courier gesetzt Tasten beispielsweise der einfache Druck auf das d ohne Modifier werden durch d dargestellt Kombinationen durch Shift d wenn sie gleichzeitig y y wenn sie nach einander gedr ckt werden sollen Um den Leseflu
37. die meisten bereits genannten Filesysteme Es existieren Implementationen f r Win dows MacOS X und diverse UNIXe inklusive Linux AFS kennt einen weltweit eindeu tigen Namensraum Egal wo und an welcher Maschine ein Benutzer arbeitet der Pfad f r einen Benutzer stellt sich immer identisch dar Der Pfadname beginnt mit afs dem sogenannten Top Level Auf der n chsten Hierarchieebene Second Level kommt der so genannte Cell Name Die Zellennamen f r bereits bestehende AFS Zellen finden sich auf www central org dl cellservdb CellServDB f r die Consumerwindows Spielkonsolen Win95 98 ME jedoch nur der Client 6 8 ANDREW FILESYSTEM 61 Fiir die darin enthaltenen Unterverzeichnisse darunter existieren ebenfalls Konventio nen die eingehalten werden sollten vgl hierzu Tabelle 6 8 1 auf S 61 Name Beschreibung common Systemunabh ngige Daten public ffentliche Daten service Koordination und Konfiguration der Zelle sys_type Systemspezifische Daten z B i586_linux usr Home Verzeichnisse f r Benutzer wsadmin Konfiguration von Clients Jedem Benutzer kann ein eigenes Volume zugeordnet werden Sie bilden die Basis des ganzen Konzeptes ihre Lage ist f r den Client v llig transparent Die Volumes k nnen w hrend des Betriebes von Fileserver zu Filserver verschoben werden Auf diesem Volume wird ein Quota definiert AFS implementiert eine ausgefeiltere Kontrolle ber die Zugriffs berechtigungen mit Access Control Lis
38. die nicht ben tigt werden auf jeden Fall de aktiviert werden sollten Gerade diese bergen h ufig die Gefahr dass weil man nicht an sie denkt hier ber der erfolgreiche Angriff stattfindet 128 KAPITEL 13 SYSTEMSICHERHEIT 13 4 5 xhost und das unsichtbare Fenster Mit xhost serviert man potentiellen Einbrechern die gew nschten Informationen auf einem goldenen Tablett Das einzige was der Hacker zu tun hat ist ein unsichtbares Fenster auf dem Bildschirm zu platzieren Dieses bekommt nat rlich weil es zu oberst liegt alle Informationen von Maus und Keyboard exklusiv Je nach Gutd nken des Hackers werden diese Informationen an die Fenster an die sie eigentlich gerichtet sind weitergeleitet oder eben auch nicht Der Hacker kann alles mitprotokollieren oder das keyboard maus toten Mann spielen lassen oder alles andere was das Herz begehrt mit dem Bildschirm anstellen Ein Login Bildschirm ber Nacht auf s Display gezaubert bringt am n chsten Morgen ein sicheres Passwort 13 4 6 rhosts Es ist grunds tzlich abzulehnen den eigenen Account gegen ber einem Benutzer zu ffnen der behauptet sich auf einer Maschine zu befinden die ihrerseits behauptet einen be stimmten Namen zu tragen Man sieht schon jetzt wie fragil das Konstrukt ist Jeder kann irgendetwas behaupten aber darum ist demjenigen noch kein Account zu ffnen Das Konzept der R Tools Steuerung ber die rhosts im eigenen Homeverzeichnis wie sie ei
39. dieser Gruppe hinzugef gt werden Mit dem AFS Kommando fs sa testdir dsuchod systeme rliwka wird dann ein Rechtemuster auf das Verzeichnis testdir f r die Gruppe dsuchod systeme eingetragen Dieses Kommando muss entsprechend f r alle gew nschten Verzeichnisse wiederholt werden Dabei sollte man bedenken dass auch bergeordnete Verzeichnisse zumindest ein Lookup Recht f r die Gruppe bekommen sollten Das Anzeigen der Rechte im Verzeichnis testdir liefert dann folgendes dirk Clinux02 afs uni freiburg de www ks htdocs systeme gt fs la Access list for is Normal rights dsuchod systeme rliwka webadmins rlidwka system administrators rlidwka www rl www ks rl dsuchod rlidwka 6 9 Dateiarten Linux kennt sechs Arten von Dateien auf Filesystem Ebene s Tabelle 6 6 S 64 8 verschiedene Filesysteme m gen einige Typen davon nicht unterst tzen 64 KAPITEL 6 FILESYSTEME Beschreibung normale Klassische Dateien wie ausf hrbare Datei Programme Porgrammbibliotheken Konfigurations Druck Textdateien Verzeichnisse Containerdatei in der wieder alle sechs Dateitypen vorkommen k nnen Links Soft oder Hardlinks Softlinks sind Spezi 1 aldateien in denen ein Zeiger auf eine an dere Datei steht Diese k nnen im Gegen satz zu Hardlinks auch ber physikalische Grenzen von Datentr gern hinweg existie ren Hardlinks sind weitere Eintr ge in die Inode Sockets Erlauben die Kommunikation zwischen
40. dirk0s02 bin gt 1s arch dumpkeys In ps showkey ash echo loadkeys psfaddtable sleep ash static ed loadunimap psfgettable sort awk egrep logger psfstriptable stty basename eject login psfxtable su bash false ls pwd sync bluepincat fgconsole lsmod rescan scsi bus sh tar cat fgrep lsmod static resizecons tcsh chgrp fillup mail rm testutf8 chmod fuser mapscrn rmdir touch chown gawk mkdir rpm true chvt getkeycodes mknod sash umount cp grep mktemp scsidev uname cpio guessfstype more sed unicode_start csh gunzip mount setfont unicode_stop date gzip mv setkeycodes usleep dd hostname netstat setleds vi deallocvt initviocons nisdomainname setmetamode vim df ipg openvt setserial vitmp dmesg kbd_mode pidof sg_start ypdomainname dnsdomainname kbdrate ping sh zcat domainname kill ping6 showconsolefont zsh Diese Kommandos gen gen zur einfachen Systemadministration Programme wie die Shell diverse Filter und Parser wie sed awk grep Packprogramme tar und gzip sind hier zu finden Im usr bin Verzeichnis sieht es je nach Zweck der Maschine um einiges voller aus so dass sie hier nicht dargestellt werden soll 7 12 Bibliotheken Programmbibliotheken shared libraries und Programmteile Skriptsprachenelemente der Compiler etc liegen blicherweise in den Verzeichnissen 7 13 VARIABLE DATEN 77 usr lib usr X11R6 lib Der Suchpfad f r Bibliotheken wird in einem Hashfile ab gelegt etc ld so cache Die Erzeugung di
41. ein paar der Spalten eingegangen werden die top in seiner tabellari schen Ausgabe anzeigt top kann in vielen F llen ein hilfreiches Tool sein Kommt Ihnen Ihr Computer z B viel zu langsam vor so kann es sein dass ein oder mehrere Programme die Ressourcen 9 4 SYSTEM ODER RESOURCEN AUSLASTUNG 87 PID Logischerweise der PID des angezeigten Programms USER Der Benutzer der das Programm aufgerufen hat SIZE Die Gr e des Programms im Arbeitsspeicher SHARE Menge des Speichers den das Programm mit anderen gemeinsam nutzt CPU Anteil an der Prozessorauslastung durch das Programm MEM Anteil an der Auslastung des Arbeitsspeichers durch das Programm Tabelle 9 2 Spalten berschrift und deren Bedeutung berm ig beanspruchen Diese Programme k nnen Sie mit top leicht ausfindig machen und ggf beenden Desweiteren ist es sehr interessant zu sehen was das System am meisten belastet 9 4 3 uptime uptime zeigt die Systemzeit die Zeitspanne in der das System bereits l uft die Zahl der Benutzer Innen und die durchschnittliche Systemlast der letzten Minute f nf Minuten und 15 Minuten an dirk shuttle gt uptime 7 39pm up 6 days 6 43 15 users load average 1 17 1 23 1 20 9 4 4 time Manchmal kann es recht n tzlich sein die Zeit zu ermitteln die einzelne Prozesse zur Abar beitung ben tigen time kommando z B um einen einfachen Bench zur Systemleistung zu haben kann man die Kernelkompilationszeit mit time make bz
42. einem Lehrbetriebssystem von A Tanenbaum von diesem stammt der Ausspruch Linux is obsolete Sonst ist er aber eher f r ein or dentliches Netzwerkbuch bekannt Er schrieb hierzu in der Newsgroup comp os minix As I mentioned a month ago I m working on a free version of a Minix look alike for AT 386 computers It has finally reached the stage where it s even usable though may not be depending on what you want and I am willing to put out the sources for wider dis tribution It is just version 0 02 but I ve successfully run bash gcc gnu make gnu sed compress etc under it Aus den ersten Versuchen wird schnell ein einfacher aber brauchbarer multitasking f higer Betriebssystemkern Linux ist genaugenommen ein Betriebssystemkern engl kernel Der Name geht auf Linus Unix zur ck und zeigt damit an dass Linux ein unix artiger Kernel ist 1992 stellt Linus Torvalds die Kernel Version 0 12 ber anonymes FTP ins Netz womit eine breitere Zahl von Testern Zugriff erh lt Schnell wird die Zahl der per Mail kommunizierenden Tester und Anwender so gross dass der n tige Austausch nicht mehr allein ber diesen Weg zu bew ltigen ist Zur besseren Kommunikation wird die Usenet Gruppe alt os linux eingerichtet Newsgroups waren vor der Ausbreitung des World Wide Web das dominierende Diskussions und Kommunikationsmedium Die eingerichtete Newsgroup schuf das Forum f r eine explosionsartige Weiterentwi
43. f r alle anderen Benutzer other die nicht der eigenen Gruppe z B users angeh ren das Leserecht read auf die Datei kurs01 txt Sollen die Rechte entfernt werden geschieht dieses durch die Angabe des Minuszeichens anstelle des Plus welches f r das Hinzuf gen der Rechte steht Eine andere M glichkeit besteht darin die Zugriffsrechte ber die sie repr sentierenden Oktalwerte zu setzen wie sie in der untenstehenden Tabelle gezeigt werden Oktalwert Beschreibung Benutzergruppe Set User Id Bit Set Group Id Bit Sticky Bit Lesezugriff Schreibzugriff Dateibesitzer Ausf hrungs Suchzugriff Lesezugriff Schreibzugriff Benutzergruppe Ausf hrungs Suchzugriff Lesezugriff Schreibzugriff Alle anderen Ausf hrungs Suchzugriff Tabelle 7 1 Die traditionellen Zugriffsrechte unter Linux Der Aufruf des Kommandos chmod sieht dann z B so aus meierChermes kursunterlagen gt chmod 0700 kurs01 txt Dar berhinausgehende Rechtesysteme lassen sich mit den Posix ACL s Access Control Lists implementieren Daf r muss jedoch eine Unterst tzung seitens des Dateisystems z B xfs vorhanden sein 7 2 Systembefehle zur Arbeit mit Dateien Folgende Basisbefehle stehen neben einer ganzen Reihe weiteren unter Linux zur Verf gung Die spitzen Klammern sollen blo anzeigen dass dieser Bestandteil des Befehls von den Leerzeichen abgesehen variiert die tippt man in Wirklichkeit nicht mit Diese Befehle sind i
44. files and directories SYNOPSIS cp OPTION T SOURCE DEST cp OPTION SOURCE DIRECTORY cp OPTION t DIRECTORY SOURCE DESCRIPTION Copy SOURCE to DEST or multiple SOURCE s to DIRECTORY Mandatory arguments to long options are mandatory for short options too a archive same as dpR backup CONTROL make a backup of each existing destination file eine Menge weiterer Optionen AUTHOR Written by Torbjorn Granlund David MacKenzie and Jim Meyering REPORTING BUGS Report bugs to lt bug coreutils gnu org gt 20 KAPITEL 2 ERSTE SCHRITTE COPYRIGHT Copyright C 2005 Free Software Foundation Inc This is free software see the source for copying conditions There is NO warranty not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR POSE SEE ALSO The full documentation for cp is maintained as a Texinfo manual If the info and cp programs are properly installed at your site the command info cp should give you access to the complete manual cp 5 3 0 March 2005 CP 1 Das Kommando apropos liefert die Antwort auf die Frage Was findet man alles zum Stichwort xyz Es gibt eine Liste der zu diesem Stichwort verf gbaren Manual Pages aus Aufgerufen wird es durch apropos Stichwort Das Kommando whatis liefert eine Kurzinformation wenn der Name des Kommandos bekannt ist dirk test kurs gt whatis cp cp 1 copy files and directories cp 1p copy files Ein weiteres ku
45. kopiert scp r test user rechner01 tmp das Verzeichnis test rekursiv d h mit allen Unter verzeichnissen und Dateien vom lokalen Rechner in das Verzeichnis tmp auf der Maschine Rechner01 2 5 Aufgaben 2 5 1 Dokumentation Hilfe 1 Man nenne das Kommando und den Aufruf am Beispiel der Shell bash zum An zeigen von Manpages 2 Wo finden sich unter einer Suse Linux Installation blicherweise weitere Hilfetexte Howto s und Unterlagen 3 Welche M glichkeiten stehen alle zur Verf gung um sich Hilfen Informationen und Hinweise zu Programmen und Softwarepaketen anzeigen zu lassen 2 5 2 Zentrale Kommandos 1 Man ermittele seine eigene UserID und GruppenID numerisch und als Accountname und die des Systemadministrators 14Diese Datei stellt die Namensaufl sung ein 15 Achtung Symbolische Links werden nicht als solche kopiert sondern die kompletten Dateien 22 10 KAPITEL 2 ERSTE SCHRITTE Wie lautet das Kommando zum Wechseln der Verzeichnisse Wie kommt man in die oberste Verzeichnisebene Mit welchem Kommando legt man ein Verzeichnis an und wie l sche ich ein nichtleeres Verzeichnis komplett Lesen Sie Ihre aktuelle DISPLAY Variable aus und geben Sie diese anschliessend an who Wer ist da Welche Befehle zeigen hnliche Informationen an Wie bekommt man heraus wer sich in letzter Zeit an der Maschine eingeloggt hat Wie kann man daf r sorgen dass sich diese Liste bequem du
46. libs stripped man df png PNG image data 667 x 463 8 bit color RGB non interlaced nnn dvi setgid sticky TeX DVI file TeX output 2005 05 04 1720 213 nnn tex setgid sticky 150 8859 text shell sxw setgid sticky Zip archive data at least v2 0 to extract sog Executables oder ausf hrbare Dateien 6 10 AUFGABEN 65 Der Befehl file kennt den Fingerabdruck von sehr vielen verschiedenen Programmen und Dateitypen und kann deshalb auch ohne dass das passende Programm installiert ist feststellen worum es sich jeweils handelt Wer beispielsweise Filme auf seinem System vor allzu Neugierigen verstecken will sollte mehr als nur reine Umbenennung vornehmen file l sst sich nicht so einfach t uschen dirk linux02 SharedFiles TV Filme gt file Film avi setgid sticky RIFF little endian data AVI 640 x 272 25 00 fps video XviD audio MPEG 1 Layer 3 stereo 48000 Hz Text doc setgid sticky RIFF little endian data AVI 640 x 272 25 00 fps video XviD audio MPEG 1 Layer 3 stereo 48000 Hz File bezieht die Daten zur Erkennung verschiedener Dateiarten aus etc magic 6 9 2 Textdateien und Kodierung Derzeit findet auf Linux Systemen die Miration von den l nderspezifischen alten Kodie rungen auf das bergreifende UTF8 statt Fr her waren Zeichen einheitlich 8bit lang und Dateien nach bestimmten Codepages wie ISO 8859 1 oder ISO 8859 15 f r westeurop ische Zeichens tze kodiert UTF8 kennt variable Zei
47. man GNOME individuell konfigurieren und somit das Erscheinungsbild und die Funktionen des Desktops nach eigenen W nschen anpassen Der in GNOME in tegrierte Session Manager speichert die pers nlichen Einstellungen der Applikationen und der beendeten Sitzung Somit steht beim n chsten Starten der Benutzeroberfl che automa tisch wieder der individuell gestalteter Desktop zur Verf gung GNOME unterst tzt schon viele Sprachen und ist zudem f r die bersetzung der Benutzeroberfl che in zus tzliche Sprachen vorbereitet Zudem unterst tzt GNOME mehrere Protokolle f r Drag and Drop Ziehen und Ablegen um dadurch den Datenaustausch mit Anwendungen zu erleichtern die nicht mit GNOME kompatibel sind Dar ber hinaus bietet GNOME auch Entwicklern eine Reihe von Vorteilen die indi rekt den Benutzern zugute kommen So m ssen Entwickler keine kostspieligen Softwareli zenzen erwerben um ihre kommerziellen Anwendungen GNOME kompatibel zu machen GNOME wird nicht exklusiv von einem bestimmten Anbieter zur Verf gung gestellt im Gegenteil keine der Komponenten von GNOME unterliegt den Rechten eines bestimm ten Unternehmens oder Einschr nkungen hinsichtlich nderungen oder Weitergabe F r das Entwickeln von GNOME kompatiblen Anwendungen k nnen zudem verschiedene Pro grammiersprachen verwendet werden Denn GNOME beruht auf der Common Object Request Broker Architecture CORBA die das nahtlose Zusammenwirken verschiedener Software Komponent
48. mnt images eide mit dd if mnt images eide of dev fdO auf die Diskette Ebenso verf hrt man mit der Rescue Modul oder Root Disk Mit diesen Dis ketten wird dann gebootet und den Installationsanweisungen gefolgt Ist man Besitzer ei nes bootf higen CD ROM Laufwerkes und eines Mainboards welches eine entsprechende BIOS Einstellung kennt so kann der Schritt mit den Bootdisketten entfallen sofern die CD ROM bootbar ist bei der SuSE Distributionen die CD 1 und 2 bzW die erste DVD Inzwischen gibt es vollst ndige Distributionen die sich ausschliesslich von CD betreiben lassen Ein sehr sch nes Beispiel ist das Knoppix CD Linux Diese CD l sst sich sowohl f r Demonstrationen der Leistungsf higkeit von Linux als auch als Rettungssystem einsetzen Diese Distribution wird nun schon fast traditionell auf dem Linux Tag als Veranstaltungs CD verteilt 15 3 1 Evtl Installationsserver Besonders in gro en LANs lokalen Netzwerken mit h ufigen Installationen bietet sich die Nutzung eines Installationsserver an e Internet Adresse des Servers NFS Server oder FTP Server Gute Adressen sind hierf r 1 www isoimage org 2 ftp gwdg de pub linux install redhat redhat i386 3 ftp gwdg de pub linux suse 8 2 i386_de 4 ftp suse uni freiburg de pub suse i386 8 2 5 ftp uni hohenheim de pub mirror ftp redhat com pub redhat redhat 1386 e Und f r Kernel Quellcode 1 ftp gwdg de pub linux kernel 2 www kernel
49. n echo Ausgabe von Textzeilen z B echo n Das ist ein Test Das n schaltet das sonst obligatorische Newline ab for einfache Schleife zur Abarbeitung von Listen z B for i in do echo i done ist ein einfacher Ersatz f r ls else Alternative beim Nichtzutreffen von if exit R ckgabewert einer Funktion oder des Shellskriptes if Bedingung z B if i gt 10 then echo i ist gr er als 10 else i ist kleiner oder gleich 10 return beendet eine Subroutine und kann einen Wert zwischen 0 und 255 zur ckliefern while einfache Schleife die auf eine Abbruchbedingung pr ft while i 1t 100 do echo i i i 1 done l uft solange die Variable i kleiner als 100 ist Mit eine WHILE Schleife l sst sich beispielsweise regelm ig berpr fen ob beispiels weise die Netzwerkverbindung noch besteht Falls es nicht der Fall ist wird ein Kommando angestossen welches sie wieder herstellt Im Zusammenhang auch mit Windows oder DOS findet man die englische Bezeichnung Batch Ein Batch war mal ein Stapel von Lochkarten die der Ausf hrung von einem oder mehreren Programmen nacheinander entsprachen 134 KAPITEL 14 WICHTIGE KOMMANDOS while TRUE do ping c 1 W 1 10 8 4 254 echo Mist Netzwerk weg rcnetwork restart sleep 20 done 14 1 4 Operationen auf Dateien Kommando Aufgabe cp Kopieren von Dateien und Verzeichnissen Quelle bleibt erhalten chmod ndert Zug
50. passiert da 6 Woran erkennt man den Dateityp Verzeichnis bzw Link 7 Wie bestimmt man generell den Belegungsgrad der gemounteten Festplatten 66 KAPITEL 6 FILESYSTEME In welcher Datei sind die Benutzer und in welcher ihre Passw rter eingetragen Wie verh lt es sich bei einer zentralen Authentifizierung Wof r dienen die Kommandos find und locate Worin bestehen die Unterschiede zwischen ihnen 6 10 2 Un Mounten 1 Man gebe die Kommandos ein um festzustellen welches Device das CD Rom oder DVD Laufwerk ist wichtig beim Mounten welche Gr sse die eingebaute Festplatte hat und wie diese partitioniert ist Mounte das DVD Laufwerk und anschliessend das einen USB Stick oder Disketten laufwerk nach mnt In welcher Konfigurationsdatei wird festgelegt welche Bereiche und Devices normale User mounten d rfen Welche Dateisysteme werden beim Booten automatisch ge mountet und welche nicht Wie legt man das fest Welche Vereinfachungen gibt es zum vollst ndig ausgeschriebenen Mountkommando Mit welchem Dateisystem ist die Root Partition formatiert bzw wo liegt das Root Filesystem Welche Partitionen sind auf dem Rechner wohin gemountet Wieviel Speicherplatz ist auf ihnen noch vorhanden Man nenne Dateisysteme welche als Root Filesystem f r eine Linuxmaschine in Frage kommen Welche weiteren gibt es und warum k nnen diese nicht f r den genannten Zweck eingesetzt wer
51. r eine sehr weite Spanne von Diensten im Einsatz sein Letzendlich gibts f r alle Client Server Protokolle immer einen Client und einen Serverprozess so dieser auf einer bestimmten Plattform implementiert ist Kommando Aufgabe Beschreibung named nmbd proftpd rpc mountd rpc nfsd slapd smbd wuftpd xinetd Serverprozess des Domain Name Sy stems Server f r das Windows Name System WINS kann mit dem DNS zusam menarbeiten und geh rt zur Samba Suite gemeinsam mit dem smbd Einer der m glichen FTP Server RPC Dienst f r das Network File Sy stem arbeitet mit dem rpc nfsd und evtl einem geeigneten lockd zusam men RPC Dienst f r das Network File Sy stem LDAP Server Samba Server f r SMB Dienste in Windowsnetzwerken Ein anderer FTP Server des besse Die erweiterte Ausgabe Internet Super Daemon mit rer Netzwerk Zugriffskontrolle Konfiguration Datenbe reich etc named conf var lib named ete samba var lib samba etc proftpd conf stark distribu tionsabh ngig etc exports etc exports etc openldap slapd conf var lib open ldap ete samba var lib samba etc wuftpd conf stark distribu tionsabh ngig etc rinetd conf analog zum in etd Die Tabelle kann nur eine unvollst ndige Auflistung einiger h ufig zu findender Server programme bieten Die oben genannten findet man relativ h ufig in der Prozessliste von Servermaschinen 14 3 N TZLI
52. scht bis zum Ende der Zeile Strg 1 l scht den Bildschirm Dieses kann gleichfalls durch die Eingabe des Komman dos clear erreicht werden Cursor Tasten Editieren in der Kommandozeile sowie Wiederholen von Befehlen His tory Funktion der meisten Unix Kommandointerpreter mit Pfeil nach Oben Tab Die Tabulatortaste dient der Kommando bzw Dateinamen Erg nzung Typecom pletion spezielle Funktion des Kommandointerpreters bash Wird der Anfang eines Be fehls oder Dateinamens gegeben so kann dieser damit automatisch vervollst ndigt werden Strg al oder Pos1 springt an den Anfang einer Kommandozeile Dies ist n tzlich wenn man feststellt dass man sich am Anfang vertippt hat und nicht den weiten Weg mit dem Cursor zur cklegen m chte Strg c Bricht die meisten Kommandos in ihrer Ausf hrung ab so dass der zuvor ein gegebene Befehl nicht weiter ausgef hrt wird Ausnahmen sind Dateibetrachter z B das Kommando less in bestimmten Situationen oder der Editor vi und nat rlich Programme mit grafischen Oberfl chen au er man ist in der aufrufenden Shell Strg d beendet die Bash Ist diese die Haupt Shell Shell die vom Login Prozess gest artet wurde siehe die Ausgabe von echo SHLVL und echo SHELL so loggt man sich aus oder schliesst im grafischen Modus das Terminalfenster Diese Tastenkombination entspricht den Befehlen logout oder exit Strg e oder Ende springt analog zu Stre a an das Ende einer
53. shell Muschel bezeichnet diese Bezeichnung wird im Folgenden verwendet Nach dem Login wird blicherweise die Datei etc motd Message of the Day angezeigt Eine Shell wird ebenfalls gestartet wenn man unter einer grafischen Benutzeroberfl che ein Kommandofenster startet Der Aufruf von xterm konsole oder gnome terminal liefert einen bunten Rahmen um eine Shell herum Vorteil der grafischen Oberfl che ist dass quasi beliebig viele Shells gleichzeitig gestartet sein k nnen oder im Blick sind 2 2 4 Shell Kommandointerpreter Ist man auf der Kommandozeile angelangt so findet man ein weisses bzw schwarzes K stchen oder einen nerv s blinkenden Unterstrich vor beide werden als Cursor be zeichnet und markieren die Stelle an der die eingetippten Zeichen erscheinen Die Shell oder auch der Kommandointerpreter ist ein Prozess der nach dem Anmel den Login an einer Unix Maschine gestartet wird und die Interaktion des Benutzers mit dem Betriebssystem erlaubt Diese Shell bringt bereits etliche Funktionalit ten mit Sie interpretiert die Kommandoaufrufe seitens der Benutzer und erlaubt einfache Skript bzw Batch programmierung zur Erleichterung wiederkehrender T tigkeiten Sie stellt weiter hin ber Umgebungsvariablen Programmen eine ganze Reihe von Systeminformationen wie Benutzername Home Verzeichnis und Rechnername zur Verf gung Die Kommandozeile beginnt meistens etwa so Eine Ausnahme kann bestehen wenn LD
54. test site console ttyl hermes login Der Text oberhalb der Login Aufforderung wird in der Datei etc issue eingetragen Mittels spezieller Control Sequenzen kann der Name des Rechners und der Konsole automatisch er mittelt und bernommen werden Das Login auf einem anderen Rechner ber ein Netzwerk sollte immer mit ssh Secure Shell erfolgen damit die eingegebenen Passw rter nicht ab geh rt werden k nnen Der Befehl telnet sollte nur in ussersten Notf llen zur Anwendung kommen Ein Login ber das Netzwerk stellt man in der nachstehenden Weise her dirk linux lak gt ssh 1 dsuchod login gwdg de dsuchod login gwdg de s password Soll auch f r das Netzwerk Login ein kurzer Text oder Infoscreen erscheinen muss hierf r die Konfigurationsdatei des SSH Servers geeignet angepasst werden Meistens stehen ber SSH oder Telnetverbindungen nicht alle Control Sequenzen der Shell zur Verf gung Hierzu jedoch sp ter mehr 2 2 2 Wichtige Tastenkombinationen Wenn man direkt vor der Maschine sitzt stehen einige spezielle Tastenkombinationen zur Verf gung Eine ganze Reihe von Funktionen realisiert die Shell wie beispielsweise die Cursorbewegungen Die Tastenfolgen zur Shell Bedienung funktionen in den meisten F llen auch noch bei Remote Logins Alt F1 bis A1t F6 Umschalten der virtuellen Text Konsolen Man hat mehrere virtuelle Bildschirme Konsolen und kann sich mehrfach am System anmelden und parallel arbeiten Di
55. und ihren Status an 86 KAPITEL 9 PROZESSMANAGEMENT 9 4 1 ps Der Befehl ps liefert einen snapshot der laufenden Prozesse in der gerade aktiven Shell bis zum kompletten Abbild des Systemzustandes Was die einzelnen Spalten bedeuten steht in der Manpage Jeder Prozess im Unix System wird von einem anderen Prozess mit Hilfe eines Systemaufrufs gestartet Dadurch entsteht eine Eltern Kind Beziehung zwischen den Pro zessen Diese Abh ngigkeiten von Prozessen lassen sich mit dem Kommando pstree oder auch durch ps auxf darstellen Mit einer bestimmten Option wird neben der Prozess ID PID auch die Prozess ID des Elternprozesses PPID parental PID angezeigt Der Vater proze wird vom Ableben der Beendigung seines Kindprozesses durch einen speziellen Mechanismus der Signal genannt wird benachrichtigt Jeder Prozess hinterl t bei der Beendigung einen sogenannten Exitstatus den der Va terproze auswerten kann Der Exitstatus enth lt Informationen dar ber ob und durch welches Signal der Prozess beendet wurde und einen vom Programmierer selbst bestimm ten numerischen Wert mit dem er dem Nutzer weitere Informationen ber das Ende des Prozesses geben kann Solange der Vaterproze die Statusinformation seines beendeten Kindprozesses noch nicht abgeholt hat existiert dieser in Form eines Zombieprozesses Ein Zombieproze nimmt weder Rechenzeit noch Hauptspeicher in Anspruch sondern existiert nur als Eintrag in der Prozesst
56. wichtiges Charakteristikum einer Linux Maschine Selbst wenn sie nicht an ein Netzwerk angeschlossen ist steht das Netzwerkprotokoll TCP IP zur Verf gung Es bildet f r viele Dienste berhaupt die Grundlage ihrer Funktion Wei terhin kann ein Rechner fast immer auf zwei Wegen angesprochen werden Die direkte Form geschieht ber die IP Adresse im Beispiel ber die 127 0 0 1 Meistens kann der Rechner auch ber seinen Namen adressiert werden dieses setzt jedoch die M glichkeit der Namensaufl sung DNS d h der Zuordnung einer IP Adresse zu einem Namen vor aus Der Rechnername f r die Maschine kann beliebig festgelegt werden Er kann aber unter Umst nden nur auf der Maschine selbst bekannt sein Zus tzlich heisst jede Maschine selbst auch noch localhost Localhost entspricht fast immer der IP Nummer 127 0 0 1 die Bootloader werden in einem eigenen Kapitel gesondert behandelt 2 2 DIE ERSTE SITZUNG 11 2 2 1 Die Konsole An dieser sitzt man frau blicherweise wenn der Rechner als Workstation eingerichtet ist Einige Server hingegen werden vielleicht nur ber das Netzwerk erreichbar sein weil sie meistens an gesonderten Orten stehen Hierin liegt ein Vorteil von Linux denn es macht fast keinen Unterschied ob man direkt am Rechner sitzt oder sich ber das Netzwerk einloggst So k nnte der Login Prompt an einer Linuxmaschine aussehen WELCOME TO IEO O IE IE A l II EI kl EAS A 22 east PA el ar ZA zei el hermes
57. 0 49 13 00 02 11 dirk 0 Wed Mar 19 11 21 gone no logout dirk pts 0 suenne stud uni Fri Mar 14 15 12 16 57 01 44 dirk tty2 Mon Mar 10 19 42 19 42 00 00 dirk 0 Mon Mar 10 14 51 13 32 2 22 40 dirk pts 11 np9 ruf uni frei Wed Mar 5 19 30 19 30 00 00 dirk pts 8 p5083ffa6 dip t Sun Mar 2 16 42 22 54 06 11 dirk pts 0 acbd9832 ipt aol Sat Feb 22 19 10 21 23 02 13 dirk pts 0 acbd7ced ipt aol Thu Feb 20 00 04 02 16 02 12 root pts 2 randy3 ruf uni f Wed Feb 19 10 51 11 08 00 16 dsuchod pts 2 randy2 rz uni fr Tue Feb 18 13 29 13 30 00 00 dirk 0 Mon Feb 17 21 59 14 51 20 16 52 root ttyl Mon Feb 17 21 57 still logged in reboot system boot 2 4 19 4GB Mon Feb 17 21 55 34 14 59 dirk pts 14 Mon Feb 17 20 51 down 01 02 dirk pts 13 Mon Feb 17 19 36 down 02 18 dsuchod pts 13 localhost Mon Feb 17 19 31 19 33 00 01 dirk pts 12 Mon Feb 17 19 31 down 02 23 Diset dirk 0 console Mon Jan 6 19 38 11 21 7 15 43 reboot system boot 2 4 19 4GB Mon Jan 6 19 37 20 21 34 wtmp begins Mon Jan 6 18 01 01 2003 Auch hier finden sich viele der Informationen wieder welche die oben gezeigten Kommandos generieren Die Daten werden in zwei Dateien hinterlegt var run utmp liegen die kurzfri stigen Informationen zu gerade angemeldeten Benutzern und in var log wtmp liegen die Daten die z B last auswertet 14 1 WICHTIGE PROGRAMME IN DER SHELL 133 14 1 2 Shelleigene Standardkommandos Kommando Aufgabe echo A
58. 15 12 6 Bootlo der urn ran en aan a Nee a Tas ah en 115 12 03 Uhetbiick y Sada er ie ey res Bea 115 12 6 2 Der GRand Unified Boot Loader GRUB 116 12 6 3 Der Linux Loader lilo ua as as Ei Eh ar a ra Sale 118 12 6 4 Das Syslinux Paket 2 22 2 oo on nn 119 12 6 5 Andere Bootloader 2 2 2 Hm m m m m nn 120 INHALTSVERZEICHNIS 7 12 7 Aufgaben Lao A A A AS e eT aia 120 IZI Kernel coria a a a Dr een a aa a 120 12 1 2 Booten 1 2 4 A a As 121 128 Aufgaben dl a as aT 121 12 81 Kernel y s ia a o e er a ri is E da 121 12 82 Booten an dd a ds A ds ae AA A e 122 13 Systemsicherheit 123 13 1 Generelle Uberle uns aaa 123 13 2 Sicherheit auf dem Rechner nn 123 13 21 Einleitung 32 2222 a aa a a 123 13 22 BAaSSWOrter Boots ds aia e nr er sr la F 123 13 2 3 Der Admin Account Emm nn 124 13 2 4 etc passwd und etc shadow an zug Seeds 124 13 2 5 Locken oder ausloggen 2 2 2 2 2 rn nn nn 124 13 2 6 Setuid und Verzeichnisse 2 22 2 rn nn nn 124 13 2 7 Setuid und Mounting 2 2 2 Comm 125 13 2 8 Browser CGI Java Applet und Binaries per Mail 125 13 2 9 Physikalischer Zugriff 2 22 CC Coon 125 13 3 Literatura a is ne re ee le 125 13 4 Sicherheit im Netzwerk 2 2 2 2 CE EEE nn 126 13 41 Einleitung a 2 8 ul lt Ne Wine she vor 126 13 4 2 Gesicherte Verbindungen 2 2 2 2 rn nn nn 126 34 3 ssh und Sepie a a2 Bahn ne A AE G da 126 13 4 4 Der Intenet Su
59. 2001 wird die derzeitig aktuelle Kernel Linie 2 4 X er ffnet Der Kernel kann nun bis zu 64 GByte RAM ansprechen und un terst tzt 64 Bit Dateisysteme Ebenso sind USB Unterst tzung und Journaling Filesysteme realisiert Samba erscheint in der Version 2 2 Die n chste Runde der Desktop Entwicklung erfolgt 2002 mit der Verf gbarkeit von KDE 3 0 und GNOME 2 0 Die OpenSource Projekte Mozilla und OpenOffice erscheinen in stabilen Releases Im Jahr 2004 wird die Entwicklung der Grafikserver wieder von X org bernommen nachdem es einige Querelen im XFree86 Team gegeben hatte Ungeachtet dessen steht KDE ab Mitte des Jahres in der Version 3 3 bereit Es bietet nun die ganzen Annehmlichkeiten eingeschlossen Plug amp Play von Speicherkarten USB Ger ten und hnlichen wie man es von einer modernen grafischen Oberfl che erwartet Samba gibts in der Version 3 0 die das Management der Backends vereinfacht und mit LDAP und AFS zusammenarbeiten kann Der Linux Kernel wird seit Anfang des Jahres von fast allen neu erschienenen Distributionen in der Version 2 6 ausgeliefert Zum jetzigen Zeitpunkt in 2005 ist die Kernel Version 2 6 13 aktuell und KDE befindet sich auf dem besten Wege zu Version 4 0 und zieht damit dem zugrundeliegenden QT Framework hinterher Die Weiterentwicklung fand und findet unter Beteiligung von vielen interessierten Pro grammierern im Internet statt Linus Torvalds der inzwischen bei der Prozessorschmiede Transmeta arbeitet ist u
60. 252 0 0 if ethO Wobei dabei folgendes sei hw Hardwareadresse MAC dns Liste der DomainNa meServer if Interface gw Gateway nm Netzmaske Kapitel 6 Filesysteme 6 1 Aufbau Die Linux Verzeichnisstruktur verteilt sich ber eine einzige hierarchische Baumstruktur Die Nahtstellen in dieser Hierarchie Festplattenpartionen Netz Filesysteme bergang auf CD Rom lassen sich nur mit speziellen Tools z B mount sichtbar machen Den Baum muss man sich umgedreht vorstellen Die Wurzel root dargestellt durch be findet sich in der obersten Hierarchie danach erfolgt die Verzweigung in weitere Ebenen In diesem Baum kann man mit dem Kommando cd navigieren Es ist immer m glich zur Navigation und zum Aufruf von Programmen den Pfad zu einem Verzeichnis oder f r eine Datei absolut oder relativ anzugeben Absolut bedeutet von root aus gesehen und relativ ist immer in Bezug auf die aktuelle Position In dieser Baumstruktur kann man sich die Bl tter als die Dateien und die ste und Zweige als Verzeichnisse vorstellen Es gibt keine Laufwerksbuchstaben wie sie evtl von anderen OS bekannt sind So wissen Kernel das eigentliche Betriebssystem und die Programme immer wo bestimmte Verzeichnisse und damit die ben tigten Dateien wie Konfigurationsdateien Bibliotheken Programmodule und damit bestimmte Resourcen zu finden sind Der Kernel und die Anwendungsprogramme sind auf diese Struktur angewiesen Deshalb la
61. 46 KAPITEL 5 SHELLPROGRAMMIERUNG for i in 1 2 3 4 do if i 0 then break fi if i 128 then n expr n 1 break fi if i 192 then n expr n 2 break fi if i 224 then n expr n 3 break fi if i 240 then n expr n 4 break fi if i 248 then n expr n 5 break fi if i 252 then n expr n 6 break fi if i 254 then n expr n 7 break fi if i 255 then n expr n 8 continue fi done echo n Auch die case Anweisung ist vergleichbar in vielen anderen Programmiersprachen vorhan den Sie dient hnlich wie die if Anweisung zur Fallunterscheidung Allerdings wird hier nicht nur zwischen zwei F llen unterschieden Entweder Oder sondern es sind mehrere F lle m glich Man kann die case Anweisung auch durch eine geschachtelte if Anweisung austauschen allerdings ist sie ein elegantes Mittel um den Code lesbar zu halten bin sh case Wert in Muster1 Befehle1 Muster2 Befehle2 esac Wenn der Wert mit dem Muster1 bereinstimmt wird die entsprechende Befehlsgruppe Befehlel ausgef hrt bei bereinstimmung mit Muster2 werden die Kommandos der zweiten Befehlsgruppe Befehle2 ausgef hrt Der letzte Befehl in jeder Gruppe muss mit gekennzeichnet werden Das bedeutet f r die Shell soviel wie springe zum n chsten esac so dass die anderen Bedingung
62. 54 a A A e 94 10 2 Das BSD SY a en aa ne a a DE il lo il 94 1 2 17 Jets printeap ee Hana tele ers 94 10 2 2 lpd Der Line Printer Daemon 2 2 2 22mm nennen 95 10 2 3 Ipq Die Line Printer Queue 2 2 2 CE m nn 95 10 2 4 Iprm Line Printer ReMove 2 2 2 En nn 95 10 2 5 lpc Line Printer Control 2 2 2 2 2 nn a 95 10 2 6 etc init d lpd Startskript aaa un ar ben an ren 96 105236 ps AA ie 96 TO ACUDA AS A A u ds da 96 11 Graphische Oberfl che 99 11 1 Einf hrung cuen a 228 2 ae naher na le 99 11 2 X Vorteile und Grenzen der Unix GUl 2 nn nn nen 100 11 2 1 Erste Versuche mit X 2 2 2 2 oo on 101 112 2 Ko mprimiertes X u 3 2 a rs Dr 103 11 2 3 Spezielle X Server und Remote Displays 222222 103 11 3 Desktop Environments 2 2 2 2 a 106 113 1 berblick e zes a tn 106 11 3 2 Kurzdarstellung weiterer Benutzeroberfl chen 106 11 33 GNOME susanne Dan li tas Alla 107 11 34 KDE 2 2 2 0 ras Saas a Bir a Ankh ml ter ade 108 11 4 Aufgaben ass aa er ee eu Be nt 109 11 4 1 XFree86 Der Grafikserver 2 2 2 2 2 non nn 109 11 4 2 Benutzeroberfl chen 2 22 2 En rn 110 12 Kernel und Bootloader 113 12 1 Uberblick un ste a una Ss tra RA a ee ee 113 12 2 Die Modularisierung 2 2 2 En nn 114 12 3 Einstieg ins Selberbauen 2 2 2 aaa 114 124 Bez g des Kernels o kassasi A antun ua we Er Bon E N 115 12 5 Konfiguration des Kernels 2 2 2 En nn nn 1
63. 6 org 99 100 KAPITEL 11 GRAPHISCHE OBERFL CHE stehen in Form sogenannter X Server oder Hardwaretreibermodule zur Verf gung Es werden im folgenden die Installation dieses Servers und einige ausgew hlte Anwendungen vorgestellt 11 2 X Vorteile und Grenzen der Unix GUl Entsprechend der UNIX Philosophie realisiert X nicht alle Aufgaben integriert in ein ein ziges Programm ohne durchschaubare innere Struktur sondern gliedert sich in einzelnen Komponenten e Der X Server ist das Programm das Tastatur und Mauseingaben entgegennimmt und die Resultate auf dem Bildschirm anzeigt Er stellt hierf r die passenden Ger tetreiber bereit Die Events wie die Benutzereingaben genannt werden wertet der X Server nicht selbst aus sondern leitet diese an die betreffenden X Clients weiter Diese rei chen wiederum ihre Resultate an den X Server zur ck e Die X Clients sind praktisch alle Anwendungen Browser Textverarbeitung Editor PDF Betrachter die die grafische Oberfl che benutzen wollen Vom X Server er halten sie die Tastatur und Mausevents die sie betreffen und melden ihm zur ck was auf dem Bildschirm erscheinen soll Dazu wird das so genannte X Protokoll ver wendet e Der Windowmanager k mmert sich um die Verwaltung der Oberfl che z B das Aussehen und die Funktionalit t der Fensterrahmen und men s f r die Anzeigen der X Clients Men s auf dem Desktop Minimieren und Maximieren der Fenster Da
64. 999 7 quagga 11797 0 99999 7 root 2a 10 6zzscSISdSOMUMsyRvSjzenYD fh 02sb9 i0Xm03usgtdu M3tFW NX 72 KAPITEL 7 ZUGRIFFSRECHTE UND VERZEICHNISSTRUKTUR 12548 0 10000 sshd 11962 0 99999 7 uucp 8902 0 10000 vdr 12391 0 99999 7 wwwrun 8902 0 10000 dirk 2a 10 n1GWnEVKd 140ANahfv3uK870adkP277 6hvDgp39X9ycinUZmhO 13052 0 99999 7 etc login defs ist eng mit dem login Prozess verkn pft Dieses liest daraus die Parameter mit denen beispielsweise eingestellt wird wie oft ein fehlgeschlagenes Login wiederholt werden darf und ob und wo die Meldungen ber solche Fehlschl ge festgehalten werden Hier k nnen auch einige Umgebungsvariablen f r alle Prozesse festgelegt werden die in der vom login erzeugten Prozessfamilie gestartet werden etc issue net wird beim Konsolen Login und bei telnet Verbindungen vor dem Login Prompt angezeigt ete re config ist die zentrale Konfigurationsdatei der SuSE Linuxdistribution 7 6 2 Shell etc skel ist ein Skeleton Verzeichnis wo die Konfigurationsdateien f r Userprogramme liegen welche beim Anlegen des Accounts in das Verzeichnis des entsprechenden Benutzers eingespielt werden und so das Tool zur Benutzerverwaltung unterst tzt wird etc securetty gibt die Ports Terminals an von denen aus sich der Systemadministra tor einloggen darf Diese Datei wird vom login Kommando gelesen und ausgewertet Die Verwendung dieser Datei wird in der login defs spe
65. AP als zentrales Backend zur Benutzerauthentifizierung zum Einsatz kommt 14 KAPITEL 2 ERSTE SCHRITTE meierChermes kursunterlagen gt Zu Anfang steht der Username mit dem man frau am System angemeldet ist Dann folgt der Rechnername und anschliessend das Verzeichnis in dem man sich befindet All das zusammen mit dem gt bezeichnet man als Prompt Das Aussehen des Prompts kann ver ndert werden wenn die steuernde Umgebungsvariable PS1 entsprechend angepasst wird Dieses geschieht entweder systemweit in der Datei etc profile bzw in einer Datei die aus dieser heraus aufgerufenen wird oder durch einen Eintrag in der profile des Benutzers Dieses Verfahren l t sich bei vielen Unix Programmen wiederfinden Es gibt systemweite Konfigurationsdateien und die M glichkeit f r den Benutzer eigene Einstellungen vorzuneh men die komplett unabh ngig von anderen Benutzern oder von den Systemeinstellungen sind Die Shell dient zum Aufruf der Programme mit denen man eigentlich arbeiten will Durch Ausgabe der Eingabeaufforderung des sogenannten Prompts zeigt die Shell an dass sie bereit ist Kommandos entgegenzunehmen Ein typischer Programmaufruf sieht etwa so aus meierChermes kursunterlagen gt less kurs01 txt Zuerst steht das Kommando dann folgt nach einem Leerzeichen white space der Da teiname Es ist dabei immer auf die Leerzeichen zu achten da sonst die Shell die Kom mandos nicht von ihren Optionen oder nach
66. Administrator ist es sinnvoll zu wissen was beim Booten vor sich ging Die se Information erh lt man aus den Logfile s var log boot msg in Abh ngigkeit von der Distribution var log messages sofern der syslogd l uft und aus dem Befehl dmesg 8 1 3 Belegung des Plattenspeichers Auskunft ber den verf gbaren Festplattenplatz erh lt man mit dem Kommando df DiskFree Dieses zeigt die einzelnen gemounteten Bereiche des Filesystems auf Mit du DiskUsage l sst sich der belegte Platz in einem Verzeichnis bestimmen Dieses kann jedoch je nach Gr sse des Bereichs recht lange dauern Die Kommandos df du und ls kennen den gemein 8 1 SYSTEMINFORMATION UND BERWACHUNG 81 samen die Option h die aus der Zahlenausgabe in Byte etwas menschlich lesbares von human readable generiert 8 1 4 Offene Dateien und Netzwerkverbindungen Das Kommando lsof ListOpenFiles zeigt an welche Prozesse welche Dateien zum Lesen oder Schreiben ge ffnet haben Weiterhin werden offene Sockets Netzwerkverbindung mit Portadresse sowie verwendete Pipes und Filesockets angezeigt 8 1 5 Das Kommando netstat netstat hat sich auf das Anzeigen offener Sockets sowohl des Filesystems als auch von Netzwerkverbindungen spezialisiert Die Ausgabe von netstat a hat folgendes Aussehen wobei die Protokolle TCP UDP und unix Socket im Filesystem in dieser Reihenfolge sortiert aufgef hrt werden dirk shuttle gt netstat a more
67. Allesf nger Dieser nimmt den vom Kernel gelieferten Standardnamen In den meisten F llen ist dies ausreichend da es zu der Ger tebenennung welche auf momentanen Linuxsystem verwendet wird passt 76 KAPITEL 7 ZUGRIFFSRECHTE UND VERZEICHNISSTRUKTUR 7 10 3 Beteiligte Prozesse und Dienste 7 11 Bin rdateien ausf hrbare Dateien in bin befinden sich wichtige Programme f r Anwender die immer verf gbar sein m ssen beispielsweise die Shells und das Mount Kommando hnlich wie bin enth lt auch sbin wichtige Programme Diese sind jedoch haupts chlich f r den Systemverwalter gedacht da sie Funktionen erf llen auf die ein normaler Benutzer keinen Zugriff hat In usr bin liegen alle ausf hrbaren Dateien die nicht zur absoluten Basis bzw Boot ausstattung geh ren Unterhalb von usr sbin findet man die Systemdienste wie sshd rpc mountd xntpd und die meisten weiteren Standarddienste Weitere bin Verzeichnisse gibt es unter usr X11R6 usr local opt kde opt gnome je nach Softwareausstattung Distribution und Konfiguration der Maschine Die Shellum gebungsvariable PATH erleichtert das Ausf hren von Programmen da nicht der absolute Pfad angegeben werden muss Ausf hrbare Programme m ssen entweder f r die entspre chende Hardware programmiert und bersetzt kompiliert worden sein oder als Skripten installierter Interpretersprachen vorliegen Die Standardausstattung im Verzeichnis bin sieht ungef hr so aus
68. CHE TOOLS 139 14 3 N tzliche Tools 14 3 1 Packprogramme M chte man viele zusammenh ngende Dateien kopieren oder weitergeben sollte man sie als eine einzige Datei behandeln k nnen Mit dem Kommando tar Tape Archiver k nnen Da teien oder ganze Verzeichnisse zu einem gro en Block zusammengefasst werden Am Zielort k nnen die in den Block eingepackten Dateien dann wieder ausgepackt werden Auch die Verzeichnisstruktur und die Zugriffsrechte werden gespeichert d h die Dateien liegen nach dem Auspacken in denselben Verzeichnissen mit ihren urspr nglichen Rechten Mit tar wird noch kein Platz gespart Die TAR Datei l sst sich jedoch mit einem Komprimierungs programm in ihrem Umfang reduzieren Kommando Aufgabe Beschreibung compress Altes Unix Packprogramm mit historischen Kompressionsraten bzip2 Pack und Entpackprogramm mit den derzeit besten Kompressionsraten f r Standarddateien kommandozeilenkompatibel zu gzip gzip Das Standardpack und Entpackprogramm welches auch kompatibel ist zu WinZIP und Konsorten tar Tape Archiver Komprimiert nicht aber darf in diesem Zusammenhang nicht fehlen da die anderen Packprogramme zum Teil nicht auf Listen von Dateien und Verzeichnissen losgelassen werden k nnen unarj Auspacken von ARJ gepackten Dateien ARJ war l ngere Zeit ein Stan dard unter DOS unzip Auspacken von PKZIP Archiven unrar Auspacken von RAR gepackten Archiven ein Standardprogramm unter Windows Das Programm g
69. Das erste Passwort das bei der Einrichtung eines Accounts zugeteilt wird sollte aus Sicherheitsgr nden schnellstm glich ge ndert werden Aber auch sp ter ist ein regelm iges ndern des Passworts ratsam um einen Missbrauch des eigenen Accounts zu erschweren Man sollte bei der Auswahl eines Passworts eine Reihe von Regeln beachten e Eine ziemlich unclevere Idee ist die Benutzung von Namen Geburtstage Firmen namen Telefon und Autonummern Sie sind leicht zu raten und daher ungeeignet Gleiches gilt f r Abwandlungen der User ID e Die einzelnen Zeichen des Passworts sollten auf der Tastatur nicht direkt nebeneinan derliegen damit das Passwort beim Eingeben nicht einfach mitgelesen werden kann e Es sollte ein Passwort gew hlt werden das in keinem W rterbuch steht Es sollte daher mindestens ein nicht alphanumerisches Zeichen d h ein Sonderzeichen nicht einen Buchstaben oder eine Zahl enthalten und sowohl aus Gross als auch Kleinbuchstaben bestehen e Ein Pa wort sollte aus mindestens acht Zeichen bestehen Dieses ist die Maximalzahl von Zeichen eines klassischen Unixsystems Viele Systeme erlauben durch Konfigura tion meistens keine Passw rter die k rzer sind als sechs Zeichen und melden bereits zu einfache Kombinationen e Beliebte Methoden um auf ein einfach zu merkendes aber schwer zu ratendes Passwort zu kommen sind das Ersetzen von Zeichen etwa s durch i durch etc oder Pa w rter au
70. Image ermitteln 9 4 5 nice und renice Mit nice kann man beim Start eines Prozesses bestimmen wie kooperativ freundlich er mit der Systemresource Prozessor umgehen soll Gerade f r nicht interaktive Prozesse Langl ufer sollte man die Freundlichkeit erh hen Mit renice geht das auch im Nachhin ein 9 4 6 kill killall 9 Fri t ein Prozess gar zu viele Resourcen so bestraft man ihn am besten mit kill PID oder kill 9 PID um ihn zu beenden Aber Achtung wenn der Prozess gerade im IO steckt so klappt das eventuell nicht Das Kommando killall programmname wirkt auf alle Prozesse mit einem bestimmten Programmnamen Ein Signal wird durch einen numerischen Wert repr sentiert kill N Jedes Programm kann sogenannte Signalhandler f r die meisten Signale anbieten in denen dann das Signal ignoriert oder in angemessener Weise darauf reagiert werden kann Obwohl Signale allge mein vom Betriebssystem verwendet werden um dem Programm schwerwiegende Fehler anzuzeigen zum Beispiel berschreitungen des Prozess Speicherbereichs Divisionen durch Null kann der Nutzer den von ihm selbst gestarteten Prozessen auch Signale schicken und die Prozesse damit steuern Dabei legt der Programmierer fest wie auf bestimmte Signale reagiert wird SIGTERM soll zwar die Ausf hrung eines Prozesses beenden kann auch ignoriert werden sodass der Prozess dann nicht auf die Beendigungsaufforderung reagiert Will man als Nutzer oder Administrator
71. Linux bung Grundlagen Kursunterlagen Universit ten G ttingen und Freiburg u a Dirk von Suchodoletz dirk goe net berarbeitet von Antonia Blanke toni uni math gwdg de 23 November 2005 Alle in diesem Dokument erscheinenden Produktnamen dienen nur zu Identifikations zwecken und sind Eigentum ihrer jeweiligen Besitzer Inhaltsverzeichnis 1 3 Einleitung Grundlagen 1 1 1 Zi diesen U nterl gen a pa a A na Aa a 1 172 Geschichten Sl ua e ia Y E A e A Een a do ir Di 2 1 3 Linus Une 2 an A ee a re Dee oe 3 1 4 Linux im Vergleich zu Windows DOS 2 2 2 nme 4 1 5 Anmerkungen 42 22 a2 A A aE iari eat 6 1 6 GNU und Free Software Foundation 2 2 22 2 nn nn nn 6 1 7 Begriffserkl r ngen dorsal Hull Anh cken dan 7 Erste Schritte 9 2 1 Hochfahren einer Linux Box 2 2 2 En nn nn 9 2 1 1 Standard Bootvorgang 2 2 2 on nn nn nn 9 2 2 Die erste SL zunE 2 ae nr nn ar td a a 10 2 21 Die Korsole aa Son ra is ae ne ee e 11 2 2 2 Wichtige Tastenkombinationen 2 222 nn nennen 11 222 3 LOGAN AN ne sn a a ne a E aaa 13 2 2 4 Shell Kommandointerpreter 2 222mm 13 2 2 5 ndern des Passworts zer iia bi u er be 14 2 2 6 Umsehen am Kommando Prompt 2 a 15 2 2 7 Ordnung in Verzeichnissen 2 22 2 rn nn 17 2 2 8 Dateinamen d a ss A ae A a gr 17 2 2 9 Finden von Dateien 2 2 2 Co En nn 17 2 2 10 Abmelden durch Ausloggen 2 2 2 22m nn 18 2 2 11 Alternative zur Kommandoz
72. PU Typ und die Menge des installierten Speichers allgemein und unter Linux 4 Wie bekomme ich Informationen zur vorliegenden Hardware heraus auf der das in stallierte Linux gerade l uft oder auf der Linux installiert werden soll Nennen Sie mindestens drei verschiedene Moeglichkeiten 15 5 3 Einrichten der Festplatte 1 Wie gross ist Ihre Festplatte Wieviel Festplattenplatz ben tigen Sie f r die Swap partition und wieviel f r eine durchschnittliche Linuxinstallation mit X11 und einem aktuellen KDE 15 5 AUFGABEN 151 Bestimmen Sie die Partitionierung Ihrer Festplatte Welches Programm wird blicherweise daf r verwendet auch unter DOS Windows Setzen Sie die Kennung Ihrer Swap Partition auf den Typ des Linux EXT2 File systems Booten Sie und sehen Sie nach ob noch Swap verwendet wird Machen Sie dieses wieder r ckg ngig Wie gross ist die Root und die Swappartition Ihrer Installation Wieviel Platz habe ich gerade noch unter Linux wie bekomme ich heraus wo welche Partitionen gemoun tet sind Wieviel freien Festplattenplatz haben Sie noch in Ihrer Rootpartition Setzen Sie das activate Flag f r Ihre Bootpartition wann kann dieses notwendig werden 15 5 4 Rettungssystem diskette 1 Erstellen Sie eine Rettungsdiskette a Mittels Yast 2 b Indem Sie den Kernel direkt auf die Diskette schreiben dd if boot vmlinuz of dev fd0 Wird hierbei ein Bootloader benutzt
73. RUB direkt alle Dateien die zum Systemstart von N ten sind im Gegensatz zu z B LILO der dies mit Hilfe von Blocklisten erm lglicht Auf diese Listen kann er verzichten da GRUB in der Lage ist diverse Dateisysteme direkt zu lesen Unter anderem unterst tzt GRUB EXT2 und EXT3 ReiserFS FAT32 und BSD FFS Das Booten von Partitionen die gr er als 8 GByte sind stellt f r GRUB ebenfalls kein Problem dar Zus tzlich bietet GRUB eine Kommandozeile an durch die es m glich wird Konfigurationen zu booten die noch gar nicht eingerichtet sind Auch ist es m glich nach Dateien zu suchen oder sich beispielsweise die Partiti onstabelle anzuschauen Dieses macht ihn vergleichbar mit Bootloadern wie sie z B auf Alpha Maschinen zu finden sind All diese Features machen GRUB zu einer Konkurrenz des lange dominierenden Linux Loader LILO Ohne Bootloader kann selbstverst ndlich kein System gestartet werden Des halb erfolgt an dieser Stelle der selbstverst ndliche Hinweis eine Bootdiskette des alten Bootloaders f r den Notfall bereitzuhalten bzw ein Rettungssystem parat zu haben Viele Linux Distributionen liefern GRUB inzwischen standardm ig aus so dass dieser als RPM oder DEB Paket installiert werden kann und alle notwendigen Verzeichnisse automatisch erzeugt werden GRUB sollte nat rlich vor der endg ltigen Installation im Master Boot Record bereits konfiguriert werden da sich das System sonst nur auf Umwegen starten l sst Die Datei
74. S DOING SOMETHING NASTY 8014 Someone could be eavesdropping on you right now man in the middle attack 8014 It is also possible that the RSA host key has just been changed 8014 The fingerprint for the RSA key sent by the remote host is 53 8c 4b 13 f6 df 2e d1 e5 cf 21 12 a4 c2 ea c5 8014 Please contact your system administrator 8014 Add correct host key in home user ssh known_hosts to get rid of this message 8014 Offending key in home user ssh known_hosts 11 8014 RSA host key for 10 30 4 44 has changed and you have requested strict checking 8014 Host key verification failed 4 Wie kann ich mich auf anderen Maschinen per SSH unter Vermeidung der Eingabe eines Passwortes anmelden Wann ben tigt man dieses 5 Wie tunnele ich eine POP3 Verbindung Port 143 von meiner Maschine z B my machine dyndns org auf den POP3 Server z B pop3 mydomain local wo ich ber einen SSH Zugang verf ge 130 KAPITEL 13 SYSTEMSICHERHEIT Kapitel 14 Wichtige Kommandos In diesem Teil des Skriptes werden alle nach Meinung des Autors mehr oder weniger wichtigen bzw h ufig benutzten Kommandos vorgestellt Benutzer dieses Skriptes hatten vielfach nach einer solchen Liste gefragt so dass im Folgenden versucht wird auf diesen Wunsch einzugehen Die Beschreibung des jeweiligen Befehls ist beileibe nicht vollst ndig sondern soll nur einen ersten Anhaltspunkt liefern wenn die L sung zu einen Problem gesucht wird oder unklar ist w
75. TEL 14 WICHTIGE KOMMANDOS Mem 629 535 93 0 174 97 buffers cache 264 365 Swap 516 24 492 Die Kommandos finger w und who liefern einen recht hnlichen Output in unterschied lichem Format ber gerade am System angemeldete Benutzer dirk dozent text lak gt w 12 50pm up 34 days 14 57 1 user load average 0 02 0 04 0 00 USER TTY FROM LOGINO IDLE JCPU PCPU WHAT root ttyl 17Feb03 34days 0 43s 0 32s bash dirkOrandy2 text lak gt who root ttyl Feb 17 21 57 dirk0Orandy2 text lak gt finger Login Name Tty Idle Login Time Where root root 1 4d Sep 17 21 57 Als die Welt des Internets noch in Ordnung war konnte man sich mittels finger rechner name domain alle auf entfernten Rechnern eingeloggten Benutzer anzeigen lassen Der Finger Daemon war nicht wie heute blich standardm ig abgeschaltet Das Komman do last less wirft einen Blick in die Geschichte der angemeldeten Benutzer Da diese Liste durchaus l nger als ein Bildschirm werden kann schickt man die Ausgabe von last gleich an einen Pager in diesem Fall an less dirk linux2 text lak gt last less root pts 7 pd9e29571 dip t Sat Mar 22 16 45 22 29 05 44 dirk pts 9 pd9e29571 dip t Sat Mar 22 16 27 22 29 06 02 dirk pts 7 pd9e295cb dip t Sat Mar 22 12 18 16 40 04 22 root pts 7 javal ruf uni fr Fri Mar 21 16 13 16 17 00 04 root pts 7 javal ruf uni fr Fri Mar 21 15 58 15 59 00 00 dirk pts 7 dozent 1p2 ruf u Thu Mar 20 1
76. UFGABEN 49 PATH Numerische ID des gerade angemeldeten Benutzers HOME String Benutzername des gerade angemeldeten Be nutzers DISPLAY Einstellung f r den Default Editor UID Pfadvariable gibt an wo nach ausf hrbaren Program men gesucht wird USER Homeverzeichnis des gerade angemeldeten Benutzers EDITOR Gerade ausgef hrte Shell mit absolutem Pfad SHELL Variable zur Weiterleitung grafischer Ausgaben ber das Netz 5 4 2 Shellprogrammierung 1 Man schreibe ein Miniskript Textdatei mit Kommandoabfolgen von Shell und ex ternen Befehlen welches die Zerlegung der Kommandoeingabe in einzelne Token demonstriert Die Shell zerlegt jedes Kommando in einzelne Bl cke zur weiteren Be arbeitung Man demonstriere hier die M glichkeit des Returncodes und setze ihn auf 42 Wie bekommt man die Zahl der bereichten Argumente ermittelt Man gebe die Datei etc passwd sortiert aus und schreibe die Ausgabe in die Datei passwd sorted Wieviele Zeilen enth lt diese Datei Man zerlege die Datei etc passwd und sortiere nach der Gruppen ID Man schreibe das Ergebnis in die Datei passwd sort keyID Schreiben Sie ein Skript bzw Erg nzung zu bereits bestehenden welches jeden Benutzer beim Login mit Guten Morgen Mahlzeit Abend Nacht Willkommen auf Rechnername Benutzer Benutzername Sie sind eingeloggt an Konsole Nummer Num mer mit Ihnen gleichzeitig angemeldet sind Liste der gerade angemeldeten Benutzer Es
77. UID 0 bash UID readonly variable user linux05 gt echo USER USERNAME LOGNAME user user user user linux05 gt echo HOME home user user linux05 gt HOME tmp user linux05 home user gt cd user linux05 gt echo PWD tmp user linux05 gt pwd tmp user linux05 gt echo SHELL TERM PATH bin bash xterm usr local bin usr bin usr X11R6 bin bin usr games opt gnome bin opt kde3 bin user linux05 gt echo HOST HOSTNAME linux05 linux05 Es ist zudem m glich Teilstrings des Variableninhaltes auszugeben Das geschieht in der Form echo VARIABLE START STOP wobei START das erste Zeichen Z hlung beginnt bei 0 und STOP das letzte Zeichen im Teilstring beschreibt Das Aussehen des Prompts wird blicherweise in der systemweiten Konfigurationsda tei etc profile definiert Benutzer k nnen ihre eigenen Bed rfnisse durch das Setzen der PRINTER oder PAGER Variablen umsetzen Dies erfolgt normalerweise in den benutze reigenen Dateien des Home Verzeichnisses wie profile und in Abh ngigkeit von der Shell in bashrc cshrc kshrc Die Syntax der Zuweisung ist sehr einfach VARIABLE inhalt legt eine Variable des Na mens VARIABLE an und weist dieser den Wert inhalt zu Als Konvention hat sich ein geb rgert dass l ngere Umgebungsvariablen mit vollst ndig gro en Buchstaben geschrie ben werden um besser zwischen den generell klein geschriebenen Programmnamen bzw Befehlen u
78. Unterst tzung Erste Firmen beginnen ihre Produkte f r Linux zu portieren wo mit die Zahl der kommerziell verf gbaren Software Pakete steigt Im Jahre 1998 startet ein wesentlicher Schritt zur Verbreitung von Linux f r den 3Der 80386 ist der 32 bit Nachfolger des 16 bittigen 286ers Er bringt wesentliche Systemeigenschaften mit wie Speicherschutz gegen unberechtigte oder fehlerhafte Zugriffe im Multi User Betrieb Systemschutz gegen Ver ndern von Programmen und Daten Weiterhin kennt er einen Real Address Mode in dem der Prozossor als schneller 32 bit 8086 arbeitet Hinzu kommen Protected Virtual Address Mode mit Spei cherverwaltung und 4 Ebenen Schutzmechanismus Privilegienlevel der Programmausf hrung Linux ist deshalb auch nicht ohne wesentliche Einschr nkungen auf 286er CPUs lauff hig 1 3 LINUX UNIX 3 Desktop Das KDE Projekt wird aus der Taufe gehoben Ein Jahr sp ter kommt mit GNO ME ein weiteres ernstzunehmendes Desktop Projekt hinzu In diesem Jahr erscheint auch die Kernel Version 2 2 mit verbessertem Support f r symmetrisches Multiprozessing SMP und renoviertem Netzwerk Code Eine erste Soundunterst tzung realisiert ein Jahr sp ter das Open Sound System OSS au erdem wird Samba zur Einbindung von Windows Netzwerken in einer neuen Version 2 0 ver ffentlicht Das Jahr 2000 bringt Linux einen weiteren Schritt dem Desktop n her XFree86 wird in der Version 4 0 ver ffentlicht und KDE 2 0 erscheint
79. abe ich in den meisten F llen selbst ausprobiert und Angaben aus Kon figurationsdateien stammen aus meiner eigenen Praxis Trotzdem k nnen Fehler enthalten sein die ich dann zu entschuldigen bitte Diese Unterlagen werden regelm ig aktualisiert trotzdem werden nicht immer alle Teile auf dem gleichen j ngsten Stand sein Die Kurz beschreibung einiger Programme kommt durchaus mehrfach vor Einmal im laufenden Text wenn einzelne Bereiche eines Linux Systems mehr oder weniger ausf hrlich behandelt werden und in der Liste wichtiger Kommandos am Ende dieses Skriptes Das ist durchaus so beabsichtigt Um aber zuviele Wiederholungen zu vermeiden wurde versucht jeweils verschiedene Beispiele zu w hlen wenn welche angegeben werden Ebenso wieder holen sich zum Teil die Beschreibungen wichtiger Systemkomponenten So spielt die Shell nat rlich beim Erst Login eine wesentliche Rolle und wird sp ter nochmals ausf hrlich be handelt trotzdem w rde ich nicht auf die ersten einf hrenden Worte verzichten wollen Iwww selflinux org beispielsweise per Mail an dirk goe net 2 KAPITEL 1 EINLEITUNG GRUNDLAGEN 1 2 Geschichte Damit nicht schon die erste Stunde in Stress ausartet hat es sich eingeb rgert eine kurze Geschichte oder hnliches vorzuschalten 1991 kauft sich der finnische Student Linus Tor valds einen 386er PC um mit den M glichkeiten des 80386 Prozessors zu experimentieren Zun chst entwickelte er Linux unter Minix
80. abelle die das Betriebssystem f hrt Unter Umst nden kann es dazu kommen dass der Elternproze vor dem Kindproze beendet wird Damit kann dieser die Statusinforma tion beim Beenden des Kindprozesses nicht mehr abfragen In diesem Fall bernimmt init diese Statusmeldung Jeder Prozess besitzt einen Standardeingabe Standardausgabe und Standardfehler kanal Diese sind normalerweise mit der Tastatur Standardeingabe bzw dem Bildschirm Standardausgabe Standardfehler verbunden Wie diese Kan le umgebogen werden k nnen so dass Fehlerausgaben zum Beispiel in eine Datei geschrieben werden wird im Rahmen der Betrachtungen zur Shell Kommandozeile behandelt s 4 2 4 S 32 9 4 2 top Dieses Kommando greift in regelm ssigen Abst nden auf das Procfilesystem zu und gibt eine gute sortierte bersicht dar ber welche Task auf einem Rechner wieviel Resourcen i o Memory Prozessor schluckt Die Zeit zwischen den Updates kann bereits beim Aufruf ber die Kommandozeile eingestellt werden top wird interaktiv bedient Das einfache Dr cken einer Taste gen gt also um dem Programm mitzuteilen was Sie w nschen Die wichtigsten Tasten sind h zeigt die Hilfe mit allen Tastenk rzeln an M sortiert die Liste nach dem Speicherverbrauch der Programme P sortiert die Liste wieder nach der Prozessorbelastung der Programme k killt einen Prozess Fragt nach der PID und dem gew nschten Signal q beendet top Nun soll kurz auf
81. aben an Maschinen im Netzwerk senden Man kann nicht nur die gra fische Ausgabe einzelner Applikationen exportieren sondern ebenso komplette Desktops Hierzu muss man dann einige Details vorbereiten wenn noch keine Maschine im Netzwerk f r diese Funktion eingerichtet ist e F r den Hintergrunddienst Displaymanager ist eines der Programme xdm gdm kdm oder wdm verantwortlich Hierzu muss man feststellen welcher der genann ten Displaymanager auf der Maschine l uft die den Desktop exportieren soll Am einfachsten ermitteln man dieses durch top oder ps aux Hier im Beispiel hei t die Maschine zserver mydomain local 102 KAPITEL 11 GRAPHISCHE OBERFL CHE e Man suche im Dateisystem die entsprechende Konfigurationsdatei zdm config gdm conf kdmrc oder wdm config e Sodann editiere man diese Datei und suche nach einem Abschnitt mit der Bezeich nung gt xdmcp lt Dann schaltet man gt xdmcp lt ein Dieses ist meistens in den kom mentierten Zeilen dar ber beschrieben Meistens muss hier nur statt eines false lt ein gt true lt eintragen werden e Anschliessend startet man den Displaymanager neu Wenn der Displaymanager KDM und die SuSE Linux Distribution am Start sind sollte man alternativ die Datei etc sysconfig displaymanager editieren In dieser Datei setzt man DISPLAYMANAGER_REMOTE_ACCESS auf yes und startet den Dienst mit rcxdm restart neu Bitte den Benutzernamen eingeben 8 Sprache O Sitzung 8 Tren
82. aber eine Geb hr f r das Bereitstellen des Datentr gers erhoben werden Das sind dann die Kosten einer Linux Distribution Nat rlich ist auf GNU Linux Systemen nicht nur Software lauff hig und einsetzbar die unter der GPL steht es gibt viele andere freie Lizenzen unter denen Software stehen kann 1 7 Begriffserkl rungen Im folgenden werden einige Begriffe und Abk rzungen erl utert die im Text h ufig verwen det werden Kurze Erl uterungen zu wichtigen Shell Kommandos Systembefehlen Diensten und grafischen Programmen sind am Ende dieses Textes zu finden Bibliothek Eine Software Bibliothek benennt eine Sammlung von wiederkehrenden Funk tionen Da viele Programme gleiche oder hnliche Funktionen ben tigen w re es sehr inef fektiv gleiche Teile immer wieder neu zu programmieren Daher werden diese Teile in eine externe Datei ausgelagert Da mehrere Programme darauf zugreifen kann die Gr sse des einzelnen Programms auf der Festplatte verkleinert werden Fehlt die Bibliothek funktio niert jedoch das gesamte Programm nicht mehr Desktop Der X Server selbst bringt nur die F higkeit mit Grafikausgaben auch netz werktransparent zu realisieren Es sind jedoch zus tzliche Programme notwendig um den Arbeitskomfort zu realisieren Dazu dient ein Desktop wie KDE oder GNOME Dieser erm glicht das Arbeiten wie man es von Apple OS oder Windows her kennt Man verf gt ber eine Arbeitsfl che mit Fenstern und kann Programme ber d
83. alls eigene Tools f r diese Tasks am Start 14 5 2 Entwicklung Zur Programmentwicklung unter Linux geh ren eine ganze Reihe von Werkzeugen Die Editoren wurden gesondert abgehandelt Es gibt integrierte Entwicklungsumgebungen z B kdevelop die viele der genannten Programme unter einer einheitlichen Oberfl che zusam menfassen 144 KAPITEL 14 WICHTIGE KOMMANDOS Kommando Aufgabe Beschreibung autoconf Zusammen mit automake um Software zur Kompilation auf einer Ziel plattform geeignet einzurichten automake Generieren von Makefiles f r die Zielplattform Wenn man configure prefix usr nextoption aufruft steckt genau dieses dahin ter cvs Concurrent Versions System CVS ist ein Tool zur Versionskontrolle diff Erstellt eine Differenzdatei von zwei unterschiedlichen Dateien oder Da teib umen gec Der GNU C Compiler Eines der wichtigsten Programme berhaupt ld Der Linker dynamisches Binden von Programmen und Bibliotheken ldconfig Einrichten des schnellen Hashes etc ld so cache f r das schnelle Auffin den dynamisch gelinkter Bibliotheken Es wird normalerweise nach dem Systemstart automatisch aufgerufen sollte aber auch nach der Installa tion neuer Bibliotheken angesto en werden ltrace Verfolgen von Bibliotheksaufrufen zum Debugging von Programmen make Aufw ndige spezielle Skriptsprache zur Analyse der Makefiles um be quem ganze Softwarepakete zu bauen nm zeigt in einem Programm oder einer Bibliothek en
84. alls von modprobe durchsucht wird Au erdem beachtet es sogenannte module dependencies wenn diese mit dem Kommando depmod a erzeugt wurden Dieses Kommando erstellt eine Datei die die Zusammenh nge zwischen den Modulen enth lt 12 3 Einstieg ins Selberbauen Bei jeder Distribution liegt ein Kernel bei der allen Ansp chen an Treiber usw gerecht werden sollte Durch den Modulsupport k nnen fast alle Treiber dynamisch nachgeladen werden Aus welchem Grund sollte man also einen eigenen Kernel bauen Folgende Punkte sprechen f r einen neuen Kernel e nur die ben tigten Treiber und Grundfunktionen werden eingebunden e spezielle Eigenschaften k nnen nur direkt im Kernel konfiguriert werden e der Kernel wird f r den entsprechenden Prozessor optimiert e neueste Kernel stehen immer als Sourcen aber erst viel sp ter fertig kompiliert zur Verf gung e spezielle Bootmodelle wie Diskless Clients lassen sich nicht mit dem Standardkernel betreiben Aus diesen G nden soll hier kurz auf die Konfiguration und das Kompilieren eines eigenen Kernels eingegangen werden Den Kernel zu kompilieren ist etwas was sich ungeheuerlich schwierig anh rt aber in Wirklichkeit recht einfach ist Also nur Mut es kann nicht allzu viel schief gehen wenn man sich vorher einige Sachen berlegt Das Einzige auf das man immer achten sollte ist dass man immer von einem funktionierenden alten Kernel booten kann Das erreicht man indem man den laufe
85. alten sich meist so dass sie bestimmte Daten aufnehmen diese Daten auf irgendeine Weise verwenden um schlie lich wieder Daten auszugeben Dieses Schema verdeutlicht sich noch bei interaktiven Programmen die immer wieder Informationen vom Benutzer annehmen und ihm andere Informationen zur ckliefern Eine Shell ist ein typisches interaktives Programm Zu diesem Zweck mu sie ber einen Eingabekanal verf gen ber den sie Information aufnehmen kann Dieser Eingabekanal existiert tats chlich und erh lt unter Linux die Bezeichnung Standardeingabe Womit aber ist die Standardeingabe verbunden blicherweise wird es die Tastatur sein Die Shell nimmt Zeichen f r Zeichen von der Tastatur entgegen und gibt diese Zei chen auch sofort auf dem Bildschirm aus Die Ausgabeseite auf dem Bildschirm kann von der Standardeingabe erledigt werden Die Shell verf gt also ber einen weiteren Kanal der folgerichtig als Standardausgabe bezeichnet wird Die Standardausgabe der Shell ist blicherweise mit einer Konsole oder einem grafischen Pseudo Terminal wie xterm oder konsole verbunden so dass eingetippte Zeichen sichtbar werden Dar berhinaus existiert ein dritter Kanal der eine besondere Aufgabe zu erf llen hat der sogenannte Standardfehlerkanal Wie der Name schon sagt dient der Kanal zur Aus gabe von Fehlermeldungen wenn der Programmlauf aus irgendeinem Grund nicht ord nungsgem ss fortgesetzt werden konnte blicherweise ist Standardfehler eben
86. andos jobs angezeigt werden dirk randy2 gt jobs 2 Running konqueror lak pdf amp 3 Running kdvi SharedFiles tex lak lak dvi amp In den eckigen Klammern wird die zugeteilte Jobnummer angezeigt Sie unterscheidet sich von der sogenannten Prozessnummer die hinter der Jobnummer angegeben wird Das Plus Zeichen bei der Ausgabe des jobs Kommandos markiert den zuletzt gestarteten Job das Minus Zeichen den als vorletztes gestarteten Job Es gibt eine Reihe von M glichkeiten sich auf einen bestimmten Job zu beziehen Das Zeichen leitet einen Jobnamen ein Jobnummer n kann als n angesprochen werden Man kann sich auch auf einen Job beziehen indem man dem die ersten Buchstaben des Kommandos voranstellt mit dem man den Job gestartet hat Hat man z B Kommando gestartet kann man sich darauf mittels ko beziehen falls kein weiterer laufender Job so beginnt Auch eine Art von Wildcard ist erlaubt ommando oder auch mmando bezieht sich ebenfalls auf den Job der mittels kommando gestartet wurde Wenn das angegebene Pr fix oder Muster auf mehr als einen Job pa t erfolgt eine Fehlermeldung oder bezieht sich immer auf den letzten Job In den Begriffen der Shell ist das der zuletzt gestoppte Vordergrundprozess oder der zuletzt gestartete Hintergrundprozess bezieht sich entsprechend auf den zuvorletzt gestarteten Job Ein im Hintergrund laufendes oder unterbrochenes Programm ben tigt unter Umst nden die Tastatur bzw den Bi
87. annte History Selbst wenn man nur gelegentlich die Kommandozeile verwendet erweist sich die History als ein ausgesprochen n tzlicher Helfer Das gilt umso mehr wenn man ausgiebigen Gebrauch von der Shell macht Die M glichkeiten zur Nutzung der History entsprechen der Benutzung eines effizienten Editors und werden in ihrem vollen Umfang nur von den Wenigsten benutzt Sie gehen weit ber die M glichkeiten beispielsweise von doskey hinaus welches vielleicht noch aus DOS Zeiten bekannt sein k nnte Die zuletzt eingetippten Befehle k nnen mit den Cursor Tasten Pfeil hoch und runter ausgew hlt und editiert werden Eine R ckw rtssuche in allen gespeicherten Komman doaufrufen kann mittels STRG R erfolgen Nach dem Abmelden von einer Shell wird die Geschichte die History in der Datei bash_history im Home Verzeichnis des jeweiligen Benutzers abgelegt M chte man nicht dass andere die Command History nachvollziehen k nnen hilft ein Link dieser Datei nach dev null F r eine Sitzung kann man die History durch die Eingabe von export HISTFILE dev null ebenfalls abschalten Mit wird der letzte Befehl aus gef hrt mit 2 wird der vorletzte mit 3 der vorvorletzte usw ausgef hrt Mit Istring wird der letzte Befehl der mit string begonnen hat ausgef hrt Der eingebaute Bash Befehl history zeigt eine Liste der zuletzt abgesetzten Kommandos an 32 KAPITEL 4 DIE SHELL 4 2 4 Ein und Ausgabe Programme verh
88. ansportieren kann man die mtools verwenden Diese stellen einen eingeschr nkten Befehlssatz zum Arbeiten mit MS DOS formatierten Disketten zur Verf gung daher das vorangestellte m vor den Kommandonamen Ein wichtiger Unterschied zu DOS besteht im Verzeichnisdelimiter Da 140 der Backslash in der Unix Shell eine besondere Bedeutung hat wird er durch den KAPITEL 14 WICHTIGE KOMMANDOS ersetzt hnliches kennt man vielleicht auch von der Benutzung der Samba Tools MTool mcopy mdel mdir mmd mrd mren mtype Funktion Kopieren vom Laufwerk in ein UNIX Verzeichnis oder umgekehrt L schen einer DOS Datei Anzeigen eines DOS Verzeichnes Anlegen eines DOS Verzeichnisses auf der Diskette L schen eines leeren DOS Verzeichnisses Umbenennen eines existierenden DOS Verzeichnisses Zeigt den Inhalt einer DOS Text Datei an 14 3 3 Netzwerk Da der Zugriff auf das Netzwerk durchaus als sensibel eingestuft wird lassen sich die meisten Beispiel mcopy lak ps a kopiert die Datei lak ps auf Diskette mdel a lak pdf l scht die Datei lak pdf von der Disket te mdir a psfiles zeigt den Inhalt von a psfiles an mmd a testdir mrd a testdir mrd a testdir a dirtest mtype a test txt der nachfolgenden Kommandos nur sinnvoll mit Root Rechten ausf hren Kommando Aufgabe Beschreibung Programm zur Anzeige und Manipulation der Kernel Arp Tabelle Abfrage von Nameserver
89. art zieht das Dateisystem als erstes das Journal zu Rate Sind die Eintr ge im Journal schon mit einem commit abgeschlossen sind die Metadaten g ltig und die Eintr ge werden auf die Festplatte bertragen Fehlt das commit als abschlie ender Eintrag werden die Metadaten nicht von dem Journal auf die Festplatte geschrieben sondern verworfen Bei Dateisystemen ohne Journal wie Ext2 m ssen dagegen alle Metadaten berpr ft werden ob sie konsistent sind was die erw hnten langen Wartezeiten bewirkt Was ist nun mit den eigentlichen Daten wann werden diese auf die Festplatte gespei chert Das ist bei den verschiedenen Dateisystemen verschieden implementiert Bei Ext3 werden zun chst die eigentlichen Daten auf die Festplatte geschrieben erst anschlie end wird das abschlie ende commit im Journal gesetzt Bei den anderen Journaling Dateisyste men k nnen dagegen die Metadaten schon auf die Festplatte geschrieben werden bevor die Daten komplett auf der Festplatte sind was zu Problemen f hren kann aber schneller ist Hier hat Ext3 in Sachen Sicherheit die Nase vorn 6 6 SCHICHT ODER OVERLAY DATEISYSTEME 57 6 6 Schicht oder Overlay Dateisysteme Im folgenden geht es um einen berblick zu einer neuen Klasse von Dateisystemen mit denen sich viele Fragestellungen des Linuxbetriebes deutlich vereinfachen k nnen So ver wendet beispielsweise das Live CD Linux Knoppix seit der Version 3 8 das stapelbare Datei system UnionFS welches d
90. as Anklicken von Icons starten FTP Das File Transfer Protocal ist eines der ltesten M glichkeiten mittels TCP IP Dateien zwischen Rechnern zu kopieren Es verwendet das verbindungsorientierte TCP und verwendet Port 23 Ein Nachteil von FTP ist die unverschl sselte bertragung sowohl der Dateien als auch des Passworts LAN Local Area Network Meint Netzwerke einer geringen bis mittleren Ausbreitung die sich blicherweise der Ethernet ATM TokenRing oder FDDI Technologie bedienen Linux bezeichnet eigentlich nur den Kernel Ein Kernel ist ein St ck Software das die Kommunikation zwischen den einzelnen Hardwarekomponenten und den Anwenderpro grammen implementiert Das mag trivial klingen ist aber eine sehr komplexe Aufgabe Jedes OS Operating System hat einen Kernel nur werden die wenigsten nach dessen Namen benannt NFS Network File System NFS ist ein UDP basiertes Protokoll das Dateisysteme ber ein TCP IP Netzwerk zur Verf gung stellen kann 8 KAPITEL 1 EINLEITUNG GRUNDLAGEN Perl Perl ist eine freie interpretierte Skriptsprache die sich im Bereich der Stringver arbeitung durchgesetzt hat Sie steht unter allen g ngigen Unix Architekturen aber auch unter Mac OS und Windows zur Verf gung Diese Programmiersprache kann durch Module erweitert werden Inzwischen stehen Module f r fast jeden Anwendungsfall in weltweit zug nglichen Archiven zur Verf gung Server Der Server ist in erster Linie ein Diens
91. b gt root nd grub gt kernel vmlinuz root dev hda3 grub gt boot Der erste Unterschied zum klassischen Bootvorgang ist dass die Netzwerkkarte mittels ifconfig aktiviert werden muss Dabei gibt address die eigene IP und server die IP des TFTP Servers an Au erdem gibt man bei root als Platte Partition nd an Nat rlich kann GRUB die Netzwerk Informationen auch von einem DHCP BOOTP oder RARP Server abholen 118 KAPITEL 12 KERNEL UND BOOTLOADER GRUB bringt dar berhinaus nette Eigenschaften mit die helfen k nnen zerschossene Systeme wieder zu retten Wenn sich aus irgendeinem Grund der neue Kernel nicht mehr booten l t und kein geeigneter Men eintrag f r den alten Kernel vorhanden ist l t sich dieser unter Umst nden trotzdem booten Wenn das Boot Menu erscheint ist die Taste c dran Dadurch kommt man auf die GRUB Kommandozeile und kann dort durch Tippen der Befehle die sonst in der Konfigurationsdatei angegeben werden den Rechner booten Beachtet werden sollte wie auch vom BIOS bekannt die englische Tastaturbelegung Ein Beispiel Wenn der Kernel im Verzeichnis usr src linux arch i386 boot auf der Parti tion dev hda3 liegt w rde das Ganze so aussehen 1 Warten bis Boot Menu erscheint und c dr cken 2 root hd0 2 Partition auf der der Kernel liegt angeben 3 kernel usr src linux arch i386 boot bzImage root dev hda3 Pfad zum Ker nel Dateiname ist hier bz mage Danach die Optionen wie root Par
92. beim Hochfahren des Systems ber die Runlevelskripte gestartet Sie sind nicht an eine Konsole gebunden und schreiben deshalb ihre Meldungen blicherweise ber das Syslog oder in spezielle Logdateien und verzeichnisse 9 4 System oder Resourcen Auslastung Prozesse k nnen im System in verschiedenen Zust nden auftreten Die naheliegensten sind in Ausf hrung befindlich und auf die Zuteilung von CPU Zeit wartend Meistens wird aber noch feiner klassifiziert wobei die Einteilung f r verschiedene Unix Systeme abweicht Unter Linux gibt es folgende Einteilung e R runnable ablaufbereit Der Prozess wird gerade auf der CPU abgearbeitet oder steht zur Abarbeitung bereit S sleeping schlafend Der Prozess wartet auf das Eintreten eines Ereignisses zum Beispiel das Ablaufen eines Timers das Ende einer Interaktion mit Festplatten dem Nutzer oder einem anderen Prozess e D uninterruptibly sleeping Schlaf ohne Unterbrechungsm glichkeit Der Pro zess wartet auf einen bestimmten Hardwarezustand e T traced gestoppt Der Prozess befindet sich im Einzelschrittlauf Tracing e Z zombie Der Prozess wurde beendet der Elternprozess hat jedoch den R ckkehr status noch nicht gepr ft Informationen ber den Zustand der momentan im System ablaufenden Prozesse kann sich der Administrator auf verschiedene Weise beschaffen Dazu fallen einem zuerst die folgenden Tools ein ps und top Sie zeigen laufende Prozesse
93. besitzen Sollten sie es doch haben so k nnen sie dort ein Programm unterbringen z B Verschreiber zu Is oder cd ls al ld la ks xs vf Das Programm wartet bis es einmal ausversehen von root aufgerufen wird und Voila Es wird ein Programm z B mit dem Namen gainr nach tmp var tmp oder sonst wo hin geschrieben das nichts anderes als eine Shell mit setuid ROOT ist Ruft man dann als normaler Benutzer gainr auf so ist man pl tzlich root ganz ohne Passwort Erste Konsequenz Ein normaler Benutzer soll NUR Zugriff auf sein Home Verzeichnis und auf tmp haben Zweite Konsequenz Die Variable PATH des Benutzers root muss restriktiv gehalten werden Das aktuelle Arbeitsverzeichnis hat im PATH von root nichts verloren Dritte Konsequenz Die Liste der setuid root rwsr xr x Programme regelm ig mit der Frage nach Wachstum kontrollieren 13 3 LITERATUR 125 13 2 7 Setuid und Mounting Mit dem Mounten ist es genauso nur noch einfacher f r den Hacker Ein wechselbares Medium darf nie und nimmer setuid f hig sein Ansonsten stellt sich der Hacker zuhause ein Medium her mit einer Shell die root geh rt und das setuid bit gesetzt hat vergl gainr Dieses mountet er im Zielsystem oder l t es vom Admin mounten und Voila Einfach aufrufen und fertig Das Mountkommando kann aus Sicherheitsgr nden nur vom Superuser aufgerufen wer den Sollen normale User dazu in die Lage versetzt werden ist d
94. ch wenn sich alle VNC Clients abgemeldet haben bleibt der VNC Server aktiv und alle darunter gestarteten Programme laufen weiter So kommt man bei der erneuten Verbindung zu dem Zustand zur ck indem der Client beendet wurde Trotzdem sollten aus Sicherheitsgr nden alle offenen Dateien gesichert werden bevor der Client geschlossen wird 11 2 X VORTEILE UND GRENZEN DER UNIX GUI 105 Anpassungen des Desktopinhaltes Das Standard Benutzerinterface welches VNC anbietet ist nicht besonders spannend Es startet sehr schnell da einfach nur ein xterm und der alte Windowmanager twm geladen werden die beide im Minimalumfang von XFree86 enthalten sind Der VNC Server f hrt nach dem Start das Skript unc zstartup aus welches nach der Installation bin sh xrdb HOME Xresources xsetroot solid grey xterm geometry 80x24 10 10 ls title VNCDESKTOP Desktop amp twm amp die gezeigten Zeilen enth lt Diese Eintr ge k nnen nun beliebig an die eigenen Bed rfnisse angepasst werden Hier kann nun z B ein Start Skript f r eine der grafischen Desktops wie GNOME oder KDE oder einen Windowmanager wie Windowmaker eingetragen werden Absicherung durch SSH Tunnel VNC kann zwar durch ein Passwort vor unberech tigtem Verbindungsaufbau gesch tzt werden jedoch erfolgt die eigentliche bertragung unverschl sselt Dies ist f r die meisten Netze inakzeptabel weshalb ein Tunnel verwendet werden sollte Hierzu wird der VNC Server mit d
95. che Benutzerober fl che mit deren Hilfe man als Nutzer den Computer auf einfache Weise konfigurieren und verwenden kann GNOME besteht aus einem Panel f r das Starten von Anwendungen und Anzeigen von Statusmeldungen einem Desktop auf dem Daten und Anwendungen abgelegt werden k nnen und einer inzwischen sehr umfangreichen Auswahl je nach Dis tribution von mitgelieferten Hilfs und Anwendungsprogrammen Zudem stellt GNOME 3http www gnome org users guide de index html http www gnome org users guide index html 108 KAPITEL 11 GRAPHISCHE OBERFL CHE bestimmte Vorgaben Konventionen f r die Gestaltung weiterer Anwendungsprogramme bereit um diese nahtlos in die Benutzeroberfiche integrieren zu k nnen und deren problem loses Zusammenwirken z B f r den Datenaustausch zu gew hrleisten Sollten Sie schon Erfahrungen mit anderen Betriebssystemen gesammelt haben werden Sie rasch mit der grafischen Benutzeroberfl che von GNOME zurechtkommen Bei GNOME handelt es sich vollst ndig um Open Source Software d h freie Software deren Quellcode frei verf gbar ist und die von Hunderten von Programmierern auf der ganzen Welt weiterentwickelt wird Weitere Informationen zum GNOME Projekt erf hrt man wie immer im Internet GNOME bietet seinen Benutzern eine Reihe von Vorteilen So macht es einem GNOME einfach Anwendungen zu konfigurieren und zu benutzen ohne dabei auf ein Nur Text Interface zur ckgreifen zu m ssen Zudem kann
96. chengr en Kommt ein Kommando mit einer Kodierung nicht klar dann sieht die Darstellung von bestimmten Zeichen nicht korrekt aus F r die Umwandlung gibt es iconv Dieser ist ein einfacher Umkodierer Das Umwandeln einer UTF 8 Datei als Beispiel utf8 txt in eine Datei 50 alt txt nach dem alten IS08859 15 Standard geschieht so iconv f UTF 8 t IS0 8859 15 o iso alt txt utf8 txt Das Ergebnis kann man mit file i iso alt txt einfach berpr fen Ein einfacheres Tool ist recode Mit dem folgenden Beispiel wird die Datei test txt vom alten IS08859 1 Zei chensatz nach UTF8 umgewandelt recode latin1 utf 8 test txt Einige Text Editoren bieten es dem Benutzer an anzugeben in welchem Zeichensatz eine Datei dargestellt und gespeichert wird 6 10 Aufgaben 6 10 1 Filesystem Aufteilung 1 1 Wo liegen in der Linux Verzeichnisstruktur blicherweise die Bibliotheken und ausf hrbare Progamme Nennen Sie wichtige Kommandos und ihre Lage im Datei system 2 Warum verwendet man nicht das Konzept der Laufwerksbuchstaben wie unter DOS oder den verschiedenen Windowsversionen bekannt 3 Wo findet man Dateien wie z B kmail mount oder Is 4 Wo befinden sich die Konfigurationsdateien zum Einrichten einer Modemverbindung Wo liegen im Linux Dateisystem blicherweise die Konfigurationsdateien Nennen Sie wichtige Konfigurationsdateien die im Kurs vorgekommen sind 5 Weshalb darf der Befehlmv txt html so nicht angewendet werden was
97. chnis uebung mit einem Un terverzeichnis nummer01 welches wiederum ein Unterverzeichnis aufgabe01 enth lt Wie l sche ich diese Verzeichnisse wieder alle auf einmal direkt auf oberster Ebene meines Homeverzeichnisses 2 5 5 Wichtige Tastaturk rzel 1 2 Wie wechselt man von der grafischen Konsole in den Textmodus und umgekehrt Wie beende ich X direkt per Tastatur Welche Probleme handele ich mir damit evtl ein In der Shell Textmodus oder xterm Wie kann man hochbl ttern um bereits aus dem Terminal verschwundene Zeilen wieder sichtbar zu machen Wie l sst sich w hrend einer grafischen Sitzung die Bildschirmaufl sung unter X der Grafikserver unter Unix Linux ver ndern Wie l sst sich in der Shell ein Bereits vor kurzem ausgef hrtes Kommando erneut aufrufen History Funktion Wie komme ich aus einer h ngenden SSH Verbindung heraus Man verbinde die untenstehenden Bl cke geeignet Links steht eine Tastenkombina tion und rechts wof r sie gut sein k nnte 24 Cursor nach oben Strg Strg Strg e d c Shift PgUP Strg Strg Strg Pos1 Alt F1 Alt Backspace a KAPITEL 2 ERSTE SCHRITTE Grafische Oberfl che hart beenden Gerade in der Shell laufendes Programm abbre chen Auf die erste Textkonsole wechseln An den Anfang der Kommandozeile springen Den Inhalt der Pfadvariablen wiederherstellen Sh
98. cht existieren versucht PXE Linux sukzessive von rechts beginnend Zeichen zu reduzieren und erneut zu matchen Sollte keine geeignete Datei auf diesem Wege gefunden werden kann man generell eine Default Konfigurationsdatei bereit stellen pxelinux cfg default file timeout 100 default linux prompt 1 120 KAPITEL 12 KERNEL UND BOOTLOADER display boot msg F1 help label linux kernel vmlinuz append vga 0x317 initrd initrd splash silent apic ipappend 1 label lin test kernel vmlinuz test append vga 0x317 initrd initrd test splash silent noapic debug 2 ipappend 1 label etherboot kernel e1000 com label local localboot 0 Die Option ipappend 1 sorgt daf r dass analog zu mknbi linux die IP Konfiguration ber die Kernel Commandline bermittelt wird Diese besitzt bis auf den Parameter f r den Rechnernamen das identische Format wie es auch Etherboot generiert ip 10 8 4 102 10 8 4 1 10 8 4 254 255 255 252 0 host02 other Das erlaubt innerhalb der sp ter zu startenden Ramdisk Umgebung eine fast einheitliche Interpretation und Weiterverarbeitung 12 6 5 Andere Bootloader Ein anderer Linux Bootloader istchos Choose OS Dieser wird nicht mehr weiterent wickelt erf llt jedoch immer noch die meisten Anforderungen Konfiguriert wird chos ber die etc chos conf die Boot Maps liegen wie bei lilo auch unterhalb von boot Linux erfordert nicht zwingend dass sein Bootloader der erste ist der von einem Rechn
99. ck und Betrieb VNC erlaubt den Zugriff auf einen gemeinsamen Desktop von verschiedenen Rechnern die sogar unterschiedliche Betriebssysteme verwenden k nnen VNC l st das Problem indem es den kompletten Desktop des einen Rechners in einem Fenster auf dem zweiten Rechner darstellt Ein VNC Server unter Linux ist im Grund ein doppelter Server Zum einen stellt er einen vollwertigen X Server dar nach dem Start kann man ihn in der Regel ber localhost 1 ansprechen Angezeigt wird dabei aber nichts Der Server l uft ohne Ausgabe Zu sehen bekommt man den auf dem neuen X Server laufenden Desktop erst wenn man einen VNC Client vncviewer startet Diesem gegen ber tritt der Server dann als VNC Server auf und bertr gt den Desktop Inhalt als Bildinformation Wenn man zun chst die Voreinstellungen des VNC Servers testen m chte rufe man einfach das Skript vncserver auf Dieses bernimmt den eigentlichen Start des Servers Xvnc mit Standard Parametern Dabei beachte man die Ausgabe des Server Start Skripts Dort wird eine Display Nummer 1 2 angegeben die f r den sp teren Zugriff auf den Server ben tigt wird Ein VNC Server unter Linux ist im Grund ein doppelter Server Er einen stellt er einen vollwertigen X Server dar und ffnet einen weiteren Port f r den VNC Client Zugriff Deshalb belegt er unter Linux zwei TCP Ports Angezeigt wird auf dem X11 Port jedoch nichts die Grafikausgabe erfolgt ber den VNC Port Hierf r gilt folgende Z
100. cker braucht aber diese Laufwerke ohnehin nicht Dieser ist mit einer Reset Taste oder einem Netzstecker sowie einer Konsole vollkommen zufrie den Der lilo ohne Passwortschutz erlaubt einfachste Angriffe Abhilfe Die Maschine unter Verschluss halten Keiner Maschine die nicht unter Verschluss ist oder mit dem Internet verbunden ist kann man vertrauen 13 3 Literatur Einschl gige Mailing Listen abonnieren und Webseiten untersuchen http internet security de http www cert org http www ers ibm com http www ccc de THE DENIAL OF SERVICE PAGE Linux Mailinglisten http www diabolo666 com tools Tutorial htm Monografien gibt es inzwischen auch einige zum Thema z B Simson Garfinkel Gene Spafford Practical Unix and Internet Security 2 Edition O Reilly 2000 ISBN 1 56592 148 8 126 KAPITEL 13 SYSTEMSICHERHEIT 13 4 Sicherheit im Netzwerk 13 4 1 Einleitung Die erste H rde die sich Angreifern stellt ist blicherweise der lokale Zugang auf ein System Dazu ben tigen sie meistens eine g ltige UserID mit Passwort bzw den Zugriff ber einen auf der Maschine verf gbaren Netzwerkdienst wie den Web NFS Nameserver etc Dieser Zugriff kann durch das ablauschen von Verbindungen wie z B telnet ftp pop3 Anfragen erfolgen die keine verschl sselten Passw rter verwenden Die andere M glichkeit ist die Ausnutzung von Sicherheitsl cken in verf gbaren Diensten Deshalb sollten beim Aufsetzen eine
101. cklung des Systems im ganzen Internet Linus Torvalds koordiniert fortan die Weiterentwicklung des Kernels Nachdem der C Compiler gcc und weitere wichtige Entwicklungswerkzeuge unter Li nux liefen konnte Linux unter Unix weiterentwickelt werden Der Betriebssystemkern wurde von Grund auf neu programmiert und inzwischen modularisiert 1994 wird die Version 1 0 des Kernels herausgebracht Nun ist dieser bereits netz werkf hig und die Zahl seiner Anwender steigt auf 100 000 Ein weiterer wichtiger Schritt geschieht ebenfalls in diesem Jahr Die Anpassung einer grafischen Benutzerschnittstelle auf Linux Diese wird von einer weiteren Non Profit Gruppe dem XFree86 Projekt gelei stet Torvalds stellt nun den Quelltext des Linux Kernels offiziell unter die GPL Die Marke Linux ist inzwischen in vielen L ndern eingetragenes Warenzeichen von Linus Torvalds Somit ist die freie Existenz und Weiterentwicklung von Linux gesichert In der Zwischenzeit erfolgt die Portierung auf die Plattformen Digital DEC und Sun Sparc Zwei Jahre nach dem Release der Version 1 0 wird die Majornumber um eins erh ht und die Version 2 0 des Linux Kernels freigegeben Dieser ist nun in der Lage mehre re Prozessoren gleichzeitig anzusprechen Mit diesem Schritt verl t Linux langsam den Experimentalstatus und wird zu einer ernstzunehmenden Betriebssystemalternative Auf der PC Plattform geh rt es neben den verschiedenen BSDs zur Software mit der besten TCP IP
102. cpd zu beenden und sofort wieder neu zu starten Wo muss bei SuSE was eingetragen sein damit der dhcpd automatisch beim Booten der Maschine gestartet wird In welche Kategorie von Programmen sind dhcpd named smbd proftpd einzuordnen 6 Wie heisst das Kommando unter Suse Linux 9 X um bestimmte Prozesse bzw de ren Runlevelskripten in den automatischen Bootvorgang bzw Wechsel der Runlevel zu integrieren Was macht dieses Programm genau 92 KAPITEL 9 PROZESSMANAGEMENT Kapitel 10 Drucken 10 1 bersicht und etwas Geschichte Zum Drucken unter Unix gibt es verschiedene Ans tze e BSD System e System V e cups Das BSD System ist historisch gesehen das lteste und war lange bei SUN Systemen im Einsatz Das System V Drucksystem sollte mehr den Bed rfnisse grosser Unternehmen gerecht werden war aber sehr kompliziert Cups Common UNIX Printing System versucht die beiden Ans tze zu verbinden und beruht auf dem Internet Printing Protocol 10 1 1 Anforderungen Welche Anforderungen werden an ein Drucksystem gestellt Es sollten alle lokal ansch liessbaren Drucker funktionieren e USB e Parallel e Seriell e Irda e Bluetooth Dann sollten alle Drucker im Netz verwendbar sein e Ethernet Drucker e Lokale Drucker an anderen LINUX UNIX MAC Systemen e Lokale Drucker an Windows Systemen Der Drucker sollte m glichst viele Dateiformate annehmen und direkt verarbeiten k nnen Hier besteht ein wesentlicher Unter
103. den Welche Besonderheit en hat UnionFS gegen ber klassischen Dateisystemen wie Ext3 ReiserFS oder NFS 6 10 3 Speicherplatz auf der Festplatte 1 Bestimmen Sie die Menge an Speicherplatz die das Verzeichnis usr share auf Ihrem Computer belegt Wie erh lt man eine Ausgabe in Mega oder Gigabyte Angabe 2 Wie l sst sich generell der Belegungsgrad der gemounteten Festplatten bestimmen Kapitel 7 Zugriffsrechte und Verzeichnisstruktur Die Nutzung von Informationssystemen ist blicherweise mit einem Zugangssystem verbun den welches die Verwendung des Systems auf eine bekannte Benutzergruppe beschr nkt Daten ber die registrierten Benutzer speichert und die Verteilung der Ressourcen auf die Benutzer steuert H ufig ist die Konzeption des Zugangssystems f r den einzelnen Benut zer transparent au er seinem Benutzernamen und einem Passwort ben tigt der Benutzer kaum weitere Kenntnisse um das System in Anspruch zu nehmen F r die Arbeit mit einem Linux System sollte man sich deshalb einige elementare Kenntnisse ber dessen Benutzer und Berechtigungskonzept aneignen Die Notwendigkeit f r diese Konzepte ergibt sich f r Linux aus seiner Mehrbenut zerf higkeit Ein erster wichtiger Aspekt ist der Schutz des Systems vor den Handlungen seiner Benutzer Weiterhin m ssen auch die einen Benutzer vor den Handlungen der ande ren gesch tzt werden Und schlie lich darf bei allem Schutz des Systems und der Benutzer voreina
104. do Die Shell betrachtet Leerstellen als Trennzeichen Soll ein Argument welches selbst Leerzeichen enth lt als eines angesehen werden muss es in Anf hrungszeichen gesetzt werden Im Beispiel wird so Das ist ein 39 40 KAPITEL 5 SHELLPROGRAMMIERUNG Test ls ein Parameter angesehen Die Anfiihrungszeichen sind lediglich Trennzeichen und nicht Bestandteil des Strings wie man in der Ausgabe gut sehen kann In 4 und 0 sind die Anzahl der Parameter und als Array alle Parameter zusammen enthalten Das shell eigene Kommando exit legt einen Integer R ckgabewert im Bereich 0 255 fest im Beispiel die v llig willk rlich festgesetzte 42 blicherweise ist es so dass der R ckgabewert 0 den fehlerfreien Lauf eines Programms oder Skripts signalisiert und Werte gr er Null definierte Fehlercodes Die R ckgabe landet in der Variablen der Shell aus der das Skript oder Programm gestartet wurde 5 1 2 Umgebungsvariablen Umgebungsvariablen enthalten Zeichenketten als Werte Umgebungsvariablen werden ent weder automatisch zum Beispiel vom Login Prozess bernommen durch System Skripten oder vom Benutzer gesetzt Standardvariablen die automatisch gesetzt werden sind USER UID HOME Zu den unver nderlichen Variablen z hlt UID Diese kann man sich ein fach mal ausgeben lassen und anschliessend versuchen zu ndern Die Ausgabe erh lt man am einfachsten mit echo VARIABLE user linux05 gt echo UID 500 user linux05 gt
105. e Zahl der Textkonsolen wird in der etc inittab definiert Alt F7 Grafische Oberfl che meistens die n chste Konsole nach der letzten Text konsole Der Standard sieht fast immer so aus Jedoch kann jede Maschine individuell ber die etc inittab konfiguriert werden 3leider wird auch bei neuesten Windowssystemen keine SecureShell automatisch installiert Eine sinnvolle Anwendung hat Telnet jedoch immer noch zum Testen der Erreichbarkeit von TCP basierten Netzwerkdien sten siehe dazu das Kapitel zur Netzwerkanalyse 12 KAPITEL 2 ERSTE SCHRITTE Alt F10 Hier landen blicherweise die aktuellen Syslogmeldungen wie sie auch in die Systemlog Datei var log messages geschrieben werden Konfiguriert wird dies ber die Datei etc syslog conf Alt b je ein Wort r ckw rts backward mit dem Cursor bewegen Alt f je ein Wort vorw rts forward mit dem Cursor bewegen Strg Alt F1 Umschalten von X11 aus auf die erste virtuelle Konsole Strg Alt Backspace Beenden der grafischen Oberfl che ohne den Umweg des Ses sionmanagers Diese Tastenkombination spricht direkt den X Server das Programm zur Steuerung des grafischen Displays an und kann in dessen Konfigurationsdatei ete X11 XF86Config ausgeschaltet werden Strg Alt Entf Reboot des Rechners steht nicht unter der grafischen Oberfl che zur Verf gung Diese Funktionsweise wird in der etc inittab ein oder ausgeschaltet Strg k l
106. e galiai ateo Werne dh pan gaa ee ee Das Tempor rverzeichnis 2 222 CC Emm nn ateratu ga aa A DEE Re a an ea m a Aufgaben s enea a is p A a a E bo 7 16 1 Rechtesystem nn 8 System berwachung 8 1 Systeminformation und berwachung o 81 1 System Eogri n lo 2 ala a a ee Lake 8 1 2 Boot Log ul 222 Bu ar ee o ld 8 1 3 Belegung des Plattenspeichers 2 22 2 2 nommen 8 1 4 Offene Dateien und Netzwerkverbindungen 2 2 2 2220 8 1 5 Das Kommando netstat 2 2 2 on nn 9 Prozessmanagement 9 1 9 2 9 3 9 4 Einf hrung oi al a A E ol a ie oystemstart Bunlevel ae dl aa ria en D monen a A rt a da ee E System oder Resourcen Auslastung o GA PS rs der ir a ias il aii ado DAD TOP ds AE ls ae tee ds ua ea DAS UPUMEZ a tt a o e lr nee ie en 60 63 64 65 65 65 66 66 67 67 68 69 70 70 70 70 72 72 73 73 73 73 74 74 76 76 76 77 78 78 78 78 79 79 79 80 80 81 81 6 INHALTSVERZEICHNIS YAM mer en en u RA 87 9 4 5 nice und renice su Alan ee hen a ee a 87 94 6 Kill killall t9 2 4 03 Sia ae a ae ln a nt 87 9 5 Selbst ndige Prozesse n nn 88 9 6 Zeitsteuerung ze aaa anne a 88 9 7 Aufgaben a A A a a ee en 90 OL Bu nlevel nn an La ar ee re 90 9 72 PrOZESSEN u a a zu ee oh Bed A 91 10 Drucken 93 10 1 bersicht und etwas Geschichte 2 22 nn n rn 93 19 1 1 Anforderungen teta 4 2 a a an art ee 93 19 1 2 Grundlagen 3
107. e man diese ffnende Klammer auch wieder schlie en In der bash allerdings ist die kein Link hier muss sie wieder ge schlossen werden Die angegebenen Beispiele w rden egal in welcher Shell dann wie folgt dargestellt 2An arbitrary precision calculator language 44 KAPITEL 5 SHELLPROGRAMMIERUNG Vergleich Funktion Vergleich Funktion n str1 L nge der Zeichenkette ni eq n2 nl ist gleich n2 strl ist ungleich Null z str1 L nge der Zeichenkette nl ge n2 nl ist gr er oder gleich n2 strl ist gleich Null sl s2 Zeichenketten sl und s2 nl gt n2 nl ist gr er als n2 sind identisch sl s2 Zeichenketten sl und s2 nl le n2 n1 ist kleiner oder gleich n2 sind nicht identisch Zeichenfolge Zeichenkette ist nicht Null n1 lt n2 nl ist kleiner n2 nl ne n2 nl ist ungleich n2 Tabelle 5 3 Bedingungen f r Zeichenfolgen und Ganzzahlvergleiche f etc issue x bin ls VARO1 eq VARO2 5 1 4 Mit der Shell rechnen Shells kennen Integer Variablen die man beispielsweise fiir Z hlschleifen braucht user rechner05 gt declare i i 0 userCrechner05 gt while i lt 10 do echo i hat den Wert i i i 1 done hat den Wert 0 hat den Wert hat den Wert hat den Wert hat den Wert hat den Wert hat den Wert hat den Wert hat den Wert hat den Wert H peo pe pe pe ple pe pe e V 00 XADOMOAONA Neben der einfachen Addition gibt es nat rlich weitere Grundrechenarten die jedoch nur mit Ganzzahl
108. e nach erneutem Lauf in die von latex generierte DVI Datei eingebunden wird pdf2ps Umwandlung von PDF zu Postskript wie es zum Drucken notwendig werden kann ps2pdf Umwandlung von Postskript in PDF nutzt jedoch bei weitem die F higkeiten von PDF nicht aus xdvi zum Betrachten einer dvi Datei gv zum Betrachten einer ps oder pdf Datei Standardm ig nehmen alle Programme immer die Inputdatei als Argument Wenn nichts anderes spezifiziert wird beh lt die Outputdatei den Originalnamen bei nur die Endung wird entsprechend neu gesetzt z B dirkChermes tex lak gt latex lak tex dirkChermes tex lak gt makeindex lak idx dirkChermes tex lak gt latex lak tex dirkChermes tex lak gt dvips lak dvi dirkChermes tex lak gt ps2pdf lak ps 14 2 Systemprogramme 14 2 1 Prozess Steuerung Runlevel Kommando Aufgabe insserv SuSE spezifisch zum Ein und Austragen von Runlevelskripten free zeigt freien Systemspeicher an Da Caches f r Plattenbl cke und der Verzeichnisstruktur angelegt werden scheint dieser meistens l cherlich niedrig was aber selten ein ernstes Problem darstellt kill Abschiessen von Prozessen ber ihre PID killall Abschiessen von Prozessen nach ihrem Namen z B killall mozilla lsof Anzeigen ge ffneter Filehandles netstat Anzeigen offener Netzwerk und Dateisystemsockets nice l sst ein Programm mit ver nderter Priorit t laufen ps Anzeigen der Liste aktuell laufender Prozesse pstree Anzeigen der Liste der v
109. ei den modernen Windows Versionen wie XP Das Risiko jeden Benutzer jede Systemdatei ndern zu lassen kann man sich an der seit etlichen Jahren ungel sten Virenfrage f r DOS Windowssysteme ansehen Deshalb gibt es mindestens einen priviligierten Benutzer root auf einem Linuxsystem und weitere un priviligierte Benutzer f r normale User bzw Systemprozesse So wird sichergestellt dass nicht unbedachterweise Konfigurationen oder Systemdateien ver ndert manipuliert oder gel scht werden Viren W rmer und Trojaner sind jedoch nicht auf die Windowswelt be schr nkt Zur Zeit macht es einfach noch nicht viel Sinn einen Trojaner zu basteln der eine Linux Box zum Spam Relay macht das heisst aber nicht dass es nicht m glich w re Geht die Popularisierung weiter wird Linux auch in diesem Bereich der Software Versorgung nachziehen wenn auch die Rahmenbedingungen etwas anders stehen Schlampig gewartete Linux Systeme k nnen als Angriffsziel sogar viel spannender sein Hier geht vieles gleich wo bei Windows erst noch die Software m hsam nachinstalliert werden muss Dateisysteme und Speichermedien Festplatten ihre Partitionen und eine Vielzahl von Wechselmedien existieren nat rlich auch unter Linux Es gibt nur keine Laufwerks buchstaben sondern einen Verzeichnisbaum Dieser Verzeichnisbaum f ngt mit daher auch die Bezeichnung root Wurzel Eventuelle Laufwerke sind an den berg ngen zu Unterverzeichnissen zu f
110. eiber eingebracht und gete stet werden k nnen Die Entwicklerkernel laufen meist weniger stabil und sind schnelleren nderungen unterworfen Hier findet man jedoch vielleicht schon den Treiber f r eine Hard ware die vom Produktivkernel noch nicht unterst tzt wird Ein klassisches Beispiel war der USB Support im Entwicklerbaum der 2 3er Serie Entwicklerkernel sollten jedoch nur be nutzt werden wenn man experimentierfreudig ist und auch ab und an einen Systemabsturz aushalten kann Produktivkernel sind f r den Einsatz auf Produktivsystemen getestet und 113 114 KAPITEL 12 KERNEL UND BOOTLOADER sollten hoffentlich stabil laufen 12 2 Die Modularisierung Damit die gesamte im System installierte Hardware unterst tzt wurde mu te der Kernel in fr hen Versionen mit allen entsprechenden Treibern konfiguriert und kompiliert werden Seit Kernelversion 2 0 ist es m glich fast alle Treiber auch dynamisch ladbar bereitzustellen Diese dynamisch ladbaren Treiber heisen Module Die Module k nnen von root mit Hilfe des Kommandos insmod oder modprobe geladen und mit dem Kommando rmmod wieder aus dem Kernel entfernt werden Sehr komfortabel benimmt sich modprobe Dieses Kommando l dt Module und erlaubt diesen das automatische Erkennen spezifischer Hardwareeinstellungen wie Interrupt oder Port adresse Schl gt dieses Autoprobing fehl kann der Administrator die Werte dem Module fest in der Datei etc modules conf zuordnen die ebenf
111. eil halten Ansonsten w re es nicht zu einem Wachstum dieser Gr enordnung im Internet gekommen Die oben genannten Services gibt es alle als kostenlose Software unter der GPL 15 2 Vorbereitung der Installation Nach den Vor berlegungen welche Aufgaben das neu zu installierende System bernehmen soll muss nun bestimmt werden wie Linux auf die Festplatte gespielt werden soll Das wird im n chsten Abschnitt behandelt Weiterhin braucht man einige Informationen ber den Rechner die Software und In stallationsquellen 15 2 1 Hardware Prozessortyp Intel und kompatible 1386 i486 Pentium II III 4 K6 Athlon 680x0 Sun Sparc Architektur DEC Alpha 64 bit Intel Ithanium oder AMD Opteron Controllertyp E IDE Chipset des Mainboards SCSI Typ und Hardware DiskOn chip Flashdevices Partitionen Welche auf welcher Festplatte Maus Welche Art PS 2 serielle USB Grafikkarte Hersteller Typ Chipsatz Speicher weitere Daten Monitor Hersteller Typ maximale Frequenzen weitere Daten Lokaler Drucker PostScript PS PCL kompatibel mit CD DVD ROM Atapi SCSI propriet r zu Scanner Hersteller Typ Anschluss weitere Daten Netzwerkkarte Hersteller des Netzwerkchips und Typ Sonstige Weitere Hardwaredaten Sound TV Karte 2HUB engl meint Verteiler d h dass die Maschine die das Versenden oder Weiterleiten ausgehender Mails mittels SMTP Simple Mail Transport Protocol
112. eile 2 2 2 on nn 18 2 3 Suchen und Finden von Hilfe 2 2 2 EEE En nn 19 2 4 Remote Login Execution e 20 2 4 1 Verbindung mit anderen Rechnern 2 2 2 22mm nennen 20 2 4 2 Filetransfer per Secure Copy 2 2 2 nn nn 21 2 5 Aufgaben ira a era 21 2 5 1 Dokumentation Hille Ey E ler 21 2 5 2 Zentrale Kommandos aoaaa aa 21 2 9 3 RA O A 22 2 5 4 Kommandos auf Dateien 2 2 CE mE e o 23 2 5 5 Wichtige Tastaturk rzel 2 22 CC Coon nn 23 Editoren und Dateibetrachter 25 3 1 Dateibetr chter roo g 2 att ed e a 25 3 2 Lextedit ren eii a Selen Bi na en 25 BEE a o A a a Hl Aber AA ee 26 INHALTSVERZEICHNIS A A O u ee ee 26 39 E miir a Ale Were en en a en a A ee nie le 27 3 6 Aufgaben 0 808er ln al ed re ee 27 Die Shell 29 4 1 Eineitunge scor ae as WRATH A rl re 29 4 2 Einige Bash Grundlagen 2 2 CC on nn nn 30 4 2 1 Die St ndardshell 2 2 sw 2 22h 2a Rn 30 4 2 2 Aufbau der Kommandozeile 2 2 2 n nn 31 4 2 3 Die Kommando Geschichte o nn 31 4 24 Ein und Ausgabe 2 2 2 5 200 e ea nn ee ra 32 4 2 5 Abkiirzen von Befehlen 2 22 CE nn 33 4 2 6 Wildcards in Dateinamen 2 2 on e 34 4 2 7 Zeichen mit besonderer Bedeutung 2 2 2 2 nn nen 34 4 2 8 Spezielle Escape Sequenzen 2 22 Emm nn 35 4 2 9 Jobkontrolle n ri a en a a a a de dach Ea 35 4 2 10 Skripte Batches 25 Ken de A e en 36 4 3 Aufgaben 4 3 N Ben ee nn 37
113. einen laufenden Prozess zerst ren so sollte zun chst das Signal SIGTERM 88 KAPITEL 9 PROZESSMANAGEMENT Beschreibung SIGHUP Hangup Auflegen bzw erneutes Lesen der Konfiguration SIGINT Interrupt Unterbrechung z B durch Strg c SIGQUIT Quit Beenden SIGALL illegale Instruktion SIGTRAP Trace Trap Debugger SIGKILL Unbedingte Beendigung des Prozesses durch das Betriebssystem SIGSEGV Prozess hat den Speicherschutz verletzt SIGTERM Prozess soll Ausf hrung beenden Tabelle 9 3 Prozess Signale benutzt werden Viele Prozesse sichern daraufhin f r ihre weitere Arbeit wichtige Daten und beenden sich dann selbst Erst wenn auf SIGTERM hin keine Reaktion erfolgt sollte SIGKILL verwendet werden SIGSEGV hat eher Informationscharakter Ein Prozess hat den Speicherschutz verletzt und versucht au erhalb des f r ihn vorgesehenen Speicherbereiches zu schreiben Dieses Signal hnelt von der Bedeutung her der Allgemeinen Schutzverletzung unter lteren Windows Systemen Man beachte jedoch dass unter Unix Systemen ein Prozess keine Sy stemdatenstrukturen besch digen kann Daher ist dieses Signal mehr als Information ber den Grund des Programmabsturzes zu betrachten Das System wird auch nach dem SIG SEGV eines Prozesses stabil bleiben 9 5 Selbst ndige Prozesse Normalerweise f hrt das Beenden eines Elternprozesses zur Terminierung aller von diesem Prozess abgeleiteten Kindprozesse Kann man sich mit ps auxf
114. ell beenden Ausloggen An das Ende der Kommandozeile springen In der Command History nach oben bl ttern Nach oben verschwundenen Bildinhalt wieder sichtbar machen Kapitel 3 Editoren und Dateibetrachter 3 1 Dateibetrachter Die Programme more less und cat dienen zum seitenweisen Anzeigen von Texten sie sind kleiner und schneller als normale Editoren Mit der Umgebungsvariable PAGER bestimmt man welches dieser Programme zum Anzeigen von Text benutzt werden soll Die Variable kann durch export PAGER less MMI umdefiniert werden cat ist der denkbar einfachste Dateibetrachter berhaupt und eignet sich eigentlich nur zum Ansehen sehr kurzer Dateien die ber wenige Zeilen nicht hinausgehen Da es im Gegensatz zu den im folgenden vorgestellten Betrachtern nicht interaktiv bedient wird kann cat gut in Shellskripten verwendet werden more ist ein sehr einfacher Pager und wird in seiner Funktionalit t von less bei weitem bertroffen Weiterbl ttern kann man mit der Leertaste seitenweise oder der Return Taste zeilenweise zur ckbl ttern geht mit der Taste b f r back Am Ende der Datei kehrt man bei more automatisch zum Prompt zur ck less Nur less l sst sich interaktiv mit den Cursortasten bedienen Es wird durch die Taste q beendet Gesucht werden kann in less wie beim vi mittels Suchwort vorw rts und mittels Suchwort r ckw rts head und tail Das Kommando head zeigt die ersten
115. elt erfolgt mit dem Netatalk Paket Die Grafikkonfiguration solcher Systeme kann minimal ausfallen die Fest speicher sind je nach Einsatzgebiet zu planen Linux verf gt mit LVM und Soft RAID ber vielf ltige M glichkeiten Festplatten optimal zu nutzen 15 1 7 WW W Server Mittlerweile gibt es ein reichhaltiges Angebot an Programmen mit denen sich WWW Server unter Linux realisieren lassen Der apache httpd ist der inzwischen meisteingesetzte Ser ver Mit Perl und PHP und der SQL Datenbank MySQL stehen weitere leistungsf hige Werkzeuge zum Nulltarif zur Verf gung Protokoll zur Kommunikation mit der Windowswelt Dieses Paket erm glicht Windowsshares zur Verf gung zu stellen oder selbst einzumounten Es kann dar berhinaus einen Windows Name Service bereit stellen 15 2 VORBEREITUNG DER INSTALLATION 147 15 1 8 Allgemeine Server Funktionen Nahezu jede Server Funktion l t sich mit Linux realisieren Sei es als E Mail HUB FTP DHCP DNS Server LDAP Server Warum soll man f r Maschinen die irgendwo im Hintergrund ihre Dienste verrichten und h ufig noch nicht einmal einen Monitor haben teuere und unsichere Betriebssysteme einsetzen die stark mit einer grafischen Benutze roberfl che verheiratet sind und ber eher mangelhafte Eigenschaften zur Wartung bers Netzwerk verf gen F r die meisten Netzwerkdienste haben sich Standards herausgebil det und durchgesetzt an die sich sogar Monopolisten zum gr ten T
116. em Anwender nun erlaubt Dateien virtuell auf der CD zu ver ndern In dieser Kategorie ist UnionFS nicht das einzige Dateisystem Parallel dazu wurden eine ganze Reihe verschiedener Ans tze entwickelt die aber hier nicht n her beleuchtet werden sollen Mit dem Einsatz unter Knoppix sind die Einsatzgebiete eines stapelbaren Dateisystems noch nicht ersch pft Immer wo Dateisysteme mit verschiedenen Eigenschaf ten in einem einzigen Verzeichnis vereinigt werden sollen spielt UnionFS seine St rken aus Dateisysteme f r Linux gibt es auch ohne UnionFS schon eine ganze Menge Fast f r je den Zweck stehen oft hnliche Implementierungen f r die gleichen Aufgaben zur Verf gung Neben den meist wohl bekannten Implementierungen f r den Einsatz auf Festplatten opti schen Datentr gern oder auch den netzwerkbasierten Zugriff gibt es einige exotische Datei systeme die in der Regel f r spezielle Zwecke eingesetzt werden Zu letzterem geh rt dabei die besondere Art der stapelbaren Dateisysteme die sich oft hinter englischen Bezeichnungen wie union overlay copy on write translucent oder multi layer filesystems verstecken Diese f llen eine L cke die bei anderen Uni xen schon seit einiger Zeit geschlossen wurde Man kann mindestens zwei Dateisysteme bereinanderlegen und Dateien durch dar ber liegende Dateisysteme hindurchscheinen las sen Ein besondere Eigenschaft ist das Schreibverhalten auf den einzelnen Sc
117. en erm glicht unabh ngig davon welche Programmiersprache f r die Implementierung verwendet oder welche Plattform gew hlt wurde Und nicht zuletzt kann GNOME in Verbindung mit einer ganzen Reihe von Unix basierten Betriebssystemen ver wendet werden zu denen auch Linux z hlt 11 3 4 KDE 11 3 4 1 Einf hrung in KDE KDE ist die Abk rzung f r K Desktop Environement Das Projekt wurde 1996 von Matt hias Ettrich gegr ndet Das Ziel des KDE Projektes ist es die Verbindung des UNIX Betriebssystems mit dem Komfort einer Benutzeroberfl che Oder anders gesagt KDE will UNIX auf den Desktop bringen Dieser Abschnitt ist ein Auszug aus den Internetseiten des KDE Projektes genauer gesagt aus den FAQ die unter der GNU Free Documentation License dort ver ffentlicht sind Das Ziel dieses Abschnittes ist die Vermittlung von grunds tzlichen Informationen ber die M glichkeiten der Nutzung von KDE Die zentrale Website http www gnome org Shttp www kde org documentation faq index html 11 4 AUFGABEN 109 Grundlagen Bei KDE handelt es sich um eine Benutzeroberfl che f r alle Variationen von UNIX Da die meisten KDE Entwickler Linux benutzen l uft KDE zuverl ssig auf einer gro en Anzahl von Systemen Bei KDE handelt es sich nicht nur um einen Window Manager KDE hat auch einen ausgefeilten Window Manager den Kwin ist aber in erster Linie eine ausgewachsene integrierte Desktop Umgebung Darin enthalten sind ein Web Browser ein Da
118. en nicht mehr berpr ft werden Das Beispiel zur Umrechnung der Netzmasken sieht mit case etwas eleganter gel st aus bin sh compute prefix bit number from netmask netmask 1 set IFS echo netmask n 0 for i in 1 2 3 4 do case i in 0 break 128 n expr n 1 break 192 n expr n 1 break 224 n expr n 3 break 240 n expr n 4 break 252 n expr n 6 break 254 n expr n 7 break 255 n expr n 8 continue esac done echo n 5 2 KONTROLLSTRUKTUREN 47 In den Mustern sind die gleichen Meta Zeichen erlaubt wie sie bei der Auswahl von Dateinamen verwendet werden k nnen Wenn in einer Zeile mehrere Muster angegeben werden sollen m ssen sie durch ein Pipezeichen das logische ODER getrennt werden Eine while Schleife f hrt den enthaltenen K rper in Abh ngigkeit von einer Bedingung wiederholt aus declare i VAR 0 while VAR lt 10 do echo VAR VAR expr VAR 1 done Diese Schleife kann z B dazu genutzt werden an ein Skript bergebene Argumente und Optionen zu parsen Verkn pft ist das Beispiel mit einem Einsatz der case Anweisung C NARG O TEST while NARG le do case TESTL NARG in helpx echo n 0 generates dxs filesystem from existing echo ne linux installationinPass nfsroot with the echo e 0 nfsroot lt value gt option n exit 0 nfsroo
119. en sollen nichtprivilegierte Benutzer oder Nicht Root Benutzer 9 10 KAPITEL 2 ERSTE SCHRITTE Hierzu geh rt blicherweise der Blick auf die Startsektoren von Festplatte Disketten laufwerk CD Rom DVD oder anderen Wechselmedien Dort findet die Maschine hoffentlich eine Startsequenz vor die oft zu einem Bootloader wie GRUB oder LILO vor Diese regeln dann das Weitere und laden den Kernel der wiederum sein Rootdevice blicherweise von einer Festplattenpartition einbindet Dann kommt die Maschine meistens bis zur grafischen Login Aufforderung hoch Handelt es sich um einen Server oder eine Maschine die eher nicht direkt sondern ber das Netzwerk benutzt wird erscheint ein Text Login Alle Schritte die in der Zwischenzeit passieren oft ist Geduld von durchaus bis zu zwei Minuten angesagt haben mit der Initialisierung und den Runleveln der Maschine zu tun welches ebenfalls einem eigenen Kapitel vorbehalten ist Etwas anders verh lt es sich noch mit dem geordneten Herunterfahren Dies ist eigentlich nach wie vor z B mittels der Kommandos shutdown init oder halt dem Administrator vorbehalten Viele Distributionen bieten mittlerweile jedoch im Rahmen eines grafischen Login Managers die M glichkeit das System nach dem Abmelden ber eine Schaltfl che auf dem Desktop herunterzufahren Des weiteren funktioniert blicherweise die Tasten kombination Strg Alt Entf wenn man einen Reboot ausl sen m chte Netterweise hat jedoch
120. en umgehen k nnen F r viele Anwendungen reicht das jedoch vollauf Damit die Shell weiss dass sie Rechnen soll werden Ausdr cke durch doppelte runde Klammern umschlossen denen ein Dollarzeichen vorangestellt wurde Subtraktion echo 70 100 ergibt 30 negative Werte sind kein Problem Ganzzahlige Division ohne Rest echo 70 12 liefert 5 e Rest einer ganzzahlige Division echo 70 12 meldet sich mit 10 Womit beide Divisionen zusammen echo 5 12 10 ein korrektes Ergebnis liefern Multiplikation ist klar aus dem Beispiel dar ber 5 2 KONTROLLSTRUKTUREN 45 5 2 Kontrollstrukturen 5 2 1 Schleifen F r repetetive Vorg nge wurden Schleifen zur Programmierung eingef hrt blicherweise wird eine Anwei ung oder Gruppen von Anweisungen solange ausgef hrt wie eine Bedin gung erf llt ist Mit einer Schleife kann man so beispielsweise beliebig viele Parameter auswerten Das eingangs gezeigte Beispiel k nnte beispielsweise so aussehen declare i i 0 array 0 while i le do echo array i array i i i 1 done Im Beispiel kam eine While Schleife zum Einsatz die wie folgt aufgebaut ist while BE DINGUNG do ANWEISUNG done Zwischen do und done stehen die auszuf hrenden Anweisungen Die Variable array wird durch die Art der Zuweisung zum Array Durch 0 wird die Parameterkette in einzelne Abschnitte an den Leerzeichen aufgespalten und nacheinander in ein e
121. er e Bus Ger tenummer Bus Topologie Statisch vergebener Name e Vom Kernel gelieferter Name Der Beschriftung oder Seriennummer Schritt berpr ft ob das Ger t ein einzigartiges Identifikationsmerkmal hat Zum Beispiel haben USB Ger te eine einzigartige USB Serien nummer und SCSI Ger te eine einzigartige UUID Wenn Namedev eine bereinstimmung zwischen dieser einzigartigen Nummer und einer gegebenen Konfigurationsdatei findet dann wird der von der Konfigurationsdatei gelieferte Name verwendet Der Bus Ger tenummer Schritt berpr ft die Bus Ger tenummer F r nicht hot swap able Umgebungen ist diese Prozedur ausreichend um ein Hardwareger t zu identifizieren Zum Beispiel ver ndern sich PCI Busnummern selten in der Lebenszeit eines Systems Auch hier wird wenn namedev eine bereinstimmung mit dieser Position und einer gegeben Konfigurationsdatei findet der Name verwendet der von der Konfigurationsdatei geliefert wird Genauso ist auch die Bus Topologie ein eher statischer Weg zur Definition von Ger ten solange die Benutzer nicht Ger te auswechseln Wenn die Position des Ger tes zu einer vom Benutzer gelieferten Einstellung passt wird der beiliegende Name verwendet Der vierte Schritt Statisch vergebener Name ist ein simpler String Ersatz Wenn der Ker nelname der Standardname zu einem gegebenen Ersatzstring passt wird der Ersatzname stattdessen verwendet Der letzte Schritt Vom Kernel gelieferter Name ist ein
122. er 30 mounts statt Dieses l t sich mit dem Kommando tunefs konfigurieren Damit wird sichergestellt dass die Informationen auf dem Dateisystem immer konsistent sind Der Systemadministrator kann einen Filesystemcheck mit Hilfe des Programms fsck durchf hren Um Inkonsistenzen im Dateisystem zu vermeiden ist es erforderlich den Rechner vor jedem Abschalten herunterzufahren Dies erledigt der Systemverwalter mit dem Programm shutdown 6 5 Journaling FS Die Dateisysteme XFS ReiserFS und JFS sind im Zuge der Suche nach einem Ext2 Ersatz f r Linux entwickelt oder portiert worden Das ReiserFS ist eine gesponsorte komplette Neu entwicklung deren Version 4 gerade freigegeben wurde XFS und JFS sind Portierungen von anderen Unix Systemen Die wohl wichtigste Eigenschaft dieser neueren Dateisysteme ist das Journaling Ein Journal erm glicht es ein Dateisystem nach einem pl tzlichen Syste mausfall in einem konsistenten Zustand zu erhalten Damit sind langwierige Dateisystem Tests nach einem solchen Ausfall nicht mehr notwendig oder k nnen im Hintergrund durch gef hrt werden 6 5 1 Inkonsistente Daten Daten werden nicht in jedem Fall sofort auf den Datentr ger geschrieben sondern aus Performance Gr nden zun chst im Arbeitsspeicher gehalten F r die Anwendungen gelten die Daten aber schon in diesem Zustand als gespeichert damit diese z gig weiterarbeiten k nnen Im Arbeitsspeicher wird zus tzlich die Reihenfolge der Schreibzugri
123. er gestartet wird lilo und chos k nnen auch als Chainloader fungieren und z B durch den NT Loader oder xfdisk aktiviert werden 12 7 Aufgaben 12 7 1 Kernel 1 Wozu kann es n tzlich sein den Kernel modular auszulegen 2 In welchen Dateien wird das automatische Laden von Kernelmodulen konfiguriert Welche ist dabei vom Systemadministrator zu ndern und welche wird automatisch beim Installieren der Kernelmodule angelegt 3 Welche Optionen versteht das Kommmando make zur Konfiguration des Kernels Wie passe ich am einfachsten die Konfiguration eines lteren Kernels auf meinen neu en an Schl sselwort ip gefolgt von Client IP DHCP Server IP Default Gateway Netzmaske und bei Ether boot dem Client Hostname 12 8 AUFGABEN 121 Mit welchem Aufruf kann ich in einem frisch ausgepackten Kernelverzeichnis die Kon figuration eines lteren Kernels einfach anpassen Welche Datei muss ich daf r kopie ren Welches Tool erzeugt die Modulabh ngigkeiten wohin werden die Kernelmodule in stalliert Wie lautet der entsprechende make Aufruf Sie haben eine alte Netzwerkkarte geerbt und wissen von dem Teil dass es funktio niert ein NE2000 Clone ist und PnP konfigurierbar ist Wie binden Sie das Teil in einen Linuxrechner ein Dasselbe Problem stellt sich wenn Sie eine ISA ISDN Karte g nstig erwerben 12 7 2 Booten 1 berpr fen Sie die Bootreihenfolge im BIOS Stellen Sie diese ein so dass das
124. er zus tzlichen Option localhost gestartet welche verhindert dass Verbindungen von anderen Rechnern aufgebaut werden d rfen Damit nun ein Zugriff von einem entfernten Rechner erfolgen kann wird der VNC Port ber die Secure Shell ssh getunnelt Hierzu ben tigt man die Port Nummer des VNC Servers die sich leicht aus der Display Nummer ermitteln l t indem man zu dieser 5900 addiert Display l ist entsprechend ber Port 5901 erreichbar Wenn der VNC Server uncserv01 heisst lautet das notwendige SSH Kommando auf dem Client wie folgt ssh L 5901 myserver 5901 myserver vncviewer localhost 1 SSH fragt wie blich nach dem Passwort Anschliessend wird der vnc viewer gestartet der sich an das Tunnelende auf dem Client h ngt Der Viewer sieht dieses Tunnelende als lokal laufenden VNC Server und spricht dazu Port 5901 an Inzwischen geht das Ganze auch einfacher durch den Aufruf von vncviewer via myserver 1 Weitere L sungen Einen klassischeren Ansatz bietet das Programm Xnest Es l uft unter X11 als Client in einem normalen Fenster bietet selbst aber wieder Serverf higkeiten an Mit Xnest 1 query localhost kann eine weitere XDMCP Session auf der lokalen Maschine gestartet werden Da bereits ein X Server aktiv ist n mlich der Desktop an dem man bereits sitzt muss der n chste freie Port gew hlt werden Dieses verl uft analog zu dem wie es f r VNC beschrieben wurde Port 6000 ist der Standardport f r den ers
125. eranla t mount ein bereits aufgesetztes Dateisystem ab und sofort wieder aufzusetzen Auf diese Weise k nnen die Parame ter eines bereits aufgesetzten Dateisystems ge nderet werden ro read only verbietet das Schreiben auf diese Partition rw read write erlaubt das Lesen und das Schreiben muss vom Filesystem unterst tzt werden swap kennzeichnet eine Swappartition sync die Metadaten Superblock Inode Verzeichnisdaten werden ungepuffert synchron auf das Speichermedium geschrieben umask Wert l t die Zugriffsrechte f r Dateien und Verzeichnisse im DOS VFAT oder HPFS Dateisystem durch die Maske Wert erscheinen Der Wert wird als Oktalzahl eingegeben und inter pretiert wie beim Shellkommando umask beschrieben uid Wert mappen der UserID aller Dateien auf die angegebene UserID user kann das Einbinden von Dateisystemen durch normale System benutzer erlauben Die Benutzer k nnen dann die Komman dos mount und umount benutzen denen sie entweder die Ger tedatei oder das Verzeichnis zum Aufsetzen als Parame ter bergeben k nnen Tabelle 6 1 Auswahl einiger Optionen in der vierten fstab Spalte Das Kommando mount macht exzessiven Gebrauch von dieser Datei Wenn es z B am Anfang des Bootvorganges einer Maschine mit der Option a aufgerufen wird werden alle Eintr ge der fstab automatisch in das Dateisystem eingebunden die mit der Option 54 KAPITEL 6 FILESYSTEME auto vierte Spalte gekennzeichnet sind Hinter
126. erden soll Nach dem Dr cken von Enter wird der Befehl ausgf hrt Fehler in der Eingabezeile k nnen mit Hilfe der Taste Backspace oder Delete korrigiert werden Die meisten Shells erlauben die Benutzung der Cursor Tasten Pfeil Tasten zur Korrektur der Eingabezeile 2 2 5 ndern des Passworts Normalerweise wird das Passwort bei der Einrichtung eines Accounts des Benutzerkontos auf einem Rechner vom Administrator oder automatisch vergeben Dieses f llt entweder Soder auch Return Bezeichnung deshalb weil der Prompt nach Ausf hrung des Kommandos wieder erscheint und eine neue Eingabe m glich wird L schen eines Zeichens r ckw rts 2 2 DIE ERSTE SITZUNG 15 sehr kryptisch aus oder ist zu einfach Deshalb sollte dieses beim Erst Login neu gesetzt werden Das Passwort kann mit dem Befehl passwd ge ndert werden Dies gilt jedoch meist nur auf Maschinen die nicht an eine zentrale Benutzerverwaltung angeschlossen sind Das Kommando passwd wirkt auf die Datei etc shadow in der auf einer Linuxmaschine die Passw rter aller Benutzer verschliisselt gespeichert sind Dabei wird man noch einmal nach dem alten Passwort gefragt es sein denn man ist der Systemadministrator Damit wird verhindert dass nicht in einem unbeobachteten Moment ein Witzbold schnell das Passwort ndern kann Danach muss man zweimal das neue Passwort eingeben als Schutz vor Tippfehlern da das Passwort wie beim Einloggen blind eingegeben wird
127. erf gung Ein Weg besteht also darin die Ausgabe von 1s 1 in eine Datei zu schreiben und mittels wc 1 die Zahl der Zeilen ermitteln zu lassen Der Umweg ber eine Datei l sst sich jedoch mittels einer Pipe umgehen Is 1 wc 1 Unix Linux benutzt an dieser Stelle das Zeichen Pipe Man verk npfte nun einfach die beiden Kommandos mittels dieses Zeichens zu einer Zeile und erh lt nun die Anzahl der Dateien im aktuellen Verzeichnis Nur ein kleiner Haken an dieser Stelle Is gibt als erste Zeile keinen Dateinamen aus sondern eine Zeile in der Informationen zum entsprechenden Verzeichnis angezeigt werden man muss hier also vom Ergebnis eine Zeile subtrahieren um auf das exakte Ergebnis zu kommen Statt der Tastatur als Standardeingabe kann man alternativ aus einer beliebigen Datei lesen die mit absolutem oder relativem Pfad angegeben wird sort lt etc passwd Das Zeichen j erzeugt die gew nschte Funktionalit t Dies mag an dieser Stelle vielleicht etwas sinnlos erscheinen da der sort Befehl einen Dateinamen als Argument bernehmen kann Es gibt jedoch Situationen in denen die Quellenauswahl nur auf diese Weise realisiert werden kann Nicht alle Ergebnisse m chte man sich direkt am Bildschirm ansehen sondern sie f r sp tere Bearbeitung oder aufgrund sehr grosser Datenmengen in eine Datei schreiben Die ses geschieht durch den Einsatz von Sollen die Daten an eine bereits existierende Datei angeh ngt werden
128. es Linux Systems und anderer Betriebssysteme LILO wird entweder in den Master Boot Record MBR oder an den Anfang einer Partition innerhalb der ersten 1024 Zylinder der ersten oder zweiten Festplatte geschrieben Diese Restriktionen werden nicht von Linux sondern vom BIOS gesetzt In diesem Beispiel liegt die root Partition hier dev hda3 des Linux Systems in der dritten Partition der ersten Festplatte Weitere Systeme hier Win98 und WindowsXP 12 B wenn man eine Festplatte dupliziert hat und nun die neue Festplatte in einem anderen Rechner booten m chte 12 6 BOOTLOADER 119 liegen auf der ersten bzw dritten Partition der zweiten Platte In der Datei etc lilo conf wird der LILO konfiguriert Hier werden die Einstellungen vorgenommen um die Windows Partition und die Linuxpartition mit 2 verschiedenen Kerneln zu booten Eine Lilo Bootdiskette f r ein bereits installiertes System diese Diskette ist aber bei weitem nicht so flexibel wie eine Grub Diskette da sie nur f r eine bestimmte festgelegte Konfiguration eingesetzt werden kann l t sich auf die nachstehend beschriebene Weise erstellen root balisto fdformat dev fd0H1440 Lay tracks on new diskette root balisto mkfs t minix dev fdO 1440 Create minix file system on floppy root balisto mount dev fd0 mnt floppy Mount floppy root balisto cp p boot chain b mnt floppy Copy chain loader root balisto cp p boot boot mnt floppy r
129. es menugesteuert arbeitet Unter der grafischen Oberfl che bietet sich auch make xconfig an Mit einem speziellen Patch kann anhand des laufenden Kernels eine Konfiguration erstellen make cloneconfig 12 6 Bootloader 12 6 1 berblick Bootloader werden verwendet um den Kernel eines Betriebssystems von der Festplatte zu starten ohne dass dieser sich im Master Boot Block befinden muss Damit ist es m glich verschiedene Kernel zu laden und diesen Startoptionen mitzugeben Windows NT verwendet dazu z B den ntloader 116 KAPITEL 12 KERNEL UND BOOTLOADER 12 6 2 Der GRand Unified Boot Loader GRUB GRUB ist der Bootloader des GNU Projektes deshalb hei t er offiziell auch GNU GRUB GRUB besitzt im Gegensatz zu den meisten anderen Bootloadern wie LILO oder dem NT Loader einen sehr gro en Funktionsumfang und ist komfortabel ber ein Shell artiges Interface zu bedienen Eines der wichtigsten Eigenschaften ist die Multiboot F higkeit GRUB kann verschie dene UNIX Derivate wie Linux FreeBSD NetBSD oder OpenBSD direkt starten d h den Kernel und eventuelle Ramdisks in den Speicher laden Kommerzielle Betriebssysteme wie die Microsoft Windows Palette oder OS 2 lassen sich ber sogenanntes chain loading starten Dabei l dt GRUB den Bootloader des jeweiligen Systems in den Speicher und bergibt ihm den Bootvorgang Dieses Verfahren kann auch angewendet werden um wie derum LILO oder GRUB selber zu starten Zum anderen findet G
130. ese Zeichen benutzen zu k nnen ohne dass die Shell sie interpretiert m ssen diese quotiert werden Ein einzelnes Sonderzeichen wird durch vorstellen eines Backslash quotiert echo Bitte Dr cken Sie eine Taste Wenn man doppelte Anf hrungsstriche Text so werden von der Shell nur noch und als Sonderzeichen behandelt Man kann also z B noch Umgebungsvariablen verwenden echo PRINTER gibt den Wert der Variablen PRINTER aus vgl Kap 5 1 S 39 Verwendet man einfache Anf hrungsstriche Text 3 so werden von der Shell nur noch und als Sonderzeichen behandelt 3nicht das sogenannte Backtick 4 2 EINIGE BASH GRUNDLAGEN 35 4 2 8 Spezielle Escape Sequenzen Einige Zeichen haben in Zusammenhang mit dem Backslash in der Shell eine besondere Bedeutung und werden speziell interpretiert bevor eine Ausgabe auf dem Bildschirm er scheint Dies wird z B zum Aufbau der Prompt Variablen benutzt oder f r besondere Ausgaben in der etc issue oder etc motd Escape Bedeutung Sequenz h repr sentiert den Hostnamen einer Maschine l enth lt die Angabe ber das verwendete virtuelle Ter minal Device wie z B tty2 n liefert den Netzwerknamen der aktuellen Maschine r zeigt das aktuelle Kernel Release an u meldet die Kennung des gerade aktiven Benutzers w liefert das working directory Hier k nnte analog auch das shellinterne Kommando pwd aufgerufen wer den Tabelle 4 3
131. eser Datei erfolgt ber Idconfig wobei der Such pfad f r dieses Programm in der etc ld so conf definiert wird Idconfig wird automatisch beim Systemstart ausgef hrt und sollte nach der Installation bzw Update von dynamisch gelinkten Bibliotheken aufgerufen werden Die Basisbiblotheken die f r die Standardpro gramme aus s bin ben tigt werden finden sich unterhalb von lib YaST libevms so libpam_misc so O bootsplash libext2fs so 2 libpam_misc so 0 78 cpp libext2fs so 2 4 libpamc so 0 evms libgec_s so 1 libpamc so 0 78 firmware libgetconfig a libpcprofile so klibc libgetconfig la libpthread so 0 1d 2 3 4 s0 libgetconfig so libreadline so 5 ld linux so 2 libgetconfig so 1 libreadline so 5 0 ld 1sb so 2 libgetconfig so 1 1 0 libresmgr so 0 9 8 libBrokenLocale so 1 libhandle so i1 libresolv so 2 libNoVersion so 1 libhandle so 1 0 3 librt so 1 libSegFault so libhd so 10 libscpm so libacl so 1 libhd so 10 16 libscpm so 1 libacl so 1 1 0 libhistory so 5 libscpm so 1 1 libanl so 1 libhistory so 5 0 libselinux so 1 libattr so 1i libm so 6 libss so 2 libattr so 1 1 0 libmemusage so libss so 2 0 libblkid so 1 libncurses so 5 libsysfs so 1 libblkid so 1 0 libncurses so 5 4 libsysfs so 1 0 2 libc so 6 libnscd so 1 libthread_db so 1 libcap so libnscd so 1 0 0 libutil so 1 libcap so 1 libnsl so 1 libuuid so 1 libcap so 1 92 libnss_compat so 2 libuuid so 1 2 libcidn so 1 libnss_dns so 2 libwrap so 0 libcom_err so 2 libnss_files so 2 libwrap so 0 7 6
132. eug mit Funktionalit t hnlich Photoshop ggv Der Gnome Betrachter f r Postskript Dateien gnumeric Tabellenkalkulation des Gnome Projektes nautilus Ein Filemanager 14 4 3 KDE Das KDE Projekt inzwischen in der dritten Version widmet sich seit Ende der 90er Jahre der Entwicklung einer einheitlichen ansprechenden Benutzeroberfl che Im folgenden wer den einige wichtige Programme aufgelistet wobei sie jedoch nur einen winzigen Ausschnitt der verf gbaren Werkzeuge repr sentieren 14 5 SOFTWARE 143 Kommando Aufgabe Beschreibung k3b CD Erstell Kopier und Brennprogramm kaddressbook Wie der Name schon sagt kbear Downloadmanager kdvi Betrachter f r DVI Files die z B durch TEX erzeugt werden kghostview Ghostscript Frontend zum Ansehen von Postskript und PDF Dokumenten kmail Standard Email Programm unter KDE welches alle wichtigen Funktio nen einer Mailapplikation beherrscht koncd CD Erstell Kopier und Brennprogramm konqueror m chtiger Datei und Webbrowser mit vielen eingebauten Zusatzfunk tionen kspread Tabellenkalkulation der K Office Suite kword Textverarbeitungsprogramm aus der K Office Suite kwrite KDE Texteditor pixie Bildbetrachter mit Thumbnail Funktion etc 14 5 Software 14 5 1 Installation und Management Das Standardporgramm zum Paketmanagement ist blicherweise der RedHat Packet Manager rpm Es gibt andere Ans tze die bei Debian mit dpkg oder aptget verfolgt werden Gen too hat ebenf
133. falls mit dem Bildschirm verbunden und schreibt daher seine Meldungen zwischen die gew hnliche Aus gabe Es macht jedoch Sinn Stardardausgabe und Standardfehler voneinander zu trennen um die M glichkeit zu haben gew hnliche Ausgaben und Fehlerausgaben getrennt zu verar beiten Beispielsweise k nnte man die Fehlerausgabe in eine Datei umlenken um sie sp ter zu analysieren w hrend die gew hnliche Ausgabe weiterhin ber den Bildschirm l uft An dieser Stelle gilt es etwas Wichtiges zu verstehen Standardeingabe Standardaus gabe und Standardfehler sind lediglich Kan le die mit irgendeiner Quelle und irgendeinem Ziel verbunden sein k nnen Standardeingabe ist nicht gleich Tastatur Und Standardausga be ist nicht gleich Monitor Es gibt viele andere Quellen und Ziele mit denen diese Kan le verbunden werden k nnen wie beispielsweise Dateien oder andere Programme Bei einer Shell macht es jedoch Sinn Tastatur und Monitor als Eingabe und Ausgabe zu verwenden daher ist dies die Voreinstellung Die drei Standardkan le werden von Linux wie Dateien behandelt F r ge ffnete Dateien verwaltet das System eine Liste von Dateideskriptoren die mit fortlaufenden ganzen Zahlen bezeichnet werden Die Zahlen von 0 bis 2 sind f r die drei Standardkan le vorbelegt Kanal Bezeichnung Nummer Standardeingabe stdin 0 Standardausgabe stdout 1 Standardfehlerkanal stderr 2 Tabelle 4 1 Standardkan le der Shell Bei der Umlenkung dieser Kan le
134. ffe so umge stellt dass m glichst viele Schreibzugriffe auf einmal durchgef hrt werden k nnen Durch die Firmware der Festplatten wird die nochmals optimiert so dasse Kopfbewegungen der Festplatte erheblich reduziert werden Die Daten werden anschlie end mit einer gewissen zeitlichen Verz gerung in einem Rutsch auf die Festplatte geschrieben Dieses als Caching bezeichnete Verfahren erm glicht ein wesentlich schnelleres Arbeiten F llt nun aber pl tzlich der Strom aus ist nicht klar in welchem Zustand die Daten gerade waren Sind sie auf die Platte geschrieben oder waren sie noch im Arbeitsspeicher 2Das Verhalten l sst sich ber Mount Optionen steuern 56 KAPITEL 6 FILESYSTEME Deshalb ist in solch einem Fall ohne Journaling eine Pr fung aller Dateien notwendig was bei gr eren Festplatten sehr lange bis zu mehrere Stunden dauern kann Dies ist f r Produktiv Systeme in der Regel nicht akzeptabel Dar ber hinaus kann bei Inkonsistenzen ein manueller Eingriff notwendig werden schlimm stenfalls l sst sich das Dateisystem nicht mehr reparieren was allerdings sehr selten vor kommt Das Journaling Dateisystem vermeidet derartig lange Dateisystem Pr fungen Dar ber hinaus werden die genannten Inkonsistenzen die in seltenen F llen das Dateisystem zerst ren k nnen meist vermieden 6 5 2 Aufbau von Journalaling FS Metadaten Ein Dateisystem ben tigt interne Verwaltungs Strukturen welche die eigent lichen Daten
135. figuration was ndern will und sich somit auf einer Konso le als Systemadministrator anmeldet Zum X Bildschirm geht es standardm ig mit Alt F7 zur ck bis auf bestimmte Ausnahmen wie das Umschalten der Bildschirmaufl sung und das Abschiessen direkte Beenden ohne Umwege des Servers 11 2 X VORTEILE UND GRENZEN DER UNIX GUI 101 e Der Windowmanager ist beliebig w hlbar das macht das Erscheinungsbild individuell konfigurierbar Neben diesen sch nen Eigenschaften merkt man X jedoch auch sein f r Softwareverh ltnisse hohes Alter an F r viele moderne Anwendungen wie Video und Bildausgaben ist X nicht sehr effizient und wird in der Darstellungsleistung von anderen Protokollen wie z B Citrix Metaframe f r Windows berholt e Das X Protokoll kennt nur einfache Anweisungen wie Zeichne Linie von A nach B moderne Grafikkarten haben viele M glichkeiten um den Bildschirmaufbau durch die Hardware zu beschleunigen diese k nnen aufgrund dieser Einfachheit von X nicht genutzt werden und liegen brach Solange X nicht durch ein neues Konzept abgel st wird wird sich daran auch nichts ndern e Die Programmierung von X ist durch seine Architektur recht umst ndlich Mittler weile gibt es allerdings so genannte GUI Toolkits die auf X aufsetzen und dem Pro grammierer das Leben recht einfach machen Als Altlast gibt es aber viele alte Programme f r X von denen jedes eine andere Bedienphilosophie ver
136. finden sind haben als Passwort keinen Wert Knackprogramme benutzen genau solche Lexika um bekannte Worte vorw rts r ckw rts und in Kombinationen durchzuprobieren Der Einwand man habe keine sch tzenswerte Daten in seinem Account und m sse darum nicht so viel Aufwand treiben ist vordergr ndig verst ndlich aber dennoch nicht richtig In einem Beispiel versteht man es besser M glicherweise hat ein Mieter in einem 123 124 KAPITEL 13 SYSTEMSICHERHEIT Mietshaus tats chlich keine Wertgegenst nde die ihm sch tzenswert erscheinen doch es ist nicht akzeptabel dass er darum die Haust re offen stehen l t und damit das Eigentum der Mitbewohner gef hrdet Obendrein wenn die Bude abbrennt wird auch dieser Mieter gewahr dass das Geb ude sein Dach ber dem Kopf doch ein sch tzenswertes Objekt darstellt Um im Bild zu bleiben auch die Weitergabe von Schl sseln Passw rtern an Dritte ist in diesem Rahmen nicht akzeptabel Deshalb gen gt es auch nicht wenn das Rootpasswort besonders sicher ist Bereits mit den Rechten eines normalen Benutzers hat man mehr M glichkeiten des Einbruchs als mit gar keinem Account auf einer Maschine Die Konfiguration zur Passwortsicherheit G ltigkeitsdauer von User Passw rtern Fehl versuche beim Login L nge des Passwortes werden in der Datei etc login defs eingestellt 13 2 3 Der Admin Account Den Account des Administrators root nur so lange verwenden wie unbedingt notwendig
137. fl chen wie KDE oder GNOME zuzuordnen sind 142 KAPITEL 14 WICHTIGE KOMMANDOS Kommando Aufgabe Beschreibung Xnest Eingebetteter X Server der als normales Fenster unter X11 erscheint Xvnc Spezieller X Server fiir VNC acroread Der offizielle Adobe PDF Viewer nicht besonders sch n da Motif GUI aber als Plugin f r die diversen Browser ebenfalls verf gbar mozilla Der Netscape Nachfolger und Open Source Browser der fast alles kann was ein Standardbrowser hinbekommen sollte gv Ghostview Standardbetrachter f r Postskript Dateien unter Linux netscape 6 Der alte bzw neue kommerzielle Browser von Netscape Netscape 6 setzt stark auf Mozilla auf und bastelt Zusatztools hinzu auf die man zum Teil gut verzichten kann openoffice Die Office Suite von Sun Microsystems die sich durchaus mit der Red monter Konkurrenz in etlichen Punkten messen kann Das Programm sieht vom Look amp Feel noch sehr windows like aus es verwendet Fenster in Fenstern in der Form X11 un blich xdvi Ein alter direkt X11 basierter DVI File Viewer 14 42 GNOME Kommando Aufgabe Beschreibung abiword Textverarbeitung des Gnome Projektes welche Dateien auch im TpX Format speichern kann dia Einfaches Malprogramm fiir Ablaufdiagramme mit etlichen Postscript Bildern fiir Netzwerkgrafiken etc evolution Ein Mail und Kalenderwerkzeug hnlich wie M Outlook galeon Auf der Gecko Engine basierender schlanker Webbrowser gimp M chtiges Grafikwerkz
138. folgenden Dateinamen unterscheiden kann Beispielsweise h tte die Eingabe von lesskurs01 txt die Fehlermeldung lesskurs0l txt Command not found verursacht da die Shell nach einem nicht vorhandenen Befehl aus den Zeichen lesskurs01 txt am St ck sucht Ausnahmen sind spezielle Zeichen die von der Shell anders interpretiert werden Dazu z hlt zum Beispiel das Semikolon f r das Trennen von Kommandos in einer einzigen Zeile Weitere Ausf hrungen hierzu finden sich in Kap 4 2 S 30 Befehle bestehen aus Kommandonamen Optionen und Argumenten die an den Befehl angeh ngt werden Beispiel Is alh home test Hier heisst der Befehl Is die Option ist alh und das Argument ist die Datei home test Optionen sind Anweisungen an den Befehl seine Arbeitsweise gegen ber der Voreinstellung zu ndern Optionen werden meist mit eingeleitet F r bestimmte Kommandos und Situationen findet man auch Klassisches Beispiel ist der Aufruf der Kurz Hilfe Option die mit h oder auch help erreichbar ist Eine Option besteht gew hnlich aus einem Buchstaben Mehrere Optionen k nnen aneinandergereiht werden wie im obigen Beispiel die drei Optionen a P und h Jeder Befehl hat seine eigenen Optionen die man in eigenen Hilfeseiten mit man be fehlsname nachschlagen kann Argumente sind Zeichenketten die vom Befehl interpretiert werden Meist geben sie Dateien an mit denen etwas gemacht w
139. folgt und die zusammen einen kunterbunt aussehenden Zoo bilden Dieses nderte sich zwar durch die Einf hrung von KDE und GNOME jedoch verfolgen auch diese Desktop Projekte durchaus eigene Strategien und Vorstellungen der Benutzerf hrung e X hat absolut nichts mit dem Drucksystem zu tun Das ist zwar nicht unbedingt eine Designschw che hat aber zur Folge dass es zwei paar Stiefel sind z B eine Schriftart am Bildschirm anzuzeigen und sie sp ter auszudrucken e X definiert lediglich ein Verfahren um mehrere Text fenster anzuzeigen Von einer grafischen Oberfl che wird aber mehr verlangt Den Anwender braucht dies aber wenig zu k mmern denn im Zusammenspiel mit den modernen Desktop Environments von Linux liefert X eine Benutzeroberfl che die kaum W nsche offen l sst 11 2 1 Erste Versuche mit X Linux Rechnern ist es egal ob sie ihre grafische Ausgabe mit dem Protokoll X11 auf einem direkt angeschlossenen Bildschirm oder auf den eines anderen PCs schicken und ob sie die Tastatur und Mauseingaben von direkt angeschlossenen Ger ten oder denen an einem anderen PC beziehen Hier soll kurz demonstriert werden mit man mit wenigen Befehlen den Bildschirmdialog vom entfernten Linux PC auf einen Windows oder anderen Linux Desktop darstellen kann Alle grafischen Applikationen unter Linux die unter X11 eingesetzt werden sind au tomatisch netzwerktransparent Ohne besondere Massnahmen k nnen grafisch orientierte Programme ihre Ausg
140. fstab sind alle wichtigen ben tigten Bereiche des Filesystems aufgef hrt die w hrend des Betriebes zu Verf gung stehen sollen Sie beschreibt quasi die Bastelanleitung der Linux Verzeichnisstruktur etc fstab Device Mountpoint FS Type Options Dump Fsckorder dev hdal ext3 defaults 11 dev hda3 tmp ext3 defaults 12 dev hda2 swap swap defaults 00 dev dO misc floppy auto noauto 00 dev cdrom misc cdrom iso9660 noauto ro noexec 00 none proc proc defaults 00 dev hda4 dos c vfat user noexec nosuid nodev 0 2 testlin export mnt nfs rw addr 144 41 13 150 00 noauto Do not try to mount at boot time F r jeden Eintrag der einem Teilbaum der Gesamtstruktur entspricht muss eine eigene Zei le mit vier bis sechs Eintr gen angelegt werden Die Eintr ge werden durch white spaces Leerzeichen oder Tabulator voneinander getrennt Der erste Eintrag bezeichnet die zu der Partition geh rende Ger tedatei im dev Verzeichnis oder den Pfad eines im Netzwerk liegenden Bereiches z B zur Einbindung per NFS Der Name dieser Datei wird mit abso lutem Pfadnamen angegeben Im Beispiel wird die erste Partition der ersten IDE Festplatte dev hdal in der ersten nichtkommentierten Zeile angegeben F r spezielle Dateisysteme wie das Proze oder USB Dateisystem steht anstelle einer Ger tedatei oder eines Netz werkpfades das Schl sselwort none mit dem Kernel NFSD da dieser sonst durch gleiche Inode Nummern verwir
141. hared zu starten Diese ist beim Kommando Aufruf mit anzugeben da sonst automatisch ein anderer Client beim Start des neuen beendet werden w rde vncserver geometry 1200x1000 depth 16 alwaysshared Dieser Aufruf realisiert eine Aufl sung des Serverdesktops von 1200x1000 Bildpunkten eine Farbtiefe von 16 bit und die M glichkeit dass mehrere Clients sich gleichzeitig verbinden k nnen Die gew hlte Bildaufl sung kann flexibel eingestellt werden Wenn man auf dem Zielsystem mit dem vncclient zwei nebeneinanderliegende Bildschirme von 1280x1024er Aufl sung f llen will kann der Server auch mit geometry 2400x1000 gestartet werden Der VNC Client steht zus tzlich als Java Applet zur Verf gung dass im Browser Fenster ablaufen kann womit man sehr einfach von fast berall eine Desktop Sitzung auf einer entfernten Maschine einleiten bzw wiederaufnehmen kann Die Netzwerkanforderun gen des klassischen VNC sind recht hoch es gibt jedoch Implementierungen die mit Kom pression arbeiten und damit auch ber sehr geringe Bandbreiten wie ISDN Verbindungen noch akzeptabel funktionieren Sind die Reaktionszeiten nicht akzeptabel kann durch Ver wendung eines sehr kleinen Desktops etwa 600x400 Punkte und nur 8Bit Farbtiefe die notwendige Bandbreite stark reduziert Der ewige Desktop Im Gegensatz zu einer X11 Sitzung die mit dem Abschalten des Remote Displays automatisch geschlossen wird kann eine VNC Sitzung ewig weiterle ben Au
142. hichten das bei UnionFS beliebig auf nur lesbaren oder auch schreibbaren Zugriff festgelegt werden kann Bei einer Live CD kann das nur lesbare Dateisystem einer CD im ISO Format mit dem schreibbaren tmpfs einer Ramdisk erweitert werden Zu ver ndernde Dateien auf dem nur lesbaren Medium werden in die Ramdisk kopiert und k nnen nun problemlos modifiziert werden Diese copy on write Technik findet man brigens auch bei der virtuellen Speicherverwaltung im Linux Kernel 6 6 1 UnionFS im Einsatz UnionFS wurde an der Stony Brook University in New York entwickelt und basiert auf FiST welches Schnittstellen zur vereinfachten Entwicklung stapelbarer Dateisysteme bereitstellt UnionFS geh rt bisher nicht zum Standardumfang des Kernels steht aber bei einigen Distributionen schon als Source Paket zur Verf gung Hat das Kompilieren des Moduls geklappt sollte man nun ausprobieren ob sich das Modul mit modprobe unionfs erfolgreich laden l t UnionFS l sst sich nun wie jedes andere Dateisystem mit dem Mount Befehl in die Verzeichnishierarchie einh ngen Der wohl einfachste Fall ist die Vereinigung zweier Verzeichnisse F r ein erstes Beispiel legt man jeweils zwei Verzeichnisse mit jeweils einer Datei an Anschliessend erzeugt man ein drittes Verzeichnis welches die Inhalte vereinigt lp srvOla mkdir layeri layer2 merged lp srv0la touch layer1 file01 layer2 file02 Zur Sicherheit sollen beim ersten Aufruf von mount die Ve
143. hr n tzlich f r die verschiedensten Administra tionsaufgaben M chte man z B wissen wie die Netzmaske und der Netzwerkname lauten die auf der gegebenen Maschine eingestellt sind gelingt dieses durch die Kombination von grep und awk NETNAME route n grep eth0 grep v UG awk print 1 NETMASK route n grep eth0 grep v UG awk print 3 Mit sed lassen sich Ersetzungen in Dateien vornehmen Im Beispiel sind die zu ersetzenden Zeichenketten die jeweiligen shadou Eintr ge von den Benutzern root und dxs admin Die zu ersetzenden Strings stehen in den Shellvariablen PWA und PWR setting passwords in shadow file sed e s root root PWR e s dxs admin dxs admin PWA NFSROOT dxs etc s shadow gt NFSROOT dxs etc s shadow new Weiterhin interessant sind die interpretierten Sprachen Perl und Python Diese setzt man besonders f r komplexere Aufgaben gerade auch im Bereich der Stringverarbeitung ein Jedoch geh ren sie nicht zum Standardumfang eines Minimalsystems so dass man sich nicht in jedem Fall darauf verlassen kann dass sie und alle notwendigen Erweiterungen auf einem System zur Verf gung stehen Ein Kommandointerpreter wird hingegen immer ben tigt und ist deshalb Teil einer jeden Minimalinstallation 5 4 Aufgaben 5 4 1 Shell Umgebungsvariablen 1 Verbinde die untenstehenden Bl cke geeignet Ordne die Umgebungsvariablen ihrem Sinn zu 5 4 A
144. i und die zwischenzeitlich angelegte Datei nicht mehr zu sehen sofern das Verzeichnis nicht in Benutzung ist 6 7 NETZWERKDATEISYSTEME 59 Nun verschwinden die Dateien jedoch nicht automatisch aus tmp union Wenn ein Ad min nun wieder den letzten Stand seiner Experimente wiederherstellen will wiederholt er einfach das UnionFS Mount und schon sieht usr wieder so aus wie vorher So l sst sich unproblematisch in mehreren Schritten mit einer neuen Xorg Version herumprobieren ohne dabei die Maschine bei Fehlversuchen unbrauchbar zu machen Nebenbei kann man auch sehen welche Dateien wohin installiert wurden Ist alles zur vollen Zufriedenheit eingerich tet hebt man einfach die Union auf und synchronisiert die Inhalte aus dem RW Bereich tmp union an ihre richtige Position Das stellt keinerlei Problem dar da alle Pfade zu allen dort angelegten Dateien vollst ndig eingetragen sind 6 6 2 Variationen des Themas Nach dem gleichen Schema lassen sich aber nicht nur zwei sondern gleich mehrere Ver zeichnisse vereinen Dies macht beispielsweise Sinn wenn man zu einem unver nderlichen Basissystem Rechner spezifische Anpassungen durchf hren will und zus tzliche nderungen in einer RAM basierten Dateisystem verbleiben sollen In einem Pool mit Diskless Clients bekommt so jeder Rechner ber ein Netzwerkdateisystem wie NFS dasselbe Basissystem ebenso werden Host spezifische Anpassungen lokal auf Festplatte oder ebenso ber das Netz be
145. iablenliste Zeigt den Inhalt aller Variablen die an Programme oder wei tere Shells weitergereicht werden k nnen Hier findet man z B die Variablen USER f r den eigenen Accountnamen UID f r die eigene User ID die zum Accountnamen passt PATH f r den Suchpfad nach ausf hrbaren Programmen und etliche weitere e free Freier Speicher Zeigt die Belegung des Arbeitsspeichers an Die Menge des freien Speichers ist meistens recht gering da Dateien f r schnelleren Zugriff zwischen gespeichert werden e df Disk Free Zeigt f r die einzelnen Bereiche des Dateisystems die Belegung der Festplatte n an e id Gibt Auskunft ber die Benutzer ID in der gerade laufenden Shell uid 500 dirk gid 100 users groups 100 users 14 uucp 16 dialout 17 audio 33 video Swegen h ufigen Missbrauchs eher noch ein Relikt aus Zeiten als die Welt der Internets noch in Ordnung war 2 2 DIE ERSTE SITZUNG 17 2 2 7 Ordnung in Verzeichnissen Die meisten Aufgaben unter UNIX und Linux beinhalten das Anlegen L schen kopieren und Umbenennen von Verzeichnissen und Dateien An dieser Stelle werden die wichtigsten Befehle hierf r nur kurz genannt eine ausf hrliche Beschreibung ist in Kapitel 7 2 auf S 68 zu finden Die wichtigsten Befehle sind mkdir make directory rmdir remove directory cp copy mv move und rm re move Im aktuellen Verzeichnis erzeugt man ein neues Unterverzeichnis mittels dirk0s02
146. ie etc fstab bzw die Konfiguration des Automounters anzupassen Dann sollte man darauf achten dass f r die se Bereiche keine Ausf hrungsrechte f r Programme gesetzt werden Option noexec 13 2 8 Browser CGI Java Applet und Binaries per Mail Grunds tzlich sind alle Programme die ber einen grauen Kanal von au en kommen als hoch gef hrlich einzustufen Fin Binary das per Mail kommt und zur Ausf hrung gebracht wird kann alles enthalten wovor sich der Admin in schlimmsten Fiebertr umen f rchtet Auch ein Java skript kann im Prinzip tun was es will auch die Datensicherheit korrumpie ren Ein einfaches CGI Skript einer Suchmaschine ist ein echtes Risiko Wie in der CT 4 98 beschrieben reicht es aus ein Semikolon gefolgt von einem subversiven Befehl als Suchbe griff einzugeben und schon steht da anstelle eines grep Parameters ein falsch abgesetzter grep Befehl gefolgt von einem Befehl frei nach Hackers Wahl Auf Grund der Vielzahl von Schwachstellen und Programmierfehlern sollten Web Browser an sich f r den User root tabu sein und nur unter der ID normaler User ausgef hrt werden 13 2 9 Physikalischer Zugriff Derjenige der physikalischen Zugriff zu einer Maschine hat ist eigentlich auch schon root Das liegt daran dass die Konsole zugreifbar ist Um es nicht ganz so einfach zu machen sollten bootf hige und wechselbare Laufwerke z B floppy von der Boot F higkeit abgehal ten werden Der Durchschnitts Ha
147. in die Datei en var log messages bzw var log warn und weitere und oder auf die zehnte Textkonsole Wenn viele Log Informationen geschrieben werden kann es unter halb von var log voll werden was vielleicht zum berlauf der entsprechenden Partition f hrt Je nach Log Einstellungen muss also dieser Bereich regelm ig kontrolliert werden Jeder Autor eines Programmes das Meldungen an den syslogd weitergibt ist angehal ten sich an diese Konventionen zu halten die Schl sselw rter also im richtigen Sinne zu gebrauchen etc syslog conf Configuration file for syslogd 8 einige Standardlogfiles 79 80 KAPITEL 8 SYSTEM BERWACHUNG auth authpriv var log auth log auth authpriv none var log syslog cron var log cron log daemon var log daemon log kern var log kern log user var log user log alle DEBUG Meldungen in diese Datei debug auth authpriv none news none mail none var log debug alle oben nicht gelogten Meldungen in diese Datei info notice warn auth authpriv none cron daemon none mail news none var log messages alle Meldungen auf die Konsole 10 daemon mail news crit news err news notice debug info notice warn dev tty10 und die XKonsole H H H H daemon mail news crit news errjnews notice debug info notice warn dev xconsole 8 1 2 Boot Log F r einen
148. ind erlaubt m ssen aber in der Shell gesondert behandelt werden Die Shell fasst Leerzeichen blicherweise als Trennzeichen von Kommandos Optionen und Argu menten auf Size matters Klein und Grossschreibung machen auf Linux Unixsystemen einen Unterschied So sind test TEST und Test drei unterschiedliche Dateien Oft aber nicht immer gilt das auch f r Benutzernamen 2 2 9 Finden von Dateien Um eine Datei zu suchen und eventuell zu finden verwendet man das Kommando find Abstrakt startet man die Suche so find Startverzeichnis name Dateiname Man sollte das Startverzeichnis geeignet w hlen wenn man ungef hr weiss wo die Datei grob liegen k nnte Sonst beginnt man am besten mit Das ist nicht immer ratsam da es sehr lange dauern kann und man Fehlermeldungen f r jedes Verzeichnis erh lt auf das man keinen Lesezugriff hat Maximal 255 Zeichen sind bei den meisten Dateisystemen erlaubt das sollte aber schon ausreichenden Spielraum lassen um erkl rende Dateinamen zu vergeben 18 KAPITEL 2 ERSTE SCHRITTE Es muss nicht unbedingt der Dateiname bekannt sein man kann auch nach v llig an deren Kriterien einen Dateibaum durchforsten find type d exec chmod a x Das Beispiel sucht nach allen Dateien vom Typ Verzeichnis und f hrt auf diesen eine Operation aus Die Operation wird nach der Find Option exec angegeben in diesem Beispiel werden die Zugriffsrechte aller Verzeichnisse gesetzt Damit fi
149. inden Unter Unix k nnten zum Beispiel etc und usr auf der ersten Festplatte sein und home k nnte sich auf einer weiteren befinden So lassen sich Probleme berlaufender Partitionen meistens schnell beheben indem in stark belegte Bereiche einfach eine weitere Partition eingelinkt wird Sollte generell die Festplatte zu klein werden ist eine einfache Kopie des Dateisystems kein Problen Einzig der Bootsektor muss anschliessend neu geschrieben werden Im eben Gezeigten wird auch schon deutlich dass der DOS Windows gewohnte mei stens im allgemeinen Sprachgebrauch nur als Backslash bezeichnet bei den meisten an deren Betriebssystemen ein Slash ist Der Backslash besitzt in der Unix Shell eine ganz andere Bedeutung Dateisysteme gibt es viele Linux kann auf DOS oder Windows VFAT formatierte Fest platten ebenso zugreifen wie auf Atari CD ROM Apple oder Windows NT Dateisysteme Bei Linuxinstallationen wird jedoch haupts chlich folgende Dateisystem verwendet EXT3 EXT2 mit Journaling Erweiterung ReiserFS Reiser 4 oder XFS welche lange Datein amen und Zuordnung von Benutzern Besitzern und Dateien erm glicht Achtung Falle oder Selbstverst ndlichkeit Linux unterscheidet in Gro und Klein schreibung home ich Hallo und home ich hallo sind zwei verschiedene Dateien Pro bleme k nnen auftreten wenn unter Linux ein Dateisystem ohne diese Unterscheidung verf gbar gemacht wird z B ein gemountet ode
150. indimensionales Array gespeichert Auf den ersten Eintrag kann man mit echo array 0 zugreifen auf die weiteren entsprechend Parameterstrings die zwar mit Anf hrungszeichen bergeben wurden aber Leerzeichen enthalten werden bei diesem Verfahren einzeln eingelesen Eine andere Form der Schleife bietet for Man kann sie in unterschiedlichen Szenarien einsetzen F r eine fixe Zahl von Durchl ufen eignet sich das Konstrukt for n in 1234 5 6 7 8 do echo Durchlauf n done Zwischen do und done stehen wie gewohnt die Anweisungen Es w re aber auch folgendes m glich for i in etc conf do echo i done 5 2 2 Bedingte Ausf hrung Schleifenkonstruktionen wurden im letzten Abschnitt eingef hrt Die Shell kennt dar ber hinaus weitere Konstrukte wie z B bedingte Abfragen wie if then und case Mit Hilfe einer if Abfrage lassen sich bedingte Verzweigungen in ein Shellskript realisieren if f tmp bla then echo tmp bla is da else echo tmp bla kenn wir nich fi Eine etwas sinnvollere Anwendung ist vielleicht das Umwandeln einer Netzmaske in die Zahl der sie beschreibenden Bits Dieses kann in Startskripten f r eine Netzwerk oder VPN Konfiguration vorkommen compute prefix bit number from netmask netmask 1 set IFS echo netmask n 0 380 wird z B 255 255 252 0 durch 22 beschrieben ein Klasse A Netz durch 8 Klasse B durch 16 Klasse C durch 24
151. informationen Nachfolger von bf nslookup Anzeigen der Konfiguration von Netzwerkinterfaces gen gt f r die mei arp dig ifconfig ifuser ip nslookup ping route tc whois sten anfallenden Standardaufgaben ber welches Interface verl t ein Datenpaket an eine bestimmte IP Adresse den Rechner Nachfolger von ifconfig mit erweiterten F higkeiten aber deutlich ab weichender Bedienung bernimmt auch die Aufgaben von route Traditionelles Programm zum Test von Nameservern Einfaches Programm zum Test auf Erreichbarkeit von Rechnern Manipulieren der nicht automatisch mit ifconfig angelegten Netzwerk routen Traffic Control Mit diesem Programm lassen sich Queues f r das Ma nagement und die Priorisierung von Netzwerkdatenstr men einstellen Programm zur Anzeige des Personen oder Firmennamens der zu einer IP oder Dom ne geh rt 14 4 GRAFISCHE OBERFL CHEN 141 14 3 4 Netzwerk berwachung Kommando Aufgabe Beschreibung arpwatch Meldet neu im Netzwerk auftauchende MAC Adressen Eignet sich f r die einfache berwachung von Ethernets auf ungeschickt ins lokale Sub netz geh ngte Maschinen ethereal Sehr komfortables Analysewerkzeug f r Netzwerkdatenstr me mit kom fortabler grafischer Benutzeroberfl che fping Testen auf das Antwortverhalten von Rechnergruppen Besonders f r die Verwendung in Skripten geeignet nmap ist ein m chtiger Portscanner zum Aufsp ren von offenen Netzwerkports auf entfernten Maschi
152. ingegangen werden Weitere Informationen findet man in der Man Page man bash Die bash verf gt neben der obligatorischen Manpage auch ber eine eingebaute Hilfe Funkti on Mit dem Kommando help wird eine bersicht der bash eigenen Kommandos angezeigt Shell Skripte sind das A und O der UNIX Linux Systemadministration Fast alle Admi nistrationsaufgaben werden automatisch von Skripten abgearbeitet F r Administratoren ist es daher unerl sslich wenigstens Grundz ge der Shell Programmierung zu beherrschen Shell Skripte besitzen eine erweiterte Syntax Es stehen mathematische Operationen und Vergleichsoperationen wie in anderen Programmiersprachen zur Verf gung Shells kennen verschiedene Kontrollstrukturen Eine der n tzlichsten Funktionen der bash ist die M glichkeit Programm und Da teinamen zu vervollst ndigen Dabei kann dieses zu jeder Zeit am Shell Prompt geschehen Man tippe ein paar Zeichen eines Befehls und bet tige anschliessend die Tabulator Taste Wenn die Eingabe bis zu der Stelle an der der Tabulator ausgel st wurde eindeutig war es also kein weiteres ausf hrbares Programm gibt das mit diesen Buchstaben beginnt wird die Eingabe automatisch vervollst ndigt Sollte es zwei oder mehr Mglichkeiten geben so wird man mittels Signalton verst ndigt Ein nochmaliges Dr cken der besagten Taste zeigt nun alle erh ltlichen Alternativen an Man probiere es einfach an einem Beispiel aus Neh men wir an man m chte sich die Da
153. ische Oberfl che Man starte den Rechner manuell im Runlevel 1 Was hat dieser zu bedeuten Kann man nun andere Rechner im Netz erreichen Wie erreicht man dass die Maschine sofort in einen bestimmten anderen als den Defaultrunlevel startet Wechseln Sie nach dem Hochfahren von Linux auf Runlevel 1 und anschliessend auf Runlevel 3 Laufen in einem bestimmten Runlevel immer die entsprechenden Programme oder kann dieses abweichen Wie wird die Reihenfolge festgelegt in der bestimmte Prozesse gestartet werden welchen Sinn macht das Wie sorge ich daf r dass bestimmte Skripte beim Wechsel des Runlevels ausgef hrt werden Wie regelt das Suse um etwas Aufwand zu ersparen Wie lege ich fest dass ein bestimmter Daemon etc gestartet oder nicht mehr gestartet wird Wie wird die Reihenfolge festgelegt in der bestimmte Prozesse gestartet werden welchen Sinn macht das Man schreibe ein Runlevelskript die meisten Linux Distributionen bieten hierzu Vor lagen welches die LocateDB beim Start des Rechners aktualisiert Dabei soll bei der bergabe der Option start das Kommando updatedb ausgef hrt werden und bei status zur ckgemeldet werden wieviele Stunden es her ist dass dieses Update stattfand Bei stop soll nur ausgegeben werden dass nix passiert Wo w rde man dieses Skript hinkopieren und wo w rde man es am sinnvollsten in der Hierarchie einordnen Weiterhin soll es nur in Runleve
154. ist Wochentag Datum Dabei sind die kursivgesetzten Teile als Variable aufzu fassen und entsprechend zu ersetzen In welche Datei m sste dieses Skript eingef gt werden damit es bei jedem Nutzer Login zur Ausf hrung kommt Schreiben Sie ein Shell Skript welches die Funktion des Kommandos uptime eini germassen simuliert Schreiben Sie ein Skript welches die etc passwd auswertet Wie hoch ist die Anzahl der UserID s lt 100 gt 100 und die Zahl der GruppenID gt 100 Man bersetze die numerische UserID in den entsprechenden String Schreiben Sie ein Skript welches die pinerc so sie noch nicht vorhanden ist aus einer Defaultdatei in eine personalisierte Konfigurationsdatei im Home Verzeichnis des entsprenden Users umsetzt Mindestens sollte der vollst Name des Nutzers die zu verwendende Domain ihre domain de sein SMTP Server einen NNTP Server und ein Default FCC im entsprechendem Home Verzeichnis vorhanden sein Die Datei soll dann gesendete_email heissen Bauen Sie eine einfache Schleife die bis 10 z hlt und den String Hello World mit Zeilennummer ausgibt Wie m te ein Skript aussehen welches folgende Parameter auf einer Linuxmaschine z B ein Laptop Mobilger t per bergabe aus der Kommandozeile einstellt 50 KAPITEL 5 SHELLPROGRAMMIERUNG setipconfig hw 00 00 b4 34 23 fd ip 12 13 14 15 dns 134 76 60 21 134 76 10 46 gw 12 13 14 254 nm 255
155. iten wohin werden die Kernelmodule in stalliert Wie lautet der entsprechende make Aufruf Sie haben eine alte Netzwerkkarte geerbt und wissen von dem Teil dass es funktio niert ein NE2000 Clone ist und PnP konfigurierbar ist Wie binden Sie das Teil in einen Linuxrechner ein Dasselbe Problem stellt sich wenn Sie eine ISA ISDN Karte g nstig erwerben 12 8 2 Booten 1 berpr fen Sie die Bootreihenfolge im BIOS Stellen Sie diese ein so dass das Ger t zuerst von Floppy Festplatte und vom CD Laufwerk bootet Welche M glichkeiten bestehen um die Installationsumgebung zu booten Welche Bootloader kennen Sie Welche Konfigurationsdateien sind f r die Linuxboot loader anzupassen Erh hen Sie die Wartezeit bis vom Bootloader ein Betriebssystem gestartet wird Wozu brauche ich rdev Brauche ich es zwingend wenn ich einen Bootloader ver wende oder kann ich mir anders behelfen Wie berpr ft man ob der Kernel sein Rootdevice oberste Hierarchie des Filesy stems kennt welches Rootdevice aktuell gestartet wurde und wie muss ich das Root device Prompt des Bootloaders angeben wenn es z B auf dev sda3 liegt Kapitel 13 Systemsicherheit 13 1 Generelle berlegungen Sichere Rechner bzw Betriebssysteme kann es nicht geben Diese werden von Menschen geschaffen und die Ideen zur Sicherheit werden meistens durch Bequemlichkeit Unaufmerk samkeit oder Schlampigkeit wieder ausgehebelt Weiterhi
156. iterer Windowmanager Ziel der Entwicklung war es einen m glichst weitgehend konfigurierbaren Windowmanager zu schaffen dies betrifft sowohl das Aussehen wie auch seine Bedienung 11 3 2 4 IceWM Schmaler und schneller aktuell weiterentwickelter Windowmanager mit einer ganzen Reihe von Themes 11 3 3 GNOME 11 3 3 1 Einf hrung in GNOME GNOME ist die Abk rzung f r GNU Network Object Model Environment GNOME ist somit Teil des im Jahr 1984 begonnenen GNU Projekts das die Entwicklung eines komplett frei verf gbaren Unix basierten Betriebssystems zum Ziel hat Dieser Abschnitt ber GNOME basiert auf dem offiziellen Benutzerhandbuch zu GNO ME das Copyright daf r liegt bei Red Hat Software und David A Wheeler Das Benut zerhandbuch zu GNOME unterliegt der GPL Die deutsche bersetzung sowie die eng lischsprachige Originalversion findet man im Internet F r dieses Skript wurden nat rlich eingige nderungen gegen ber dem urspr nglichen Text zu GNOME vorgenommen In diesem Abschnitt geht es um grundlegende Informationen wie man die vielf ltigen Funktionen und M glichkeiten von GNOME nutzen kann Auch wenn sich dieser Abschnitt in erster Linie an Benutzer wendet die bislang noch nicht mit GNOME gearbeitet haben sind die darin enthaltenen Informationen angesichts der raschen Weiterentwicklung von GNOMEE sicherlich auch f r fortgeschrittene Anwender von Interesse Grundlagen Bei GNOME handelt es sich um eine komfortable grafis
157. itung 56 Suchpfad 89 Sun Sparc 4 Systemadministrator 6 19 22 37 50 83 84 Systembefehl 8 9 Systembefehle 90 Tabulator 16 23 36 tail 31 tar 88 Tastenkombinationen 16 TCP IP 15 Terminal Emulation 37 Texteditor 31 50 Token 71 Treiber 8 tunefs 65 UFS 64 Umgebungsvariable 18 31 40 48 49 84 umount 61 64 UMSDOS 64 unalias 40 uname 20 UnionFS 67 INDEX updatedb 37 uptime 20 Variablen 47 Verzeichnis 67 bin 88 dev 85 lib 88 opt 85 proc 85 sbin 88 sys 87 VFAT 7 64 Vordergrund 41 w 20 whatis 23 whoami 20 X Server 9 10 16 X org 5 X11 37 XF86Config 16 XFree86 4 Zugriffsrecht 79
158. kleine Befehlsabfolge kann man dazu nutzen sich als Systemadministrator mit einer entfernten Linuxmaschine zu verbinden im Beispiel s04 und auf ihr das Konfigu rationswerkzeug YaST2 zu starten Als Ergebnis zeigt der lokaler Desktop die grafische Oberfl che dieses Tools als normales Fenster an Man kann nun mit YaST2 von s04 genau so arbeiten als w rde man direkt vor dieser Maschine sitzen So kann man diesen Server s04 administrieren auch wenn er in einem gesicherten Serverraum steht 11 2 2 Komprimiertes X F r schmale Bandbreiten wie sie im WAN Bereich mit ISDN oder DSL realisiert werden ist X wegen seines Datenaufkommens eher suboptimal Hier sollten entweder andere L sungen wie VNC eingesetzt werden M chte man trotzdem X verwenden hilft vielleicht die folgende Erweiterung des Protokolls weiter LBX steht f r Low Bandwidth X 11 und f hrt Caching sowie Kompression in das X Protokoll ein Es ist seit Ende 1996 mit Verabschiedung von X11R6 3 eine offizielle Proto kollerweiterung Hierf r l uft auf der Remote Seite ein Proxyserver Bevor Applikationen ihre Daten ber das Netz geschicken werden sie vom Proxy komprimiert und gecacht und dann erst an das lokale Display geschickt vor dem der Benutzer sitzt Um diese Erwei terung nutzen zu k nnen muss sie sowohl in den X Server kompiliert sein als auch das Proxy Binary in der verwendeten Linux Distribution vorhanden sein 11 2 3 Spezielle X Server und Remote Displays berbli
159. kspace Man sollte auch immer daran denken dass man an mehreren Konsolen gleichzeitig angemeldet sein kann und diese dann ebenfalls schliessen sollte 2 2 11 Alternative zur Kommandozeile F r Anf nger ist der mc eine gro e Hilfe er ersetzt die Kenntnis vieler Linux Kommandos Der mc l uft als eigenst ndiger Prozess in der Shell aus der er aufgerufen wurde der Be fehl hierf r ist einfach mc Im Textmodus des mc findet man am unteren Bildschirmrand die Befehle mit jeweils einer Zahl davor Dr ckt man die Funktionstaste mit der entspre chenden Zahl z B F4 zum Bearbeiten so wird der entsprechende Befehl ausgef hrt Die restliche Bedienung ist recht schnell verstanden Mit den Pfeiltasten navigiert man durch die Verzeichnislisten und durch die Men s mit Enter ffnet man Dateien bzw aktiviert einen Men punkt Die Tabulatortaste wechselt zwischen den beiden Fenstern Unter den grafischen Oberfl chen wie KDE Gnome oder IceWM gibt es eingebaute Filemanager oder eine Reihe externer Applikationen die diese Aufgabe bernehmen Beim KDE ist der konqueror sowohl f r das lokale File und Resourcen Browsing als auch f r den Webzugriff zust ndig Unter Gnome heisst der Filemanager nautilus Die Bedienung dieser Applikationen orientiert sich am Gewohnten und ist erfreulich intuitiv jedoch lassen sich hiermit schwer Automatisierungen von wiederkehrenden Abl ufen vornehmen 10 midnight commander stark angelehnt an den Nort
160. l 3 und 5 ausgef hrt werden wie erreicht man das Wie ndert man den Default Runlevel so dass man im netzwerkf higen Multiuser modus ohne X startet In welcher Datei geschieht dieses Wie sorgt man daf r dass man nur mit 2 Konsolen startet F r kleine Maschienen mit wenig Speicher sinnvoll Wenn man beim Booten bestimmte Befehle ausf hren will ohne ein Startskript zu schreiben was kann man dann im einfachsten Fall tun In welche Datei sollte die Befehlsabfolge kopiert werden Was kann man machen wenn die grafische Ausgabe nicht funktioniert wildes Blinken des Bildschirmes kurzes Aufflackern des typischen grauen Hintergrundes von XFree86 und man sich nicht einloggen kann 9 7 AUFGABEN 91 13 Welche M glichkeiten grafisch bzw kommandozeilenorientiert bietet SuSE Linux um bestimmte Dienste einem Runlevel hinzuzuf gen oder diese aus einem zu entfer nen 9 7 2 Prozesse 1 Wie bekomme ich heraus welche Prozesse bestimmte Verzeichnisse noch ben tigen wenn sich z B das CD Rom nicht ausmounten l sst 2 Welche Prozesse werden im Runlevel nach Beenden immer wieder neu gestartet und wo wird dieses konfiguriert 3 Bestimmen Sie den Prozess welcher die Datei var log messages tmp X11 be nutzt 4 Sortieren Sie die Prozessliste nach Benutzername Startzeit des Prozesses bzw Speicher belegung Welches andere Kommando kommt daf r in Frage 5 Welche M glichkeiten gibt es z B den Dienst dh
161. lche M glichkeiten der Abmeldung von einer Shell oder allgemeiner von einer Kon sole stehen zur Verf gung Welche Shellvariablen sind nur lesbar und warum kann man sie nicht einfach ber schreiben z B mit export VARIABLE neuer Wert Welche verschiedenen M glichkeiten stehen zur Verf gung um an vor einiger Zeit eingegebene Befehle und Befehlsfolgen wieder heranzukommen 2 5 10 11 12 AUFGABEN 23 Wo werden Shellvariablen definiert Wie kann ein Benutzer seine eigenen Definitionen speichern damit sie bei jedem Login oder Shellaufruf automatisch aktiviert werden Wann sind ausf hrbare Programme wie ls la etc einfach ausf hrbar Wann muss der absolute Pfad wie z B opt mozilla mozilla eingegeben werden um ein Programm zu starten Was verbindet das Kommando which mit der Shellvariablen PATH Was verbindet das Kommando cd ohne weitere Optionen und Argumente mit der Shellvariablen HOME 2 5 4 Kommandos auf Dateien 1 Wie bekommt man heraus von welchem Typ eine Datei ist Spielen dabei Dateien dungen eine Rolle Man nenne die Befehle a Zum Kopieren b Zum Umbenennen Verschieben c Zum L schen von Dateien d Zum L schen eines leeren Verzeichnisses e Was gibt man ein wenn man sich die Anleitung zum Befehl Is ansehen will f Wo gibt es dar berhinaus Informationen wenn der Versuch aus e fehlschlug Wie erzeuge ich in meinem Homeverzeichnis ein Verzei
162. ldschirm zur Ein bzw Ausgabe deshalb kann die Shell dann nicht beendet werden und es erscheint beim Versuch des Ausloggens die Fehlermeldung There are suspended jobs 4 2 10 Skripte Batches Mehrere Kommandos k nnen in einer Textdatei zusammengefasst werden zum Beispiel um immer wiederkehrende Kommandofolgen nicht jedesmal explizit eintippen zu m ssen Ein solcher Stapel von sequenziell auszuf hrenden Kommandos wird auch als Batch bezeichnet deshalb findet man h ufig auch diese Bezeichnung Von Kommandostapeln wird exzessiv bei den Runlevel Skripten Gebrauch gemacht die eine Maschine in einen bestimmten Zustand versetzen Diese Textdateien hei en Shell Skripte und stellen neue Kommandos dar Es ist sinnvoll solche Skripte mit dem emacs zu editieren In Shell Skripten sind mit be ginnende Zeilen Kommentare diese Zeilen werden nicht ausgef hrt Beginnt die erste Zeile mit so wird zur Ausf hrung des Shell Skripts die danach angegebene Shell gestartet bin bash ruft die Bourne Again Shell auf Shell Skripte m ssen mit dem Befehl chmod utx Skriptname als ausf hrbare Kommandos gekennzeichnet werden Es ist in der Shell auch m glich hnlich wie in einer richtigen Programmierspra che Funktionen zu deklarieren und zu benutzen Mit dem Kommando return hat man 4 3 AUFGABEN 37 die M glichkeit aus einer Funktion einen Wert zur ckzugeben Falls das Kommando re turn nicht eingesetzt wird hat die Fu
163. lle Anwendungen unter Offenlegung der Quellen commercial and open source erstellt werden daf r und f r die Entwicklung von freier Software ist die von der Firma Trolltech herausgegebene Version Qt TM free edition vorgesehen F r kommerzi elle Anwendungen ohne Offenlegung der Quellen kann die Qt TM Professionell Edition verwendet werden 11 4 Aufgaben 11 4 1 XFree86 Der Grafikserver 1 Wie schaltet man von der Textkonsole zur Grafik und wie kommt man da wieder weg 2 Wie kann man die Aufl sung des X Servers umschalten 3 Wie kann man den X Server beenden und wo kann man einstellen wenn dieses ver hindert werden soll 4 Auf welcher Konsole nnummer landet blicherweise die grafische Ausgabe Wie kann man das ndern in welcher Datei Wo landen dann weitere ge ffnete Grafikkonso len Wie kann man zwischen den einzelnen Sessions umschalten ftpl trolltech com 110 10 11 12 13 14 KAPITEL 11 GRAPHISCHE OBERFL CHE Mit dem Programm xhost kann man Freigaben auf seinen X Server erstellen Man gebe seinen Server grossz gigst frei und lasse einen Nachbarn durch ndern seiner Displayvariablen wo steht die drin wie zeigt man sie an wie ndert man sie ein Programm auf seine Ausgabe umlenken Man experimentiere mit dem Programm Xnest herum um unterschiedliche Anfragen chooser direkt broadcast zu realisieren Man probiere mal das Tool xvidtune aus und lasse sich die entsprechenden M
164. m Rechner der berwiegend als Server eingesetzt wird sinnvoll sein kann Jedes Standard Linux System verf gt inzwischen ber eine gro e Anzahl verschiede ner Windowmanager Sie unterscheiden sich im Aussehen in ihrer Handhabung und im Komfort Einige dieser Windowmanager k nnen auch mittels sogenannter Themes ver schiedene Erscheinungsbilder w hrend der Laufzeit im Aussehen angepasst werden Man kann unter Linux deshalb verschiedene Windowmanager installieren und zwischen diesen wechseln Ein Neustart der laufenden Anwendungen ist hierf r nicht notwendig 11 3 2 Kurzdarstellung weiterer Benutzeroberfl chen Hier folgt ein berblick ber einige weniger verwendete Windowmanager KDE und GNO ME werden in eigenen Abschnitten behandelt 11 3 DESKTOP ENVIRONMENTS 107 11 3 2 1 Fvwm 2 Einer der Klassiker unter den reinen Windowmanagern aber nicht mehr wirklich aktuell und zeitgem ss ist der fvwm Die aktuelle Version 2 wird auch h ufig als fvwm2 bezeichnet Ein beliebter Ableger des fvwm ist fvwm95 welcher einem Redmonder Betriebssystem nachempfunden ist so dass ein Umstieg leichter fallen kann Am besten l st man ihn durch den icewm ab 11 3 2 2 Windowmaker Ein sehr beliebter Windowmanager ist der Windowmaker Aufruf wmaker der dem Betriebssystem NeXTStep nachempfunden ist Eine etwas ltere Adaption dieses Look amp Feel bietet auch der AfterStep 11 3 2 3 Enlightenment Enlightenment ist ein we
165. m fsck angestossen Es stellt sicher dass unvollst ndige Eintr ge im Dateisystem repariert werden Hierin liegt jedoch ein gravierender Nachteil dieses Konzepts Bei den heute blichen Festplattengr en kann dieser Vorgang durchaus Stunden in Anspruch nehmen was f r Produktionssysteme nicht akzeptabel ist W hrend des Checks ist ausschliesslich ein lesender Zugriff auf das Dateisy stem erlaubt 6 5 JOURNALING FS 55 Ein weiterer Nachteil war dass Dateigr en gr er als 2 GByte nicht unterst tzt waren Als diese Nachteile immer st rker zu Tage traten wurden Anstrengungen von eine Reihe von Seiten unternommen diese auszugleichen Fast zeitgleich wurden von verschiedenen Parteien Dateisysteme mit Journalf higkeiten f r Linux programmiert oder portiert Diese F higkeit bedeutet dass hnlich zu transaktionsbasierten Datenbanken vor jeder nderung ein Protokolleintrag erfolgt und erst anschliessend diese ausgef hrt wird Dadurch wird sichergestellt dass im Fall eines Crashes noch ausstehende Vorg nge anhand des Protokolls identifiziert und sauber abgeschlossen werden k nnen 6 4 3 Dateisystem berpr fung Bei jedem mount wird gepr ft ob das zu mountende Verzeichnis in Ordnung ist Wird ein Verzeichnis nicht ordnungsgem durch umount ausgeh ngt so wird beim ersten n chsten mounten automatisch ein Filesystem Check durchgef hrt Au erdem findet ein solcher umfangreicher Check in gewissen Abst nden zum Beispiel all
166. mit dem Druck auf den Power On Knopf 2 1 Hochfahren einer Linux Box Lange Zeit war es den Normalbenutzern einer Unix Maschine gar nicht m glich das System zu starten oder herunterzufahren Starten deshalb weil die Rechner im Regelfall hinter verschlossenen T ren liefen und nur dem Systemverwalter physisch zug nglich waren Und herunterfahren weil es Unix und auch Linux seinen Benutzern verbietet den Lauf des Systems ohne weiteres zu beenden Auch dies bleibt dem Systemverwalter root vorbehalten F r ein Multiuser Betriebssystem versteht sich diese Eigenschaft von selbst schlie lich arbeiten im Regelfall mehrere Benutzer auf einem Rechner Hinzu kommt dass der Rechner auch innerhalb eines Netzes f r die Bereitstellung von Diensten zust ndig sein kann die nat rlich ebenfalls beendet w rden Ein Benutzer kann oft gar nicht absch tzen wieviele andere Benutzer von der Maschine abh ngen auf der er gerade arbeitet Inzwischen stehen Linux Rechner gut erreichbar zu Hause oder unter dem eigenen Schreibtisch Mit dem Zugriff sp testens auf die Stromzufuhr zum Rechner hat der Be nutzer nat rlich jede M glichkeit des Eingriffs 2 1 1 Standard Bootvorgang blicherweise arbeitet ein PC nach dem Start ersteinmal das BIOS ab konfiguriert seine Komponenten und erkennt die bootf higen Ger te Dabei wird der Maschine vorgeschrieben in welcher Reihenfolge die Boot Devices auf der Suche nach einer g ltigen Bootsequenz abgeklappert werd
167. mmer nach dem Schema Befehl Leerzeichen Name ev Leerzeichen ev Name aufgebaut Nach der Eingabe des Befehls diesen immer mit Enter abschicken mkdir lt Verzeichnis gt erstellt ein neues Verzeichnis im Windows Jargon einen neu en Ordner mit dem von euch gew hlten Namen Verzeichni mkdir steht f r make directory Bsp mkdir test Das neue Verzeichnis wird immer als Unterverzeichnis des aktuellen Verzeichnisses in dem man sich gerade befindet eingerichtet cd f hrt zum Verzeichniswechsel dahinter kann man den Namen desjenigen Verzeichnis ses angeben in das man wechseln m chtet z B cd test cd steht f r change directory Wenn man keinen Verzeichnisnamen angibt bringt einen dieser Befehl immer in das Ho meverzeichnis des angemeldeten Users Denkt daran dass man sich so immer nur von einer 7 3 DATEIABLAGESTANDARDS 69 Ebene in die n chste vorhangeln kann relative Pfadangabe Um in das n chsth here Ver zeichnis zur ckzuwechseln k nnt man cd benutzen beachtet das Leerzeichen vor den Punkten Wenn man Verzeichnisebenen berspringen m chtet muss man den ganzen Pfad eingeben z B test texte ohne Leerzeichen Ein solcher Pfad bezeichnet den genauen Standort im Verzeichnisbaum Das Home Verzeichnis k rzt man mit ab Das aktuelle Verzeichnis gibt man mit an pwd Diese Eingabe liefert den vollst ndigen Pfad zu dem Verzeichnis in dem man sich gerade befindet pwd steht f r
168. n blicherweise ber das Syslog oder in spezielle Logdateien und verzeichnisse 7 5 Aufbau einiger wichtiger Verzeichnisse Unter Linux sind Dateien im Gegensatz zu Windows in einem gro en zusammenh ngenden Verzeichnisbaum gespeichert der mit dem Wurzelverzeichnis beginnt und sich schnell weit verzweigt dirkOlinux01 7 gt ls bin data01 dev home lost found mnt proc sbin sys usr boot data02 etc lib media opt root srv tmp var Dateien werden unter Linux geordnet nach ihrer Funktion abgelegt So ergeben sich vie le Vereinfachungen Konfigurationsdateien liegen in einem gemeinsamen Verzeichnis Pro grammdateien verteilen sich je nach Funktion ber wenige Verzeichnisse was den Suchpfad vereinfacht und die Angabe des absoluten Pfades vermeidet Bibliotheken und Module lie gen wieder in speziellen Verzeichnissen In einigen Hierachiestufen wiederholen sich bestimmte Verzeichnisse lib bin findet man z B in usr usr local usr X11R6 opt kde3 7 6 Konfigurationsdateien Konfigurationsdateien liegen blicherweise im Systemkonfigurationsverzeichnis etc F r bestimmte Programme noKDE Gnome findet man diese jedoch in den entsprechenden Unterverzeichnissen Im folgenden werden jedoch nur einige der Dateien in etc n her erl utert 7 6 1 Allgemein Die Dateien etc passwd und etc shadow verwalten die User des lokalen Systems speichern deren Passw rter enthalten evtl zus tzliche Informationen und lege
169. n ert nt ein kurzer Signalton 4 2 2 Aufbau der Kommandozeile Der Bash Prompt vielfach auch als Eingabeaufforderung bezeichnet kann zwar beliebig angepasst werden doch auf den meisten Systemen ist es f r normale Benutzer also alle au er dem Systemadministrator standardm ig eine Zeichenfolge nach dem Schema benutzer computer verzeichnis gt Wenn man sich auf dem Computer im eigenen Heimatverzeichnis befindet welches durch die Tilde repr sentiert wird lautet der Bash Prompt entsprechend dirk dozent gt Der Benutzername ist dirk ein ganz normaler Linux Benutzer ohne Administratorrechte und der Rechnername lautet dozent Dahinter blinkt der Cursor an dem die Eingabe er folgen kann Nachdem ein Kommando ausgef hrt wurde gelangt man wieder zum Prompt Es gibt sehr viele Kommandos wie man sich berzeugen kann wenn man einfach zweimal auf die Tabulatortaste tippt Einige sind in die Bash direkt eingebaut z B das Kommando echo zur Ausgabe von Zeichenketten Andere sind klassische ausf hrbare Programme oder Skripte wie mount zum Einbinden von Dateisysteme oder updatedb zum Erzeugen der Locate Datenbank Auch Programme f r die grafische Benutzerschnittstelle wie openoffi ce k nnen von der Bash aus gestartet werden wenn die Bash in einer Terminal Emulation unter X11 l uft 4 2 3 Die Kommando Geschichte Fast jede Linux Shell verf gt ber eine Liste der zuletzt abgesetzten Kommandos eine so gen
170. n das Home Verzeichnis sowie die Login Shell fest Die Datei hat folgendes Aussehen root x 0 0 root root bin bash bin x 1 1 bin bin bin bash daemon x 2 2 Daemon sbin bin bash 1p x 4 7 Printing daemon var spool lpd bin bash mail x 8 12 Mailer daemon var spool clientmqueue bin false news x 9 13 News system etc news bin bash uucp x 10 14 Unix to Unix CoPy system etc uucp bin bash 7 6 KONFIGURATIONSDATEIEN 71 games x 12 100 Games account var games bin bash man x 13 62 Manual pages viewer var cache man bin bash at x 25 25 Batch jobs daemon var spool atjobs bin bash wwwrun x 30 8 WWW daemon apache var lib wwwrun bin false ftp x 40 49 FTP account srv ftp bin bash named x 44 44 Nameserver daemon var lib named bin false postfix x 51 51 Postfix Daemon var spool postfix bin false sshd x 71 65 SSH daemon var lib sshd bin false ntp x 74 65534 NTP daemon var 1ib ntp bin false ldap x 76 70 User for OpenLDAP var lib ldap bin bash gdm x 100 100 home gdm bin bash vdr x 101 33 Video Disk Recorder var spool video bin false quagga x 102 101 Quagga routing daemon var run quagga bin false dhcpd x 103 65534 DHCP server daemon var lib dhcp bin false messagebus x 104 102 User for D BUS var run dbus bin false haldaemon x 105 103 User for haldaemon var run hal bin false nobody x 65534 65533 nobody var 1lib nobody bin bash dirk x 500 100 Dirk von Suchodoletz home dirk bin bash Nacheinander werde
171. n folgende Informationen durch Doppelpunkte getrennt aufgelistet Der Username als String der Platzhalter f r das Passwort x die numerische User ID die numerische Gruppen ID eine Beschreibung des Benutzers die kommasepariert weitere Informationen enthalten kann das Arbeitsverezeichnis und die Standard Shell Diese Datei ist die zentrale Benutzerdatenbank es sei denn es werden zentrale Authentifizierungs und Konfigurationsdienste wie z B LDAP verwendet ber die Reihenfolge der Einbindung zur Authentifizierung entscheidet die etc nsswitch conf Die etc shadow ist die zur etc passwd korrespondierende Datei Sie verf gt ber stark beschnittene Zugriffsrechte damit nur der Systemadministrator in diese Datei hineinsehen kann Zwar sind die Passw rter nicht als Klartextvariablen abgelegt dennoch besteht die M glichkeit das gecryptete Passwort mittels Brute Force Attacke auf einem anderen Rech ner zu knacken Die etc shadow sieht folgenderma en aus at 11962 0 99999 7 bin 8902 0 10000 daemon 8902 0 10000 dhcpd 12625 0 99999 7 ftp 8902 0 10000 games 8902 0 10000 gdm 11988 0 99999 7 haldaemon 12906 0 99999 7 ldap 12285 0 99999 7 1p 8902 0 10000 mail 8902 0 10000 man 8902 0 10000 messagebus 12906 0 99999 7 named 8902 0 10000 news 8902 0 10000 nobody 4qCm64P9en1is 11984 0 10000 ntp 11962 0 99999 7 postfix 11962 0 99
172. n m chte kein Administrator Tag und Nacht vor einer Maschine hocken und nachsehen was die Benutzer Services Dienst programme und die verschiedenen Prozesse so treiben Generell gibt es zwei Sicherheitsbereiche die man unterscheiden kann Die physika lische Sicherheit der Maschine selbst und Angriffsm glichkeiten aus dem Netzwerk bzw Internet Eine weitere M glichkeit sich aktiv gegen Angreifer aus dem Netz zu sch tzen und auch nur bestimmte Kan le aus dem eigenen Netz zuzulassen ist das Aufsetzen einer Firewall Schutzwand vgl Kap 13 2 Sicherheit auf dem Rechner 13 2 1 Einleitung Ein Angriff eines Hackers war bereits im ersten Schritt erfolgreich wenn er sich unerlaubt als ganz normaler Benutzer Zugriff auf einer Maschine verschaffen konnte Dann sind seine Rechte schon weit h her als wenn er noch von aussen versuchen muss auf das Ger t einzudringen Deshalb sollte es immer Politik bei der Vergabe von Dateirechten geben normalen Systembenutzern immer gerade soviele Rechte einzur umen wie sie zum Arbeiten ben tigen Deshalb laufen inzwischen auch viele Dienste wie z B der Nameserver Bind Daemon na med oder der X Displaymanager gdm unter einer eigenen BenutzerID und nicht mehr mit Rootrechten So bedeutet ein erfolgreicher Einbruch in diese Dienste noch nicht eine automatische bernahme der Maschine 13 2 2 Passw rter Das Passwort sollte nicht trivial sein Worte die in einem Lexikon zu
173. n sich direkt Aktionen verkn pfen Ein Aufruf find Einlei tung_ Netzwerk name texexec echo sucht alle Dateien mit der Endung ter im Unterverzeichnis Einleitung_Netzwerk und gibt diese durch echo beispielsweise so aus input Einleitung_Netzwerk 0000 chapter tex input Einleitung_Netzwerk 0100 diese unterlagen tex input Einleitung_Netzwerk 0200 layout tex input Einleitung_Netzwerk 0300 begriffserklaerung tex Wichtig ist dabei das Symikolon zu escapen da es sonst von der Shell verfr hst ckt wird und find mit der recht unverst ndlichen Fehlermeldung nervt dass es kein Argument zu exec finden w rde Ebenfalls sind die Anf hrungszeichen um den Suchausdruck hilfreich 2nicht ber Dateisystemgrenzen hinweg d h nicht auf verschiedenen Partitionen 14 1 WICHTIGE PROGRAMME IN DER SHELL 135 14 1 5 Verzeichnisstruktur und Filesysteme Kommando Aufgabe df Diskfree zeigt freien Speicherplatz auf verschiedenen Datentr gern nach Mountpoints sortiert du Diskusage Speicherbelegung in einem Unter verzeichnis eject Auswerfen und Einziehen von Removable Devices z B eject dev hdd wirft das Medium aus welches am Secondary Slave IDE h ngt mount Einh ngen von neuen Partitionen Netzwerkshares etc in das Dateisy stem der Maschine mkfs Formatieren einer Festplattenpartition tune2fs Einstellungen f r EXT2 3 basierte Dateisysteme z B H ufigkeit von erzwungenen Dateisystem berpr fung beim M
174. n symlink zum udef Programm findet verlinkt ist Hotplug bergibt die Informationen vom Kernel an udev welches die notwendingen Aktionen Erstellen oder Entfernen von Ger tedateien an der dev Struktur ausf hrt 2 gt SCSI Platten k nnen auch USB Festplatten SATA Platten und weitere Devices sein 7 10 GER TEDATEIEN 75 Libsysfs und sys udev interagiert mit dem Kernel durch das sysfs Pseudodateisystem Das libsysfs Projekt liefert ein Standard API um auf die Informationen gegeben durch das sysfs Dateisystem in einem g ngigen Verfahren zuzugreifen Dies erlaubt eine Abfrage von aller Art von Hardware ohne dass man Vermutungen ber die Art der Hardware anstellen muss namedev Namedev gestattet es Ger te seperat vom udev Programm zu bezeichnen Dies erlaubt flexible Benennungsrichtlinien und Namensschemata entwickelt von verschiedenen K rperschaften Dieses Subsystem zur Ger tebenennung liefert ein Standardinterface das udev benutzen kann Momentan wird nur ein einzelnes Benennungsschema von namedev geliefert und zwar jenes welches von LANANA geliefert wird Dieses wird von der Mehrheit der Linux Systeme momentan verwendet und ist daher f r die Mehrheit der Linuxanwender sehr brauchbar Namedev verwendet eine f nfstufige Prozedur um den Namen eines bestimmten Ger tes herauszufinden Wenn in einem dieser Schritte der Ger tename gefunden wird wird dieser Name verwendet Diese Schritte sind e Beschriftung oder Seriennumm
175. name a e pwd Pfadangabe Gibt an wo man sich gerade aktuell im Dateisystembaum befin det Dies kann n tzlich sein wenn diese Information nicht durch den Prompt bereit gestellt wird e whoami Eigene User ID Vergessliche Benutzer k nnen mit diesem Kommando ihren Account Namen anzeigen lassen e last Wer war als letztes da Meldet alle zuletzt angemeldeten Benutzer Diese Liste kann verdammt lang sein und sollte durch last less besser lesbar gemacht werden e chsh Shell ndern Es sind meistens mehr als eine Shell installiert und jede r hat vielleicht andere Vorlieben was die Features von Shells anbetrifft Das ndern der Default Shell funktioniert so hnlich wie beim passwd nur wenn die Maschine nicht an zentralen Verwaltungs und Authentifizierungsstrukturen h ngt e chfn Name ndern Hiermit kann man Daten zu seinem Account ndern jedoch nicht seinen Accoutnamen selbst Es gilt das zu passwd und chsh Gesagte e ls Inhalt des Verzeichnisses Listet alle Dateinamen im aktuellen Verzeichnis auf e finger Who netzwerktransparent Einfach aufgerufen liefert das Kommando hn liche Informationen wie w oder who Ein Aufruf von finger Crechnernane liefert wenn es nicht abgeschaltet ist die auf einem bestimmten Rechner angemeldeten Benutzer e date Datum und Uhrzeit Liefert die aktuelle Systemzeit mit Stunden Minuten Sekunden und das aktuelle Datum inklusive Information zur Zeitzone e export Var
176. nblick ihrer Deklaration automatisch an Der Wert einer Variablen wird in jedem Fall durch das Zeichen dereferenziert 5 1 1 Fest definierte Shell Variablen Eine ganze Reihe Variablen sind fest in der Bash eingebaut und k nnen auch nicht durch den Benutzer ver ndert werden Hierzu geh ren beispielsweise die einzelnen Elemente eines Kommandoaufrufes Man erstelle einfach mal das folgende kleine Shell Skript mache dieses ausf hrbar und rufe es anschliessend auf user ibm x20b gt echo bin sh echo Das Kommando selbst 0 echo Erster Parameter 1 echo Zweiter Parameter 2 echo Dritter Parameter 3 echo Anzahl Parameter echo Alle Parameter 0 exit 42 gt staticvar sh user ibm x20b gt chmod u x staticvar sh user ibm x20b gt staticvar sh test o Das ist ein Test Das Kommando selbst staticvar sh Erster Parameter test VVVVV VW Zweiter Parameter o Dritter Parameter Das ist ein Test Anzahl Parameter 3 Alle Parameter test o Das ist ein Test user ibm x20b gt echo 42 n Das Echo schreibt die Reihe von weiteren Echos per Umleitung in eine Datei Damait die doppelten Anf hrungszeichen nicht in der Shell interpretiert werden bernehmen die Hochkommata die Markierung von Anfang und Ende des sp teren Dateiinhaltes Die Variable 0 enth lt immer den Kommandoaufruf Die n chsten Variablen 1 2 enthalten nacheinander die Parameter zum Komman
177. nd den Skriptvariablen unterscheiden zu k nnen Die Variablen werden von Programmen ausgewertet die daraufhin ihr Verhalten danach ausrichten sollten Den Wert einer solchen Variablen kann man am besten mit echo 5 1 VARIABLEN 41 VARIABLENNAME abfragen Mittels set bzw export l t sich die komplette Liste aller in einer Shell definierten und an abgeleitete Programme weitergereichten Variablen anzeigen test2 export declare x COLORTERM gnome terminal declare x CPU i686 declare x DISPLAY 0 declare x GDMSESSION Default declare x GDM_LANG en_US declare x GNOMEDIR opt gnome declare x GNOME_PATH opt gnome usr declare x GNOME_SESSION_NAME Default declare x HELP_BROWSER gnome help browser declare x HOME root declare x HOST test2 declare x HOSTNAME test2 declare x HOSTTYPE i386 viele weitere Deklarationen declare x USERNAME user declare x WINDOWID 31457868 declare x WINDOWMANAGER usr X11R6 bin kde declare x XAUTHORITY home user Xauthority declare x XKEYSYMDB usr X11R6 1ib X11 XKeysymDB declare x XNLSPATH usr X11R6 1ib X11 n1s declare x no_proxy localhost Variable Funktion DISPLAY Enth lt den Namen des Rechners und die Nummer des Bild schirms auf dessen Bildschirm eine Anwendung gestartet werden soll SEDITOR Enth lt den Namen des bevorzugten Texteditors Default ist vi LANG Enth lt die Beschreibung der Lokalisierung Sprache
178. nd war nie der einzige Entwickler 1 3 Linux Unix Im allgemeinen Sprachgebrauch wird nicht zwischen dem Betriebssystemkern dem Betriebs sytem oder den Linux Distributionen unterschieden was manchmal f r Verwirrung sorgt Der Betriebssystemkern von Linux ist in der Programmiersprache C geschrieben und liegt im Quelltext vor Ohne zus tzliche Programme Software ist ein Betriebssystemkern ziemlich nutzlos Um die F higkeiten des Betriebssystemkerns komfortabel und sinnvoll nutzen zu k nnen ben tigt man mindestens e eine Reihe von Programmen f r systemnahe Aufgaben Systemsoftware e Programme zur Erkennung und Behebung von Fehlern den Zugriffsschutz d h die Abfrage des Geheimwortes Passwort eine Befehlszeile zum Start weiterer Programme Die Einstiegsseite in das KDE Framework findet sich auf http www kde org Inzwischen gibt es eine ganze Reihe von B chern zur Programmierung und Benutzung von KDE Gnome Desktop Environment http www gnome org SQT ist ein Widget Set f r grafische Benutzeroberfl chen Es wird cute ausgesprochen und von der Firma Trolltech in Norwegen entwickelt http www trolltech no Hiervon gibt es einge ganze Menge einige Zahlen sprechen von ber 200 Zu den gro en z hlen sicherlich RedHat SuSE Debian Gentoo 4 KAPITEL 1 EINLEITUNG GRUNDLAGEN e ein System zum automatischen Start der oben genannten Programme Diese absolut notwendigen Komponenten bezeichnet man la
179. nd weiss wo die Operation endet wird diese mit einem Semikolon beendet Damit jedoch die Shell dieses nicht interpretiert als Trennzeichen von Kommandos muss es entsprechend escaped werden was mit dem Backslash geschieht Zum Finden von Dateien Verzeichnissen Programmen etc ist auch der Befehl locate sehr hilfreich Dieser Behehl sucht den Datei oder Verzeichnisnamen in einer Datenbank ob diese existiert und wie oft sie aktualisiert wird h ngt vom Systemadministrator ab Beispiel locate XFree86 Auf SuSE Linux Systemen findet man noch das kleine Skript rpmlocate welches nicht ein updatedb ben tigt da es direkt auf die RPM Datenbank zugreift 2 2 10 Abmelden durch Ausloggen Damit nicht nach dem Beenden einer Arbeitssitzung irgendjemand Bl dsinn mit dem eige nen Account anstellen kann was einem selbst in Rechnung gestellt werden k nnte sollte man sich unbedingt abmelden Dies geschieht in Abh ngigkeit von der Konfiguration und der verwendeten Shell auf verschiedene Weise Mit Strg d lassen sich viele Shells schlies sen Handelt es sich dabei um die automatisch beim Login gestartete Shell so loggt man sich damit automatisch aus hnliche Auswirkungen haben auch die Kommandos logout oder exit Unter der gra fischen Benutzeroberfl che gen gt das einfache Schliessen der Shell nicht sondern man verwendet entweder den geeigneten Men punkt des Windowmanagers oder beendet die X Session mit Stre Alt Bac
180. nden Kernel kopiert die etc lilo conf editiert und lilo einmal startet Dieses wird im Folgenden vorgef hrt Man editiert die Datei etc lilo conf mit seinem Lieblingstexteditor und dupliziert den Image Eintrag mit der folgenden Zeile die sich auf den aktuellen Kernel bezieht blicherweise image boot vmlinuz und benennt das Image nach z B boot vmlinuz bakup und anschliessend das Label nach z B backup um Anschliessend ruft man lilo v erneunt auf und kann am Liloprompt im Falle eines Fehlers den alten Kernel starten 12 4 BEZUG DES KERNELS 115 12 4 Bezug des Kernels Den aktuellen Kernel kann man von vielen FTP Servern weltweit beziehen ein guter Aus gangspunkt ist die Kernelseite im WWW www kernel org Derzeit akutell ist die Kernel serie 2 4 in vielen F llen setzt man aber auch auf die ltere Serie 2 2 gerade f r kritische Serveranwendungen die auf bestimmte Hardwareunterst tzungen verzichten k nnen blicherweise l dt man den Kernel in das Verzeichnis usr src herunter und packt den Kernel mit tar xpzf linux 2 X Y tar gz C linux 2 X Y aus Vorher sollte man das Zielverzeichnis f r den Kernel linux 2 X Y angelegt haben Dann ver ndert man den Link linux in diesem Verzeichnis so dass er auf unseren gerade entpackten Kernel zeigt Voraussetzungen f r das bersetzen des aktuellen Kernels kann man der Datei Changes entnehmen die im obersten Verzeichnis des ausgepackten Kernelbaumes lieg
181. nder das Miteinander Arbeiten nicht allzusehr erschwert werden Um all dies zu gew hrleisten bedarf es eines feink rnigen Systems der Einschr nkungen und Erlaubnis se Dieses System ideal an die jeweiligen Gegebenheiten anzupassen ist die Aufgabe des Systemverwalters 7 1 Zugriffsrechte Das Sicherheitskonzept von Unix basiert stark auf den Zugriffsrechten f r Dateien Deshalb hat in der Unix Linux Welt jedes Verzeichnis und jede Datei IndexZugriffsrechte f r einen Besitzer user K rzel u z B die User ftp mysql testuser f r die gesamte Gruppe group K rzel g z B bin named users zu der dieser Besitzer geh rt und schlie lich f r alle anderen den Rest der Welt other K rzel o Diese sind im Ganzen drei Benutzergruppen die beim Setzen der Rechte auch zusammen angegeben werden k nnen all K rzel a Es ist z B bei der Einrichtung einer Homepage im eigenen Verzeichnis darauf zu achten dass den HTML Dateien die Leserechte f r other bzw f r all gesetzt wurden und die dar berliegenden Verzeichnissebenen das Suchrecht f r all besitzen Weiterhin gibt es drei Arten des Dateizugriffs Schreiben Lesen Ausf hren bzw Suchen in Verzeichnissen Das Kommando zum Setzen der Zugriffsrechte ist chmod Dabei gibt es zwei M glichkeiten es aufzurufen mayerChermes kursunterlagen gt chmod o r kurs01 txt 67 68 KAPITEL 7 ZUGRIFFSRECHTE UND VERZEICHNISSTRUKTUR Setzt
182. ndl ufig als Betriebssystem Derzeit wird in den meisten F llen die Software des GNU Projektes in Verbindung mit dem Linux Kernel verwendet Das GNU Projekt entwickelt bereits seit 1984 freie Software Heu te sind beide Komponenten der Linux Kernel und die GNU Betriebssoftware kaum noch voneinander zu trennen Beide Teile haben sich gegenseitig vorangebracht und gegenseitig befruchtet Korrekterweise m sste man also eigentlich wenn man das Betriebssystem nennt von GNU Linux sprechen da hier immer der Kernel Linux und die OS Softwaretools GNU gemeinsam gemeint sind Umgangssprachlich auch dem Drang nach Abk rzung fol gend vereint dem Begriff Linux die Kombination aus Kernel und Betriebssystem Dies soll keinesfalls eine Herabsetzung des GNU Projektes sein welches die wesentlichen Grund lagen berhaupt erst geliefert hat Eher tr gt die Abk rzung der Tatsache Rechnung dass diese Benennung heutzutage von den meisten Anwendern und Journalisten verstanden und benutzt wird Die Installation des Linux Betriebssystems ist weitgehend automatisiert und men gef hrt Linux Distributionen sind inzwischen einfach zu installierende Sammlungen von Pro grammen f r Linux sie enthalten au erdem das Betriebssystem in der aktuellen Fas sung Linux Distributionen werden von verschiedenen Firmen oder Interessengruppen in leicht unterschiedlicher und wechselnder Zusammensetzung bzw Qualit t angeboten Es gibt keine
183. nen Jan 18 18 Abbildung 11 1 Grafischer Login einer anderen Maschine im Xnest Nun kann man von einer anderen Maschine beispielsweise durch die Eingabe von X 1 query xserver mydomain local oder auch Xnest 1 query xserver mydomain local sich den Desktop im Fenster darstellen lassen Das erste Kommando ffnet einen komplett neuen grafischen Desktop auf der achten Konsole Das ist bei den meisten Distributionen die erste freie Konsole nach dem Grafikbildschirm Das zweite Kommando arbeitet im Fenstermodus Es ffnet f r die Grafikausgabe von server ein neues Fenster in Ihrem aktuellen grafischen Desktop Dieses sieht man in Abbildung 11 2 1 Unter Windows steht die Welt der grafischen X11 Desktops nicht automatisch zur Verf gung Hierf r muss ein X Server nachinstalliert werden Hier stehen freie und kom merzielle L sungen zur Auswahl Zum Fernadministrieren einer Linux Maschine kann man nicht nur das Text Terminal der Secure Shell verwenden sondern auf Secure Shell Verbindungen den grafischen Output von Applikationen der Remote Maschine auf den lokalen Desktop holen 11 2 X VORTEILE UND GRENZEN DER UNIX GUI 103 Der folgenden Dialog zeigt den Aufbau einer Verbindung ber die Secure Shell ssh und den Start des SuSE Konfigurationsprogramms YaST2 dsucho linux02 ssh X 1 root s04 Password Last login Sun Jun 13 17 45 02 2004 from linux02 mydomain local Have a lot of fun s04 yast2 amp s04 Diese
184. nen netstat Zeigt offene Netzwerkverbindungen und Ports an ntop Komfortables textorientiertes Traffic Analyse Tool mit weitgehenden Auswertungsm glichkeiten tcpdump Einfacher Packet Sniffer f r die Kommandozeile der die Paket Header anzeigt telnet Einfache berpr fung auf Erreichbarkeit von TCP basierten Diensten z B telnet localhost 80 testet ob der Webserver antwortet Beispiel tcpdump i eth1 host 1 2 3 4 and not port ssh Mit einer ganzen Reihe von TCP basierten Netzwerkdiensten kann man sich mittels telnet interaktiv unterhalten und diese so auf Erreichbarkeit berpr fen Im folgenden Beispiel wird die Unterhaltung mit einem Pop3 Server dargestellt dirkChermes home dirk SharedFiles tex lak gt telnet pop3 test local 110 Trying 10 16 20 86 Connected to pop3 test local Escape character is 0K ready lt 7889 10605209320pop3 test local gt user dirk 0K Password required for dirk pass geheim 0K dirk has 117 visible messages 1 hidden in 2844396 octets quit 0K Pop server at pop3 test local signing off Connection closed by foreign host Dieses Beispiel zeigt die Unterhaltung mit einem Pop3 Server 14 4 Grafische Oberfl chen 14 4 1 X Programme Es wird kaum m glich sein alle Programme die unter der grafischen Oberfl che des X11 laufen aufzuz hlen Deshalb folgen einige wichtige Standardprogramme die nicht direkt nur einer der beiden wichtigen grafischen Benutzerober
185. nen speziellen Grafikchip testen ohne die ganze Installation in Gefahr zu bringen bietet sich die Verwendung von UnionFS an Xorg installiert sich mit seinen Programmen und Bibliotheken unterhalb von usr Wenn man auch die notwendigen Konfigurationsdateien mitbetrachtet sollte ebenfalls etc als weitere Vereinigung angelegt werden lp srv0la mkdir tmp union lp srv0la mount t unionfs o dirs tmp union rw usr ro0 none usr lp srvOla mount dev hda2 on type xfs rw noatime none on proc type proc rw none on sys type sysfs rw none on dev type ramfs rw none on dev pts type devpts rw none on dev shm type tmpfs rw none on proc bus usb type usbfs rw none on usr type unionfs rw dirs tmp union rw usr r0 lp srv0la touch usr X11R6 test lp srv0la ls tmp union X11R6 test tmp union X11R6 test lp srv0la umount usr lp srv0la ls usr X11R6 test ls usr X11R6 test No such file or directory Das Beispiel zeigt dass die beiden verbundenen Verzeichnisse und das Mount Ziel nicht unbedingt alle voneinander verschieden sein m ssen Das Verzeichnis usr wurde nur lesbar eingebunden und mit einem schreibbaren Teil berlagert Deshalb kann man nicht mehr in das alte usr hineinschauen sondern sieht nur die Vereinigung unterhalb von usr M chten man wissen was ver ndert wurde schaut man unterhalb von tmp union nach Mit einem einfachen umount usr ist der Spuk vorbe
186. nicht sehr schnelle Internet Anbindung von Traffic zu entlasten Filter auf Viren in Mails und Werbebannern lassen sich ebenso auf einer solchen Maschine unterbringen womit jedoch die Hardwareanforderungen steigen 15 1 2 Desktopsystem Linux verwandelt einen PC in eine leistungsf hige Workstation Als Arbeitsumgebung f r inzwischen einige Officel sungen oder auch f r SAP und als Entwicklungsumgebung zum Schreiben von Software ist Linux hervorragend geeignet Beispiele Netscape oder Mozil la Star Office oder Applixware und verschiedene Java Implementationen Die beiden in tegrierten graphischen Desktops KDE und GNOME bieten inzwischen einen sehr hohen Komfort der Arbeitsoberfl che Je nach eingesetzter Software liegen die CPU und RAM Anforderungen bei mindestens 300 Mhz f r ein Pentium II System und 128 256 MByte Als Festplattenplatz sollte man 4 10 GByte nicht mehr unterschreiten was in der Zeit von 100 GB Festplatten keine bertriebene Forderung mehr ist 145 146 KAPITEL 15 INSTALLATION 15 1 3 Preiswerter Parallelrechner Pools gleichartiger Rechnerkonfigurationen lassen sich per Boot Diskette oder ROM kurz fristig und ohne nderungen an den bestehenden Betriebssystemen in einen Parallelrechner verwandeln Inzwischen existiert eine ganze Reihe von Cluster Software wie Mosix oder PVM die Linuxmaschinen in einen leistungsf higen Rechnerverbund zusammenschalten k nnen Linux Cluster finden sich durchaus schon recht wei
187. nk k Datei Datei existiert und hat das Sticky Bit gesetzt p Datei Datei existiert und ist Named Pipe r Datei Datei existiert und ist lesbar s Datei Datei existiert und ist nicht leer t n Offene Dateideskriptor n geh rt zu einem Terminal u Datei Datei existiert und hat das Setuid Bit gesetzt w Datei Datei existiert und ist beschreibbar x Datei Datei existiert und ist ausf hrbar Tabelle 5 2 Optionen von test Da die Standard Shell keine logischen Ausdr cke direkt auswerten kann muss dazu ein externes Programm benutzt werden Mit Hilfe des eingebauten Shell Kommandos test kann man den Zustand bestimmter Dateien oder Variablen erfragen oder diese miteinander vergleichen Mehrere Tests k nnen durch Verkn pfung a kombiniert werden Einige Beispiele f r den Einsatz des Kommandos test f etc issue test x bin ls test Var01 ge Var02 test Var01 eq Var02 a Var03 lt Var04 VARO1 eq VARO2 Anstelle des Aufrufes von test kann man die Abfragen auch einfach in eckige Klammern fassen Hierzu existiert blicherweise auf allen Systemen ein Link namens auf das Programm test Dementsprechend ist es auch zwingend erforderlich nach der Klammer ein Leerzeichen zu schreiben andernfalls interpretiert die Shell Ausdr cke wie n str als einen einzigen String Das hilft nebenbei Bedingungen in if Abfragen und hnlichem lesbarer zu machen Um dieses Konzept der Lesbarkeit zu unterst tzen sollt
188. nktion als R ckgabewert den Standardoutput der eingesetzten Kommandos Beispiel shadowfileexist if f etc shadow then return 1 shadow file exist fi return 0 does not exist Beispiel count ls wc 1 1s Liste aller Dateien im Verzeichnis wc Word Count z hlt W rter Die Funktion gibt die Anzahl der Dateien im aktuellen Verzeichnis zur ck aufgerufen wird diese Funktion wie ein Befehl also einfach durch die Eingabe von count 4 3 Aufgaben 4 3 1 Kommandozeile und Umleitung 1 Wie fasst man die beiden Standardausgabekan le zusammen Wie entsorgt man Aus gaben auf irgendeinem Kanel am besten r ckstandsfrei 2 Rufen Sie ein Kommando auf und zeigen Sie dessen R ckgabewert anschliessend an jedoch keine seiner direkten Ausgaben weder Fehler noch die Standardausgabe 3 Wie sorgt man daf r dass der String dieses ist ein test als ein einziges Argument interpretiert wird 4 Nennen Sie f nf wichtige Umgebungsvariablen Welche verschiedenen M glichkeiten bestehen um an bereits eingegebene Komman odos wieder heranzukommen 5 Was passiert wenn ich das Kommando export PATH tmp eingebe 38 KAPITEL 4 DIE SHELL Kapitel 5 Shellprogrammierung 5 1 Variablen Wesentliches Element einer Programmiersprache sind Variablen Die Bash und andere Shells kennen deshalb eine ganze Reihe verschiedener Arten Die Benutzung von Variablen ist denkbar einfach Die Shell legt Variablen im Auge
189. nmal von Sun eingef hrt wurden ist in der heutigen Zeit obsolet geworden Dazu gibt es SecureShell und Copy und den SSH Agent wenn man vermeiden will bei jedem Login auf einer anderen Maschine immer wieder ein Passwort eingeben zu m ssen 13 4 7 berpr fung der Netzwerksicherheit eigener und anderer Rechner Es gibt inzwischen eine ganze Reihe von Programmen mit denen sich der Netzwerkverkehr berwachen und berpr fen l sst Dieses sind zum einen die Tools zum Mitlauschen des Datenverkehrs tcpdump ntop und ethereal Gerade das letzte Tool ist besonders zu empfehlen da es ber ein komfortables grafisches Frontend gute Packetviewer und Filterfunktionen verf gt ntop ist ein textbasiertes interaktives Programm welches aktuelle Verbindungen und die dabei umgesetzten Datenmengen nach Verbindung und Protokollart aufzeigt tcpdump arbeitet an der Kommandozeile und schneidet Pakete mit welche an der Netzwerkschnittstelle angenommen werden Bei allen Tools lassen sich auch Nicht IP Protokolle registrieren Die Untersuchung auf bestimmte Dienste d h offene Ports von Rechnern oder in Netz werken l sst sich mit dem Portsniffer nmap bewerkstelligen nmap O 172 16 0 0 16 Feststellen des Betriebssystems im Bi Class B Subnetz nmap sP 172 16 1 0 24 Ping Scan Erreichbarkeit von Rech ER e St nmap sT 172 16 1 1 Scan auf offene TCP Ports der Maschi BE Fr P IIIT a nmap sU www goe net Scan auf offene UDP Ports der Maschi
190. nsehen ist dass die Primary Master IDE Festplatte als dev hda bezeichnet wird Das m gen am Anfang viele vielleicht nicht so sehen aber das ist ein grundlegender Designfehler Wenn es an den bunten Pool von Hotplug Ger ten geht wie sie am USB IEE1394 hot swappable PCI werden k nnen stellt sich schnell die Fragen Was ist denn nun das erste Ger t Und f r wie lange Wie werden die anderen Ger te benannt wenn das erste verschwindet Wie wird das laufende Transaktionen beeinflussen Was w rde passieren wenn ein USB Stick eingebunden als erste virtuelle SCSI Platte pl tzlich gezogen w rde aber noch weitere USB Speicherger te angeschlossen sind W rde es Sinn machen bei jedem Anstecken einfach den Ger tebuchstaben hochzuz hlen um Ver wechslungen auszuschliessen die Buchstaben w ren irgendwann am Ende etc 7 10 2 Dynamische Devices mit udev Das udev Projekt addressiert die auftretenden Probleme und bernimmt dabei die folgen den Aufgaben e L uft im userspace e Erstellt entfernt dynamisch Ger tedateien e Liefert konsequente Benennung e Liefert ein user space API Um diese Funktionen zu liefern wird udev in drei unterschiedlichen Teilprojekten ent wickelt udev namedev und libsysfs udev Jedes Mal wenn der Kernel ein Update in der Ger testruktur feststellt ruft er das hotplug Programm im User Space auf Hotplug f hrt die Anwendung aus welche im etc hotplug d default Verzeichnis wo man auch eine
191. nutzer den KDM K Displaymanager kon figurieren Wo liegt dessen Konfigurationsdatei Welches Programm zaubert die vielen oder auch nicht so vielen Icons auf den Desktop von KDE bzw GNOME Welche Prozesse sind berlicherweise bei einer Gnome bzw KDE Session am Start Welche Prozesse unter IceeWM Wo m te man die Language Variable setzen damit sie unter den verschiedenen grafi schen Oberfl chen und im Textmodus ausgewertet wird Welche anderen M glichkeiten bestehen wenn man sich die Xsession bzw den gdm ansieht 112 KAPITEL 11 GRAPHISCHE OBERFL CHE Kapitel 12 Kernel und Bootloader 12 1 berblick Der Kernel enth lt alle Hardwaretreiber und da es sich bei Linux um ein Unix hnliches System handelt enth lt der Kernel ebenfalls die f r ein Netzwerk ben tigte Funktiona lit t Grafikkartentreiber im Kernel dienen dem Framebuffer der nicht mit der grafischen Oberfl che X11 verwechselt werden sollte X11 wiederum kann auf das Framebufferinter face aufsetzen dieses ist unter der PC Architektur jedoch eher die Ausnahme Der Kernel Framebuffer stellt meistens keine beschleunigte 2D oder 3D Architektur bereit und nutzt die F higkeiten der Grafikkarte damit nur selten aus Die XFree86 Treiber die erst beim Start des X Servers ben tigt werden bilden eine Ausnahme da sie nicht Teil des Kernels sind Alle Linux Distributionen beinhalten einen fertig kompilierten und lauff higen Kernel blicherweise
192. odlines Steuerzeilen f r den Monitor ausgeben Welche Datei muss man editieren um bestimmten Hosts den Zugang zum Xserver zu gew hren oder zu verwehren Was macht der Befehl X 1 bpp 16 query localhost Was ist Xnest Wie lautet die Syntax zum Aufbau einer Verbindung zu einem an deren System Welche Ports werden hierf r benutzt Wof r ist die Datei Xserver zust ndig Wo befindet sich diese blicherweise Wie kann ich sie finden Welche Funktion hat der xdm Welche Alternativen gibt es Nenne zwei Wo befin den sich die jeweiligen Konfigurationsdateien Weshalb macht xvidtune auf einem digitalen TFT Display bzw f r die Ausgabe auf einem Fernseher mit TV Out wenig Sinn Weshalb wird man bei TFT Displays blicherweise nur eine Aufl sung verwenden Welche Was leistet VNC Worin liegt der Unterschied zum X11 Konzept 11 4 2 Benutzeroberfl chen 1 2 Welche grafischen Benutzeroberfl chen stehen zur Verf gung Worin unterscheiden sie sich Wo werden KDE bzw Gnome blicherweise installiert Wo findet man die dazu geh rigen Include Dateien Wo sind blicherweise die Bin rdateien des KDE Gnome bzw die entsprechenden Bibliotheken abgelegt Wo muss man evtl daf r sorgen dass die Bibliotheken Binaries gefunden werden 11 4 AUFGABEN 111 Welcher Windowmanager wird zusammen mit Gnome benutzt oder besser installiert Wie bekommt man das heraus Weshalb kann man nicht als normaler Be
193. oerc explizit verbietet Tasten Funktion Tasten Funktion Strg kh Hilfefenster Strg kf Suchen Strg kr Datei einlesen Strg l Weitersuchen Strg c Beenden Strg kx Speichern Beenden Strg kd Speichern unter Strg kb Markierung Anfang Strg kc Kopieren Strg kk Markierung Ende Strg km Verschieben Strg ky Block l schen Stre ku Dateianfang Strg kv Dateiende Stre y Zeile l schen Tabelle 3 1 Wichtige Tastenk rzel f r joe 3 4 Vi vi oder in der grafischen Version gvim ist f r den Anf nger nicht so leicht zu bedienen eignet sich aber besonders f r die Arbeit ber recht langsame Netzwerkverbindungen Bis es soweit ist liegt aber ein steiniger Weg vor einem Vieles was man bisher von Editoren wusste gilt beim vi nicht mehr Alles wird mit Hilfe der Tastatur gemacht die Maus verliert im vi ihre Bedeutung als zentrales Hilfsmittel Diesem Effekt ist es zu verdanken dass der vi immer zur Verf gung steht Wenn nichts mehr geht geht immer noch ein vi Daher ist er Teil der meisten Rettungssysteme Da man in einem Notfall keine Zeit hat sich in den vi einzuarbeiten sollte man dies schon vorher einmal tun Damit der Umstieg zum vi nicht zu schmerzhaft ist gibt es eine Vielzahl von vi Clonen Der oben genannte gvim ist eine angenehme Mischung aus der St rke des vi mit der Einfachheit von gedit gvim kann entweder wie vi ber die Tastatur bedient werden oder auch mit Hilfe der Maus Hier erfolgt nur eine kurze Einf hrung Aus dem Eingabemodu
194. ohne den bestehenden Inhalt zu berschreiben setzt man das doppelt hintereinander gt gt Gerade f r Sachen die einen nicht interessieren bie tet sich die Umleitung in die Spezialdatei dev null an M chte man z B testen ob ein bestimmtes Verzeichnis existiert gen gt der Return Code die Ausgabe des Kommandos selbst kann hingegen entsorgt werden Is al usr bin gt dev null Da der Ausgabe und der Fehlerkanal verschiedene Deskriptoren haben lassen sich mit 1s al usr bin 2 gt dev null auch nur die Fehlermeldungen wegdr cken Das davor gegebene Beispiel m sste formal eigentlich 1s al usr bin 1 gt dev null lauten wenn aber keine Ka nalnummer angegeben ist wird die Standardausgabe als Defaultwert angenommen Sollen einfach beide Ausgaben gemeinsam in eine Datei geschrieben werden k nnen beide Kan le mit 1s al usr bin amp dev null im Fall der bash oder mit 1s al usr bin 2 gt 41 gt dev null gemeinsam umgelenkt werden 4 2 5 Abk rzen von Befehlen Der Alias Mechanismus dient der Ersparnis von Tipparbeit macht Kommandos leichter erinnerbar versch nert Kommandoausgaben und kann auch zur Absicherung gegen Tipp fehler verwendet werden Ein Alias ist eine definierte Zeichenfolge die f r eine andere Zeichenfolge steht Welche Aliase in der aktuellen Shell definiert sind kann mittels alias abgefragt werden dirkChermes gt alias 34 KAPITEL 4 DIE SHELL alias pushd alias popd
195. ommando l sst sich der Dateibesitzer die Gruppe ndern Wie kann man die Rechte Maske auch f r Unterverzeichnisse geltend machen 3 Wozu dient das SUID Bit und wie kann es gesetzt werden 4 Welche Aufgabe hat das Sticky Bit und wo findet man es im Einsatz Kapitel 8 System berwachung 8 1 Systeminformation und berwachung 8 1 1 System Log Der Syslog Daemon ist vor allem bei der Fehlersuche und Sicherheitspr fung ein wichtiger Helfer Programme k nnen an ihn Meldungen schicken mit Hilfe spezieller Befehle die dann je nach Einstellung in verschiedenen Dateien und oder auf Konsolen auch auf ande ren Rechnern geschrieben werden Viele Daemons und der Kernel benutzen diese speziellen Befehle und geben ihre Ausgaben und Meldungen an den syslogd weiter da sie sonst keine Ausgabem glichkeit haben Typ Priorit t auth Authentifizierung debug Debugmeldungen cron Meldungen des cron Daemon info Informationen daemon Meldungen von Daemons warn Warnungen kern Kernelmitteilungen erit kritische Fehlermeldungen syslog Meldungen des Logsystems P weitere mail Meldungen des Mail Subsystems weitere Tabelle 8 1 Unterteilung der Meldungen nach zwei Eigenschaften Als einer der ersten Prozesse wird beim Hochfahren von Linux syslog gestartet Die ser Dienst nimmt die System Fehler und Warnmeldungen des Kernels und der einzelnen Dienste auf und schreibt sie je nach Konfiguration ete syslog conf an einen Logserver im Netz
196. on Commander der aus der DOS Welt noch be kannt sein k nnte und die Vorlage f r viele Dateimanager mit dem typischen senkrecht geteilten Fenster lieferte 2 3 SUCHEN UND FINDEN VON HILFE 19 2 3 Suchen und Finden von Hilfe Selbst erfahrene UNTX Linux Anwender kennen nur einen Teil der Befehle mitsamt ihren Optionen Daher gibt es auf jedem UNIX System mehrere M glichkeiten Informationen ber Kommandos abzurufen Die klassischen Befehle hierf r sind man apropos und wha tis Die meisten Programme bringen selbst eine eingebaute Mini Hilfe mit welche mit h oder help zu aktivieren ist Is help gibt zum Beispiel einen Kurz berblick zu den F higkeiten des List Kommandos Manualpages e enthalten die abstrakte Syntax eines Kommandos oder Anwendungsprogrammes e enthalten eine Liste aller Optionen und deren Wirkung e enthalten Querverweise zu anderen Befehlen Manual Pages e enthalten manchmal Beispiele e sind nicht zum Lernen sondern eher zum Nachschlagen geeignet e werden aufgerufen durch man Kommandoname e werden seitenweise mithilfe eines Pagers less more angezeigt Das folgende Beispiel zeigt eine typische Man Page f r das Kommando cp Defaultm ig wird die Man Page in Englisch angezeigt ist die entsprechende Umgebungsvariable LANG entsprechend gesetzt kann auch jede andere installierte Sprache angezeigt werden Der Auf ruf von man cp liefert CP 1 User Commands CP 1 NAME cp copy
197. on einem Prozess ausgehenden Kindprozesse top Interaktives Tool f r das Prozessmanagement 14 2 2 D monen D monen sind im Hintergrund laufende Prozesse die bestimmte Standardaufgaben des Systems bernehmen und berlicherweise nicht vom Administrator aus einer Shell heraus sondern durch meistens gleichbenannte Runlevel Skripte gestartet werden Ihre d monische Eigenschaft wird meistens durch das an den Protokollnamen angeh ngte d kenntlich ge macht So wird aus dem Server f r den Dienst DHCP der dhcpd Das muss aber nicht immer so sein wie das Beispiel DNS zeigt wo der D mon named hei t 138 KAPITEL 14 WICHTIGE KOMMANDOS Kommando Aufgabe Beschreibung atftpd dhcpd httpd inetd mysqld Erweiterter Trivial FTP Server der auch Anfragen von PXE Clients bedie nen kann Der Server f r dasDynamic Host Con figuration Protocol Der Webserver Meistens kommt hier bei der Apache zum Einsatz Internet Super Daemon st t andere auf der jeweiligen Maschine eher sel tener benutzte Dienste wie telnetd in ftpd in tftpd an und ffnet hierf r die entsprechenden Netzwerk ports Der Server f r die MySQL Datenbank Konfiguration Datenbe reich keine direkte mittels ete sysconfig atftpd etc dhepd conf var lib dhep etc httpd aber stark distri butionsabh ngig etc inetd evtl haben einzelne Dienste Datenverzeichnisse var lib mysql D monen k nnen f
198. onsbereiche der Zeit und Datumsfelder Ein Feld kann auch ein Stern sein was immer f r Erster Letzter steht Zahlenbe reiche sind erlaubt Bereiche sind zwei Zahlen getrennt durch einen Bindestrich Die ange gebenen Grenzen sind inklusive Beispielsweise 8 11 in Stunde bewirkt die Ausf hrung um 8 9 10 11 Uhr Listen sind ebenfalls erlaubt Eine Liste ist eine Menge von Nummern oder Bereichen getrennt durch Kommata Beispiele 1 2 5 9 oder 0 4 8 2 Schrittweiten k nnen in Verbindung mit Bereichen genutzt werden Hinter einem Bereich mit Schrittweite angegeben bestimmt die Schrittweite ob Werte innerhalb des Berei ches bersprungen werden Beispiel 0 23 2 kann unter Stunden benutzt werden um ein spezielles Kommando alle zwei Stunden auszuf hren Die Alternative w re 0 2 4 6 8 10 12 90 KAPITEL 9 PROZESSMANAGEMENT 14 16 18 20 22 Schrittweiten sind auch nach Sternen erlaubt alle zwei Stunden l sst sich auch durch 2 beschreiben Namen k nnen f r Monat und Wochentag benutzt werden Benutzen Sie die ersten drei Buchstaben des entsprechenden Tages oder Monats Gross Kleinschreibung wird nicht beachtet Bereiche oder Listen sind mit Namen nicht erlaubt 9 7 Aufgaben 9 7 1 Runlevel 1 2 10 11 12 Welchen Sinn haben Runlevel Ab welchem Runlevel einer SuSE Distribution habe ich blicherweise eine a Netz werkverbindung b die graf
199. oot balisto lilo v C etc lilo floppy Install lilo and the map onto floppy root balisto umount mnt floppy Dabei sollte die Datei lilo floppy z B wie folgt aussehen boot dev fd0 Diskette wo der Lilo Bootsektor hinsoll map mnt floppy map Stelle der Festplatte wo die Bootkernel liegen prompt LILO Boot Prompt anzeigen linear Speziell f r SCSI Konfigurationen timeout 50 Timeout zum erreichen des Lilo Prompts image boot vmlinuz Diesen Linux Kernel booten label linux Label f r die Identifikation dieses Kernels root dev hdb2 Rootverzeichnis initrd boot initrd Ramdisk welche mit dem Kernel geladen wird read only Root Partition read only mounten 12 6 4 Das Syslinux Paket Das Syslinux Paket umfasst eine ganze Gruppe von Bootloadern Diese erlauben von spezi ellen Ger ten wie von Diskette oder CD Rom zu booten Ein eigenes Paket k mmert sich um das Booten ber ein Netzwerk in Zusammenarbeit mit PXE PXE Linux stellt einen Second Stage Boot Loader bereit welche mit PXE zusammen arbeitet um einen Linux Kernel mit evtl Optionen sowie einer Ramdisk mittels TFTP zu laden PXE Linux verwendet einen etwas anderen Ansatz um die notwendigen Kernel Boot Infor mationen zu beziehen Die Parameter werden aus einer Datei im Verzeichnis pxeli nuzx cfg beschafft deren Namen sich aus der hexadezimalen Repr sentation der IP Adresse des Clients zusammensetzt vom Server bezogen Sollte eine solche Datei ni
200. org verf gbar ber http www knoppix net 150 KAPITEL 15 INSTALLATION 15 4 Software die nicht der Distribution beiliegt Softwareinstallation ist ein weites Thema Im Rahmen dieses Kurses kann unm glich auf alle Aspekte eingegangen werden Es ist nicht zwingend die Pakete in den beschriebenen Verzeichnissen zu halten oder zu kompilieren es ist jedoch gute Sitte und erh lt die Ord nung sowie die Wiederfindbarkeit Es ist aber genausogut m glich Software im Home Verzeichnis zu installieren Eine gute Quelle f r aktuelle Informationen zur verf gbaren Linuxsoftware kann man unter www freshmeat net finden Viele Projekte sind auf dem Server www sourceforge net gehostet und k nnen von dort heruntergeladen werden 15 5 Aufgaben 15 5 1 Linux als Betriebssystem 1 Wozu gibt es verschiedene Nutzer auf einem Linux Unixrechner 2 Was ist ein Multitasking Betriebssystem Nennen Sie ein Beispiel f r ein Nicht Multitasking OS Operating System 3 Warum darf Linux im Gegensatz zu den OSs eines bekannten unter Monopolverdacht stehenden Softwareherstellers auf beliebig vielen Maschinen vom selben Datentr ger installiert werden 15 5 2 Bestimmung der Rechnerkonfiguration 1 Welche Hardware Informationen Daten ben tige ich f r eine typische Linuxinstal lation 2 Wie erh lt man in einem PCIRechner Informationen ber den Mainboardchipset evtl Einsteckkarten und die AGP Grafikkarte 3 Ermitteln Sie den C
201. os w timeout q nqueries host packetlen Wird ein Programm aufgerufen so werden alle in PATH definierten Verzeichnisse nach die sem Programm durchsucht M chte man dass noch jeweils aktuelle Verzeichnis auszulesen aus PWD im Pfad mit enthalten ist kann man noch einen Punkt anf gen Dieses ist jedoch aus Sicherheitsgr nden f r den Benutzer root defaultm ig abge schaltet Sonst k nnten Angreifer versucht sein ein spezielles Is oder hnlich h ufig benutz tes Standardkommando zu schreiben welches der Systemadministrator z B beim Durchsu chen des tmp Verzeichnisses ohne sein Wissen mit seinen privilegierten Rechten ausf hrt und dabei das System kompromittiert Die Reihenfolge der Verzeichnisse im Suchpfad ist wichtig Im ersten Verzeichnis wird zuerst gesucht Programme die nicht in einem Verzeichnis des Suchpfades zu finden sind k nnen nur durch Angabe ihres absoluten Pfades aufgerufen werden 5 1 3 Variablen zur Shellprogrammierung F r die Shellprogrammierung reichen die bisher vorgestellten Variablen jedoch nicht aus In dem Augenblick wo man selbst numerische Werte oder Strings speichern und ver ndern m chte kann man nicht auf die vorgegebenen Variablen zur ckgreifen Die Shell legt Variablen im Augenblick ihrer Deklaration automatisch an Variablen namen m ssen immer mit einem Buchstaben beginnen Sie k nnen Gro und Kleinbuch staben Zahlen und den Unterstrich enthalten Die Syntax der Zu
202. ounten umount Aush ngen der mit mount eingehangene Dateisystemteile Die Kommandos df und du kennen analog zu ls die Option h f r die besser lesbare Zahlendarstellung Das Formatkommando wird blicherweise mit einer Extension aufgeru fen die bestimmt mit welchem Dateisystem eine Partition eingerichtet werden soll z B linux02 mkfs Tab Tab mkfs mkfs ext2 mkfs minix mkfs vfat mkfs bfs mkfs ext3 mkfs msdos mkfs xfs mkfs cramfs mkfs jfs mkfs reiserfs Die gezeigte Ausgabe erh lt man durch die Complete Funktion der Bash Tippt man nach mkfs zwei Mal auf die Tabulator Taste erscheint die Ausgabe des Beispiels 14 1 6 Texteditoren Texteditoren gibt es f r Linux richtig viele Einige davon sind etliche Jahre alt andere sind erst in j ngster Zeit programmiert worden Wenn es um die Administration von Systemen geht ben tigt man gerade wenn man sich entfernt ber das Netzwerk eingeloggt hat Editoren die in der Kommandozeile arbeiten joe ist ein einfacher word star kompatibler Editor Die Hilfe innerhalb des Editors kann mit STRG KH ein und ausgeschaltet werden Der Editor pico ist noch etwas rudiment rer er wird mit dem textbasierten Mailprogramm pine mitgeliefert wird Er eignet sich f r Benutzer die mit dem besagten Mailprogramm arbeiten Seine Beliebtheit hat inzwischen f r eine Weiterentwicklung gesorgt unter dem Namen nano kann er aufgerufen werden wenn die Weiterentwicklung auf dem System installier
203. ozess die CPU eine gewisse Zeit zuteilt und sie ihm nach Ablauf dieser Zeit wieder entzieht Dieses Prinzip wird pr emptives Multitasking genannt im Unterschied zum kooperativen Multitasking unter lteren Windows Versionen in denen ein Prozess selbst entscheiden konnte ob er die CPU Zuteilung an einen anderen Prozess erlaubt Alle Prozesse erhalten eine eindeutige Nummer PID angefangen wird mit der 1 es geht bis 32767 dann startet die Vergabe wieder von vorne wobei bereits belegte Zahlen ausgelassen werden PID steht f r Process Identifier Somit sind f r das Sy stem Verwechslungen ausgeschlossen Logischerweise k nnen Prozesse ber diese Zahl auch kontrolliert und gegebenenfalls beendet werden Nach dem Starten des Linux Kernels werden eine Reihe von Programmen und Hinter grundsdiensten hochgefahren Dieses l sst sich in definierten Abstufungen steuern Vieles wird dabei von speziellen Skripten erledigt Linux bietet vielf ltige M glichkeiten sich ber den Zustand des Systems zu informieren 9 2 Systemstart Runlevel Es gibt unter Unix Linux zwei Konzepte Je nachdem welches Konzept ein System verfolgt l uft der bootstrap ein wenig anders ab Die beiden Familien sind BSD und SystemV sprich System5 Eines haben beide Familien beim Bootstrap gemeinsam Die Datei etc inittab Diese Datei ist der Anfang des Unix Lebens Das erste Skript das von etc inittab aus ausgef hrt wird rangiert unter dem Namen sysinit Abk
204. ozu ein gegebenes Kommando gut sein soll 14 1 Wichtige Programme in der Shell 14 1 1 Umsehen auf dem System Kommando Aufgabe cal zeigt Kalender f r den laufenden Monat das ganze Jahr kann durch cal 2002 dargestellt werden date meldet aktuelle Systemzeit und Systemdatum der Sysadmin kann mit diesem Kommando die Systemzeit neu setzen finger aktuell angemeldete Benutzer mit Herkunftsshell und gerade get tigtem Kommando netzwerkf hig aber kaum noch anwend bar free zeigt Belegung des Arbeitsspeichers incl Cache an id zeigt die eigene UserID und Gruppenzugeh rigkeit an last zeigt alle zuletzt an der Maschine angemeldeten Benutzer an uname meldet die Art des Unix Systems Linux mit uname a sieht man mehr z B auch die Kernelversion uptime meldet die Systemauslastung drei Werte Durchschnitt einer f nf und f nfzehn Minuten mit vergangener Zeit seit dem Neustart der Maschine w analog wie lokales finger mit Informationen zur Uptime who hnlich wie lokales finger whoami meldet den eigenen Accountnamen Hat man sich auf einem Linux System ber lokale Konsole oder ber das Netzwerk mittels ssh angemeldet kann man sich einige Standardinformationen ber das System anzeigen lassen Die Zahlendarstellung von free kann mit den Optionen b auf Byte k auf KiloByte das ist der Default und m auf MegaByte eingestellt werden dirkChermes gt free m total used free shared buffers cached 131 132 KAPI
205. penOffice org gnome mozilla 7 9 Die Schnittstelle zum Kernel proc 7 10 Ger tedateien Dieses Verzeichnis enth lt nur Spezialdateien sogenannte Ger tedateien Diese stellen ei ne einfach zu nutzende Schnittstelle zur Hardware dar Hier finden sich auch Eintr ge Iwenn sie nicht wie beispielsweise bei SuSE nach teilweise nach opt verlagert ist 74 KAPITEL 7 ZUGRIFFSRECHTE UND VERZEICHNISSTRUKTUR f r alle Festplatten und ihre Partitionen dev hda ist die erste ATA dev sda die erste SCSI Festplatte im System H here Buchstaben hdb hdc stellen weitere Festplatten dar Zahlen am Ende sdal sda2 sind die Partitionen der Festplatten Da auf einer Festplatte nur vier prim re Partitionen m glich sind wird h ufig eine erweiterte Partition angelegt die den gr ten Teil der Festplatte umfasst In der erweiterten Partition k nnen dann logische Laufwerke angelegt werden Diese erhalten grunds tzlich die Partitionsnummern ab 5 Enth lt eine Festplatte also eine prim re und eine erweiterte Partition in der sich wiederum zwei logische Laufwerke befinden gibt es auf dieser Platte die Partitionen 1 2 5 und 6 Die prim re Partition ist 1 die erweiterte ist 2 und die beiden logischen Laufwerke sind 5 und 6 7 10 1 Probleme statischer Namensgebung Die meisten wissen was eine Ger te device datei ist Aus dem oben genannten weiss man auch warum Ger tedateien besondere Nummern haben Aber was die meisten f r gegeben a
206. per Daemon x inetd 127 13 4 5 xhost und das unsichtbare Fenster 128 134 6 A OS S e a nA ee si aa e a e ee rail 128 13 4 7 berpr fung der Netzwerksicherheit eigener und anderer Rechner 128 13487 Firewall Mn sun an Bar re LE ee 129 135 Aufgaben A A A ee here ae 129 13 5 1 Secure Shell Haas a a 129 14 Wichtige Kommandos 131 14 1 Wichtige Programme in der Shell 2 2 Em nn nn 131 14 1 1 Umsehen auf dem System 2 2 Eon on 131 14 1 2 Shelleigene Standardkommandos 2 2 2 2 222 nn 133 14 1 3 Shelleigene Strukturen und Schleifen 2 222 222 133 14 1 4 Operationen auf Dateien 2 2 2 CC on nn 134 14 1 5 Verzeichnisstruktur und Filesysteme 2 22 2222 135 14 1 6 Textedit ren sc morsa aa 88 a En ee 135 14 1 7 Operation auf Textdateien 2 22 Co on nn 136 14 1 8 Textsatzsystem und Darstellung 2 22 22mm nennen 136 14 2 Systemprogramme 2 2 CE nn nn 137 14 2 1 Prozess Steuerung Runlevel 2 2 2 o nommen 137 14 2 2 D monen 3 ersten as td en ae de ee 137 14 3 N tzliche Tools s 2 denis 222 a A ale 139 1A 3 1 Packpr gr mme saan iaa 2 a as d a 139 14 3 2 Zugriff auf DOS Disketten scr ars ent 139 14353 Netzwerk 2 48 a a aa ee 140 8 INHALTSVERZEICHNIS 14 3 4 Netzwerk berwachung nn nn 141 14 4 Grafische Oberfl chen 2 2 22 on on nn 141 14 4 1 X Programme 2 2 oo one 141 1442 GNOMES 2 rss 2 2a 2 2
207. phical User Interface GUI Die grafi sche Oberfl che unter Unix X Server X Window System oder X11 genannt ist nicht Teil des Betriebssystems sondern ein eigenst ndiges Programm XDMCP Das X display message control protocol steuert die Grafikschnittstelle auf Unix Systemen Diese Schnittstelle ist netzwerktransparent Dabei erfolgt die Ausgabe der Gra fikoberfl che des Servers lokal auf der Maschine Die Benutzereingaben durch Tastatur und Maus werden ber XDMCP an den Server weitergereicht 157 B die Umsetzung von Netzwerkprotokollen oder die Schnittstellen zu bestimmten Anwendungen Das CPAN Kapitel 2 Erste Schritte Irgendwie muss es ja losgehen wobei der Anfang von allem gerade in einem Unix Linux Kurs nicht fest bestimmt ist Ausgehend vom Konzept des Pers nlichen Computers PC geht ein Benutzer davon aus dass man erstmal die Kiste einschalten muss bevor es richtig losgehen kann Bei Workstations ein Rechnertyp mit dem die eher teure Klasse der Unix Maschinen bezeichnet wurde war es nicht blich die Maschine erst starten zu m ssen Als klassische Multi User Rechner liefen sie 24 Stunden am Tag und standen mehr als einem Benutzer zur Verf gung Inzwischen kann jeder gerade auch durch die Verbreitung von Linux und die Profes sionalisierung von Windows seine eigene Workstation betreiben Dann l uft die Kiste oft schon aus L rm und Energieverbrauchsgr nden nicht mehr den ganzen Tag und schon beginnt der Start
208. r ber das Netz eingebunden wird Hier beispielsweise media cdrom oder media floppy distributionsabh ngig eventuell in anderen Unterver zeichnissen 10Er wird blicherweise zum Escapen Verstecken ihrer Bedeutung von Zeichen verwendet die sonst von der Shell speziell interpretiert werden w rden 6 KAPITEL 1 EINLEITUNG GRUNDLAGEN findet dann einstellbar eine generelle Umstellung auf Gro oder Kleinschreibung statt Wichtiger Hinweis Bevor der Computer ausgeschaltet wird muss man ihm zuerst gute Nacht oder weniger romantisch reicht jetzt sagen d h das Sitzungsende signalisieren damit Linux eventuelle im Arbeitsspeicher gepufferte Dateien auf die Festplatten schreibt und sich korrekt beendet Zum Teil werden dabei die ATX Features der Maschine ausge nutzt jedoch sind nicht immer alle M glichkeiten unterst tzt Bei entsprechender Kernel Unterst tzung und passender Konfiguration sorgt ein Druck auf den Power Off Knopf des Rechners f r eine passende Signalisierung zum Shutdown Ger te und Treiber Unter Linux findet sich f r jedes Ger t im Verzeichnis dev eine Datei dev ttyS0 ist zum Beispiel die erste serielle Schnittstelle dev hda bezeichnet die Master Festplatte am ersten IDE Controller dev hdal verweist auf die erste Partition dieser Platte Dies scheint auf den ersten Blick v lliger Bl dsinn zu sein erleichtert aber die Programmierung wesentlich Dem Programmierer kann es egal sein ob
209. r sieht das so aus ncolor 1p4 color color ncolor color color 1p kein lokales Device rm color rm ReMote system rp color rp Remote Printer sd var spool lpd color color ncolor 1f var spool lpd color color ncolor log af var spool lpd color color ncolor acct ar bk mx 0 ar write remote accounting bk Berkley Kompatible tr cl sh 10 2 1 1 Der Input Filter Der Input Filter wird folgenderma en definiert if var lib apsfilter bin y2prn_color upp auto color Es ist m glich ein beliebiges Filterprogramm anzugeben Der Standard bei Linux ist die Verwendung von apsfilter Dieser Filter vermeidet Schrott auf dem Drucker indem er fast jeden beliebigen Input mit Hilfe von ghostscript in Postscript verwandelt Ein nicht erkanntes Format wird abgewiesen Nach der Umwandlung in Postscript erfolgt die Kon vertierung in eine Druckersprache z B HP PCL Dann wird die Ausgabe an das Device geschickt oder es erfolgt die Weiterleitung ins Netzwerk 10 2 DAS BSD SYSTEM 95 10 2 2 lpd Der Line Printer Daemon Der lpd Line Printer Daemon ist das Gegenst ck zu lpr auf dem remoten System Die Line Printer Daemon wird auch auf dem lokalen System zum Ausdruck gebraucht Diese Funktionalit t ist in vielen Netzwerkdruckern eingebaut wenn sie als unixkompatibel be zeichnetet werden Der Zugriff auf das System wird ber etc hosts bzw etc hosts equiv gesteuert Bei der Definition von remoten D
210. ransarc IBM f r das Betriebsystem AIX entwickelt worden Inzwischen heisst es Open AFS und steht auch f r die Linux Plattform zur Verf gung Es arbeitet anders als das alte NFS mit Verschl sselung und Kerberos Authentifizierung Samba kann Linux mit der Windowswelt verbinden Solche Beziehungen gibt es auch zu anderen Betriebssystemen Fine Linux Maschine kann ebenfalls als Server in Apple Netzwerken eingesetzt werden bzw Novellserver oder client sein um das System im einem sauberen Zustand zu halten Server Message Block 60 KAPITEL 6 FILESYSTEME 6 8 Andrew Filesystem 6 8 1 Die Clientseite Das K rzel AFS steht f r Andrew File System oder A distributed File System AFS wurde urspr nglich von der Carnegie Mellon University entwickelt Kommerzialisiert wurde AFS sp ter von Transarc Diese Firma wurde 1994 von IBM gekauft IBM ihrerseits stellte im Jahre 2000 AFS als Open Source zur Verf gung Seit dieser Zeit wird AFS von der OpenAFS Community gepflegt AFS wird nicht mehr offiziell von IBM weiterentwickelt Das Andrew File System AFS ist ein Netzwerk Dateisystem welches Dateien netzwerk und weltweit zur Verf gung stellen kann Dieses Dateisystem arbeitet nach dem Client Server Prinzip Daten werden auf dem Fileserver gespeichert der Zugriff erfolgt von Seiten der Clients Die AFS Unterst tzung wird ber ein Kernelmodul realisiert welches alle ben tigten Bibliotheksfunktionen zur Verf gung stellt Zu diesem Modul werden Ke
211. rchbl ttern l t Wie kann ich meinen Full Name Room Number Work Phone Home Phone ndern Wo wird festgelegt ob normale User diese Felder wirklich ndern k nnen Weshalb klappt dieses in gro en Umgebungen mit einer zentralen Passwortverwaltung meistens nicht mehr Welche s Kommando s liefern mir Datum und Systemzeit Wie kann man diese neu setzen welche Voraussetzungen sind daf r notwendig Wof r dienen die Kommandos find und rpm locate Worin bestehen die Unter schiede zwischen ihnen Mit welchem Kommando erh lt man die folgende Ausgabe 6 39pm an 2 Tage 5 28 9 Benutzer Durchschnittslast 0 01 0 04 0 23 Welche Kommandos Mehrzahl zeigen mir an wer gerade mit mir an einer Maschine eingeloggt ist 2 5 3 Die Shell 1 2 Was sind Shell Prompt und Terminal Fenster Wie setzt man eine Umgebungsvariable und sorgt daf r dass sie auch in abgeleiteten Shells vorhanden ist Wie zeigt man die Liste aller in der aktuellen Shell definierten Variablen an Wie schneidet man aus der etc passwd die Zeile mit der eigenen UserID heraus Woher bezieht die Shell die Informationen zu Username numerischer UserID und Home Verzeichnis Welcher Prozess ist bei der Anmeldung involviert Wie findet man heraus in welchem Pfad man sich befindet In welcher Shellvaria blen kann diese Information angezeigt werden damit man immer weiss in welchem Verzeichnis man gerade ist We
212. rden alle im Kernel vorhandenen Schnittstellen ausgegeben nicht nur die konfigurierten An der Konsole produziert netstat i in etwa folgendes 82 KAPITEL 8 SYSTEM BERWACHUNG root server netstat i Kernel Interface table Iface MTU Met RX OK RX ERR RX DRP RX OVR TX 0K TX ERR TX DRP TX OVR Flags lo 0 0 3185 0 0 0 3185 OM 0 O BLRU eth0 1500 0 972633 17 20 120 628711 217 0 0 BRU Die Spalten MTU und Met geben die aktuelle MTU Maximal Transfer Unit und Metrik des Interface an Die mit RX bzw TX berschriebenen Spalten geben an wie viele Pakete fehlerfrei empfangen bzw gesendet wurden RX OK TX OK wie viele besch digt waren RX ERR TX ERR wie viele wegeworfen werden mu ten RX DRP TX DRP und wie viele aufgrund eines Overruns verlorengingen RX OVR TX OVR Die letzte Spalte zeigt wieder die Liste der Flags die f r die Schnittstelle gesetzt sind Das sind einbuchstabige Versionen der langen Flagnamen die ifconfig ausgibt Siehe Tabelle 8 1 5 auf S 82 Buchstabe Bedeutung BROADCAST LOOPBACK PROMISC NOARP POINTOPOINT RUNNING UP AwHTUOZ OO Tabelle 8 2 Flags Kapitel 9 Prozessmanagement 9 1 Einf hrung In Unix Systemen k nnen mehrere Programme gleichzeitig gestartet werden Ein Pro gramm das gerade ausgef hrt wird tr gt die Bezeichnung Prozess Das Betriebssystem verwaltet mehrere Prozesse mit einem Scheduler der die Zuteilung der CPU an die Prozes se steuert in dem er jedem ausf hrbereitem Pr
213. reitgestellt Dateien die w hrend des Betriebs ver ndert oder erstellt werden landen in einer Ramdisk und gehen bei einem Neustart verloren 6 7 Netzwerkdateisysteme Der Linuxkernel wurde bereits in einem sehr fr hen Entwicklungsstadium mit Netzwerkf higkeiten ausgestattet Der Kernel unterst tzt daher inzwischen eine ganze Reihe von Datei systemen die nicht klassischerweise auf eine lokalen Datentr ger liegen sondern ber das Netzwerk verf gbar sind Dabei kann die Linuxmaschine sowohl als Server d h Anbieter von solchen Dateisystemen als auch Client d h Bezieher dieser auftreten Als Standard zur Verteilung von Filesystemen ber TCP IP Netze gilt das zu Beginn der 90er Jahre von Sun Microsystems entwickelte und fr h auf Linux portierte Network File System NFS Derzeit werden die Versionen 2 und 3 von NFS genutzt Der neue Linux Kernel 2 6 enth lt bereits die Version 4 Jedoch ist die Implementation der Version 4 noch nicht vollst ndig Einige der vorgeschlagenen Features fehlen Neben NFS gibt es weitere Dateisysteme die zum Teil zum Standardlieferumfang einer Linux Distribution z hlen Das SMB Protokoll unter Linux auch als Samba bezeich net bietet neben der Option Teile von Dateisystemen zu im oder exportieren weitere Steuerungsaufgaben zu bernehmen Dieses Protokoll wird in Windowsnetzen auch zur Anmeldung an und Verwaltung von sogannten Dom nen eingesetzt Das Andrew Filesystem ist urspr nglich von T
214. rfen zu k nnen Mit der Einf hrung der Serverf higkeit in der Microsoft Welt geht im Gegenzug jedoch ein Teil des Komforts verloren der jedem Benutzer erlaubte wirklich alles inklusive des Total GAUs mit seinem Windows anzustellen Nun bekommt man daf r schonmal schnell ein Problem ein bekanntes Brennprogramm unter Windows XP f r Normalbenutzer bereitzustellen Mit Windows in Form der Versionen 95 98 ME hat wahrscheinlich jede r schon einmal gearbeitet Nat rlich ist Linux ein ganz anderes System Hier sollen einmal die wichtigsten Unterschiede und Besonderheiten erl utert werden Shttp www gnu org 1 4 LINUX IM VERGLEICH ZU WINDOWS DOS 5 Echtes Multitasking Linux ist ein Mehrbenutzer System das hei t es k nnen sich mehrere Benutzer einen Computer teilen und das sogar gleichzeitig Man kann n mlich an einen Computer viele Terminals anschlie en oder auch ber ein Netzwerk mit einer Termi nalemulation vom PC aus auf diesen Computer zugreifen Jeder Benutzer teilt sich CPU Rechenleistung und Arbeitsspeicher mit den anderen Benutzern und deren Programmen Wobei eine ganze Reihe von Benutzern rein virtuelle Systembenutzer sind die einfach nur f r einen bestimmten Dienst verantwortlich zeichen In Wirklichkeit sind es keine eige nen Identit ten Die Dienste werden vom Systemadministrator verwaltet laufen aber aus Sicherheitsgr nden nicht unter der ich darf alles ID Dieses Konzept findet sich ebenso b
215. riffsrechte Schreiben Lesen Ausf hren bzw Directorylisting auf Dateien oder Verzeichnissen chown ndert die Besitzer einer Datei Benutzer und Gruppe file ermittelt die Art einer Datei Text Bibliothek ausf hrbares Programm PNG Bild TeX find Suchen nach Dateien z B alle Dateien unterhalb von bin anzeigen die gr er als 100 kByte sind find bin size 100k In Anlegen von Links eine Art Verweis auf Dateien z B mit In s quelle ziel wird ein Verweis von ziel auf quelle angelegt locate Arbeitet erst nachdem mittels updatedb eine Hashtable mit allen Da teien erzeugt wurde updatedb bedient sich dabei wiederum der Hilfe von find ls Anzeigen von Verzeichnisinhalten mkdir legt Verzeichnisse an mv verschiebt umbenennt Dateien wobei die Quelle anschlie end nicht mehr verf gbar ist rm l scht Dateien oder Verzeichnisse rmdir l scht leere Verzeichnisse Nichtleere Verzeichnisse lassen sich mittels rm r entsorgen wobei gerade als Sysadmin etwas Vorsicht geboten ist touch legt eine leere Datei an oder tr gt die aktuelle Zeit auf eine Datei ein touch datei Das Kommando Is kennt die Option h um eine besser lesbare Darstellung in Mega GigaByte Angaben zu erhalten Mit der Option i gibt Is die Inode Nummer aus So kann man beispielsweise feststellen ob eine Datei ein Hardlink ist wenn sie an zwei verschiedenen Stellen im Dateisystem steht Mit dem Befehl find lasse
216. rnelprozesse gest artet welche die Netzwerkinteraktion realisieren Ausschnitt der Anzeige aller geladenen Module und AFS Prozesse linux test lsmod Module Size Used by Tainted PF Daa nls_cp437 4316 1 autoclean nls_iso8859 1 2812 1 autoclean smbfs 34384 1 autoclean snd pcm oss 45888 1 autoclean snd mixer oss 13560 0 autoclean snd pcm oss videodev 5600 0 autoclean libafs 442528 2 linux test ps aux grep afs root 2001 0 0 0 0 0 0 SW Augli 0 08 afs_rxlistener root 2003 0 0 0 0 0 0 SW Augli 0 00 afs_callback root 2005 0 0 0 0 0 0 SW Augli 0 00 afs_rxevent root 2007 0 0 0 0 0 07 SW Augii 0 00 afsd root 2009 0 0 0 0 0 0 SW Augli 0 00 afs_checkserver root 2011 0 0 0 0 0 0 SW Augli 0 01 afs_background root 2013 0 0 0 0 0 0 SW Augli 0 01 afs_background root 2015 0 0 0 0 0 0 SW Augli 0 00 afs_cachetrim AFS besitzt gegen ber anderen verteilten Dateisystem wie z B Samba oder NFS einige Vorteile Es arbeitet plattformunabh nig und verwendet zur Beschleunigung des Zugriffs auf jedem Client ein Cache von bis zu 2 GByte Dieser dient zur Entlastung des Netzwerkes zur Beschleunigung von Zugriffen und zur berbr ckung von Schwankungen da AFS auf die Verwendung in Wide Area Networks angelegt ist F r eine gr ssere Ausfallsicherheit k nnen Volumes ber mehrere Fileserver repliziert werden Der Integrationsaufwand in das jeweilige Betriebssystem f llt jedoch h her aus als f r
217. rse zum Thema Linux und Systemadministration zusammengestellt Sie sind inzwischen ein ge meinsames Projekt des Rechenzentrums der Universit t Freiburg und der mathematischen Fakult t G ttingen Einige Teile stammen aus unterschiedlichen Quellen im Netz und wurden teilweise ange passt bernommen da sie sehr gut hier hineinpassten Das Self Linux Projekt war eine gute Quelle und es bietet eine vern nftige Erg nzung zu den vorliegenden Unterlagen Lei der habe ich von vielen Stellen die URL nicht wiedergefunden so dass es keine vern nftige Quellensammlung gibt Sollte es Probleme mit den Rechten bernommener Texte geben bitte ich Sie mich einfach zu benachrichtigen Andere Teile stammen von Artikeln ab die ich irgendwann mal in der einen oder anderen Publikumszeitschrift ver ffentlicht hatte Fast alle der Textausschnitte stammen aus GPL ten Vorlagen Die GPL GNU Public License m chte ich auch auf diese Unterlagen angewandt sehen Ich habe daher nichts dagegen wenn diese Unterlagen ganz oder zum Teil f r andere Pro jekte Verwendung finden Ich m chte dann nur auf den Haftungsausschluss hinweisen und bitten die Quellen zu berpr fen und gegebenenfalls zu kennzeichnen Um Ihnen das Ko pieren zu erleichtern wurde ein anonymer CVS Zugang eingerichtet der die KIEX Quellen f r die einzelnen Kapitel bereit h lt Ich hoffe dass diese Kursunterlagen den Einstieg in das Betriebssystem Linux erleich tern Die Beispiele h
218. rt werden k nnte 6 3 DIE DATEI ETC FSTAB 53 Der zweite Eintrag bezeichnet das Verzeichnis an welches das Teilverzeichnissystem an geh ngt werden soll Durch die Reihenfolge der Zeilen in der Datei etc fstab muss sicher gestellt sein dass das Verzeichnis auf dem ein Teilsystem aufgesetzt wird auch tats chlich zu diesem Zeitpunkt bereits existiert Die Art des Dateisystems das zum Einbinden in der fstab angegeben werden kann wird in der dritten Spalte eingetragen Wenn hier auto eingetragen ist wird versucht das Filesystem vor dem Einh ngen zu erkennen Diese Angabe wird blicherweise dem Mount Kommando mit der Option t Type mitgegeben Option Bedeutung async erzwingt asynchrone IO Operationen auto erlaubt das automatische Einbinden eines Eintrages defaults entspricht normalerweise der Kombination suid rw gid Wert bei DOS VFAT und HPFS Dateisystemen wird allen Dateien die angegebene Gruppen ID zugeordnet noauto verhindert das automatische Einbinden der Partition nodev die zeichen und blockorientierten Ger tedateien in dieser Par tition werden nicht angesprochen noexec verbietet die Ausf hrung jedes bin ren Programms dieses Be reiches norock nur 1509660 schaltet die Rock Ridge Erweiterung ab nosuid unterdriickt die Wirkung der SUID und SGID Bits bei der Ausf hrung von Programmen nouser verbietet ausdr cklich die Benutzung von mount durch unpri vilegierte Systembenutzer remount v
219. rten Ein trag automatisch starten soll Wird dieser Eintrag nicht vorgesehen wartet GRUB solange bis ein Eintrag gew hlt und mit Enter best tigt wurde Da am Boot Prompt ber geeignete Kernel Commandline Options ein Linux System so gestartet werden kann dass kein Root Passwort ben tigt wird gibt GRUB die M glichkeit eine Sicherung einzubauen Mit dem Eintrag password geheim wird ein Passwort definiert mit dem sich der Zugriff auf die GRUB Konsole beschr nken l sst Dieses wird unver schl sselt in der Konfigurationsdatei abgelegt weshalb man deren Rechte so setzen muss dass nur der Systemverwalter sie lesen kann Mit gfeimage gibt man die Lage eines Hintergrundbildes f r das Boot Men im Da teibaum an Wie man an dieser Beispielkonfiguration erkennen kann benutzt GRUB f r Parameter die an den Kernel bergeben werden sollen keine separate append Zeile wie LI LO S mtliche Parameter wie vga 01317 werden direkt mit einem Leerzeichen dazwischen an den Aufruf des Kernels angeh ngt Ein nettes Feature ist die Eigenschaft von GRUB Kernel von einem TFTP Server zu la den wie es Diskless Ger te mit einem geeigneten Boot ROM k nnen Dieses setzt nat rlich voraus dass eine Netzwerkkarte in der Maschine eingebaut ist die von GRUB unterst tzt wird und mit der eine Verbindung zum TFTP Server hergestellt werden kann Folgender ma en w rde das Booten dann aussehen grub gt ifconfig adress 192 168 1 3 server 192 168 1 1 gru
220. ruckern mu man einen kleinen Trick anwenden wenn man das Filtern auf dem lokalen System erzwingen will Bei einem remoten Drucker wer den die Filteroptionen in der etc printcap n mlich einfach ignoriert Der Trick besteht darin das Dokument erst auf einen lokalen Drucker zu schicken der ber den Inputfilter auf einen remoten Drucker druckt color 1p6 y2prn_color upp auto color y2prn_color upp auto 1p dev null X Output ins Leere Input filter schiebt auf ncolor if var lib apsfilter bin y2prn_color upp auto color 10 2 3 lpq Die Line Printer Queue Das Program 1pq Line Printer Queue zeigt die Warteschlange eines Druckers an lpq Ppsout psout is ready and printing Rank Owner Job Files Total Size active root 0 user koospal plan 4221 bytes Der Ausdruck der Datei user koospal plan ist Job 0 10 2 4 Iprm Line Printer ReMove Das Program lprm Line Printer ReMove l scht einen Druckjob aus der Warteschlange eines Druckers Der folgende Befehl l scht Job 0 auf dem Drucker psout lprm Ppsout O dfA000server00 dequeued Data File cfAO000server00 dequeued Configuration File 10 2 5 Ipc Line Printer Control Das Program 1pc Line Printer Control ist ein rudiment res Kontrollprogramm f r das Drucksystem lpc stat psout psout queuing is enabled printing is enabled no entries no daemon present lpc stat zeigt den Status aller Drucker 96 KAPITEL 10 DRUCKEN 10 2 6 etc init d lpd Startskript
221. rzeichnisse ausschlie lich mit nur lesenden Zugriffrechten ro read only zusammengefasst werden Mit der Angabe der File System Translator 58 KAPITEL 6 FILESYSTEME Option t weiss Mount dass es unionfs verwenden soll Mit der Option o weist man das stapelbaren Dateisystem an wie die Schichtung genau aussehen soll und welche Verzeichnisse an der Aktion teilnehmen Die Verzeichnisse mit der Art ihres Zugriffs werden durch Doppelpunkte voneinander getrennt Der Aufruf von mount zum Einrichten eines UnionFS ist aus Sicherheitsgr nden dem Administrator vorbehalten Ein anschliessendes ls merged zeigt die vereinigten Inhalte an lp srvOla mount t unionfs o dirs layeri ro layer2 ro none merged lp srvOla ls merged file01 file02 Spannender wird dieses Szenario wenn eines der beiden Verzeichnisse mit schreibbarem Zugriff eingebunden wird So lassen sich mit mount t unionfs o dirs layeri rw layer2 ro none merged auch neue Dateien unter merged erzeugen die in Wirklichkeit dann unter layer1 abgelegt werden lp srv0la touch merged file03 lp srvOla ls merged file01 file02 file03 lp srvOla ls layer1 file01 file03 lp srvOla ls layer2 file02 Diese Art des Dateisystemstapels hilft zum Beispiel f r das schmerzfreie Ausprobieren einer neuen Software die in das Dateisystem einer Linuxmaschine installiert werden soll M chte etwa ein Admin das neue Xorg mit 3D Unterst tzung f r ei
222. rzes Kommando which Befehlnane liefert den vollst ndigen Pfad zu einem ausf hrbaren Programm wenn es sich im Suchpfad befindet Der Suchpfad wird durch die Shell Umgebungsvariable PATH bestimmt 2 4 Remote Login Execution Mit dem Kommando telnet oder rsh kann man sich auf einem anderen Rechner einloggen und den eigenen Rechner als Terminal benutzen Das Einloggen mit telnet hat den gravierenden Nachteil dass die Kommunikation zwischen den Rechnern und damit auch die Authentifizierung mit Login ID und Passwort unverschl sselt ber das Netzwerk erfolgt und daher leicht mitgelesen werden kann 2 4 1 Verbindung mit anderen Rechnern Daher sollte man die Secure Shell ssh einsetzen die eine verschl sselte Verbindung mittels eines sogenannten Public Key Kryptoverfahrens erm glicht Zum Fernadministrieren einer Linux Maschine kann man nicht nur das Text Terminal der Secure Shell verwenden sondern ber Secure Shell Verbindungen den grafischen Output von Applikationen der Remote Maschine auf den lokalen Desktop holen Der folgende Dialog zeigt den Aufbau einer Verbindung ber die Secure Shell und den Start des grafischen Editors kate Moder zu gut deutsch Bedienungsanleitungen diese Variable kann man sich durch echo PATH ausgeben lassen Achtung Die Standardumgebungsva riablen der Shell sind immer gross geschrieben 13 fiir remote Shell letzteres hat vielleicht nur noch die Bedeutung den das abgewandelte K rzel ssh
223. s Anfangsbuchstaben von S tzen zu bilden e Man sollte sein Passwort niemals aufschreiben oder weitersagen und vor dem Verlassen des Computers immer darauf achten dass man ausgeloggt ist 2 2 6 Umsehen am Kommando Prompt F r die ersten Schritte im System sollte man vielleicht einfach mal nacheinander folgende Kommandos ausprobieren um sich mit der Funktionsweise von Kommandos Shell und dem Linux System vertraut zu machen e ps Prozess Status Zeigt die gerade unter der eigenen User ID laufenden Prozes se an Mit kill ProzessID kann man einzelne Prozesse beenden Eine ausf hrliche Beschreibung der Linux Prozessverwaltung ist in Kap 9 4 auf S 85 zu finden e w Eine Art Who Liefert eine Liste der gerade am System angemeldeter Benut zer mit zus tzlichen Informationen welche Prozesse diese gerade am Laufen haben 72 B Ich stehe fast immer um acht Uhr auf zu fiu8Ua abwandeln Dieses Satz trifft zwar nicht auf den Autor dieses Textes zu bietet aber ein besseres Beispiel als zweistellige Uhrzeiten 16 KAPITEL 2 ERSTE SCHRITTE Dar berhinaus erz hlt einem das Kommando die Auslastung der Maschine wie lange sie schon l uft und von woher die Benutzer angemeldet sind e uptime Laufzeit der Maschine Ausschliesslich Informationen zur aktuellen Last auf der Maschine und die vergangene Zeit nach dem letzten Neustart e uname Name des Betriebssystems Ausf hrlichere Informationen erh lt man durch u
224. s Netz Segment eingeklinkt hat in dem man sich befindet Die Folge davon ist dass alles was man Klartext ber das Netz schickt oder was man geschickt bekommt mitgelesen werden kann Das betrifft TCP genau so wie UDP Der Hacker muss also nur warten bis sich irgend ein Benutzer auf einer anderen Maschine einloggt telnet pine ftp und dann genau die folgenden Pakete dieser beiden Maschinen mitprotokol lieren In der Folge erh lt er einen Account Namen und ein Passwort das dazu pa t Abhilfe schafft man hier durch Verwendung der ssh SecureShell und SecureCopy scp zum Kopieren von Dateien ber Rechnergrenzen hinweg Damit baut man einen verschl sselten 13 4 SICHERHEIT IM NETZWERK 127 Kanal zwischen zwei Rechnern auf dsuchod s14 gt ssh dirk0s1 goe net dsuchod s14 gt ssh 1 dirk s1 goe net dsuchod s14 gt ssh 1 dirk s1 goe net Netscape Auch wenn man dann X Anwendungen startet benutzen diese den verschl sselten Ka nal Hier spart man sich sogar gegen ber telnet das Setzen der DISPLAY Variablen Das Setzen von Umgebungsvariablen wird im Abschnitt zur Shell er rtert Im letzten der Beispiele die oben gezeigt wurden hat man sich nicht mehr auf der Maschine eingeloggt sondern nur noch ein Kommando abgesetzt welches remote ausgef hrt wird M chte man sich regelm ssig auf verschiedenen Rechnern einloggen und nicht jedesmal sein Passwort f r diese Verbindung angeben kann man einen Schl ssel auf dem ent
225. s Servers immer berlegt werden welche Dienste berhaupt notwendig sind und aus welchem Bereich der Zugriff erfolgen k nnen soll So wird z B der Webserver weltweit erreichbar sein das Login NFS bzw Samba f r den Zu griff der Webadministratoren meistens jedoch nur aus einem beschr nkten Netzwerkbereich erforderlich sein 13 4 2 Gesicherte Verbindungen Das Internet Protokoll IP und die Transportprotokolle UDP und TCP bringen keinerlei Sicherheit mit Die Pakete k nnen auf dem Transportweg verf lscht und der Inhalt leicht abgelauscht werden Hiergegen sind Vorkehrungen zu treffen die an verschiedenen Stellen der Verbindung ansetzen k nnen Ho ESP S HTTP POP cCASH SOCKS SSL PAP CHAP PPTP Tabelle 13 1 Verschiedener Ansatz von Absicherung Bekannt sind inzwischen sicherlich die Kryptosoftware zum Mailversand PGP und der Telnetersatz SSH Diese setzen an der Anwendungsschicht an Die Absicherung der Trans portschicht kann durch SSL Secure Sockets Layer erfolgen was von verschl sselten HTTP Verbindungen bekannt sein sollte IPSec setzt an der Netzwerkschicht an und soll zum einen die Herkunft der Pakete sicherstellen und zum Anderen das Mitlesen der Daten verhindern und diese vor unerkannter Manipulation sch tzen Ausf hrliche Erl uterungen zu IPsec erfolgen im n chsten Kapitel 13 4 3 ssh und scp Es ist immer damit zu rechnen dass irgendwo hinter den n chsten beiden Ecken ein Hacker sein Laptop genau in da
226. s X Protokoll realisiert durch die Trennung von Server und Client eine Schicht Architektur die einen wesentlichen Vorteil gegen ber anderen Systemen beinhaltet Das X Protokoll setzt auf dem Internet Protokoll TCP IP auf Das bedeutet dass Clients und Server auf unterschiedlichen Rechnern laufen k nnen In einem lokalen Netzwerk in dem eine rechenintensive mathematische Software nur von einem einzigen Rechner verkraftet werden kann weil alle anderen zu wenig Hauptspeicher haben kann man sich einfach von seinem Arbeitsplatz aus dort einloggen das Programm starten und es erscheint auf dem eigenen Bildschirm ohne dass man merkt dass es auf einem ganz anderen Rechner l uft Die einzelnen X Clients m ssen nur das X Protokoll beherrschen die Hardware kann ih nen relativ egal sein das ist zwar heute allgemein so aber zur Zeit der Einf hrung von X war diese Idee sehr fortschrittlich e Auf Systemen die keine grafische Oberfl che brauchen z B Webserver kann sie einfach weggelassen werden da sie ja vom Kernel unabh ngig ist das spart Speicher und Prozessorressourcen e Das grafische System kann beliebig herauf und heruntergefahren werden z B zu Kon figurationszwecken ohne das das System ver ndert oder angehalten werden muss e Die Textkonsolen arbeiten unabh ngig von der grafischen Oberfl che mit Strg Alt F1 kann man auf die erste Textkonsole umschalten Das ist z B sinnvoll falls man schnell an der Systemkon
227. s gelangt man mit ESC in den Kommandomodus Die wohl wichtigste Tastenkombination ist die zum Verlassen des Editors ohne die vielleicht versehentlich ge ffnete Datei zu schreiben Nacheinander sind ESC q zu dr cken fiir eine ausf hrliche Anleitung siehe http www selflinux org selflinux devel html vim html 3 5 EMACS 27 Tasten Funktion Tasten Funktion X Zeichen l schen Muster Suche vorw rts dd Zeile l schen Muster Suche r ckw rts w Datei sichern q gt vi lt beenden i Eingabe insert r Eingabe overwrite Tabelle 3 2 Wichtige Tastenk rzel des vi 3 5 Emacs Emacs ist wohl einer der flexibelsten Editoren unter Linux Unix Es gibt umfangreiche Un terst tzungen f r die verschiedensten Programmiersprachen und Formatierungen Der Edi tor emacs verf gt ber eine m chtige Lisp Unterst tzung f r weitestgehende Konfiguration Funktionen lassen sich entweder durch Benutzung der Maus oder durch Tastenkombinatio nen aktivieren In einer Emacs Sitzung kann man viele Dinge parallel erledigen Dateien eines Verzeichnisses umbenennen Dateien bearbeiten die eigentliche Aufgabe eines Edi tors den Compiler f r eine Programmiersprache starten Jede dieser Aufgaben erledigt Emacs in einem eigenen Daten Puffer Ein spezieller Puffer ist scratch der f r Notizen gedacht ist die nicht gespeichert werden sollen Ruft man den Emacs ohne Dateinamen auf wird per default der Puffer Scratch gezeig
228. s lookup kann in das Verzeichnis gewechselt werden Der Inhalt der Dateien kann nur dann auch gelesen werden wenn ebenfalls die Berechtigung read zur Verf gung steht Die wichtigsten Berechtigungen lassen sich zusammenfassen wie in der Tabelle zur AFS Rechtegruppierung gezeigt Ein nettes Feature ist dass Rechteinhaber im AFS selbst Verzeichnisse f r andere Be nutzer bzw Gruppen freigeben k nnen Hierzu dient zuerst einmal das Kommando pts pts creategroup dsuchod systeme group dsuchod systeme2 has id 754 pts adduser user01 dsuchod systeme fs sa testdir dsuchod systeme rliwka 6 9 DATEIARTEN Kiirzel AFS Recht a administer d delete 1 insert 1 lookup r read w write k lock Beschreibung die ACLs ndern Dateien und Verzeichnisse l schen oder verschieben Neue Dateien und Verzeich nisse anlegen Inhalt des Verzeichnis kann aufgelistet werden und ein Wechsel in dieses Verzeichnis ist erlaubt Inhalt der Dateien lesen Dazu geh rt z B auch 1s 1 ndern von Dateien Erm glicht das Ausf hren von Programmen die ber Systemcalls Dateien sperren locks Tabelle 6 4 AFS Rechteschema Zusammenfassung Beschreibung all alle Berechtigungen rlidwka none keine Berechtigung read nur lesen rl write lesen und schreiben rlidwk d h alle ausser a Tabelle 6 5 AFS Rechtegruppierung 63 Das Ergebnis des Gruppenanlegens ist einger ckt dargestellt Anschliessend kann ein User hier user01 oder mehrere
229. schied zu MS Windows Systemen Dort gibt es nur das Programm print im Kommandomodus das direkt Textdateien ausdruckt Das Kommando lpr unter Linux war urspr nglich auch nur f r Textdateien ausgelegt ist aber durch die Filteroptionen flexibel s Kap 10 2 1 1 93 94 KAPITEL 10 DRUCKEN 10 1 2 Grundlagen Das Linuxdrucksystem basiert auf einem Filtermechanismus Am Anfang steht das Doku ment am Ende das Device z B dev lp0 parallele Schnittstelle Das Druckkommando ist lpr Line Printer Der Standardrucker hei t Ip Mit lpr textdatei wird eine Text datei auf den Standarddrucker gedruckt Das entspricht dem Befehl Ipr Plp textdatei Mit export PRINTER color wird der Standarddrucker auf color gesetzt 10 2 Das BSD System 10 2 1 etc printcap Die Konfigurationsdatei des BSD Systemes ist etc printcap Mit man printcap erf hrt man wie immer einige Details ber diese Datei Die Konfiguration wird bei jedem Aufruf des Drucksystemes neu gelesen Das erlaubt eine dynamische Erg nzung ohne Neustart des Daemons Hier ein kleiner Ausschnitt aus einer etc printcap 1pll1pOltext Druckername Druckernummer Kommentar 1p dev 1p0 Schnittstelle sd var spool lpd 1p sd Spool Directory 1f var spool lpd 1p log lf Log File af var spool lpd lp acct af Accounting File la mx 0 la Local Accounting mx MaXimum file size tr sh tr TRailer String sh Surpress Header Bei einem remoten Drucke
230. sich dabei mittels Pipes hintereinanderschalten Gute Bei spiele f r die verschiedenen Situationen und deren Beherrschung bieten z B die Runlevel Skripte unterhalb von etc init d oder die Programme zur Steuerung der grafischen Benut zeroberfl che unterhalb von etc X11 xdm Kommando Aufgabe awk Eigene Programmiersprache f r zeilenorientierte Textbearbeitung z B zum Auftrennen von Zeilen cat etc passwdlawk F print 1 ce oaa 2 o 3 e o 4p cat Einfache Ausgabe von Textdateien ohne interaktive Steue rungsm glichkeit deshalb besser zur Shellprogrammierung geeignet grep Durchsuchen von Zeichenketten nach Mustern auch Regular Expressions iconv Einfacher Umkodierer Das Umwandeln einer UTF 8 Datei als Beispiel utf8 txt in eine Datei iso alt tzt nach dem alten ISO8859 1 Standard geschieht so iconv f UTF 8 t IS0O 8859 1 o iso alt txt utf8 txt Das Ergebnis kann man mit file i iso alt txt einfach berpr fen less Komfortabler Pager zum interaktiven Bl ttern innerhalb von Textdatei en Wird auch in Verbindung mit man eingesetzt Verlassen deshalb in jedem Fall mit der Taste q statt CTRL C more Einfacher Bruder von less mit weniger M glichkeiten recode Umkodieren von Textdateien von einem Zeichensatz in einen anderen Mit dem folgenden Beispiel wird die Datei test txt vom alten IS08859 1 Zeichensatz nach UTF8 umgewandelt recode latin1 utf 8 test txt sed Streameditor zum zeilenweisen Bearbei
231. so kann der Prozess von diesem Terminal Signale empfangen Solche Prozesse laufen im Vordergrund Hintergrund Prozesse sind solche deren Prozess Gruppen Id von der des Terminals ver schieden sind Sie sind daher auch immun gegen irgendwelche Signale die an der Tastatur eingegeben werden Der Begriff des Jobs ist eine Abstraktion welche von der Shell zur Verwaltung eingesetzt wird Als Job wird jede Pipeline bezeichnet aus wievielen Kommandos oder Prozessen auch man sehe sich die Ausgabe von echo PS1 an das sogenannte kaufm nnische Und bzw ampersand im englischen 36 KAPITEL 4 DIE SHELL immer sie bestehen mag Dem Job wird von der bash eine Jobnummer zugewiesen unter welcher er angesprochen werden kann Diese Jobnummer ist nicht mit der Prozess ID zu verwechseln Jede Shell implementiert Funktionen zur Jobkontrolle Ein laufendes Kommando kann mit STRG Z angehalten werden Nach dem Anhalten meldet sich die Shell mit ihrem Prompt wieder neue Kommandos k nnen eingegeben werden Das unterbrochene Kom mando kann mit dem Befehl fg Foreground wieder aktiviert werden Mit dem Befehl bg Background kann das Kommando im Hintergrund fortgesetzt werden sofern das Kom mando keine Eingabe ber die Tastatur stdin erfordert Befinden sich mehrere Prozesse im Hintergrund kann dem fg die Jobnummer folgen wie es weiter unten detailiert beschrieben wird Die komplette Liste der in einer Shell laufenden Jobs kann mittels des Komm
232. spre chenden Rechner generieren und den Public Teil in der Datei ssh authorized_keys im Homeverzeichnis unterhalb des versteckten Verzechnisses ssh speichern dsuchod s14 gt ssh keygen t dsa Mit dem Tool ssh agent kann man sich das Leben noch erleichtern Dieser fragt zu begin einer Sitzung die Passphrase f r die gesammelten Schl ssel ab und authentifiziert jede bereits einmal aufgebaute Verbindung automatisch ohne weitere Nachfrage 13 4 4 Der Intenet Super Daemon x inetd Viele Dienste die nicht sehr h ufig nachgefragt werden wie z B telnet talk und ftp m ssen nicht permanent im Hintergrund laufen und die CPU sowie den Arbeitsspeicher belasten Sie werden auf Anforderung durch den x inetd gestartet und nach Beendigung der Verbindung wieder geschlossen Der xinetd stellt die weiterentwickelte Form des inetd dar und kann die oben genannte Forderung nach der Beschr nkung des Zugriffs von sich aus erf llen In der Konfigurations datei des Dienstes der etc xinetd conf k nnen Bereiche angegeben werden von denen der Zugriff auf einen bestimmten Dienst erlaubt wird service ftp socket_type stream protocol tcp wait no user root server usr sbin proftpd server_args p 0 only_from 172 16 0 0 16 Der inetd ben tigt hierzu noch den TCP Wrapper tcpd welcher ber die Dateien etc hosts deny und etc hosts allow gesteuert wird Generell gilt nat rlich dass alle Dienste
233. ss nicht stark zu st ren werden viele Erl uterungen als Fussnoten an gef gt Auch alle Links zu den entsprechenden Webseiten sind hier zu finden 1 6 GNU und Free Software Foundation GNU Software unterliegt s mtlich dem GNU Copyright Dieses GNU Copyright ist auch als COPYLEFT bekannt da der Inhalt dieses Titels besagt dass diese Software frei ko pierbar ist nicht verkauft werden darf und dass entsprechender Quellcode ver ffentlicht H Dieses ist evtl bereits von WindowsNT 2000 XP bekannt 12Dieses wird wie auch vieles andere in einem weiteren Abschnitt ausf hrlicher behandelt IShttp www knopper net diese Spezialdistribution erregt regelm ig viel Aufmerksamkeit und liegt recht oft den Heft DVDs diverser Magazine bei Es gibt inzwischen davon abgewandelte Distributionen wie Kanotix 4Virtueller PC der 80386 Hardware in Software nachbildet 1 7 BEGRIFFSERKL RUNGEN 7 werden muss Ferner ist alles was mit GNU Produkten erstellt wird GNU Teile enth lt z B Libraries nach einem Compilevorgang selbst wieder ein GNU Produkt Ein Beispiel Meier schreibt ein nettes Programm Er kompiliert es mit dem GNU Compiler den er kostenlos bekommen hat und der GNU Libraries in das Compilat einbindet Nun ist sein Programm das Binary ebenfalls GNU Er darf es f r sich behalten oder samt Quellcode weitergeben ganz egal er darf es nur nicht verkaufen und auch niemand sonst darf es Bei einer organisierten Verteilung darf
234. ssen sich Teilbereiche der Verzeichnisstruktur nicht beliebig ein oder aush ngen Dies geschieht durch den Vorgang des Mountens bzw Unmountens Durch diesen Anmelde und Abmeldevorgang kann das Kernel Caching f r Dateien und Dateiteile recht effektiv wirken 6 2 Einh ngen und Aush ngen Das Kommando zum Aufbau der Verzeichnisstruktur bzw dem Einh ngen von Filesyste men heisst mount das Aush ngen geschieht mit umount Wegen der oben angesproche nen Problematik darf normalerweise nur der Superuser User root UID 0 GID 0 dieses Kommando ausf hren Zus tzliche Filesysteme von weiteren Festplatten CD Rom DVD Floppy ZIP werden an Verzeichnisse des Dateibaumes angehangen Standen bereits Da teien in diesen Verzeichnissen so werden diese f r den Zeitraum des Mountens verdeckt Hier ist mit Vorsicht vorzugehen damit keine systemwichtigen Daten Devices Programme Konfigurationsdateien auf diese Weise unsichtbar werden Beim Aush ngen von Filesystemen ist zu beachten dass diese nicht mehr in Benut zung sein d rfen Schon wenn man sich in einem Verzeichnis des gemounteten Ger tes oder Netzwerkfilesystems befindet ist dieses in Benutzung CD Laufwerke oder ZIP Drives las sen sich im gemounteten Falle nicht aus dem Laufwerk entfernen um einen undefinierten l 52 KAPITEL 6 FILESYSTEME Zustand der Daten Dateien zu vermeiden Aus diesem Grund sollte man auch Disketten Firewire oder USB Datentr ger USB S
235. swort berpr fung und UserID zuerst in den klassischen Dateien etc passwd und etc shadow nachgesehen werden soll bevor ein LDAP Server um diese Daten befragt wird F r die Aufl sung von Rechnernamen wird zuerst die Datei etc hosts bem ht bevor eine Anfrage an den DNS Server gestellt wird 7 7 Das umfangreichste Verzeichnis usr usr enth lt je nach Linux Distribution die umfangreichste Verzeichnisstruktur des Sy stems Hier liegt der gr te Teil der installierten Software Auf vielen Systemen befinden sich in und unterhalb von usr mehr Daten als in allen anderen Dateien zusammen Die Programmdateien sind meist in usr bin die Dienste in usr sbin abgelegt X11 bin i586 suse linux lib local sbin src X11R6 games include libexec man share tmp Im gezeigten Beispiel ist der Inhalt von usr auf einem SuSE Linux wiedergegeben tmp ist aus historischen Gr nden vorhanden und zeigt auf var tmp X11 auf X11R6 In Netzwerken an die viele gleichartige Systeme angeschlossen sind wird dieses Ver zeichnis h ufig auf einem zentralen Server gespeichert und alle anderen Computer greifen ber das Netzwerk darauf zu 7 8 Optionale Software Nicht alle Linux Distributionen machen von diesem Verzeichnis Gebrauch Unterhalb von opt sollte kommerzielle Software oder sehr gro e Programme die nicht unmittelbar zum System geh ren wie etwa KDE Gnome OpenOffice Mozilla ihren Platz finden MozillaFirefox cisco vpnclient kde3 novell O
236. t Tasten Funktion Tasten Funktion Stre g Vorgang abbrechen Stre x Strg s Buffer speichern Strg s Wort suchen Strg x Strg c Beenden Verlassen Strg Undo Strg x Strg f Datei laden Strg w Text ausschneiden Stre x Strg i Datei einf gen Strg SPC Marke setzen Strg x 1 Fenster schliessen Strg y Text einf gen Strg h m Bearbeitungsmodus F10 Men versionsabh ngig anzeigen Tabelle 3 3 Wichtige Tastenk rzel f r emacs 3 6 Aufgaben 1 Wie heisst Ihr Dein Lieblings Texteditor verordnete Standardeditor Wie kann man in diesem a Ihn verlassen ohne zu speichern b Verlassen und dabei speichern c Einen Block kopieren d verschieben e l schen 2 Wie l sche ich eine ganze Zeile in einem Schritt 3 Editieren Sie eine Datei mit dem Texteditor Ihrer Wahl Nennen Sie sie vebung1 txt und schreiben Sie in diese Datei Ihren Usernamen Zeile 1 Vollst ndigen Namen Zeile 2 28 KAPITEL 3 EDITOREN UND DATEIBETRACHTER Tauschen Sie in einem bungstext z B diesem Skript die Umlaute gegen ihre HTML Umschrift amp auml amp uum aus Man h nge an die bungsdatei den ver nderten bungstext in Teilen an Man schreibe einen Textblock aus zwei Zeilen und kopiere diesen zehn mal Wie h ngt man am besten die ersten zehn der etc passwd an den Anfang der Datei uebungl txt Kapitel 4 Die Shell 4 1 Einleitung Sehr viele administrative Aufgaben laufen unter Unix Linux durch Skripte Diese Skrip
237. t Eingehende re Informationen zu einzelnen Kerneltreibern und Funktionen sowie weitergehende Hinweise findet man unterhalb von Documentation So sind z B ein aktueller C Compiler gcc und die aktuellen Bin und Modutils depmod Voraussetzung f r eine erfolgreiche Kompi lation 12 5 Konfiguration des Kernels Zur Konfiguration des Kernels stehen mehrere M glichkeiten zur Verf gung Die lteste Methode jedoch auch die am wenigsten komfortable wird mit make config aufgerufen Es sind dann nacheinander die Einstellungen vorzunehmen wobei in den meisten F llen die Fragen mit y es oder n o beantwortet werden Die Defaultoption ist durch einen grossen Buchstaben symbolisiert Kann ein Modul erzeugt werden welches dann sp ter dy namisch in den Kernel nachgeladen werden kann wird der Buchstabe m odule zus tzlich aufgef hrt Die Konfiguration wird im Rootverzeichnis der Kernelsourcen in der Datei config ab gelegt Wenn bereits eine ltere Konfiguration existiert so wird diese beim Erstellen der neuen nach config old kopiert Diese Datei kann als Grundlage f r eine neue Konfigurati on dienen Man kopiert sie aus dem Verzeichnis der lteren Kernelsources in das aktuelle und ruft make oldconfig auf Es werden dann nur noch Optionen abgefragt die im alten Kernel noch nicht existierten oder ver nderte Einstellungen haben Bei weitem komfortabler ist make menuconfig welches als erstes ein nettes Textfron tend kompiliert welch
238. t Datei gt lt Verzeichni gt kopiert tats chlich eine Datei Diese Datei existiert dann zweimal im Gegensatz zu mv Nat rlich kann man auch einfach den Befehl cp lt alteDatei gt lt neueDatei gt ausf hren wenn man eine Datei zweimal in einem Verzeichnis haben m chte 7 3 Dateiablagestandards Es gibt nicht das klassische Konzept f r eine Filehierarchie der freien Unixe fr her ori entierte sich die Struktur am System V Unix Release 4 Seit einiger Zeit gibt es einen Filesystemhierarchiestandard FSHS der Mitte diesen Jahres in einer aktualisierten Ver sion ver ffentlicht wurde Die meisten neueren Linuxdistributionen halten sich an diesen Zwei Hauptkriterien der Verteilung der Dateien spielen im FSHS eine Rolle verteilbare vs lokale und variable vs statische Daten Die Idee dieser Einordnung entstammt dem Wunsch Teile des Filesystems zentral auf einem Server im Netzwerk zur Verf gung stellen zu k nnen 70 KAPITEL 7 ZUGRIFFSRECHTE UND VERZEICHNISSTRUKTUR C TVerteilbar Kohl var mail var spool var log var run Tabelle 7 2 Aufteilung des Dateisystems 7 4 D monen Im Unterschied zu anderweitigen Prozessen die stets an ein Dialogstation tty und Benut zer gekoppelt sind und je nach Aufruf im Vorder oder Hintergrund laufen werden D monen meistens automatisch beim Hochfahren des Systems ber die Runlevelskripte gestartet Sie sind nicht an eine Konsole gebunden und schreiben deshalb ihre Meldunge
239. t ist vi kann man als den Standard Unix Editor bezeichnen Ihn findet man auf allen klassischen Unixsystemen vor Nichtbenutzer sollten zumindest wissen wie man ihn wieder verl t mit Esc dann und dann q Unter den diversen grafischen Benutzeroberfl chen existieren jeweils etliche Editoren mit mehr oder weniger gelungener Benutzerschnittstelle Mit xemacs und gvim stehen jeweils grafisch orientierte Vertreter ihren textorientierten Vorlagen gegen ber KDE kennt daneben weitere wie kedit kate kwrite hnlich sieht es unter Gnome aus Andere Editoren verwenden wiederum andere Grafikbibliotheken so dass sich jeder Anwender den passenden Editor heraussuchen k nnen sollte Die Bedienung der einzelnen Editoren weicht dabei stark voneinander ab wobei die hnlichkeit jeweils zwischen der grafischen und der Textausgabe eines Editors wie vi am gr ten sind Etliche Editoren eignen sich gut f r die Programmierung in den diversen Sprachen der Shell oder XIX da sie ber ein gutes Syntax Highlighting verf gen 136 KAPITEL 14 WICHTIGE KOMMANDOS 14 1 7 Operation auf Textdateien In vielen F llen will man f r regelm ig auftretende Aufgaben oder f r die gleichzeitige Anwendung auf viele Dateien nicht jedesmal einen interaktiven Editor ffnen m ssen F r diese Tasks bietet sich die Shellprogrammierung gemeinsam mit den nachstehend genannten Standard Tools f r die Bearbeitung von Textdateien an Viele Kommandos lassen
240. t oben auf der Liste der Super computer 15 1 4 Kosteng nstiges X Terminal Wenn man nur das Grundsystem ohne C Compiler TeX usw plus XFree86 installiert oder die Maschine per Boot ROM direkt aus dem Netz bootet so erh lt man ein X Terminal zu einem unschlagbarem Preis Da die Leistungsanforderungen recht gering sind kann man bereits mit lteren 586ern mit 24 32 MByte RAM unter der Voraussetzung einer vern nftigen Grafikkonfiguration recht gut arbeiten So l sst sich auch ltere Hardware noch nutzbringend weiterverwenden 15 1 5 Linux Diskless Client Aus Gr nden der Kostenersparnis erfreuen sich in den vergangenen Jahren Systeme einer wachsenden Beliebtheit die Administratoren bei den Routinearbeiten der Einrichtung und des Betriebs von Rechnernetzen unterst tzen Einen entscheidenden Ansatz zur Vereinheit lichung und Automatisierung des Rechnerbetriebes bilden Thin Clients Dieser Rechnertyp versucht durch Reduktion der Hardware und durch Zentralisierung im Betrieb Kosten in mehreren Dimensionen zu reduzieren Der Ansatz arbeitet im Bootvorgang analog zu X Terminals erlaubt dann aber auch direktes Arbeiten auf der Maschine mit dem vollen Komfort eines Linux Desktops 15 1 6 Fileserver Linux arbeitet mit den meisten g ngigen Betriebssystemen gut zusammen und eignet sich deshalb hervorragend als Fileserver Unter Unix kann das NFS benutzt werden f r Win dows steht Samba zur Verf gung die Anbindung an die Macintosh W
241. t werden soll Soll ein Dienst in einem Runlevel nicht verf gbar sein so gibt es einen Softlink auf das entsprechende Skript der mit einem K beginnt Diese Skripte K werden mit dem Parameter stop ausgef hrt der Dienst wird dann gestopt Unter den SuSE Distributionen wird der Eintrag von Diensten in die entsprechenden Runlevel mit dem Programm insserv erledigt SuSE Linux verwendet nicht alle Runlevel wobei die folgenden Runlevel standardm ssig zur Verf gung stehen und nachstehende Bedeutung haben dieses kann von anderen Linux distributionen abweichen 9 3 D MONEN 85 Single User Mode Halt des Systems Single User Mode ohne Netzwerk ohne X Multiusermode ohne Netzwerk ohne X Multiusermode mit Netzwerk ohne X Multiusermode mit Netzwerk und grafischer Oberfl che Reboot Tabelle 9 1 Runlevel Den aktuellen Runlevel kann man sich mit dem Befehl runlevel anzeigen lassen Wobei nur der Init Prozess daf r sorgt dass die Programme die in der etc inittab angegeben sind permanent laufen wenn sie ber eine g ltige Konfiguration verf gen Ist man erstmal in einem bestimmten Runlevel so k nnen bereits weitere Dienste von Hand nachgestartet oder gestoppt werden hier reagiert das System nicht automatisch 9 3 D monen Im Unterschied zu anderweitigen Prozessen die stets an ein Dialogstation tty und Benut zer gekoppelt sind und je nach Aufrufim Vorder oder Hintergrund laufen werden D monen meistens automatisch
242. te sind blicherweise Batches von Programmabfolgen und Kontrollstrukturen die von der Shell interpretiert werden M chte man berpr fen welche Rechner gerade in einem be stimmten Netzwerkbereich erreichbar sind kann das z B durch folgendes Skript geschehen declare i i i 0 while i lt 255 do ping c1 w1 172 16 20 i 1 gt dev null amp amp echo 172 16 20 i is alive i i 1 done Die Init Skripte zum Starten und Stoppen von Diensten sind ebenfalls Batches von Kom mandos die im Shell Kontext ausgef hrt werden hier exemplarisch ein Ausschnitt aus der etc init d nfsserver case 1 in start PARAMS 3 test USE_KERNEL_NFSD_NUMBER gt O amp amp PARAMS USE_KERNEL_NFSD_ NUMBER echo n Starting kernel based NFS server usr sbin exportfs r rc_status usr sbin rpc nfsd PARAMS rc_status startproc usr sbin rpc mountd rc_status v stop echo n Shutting down kernel based NFS server usr sbin exportfs au killproc n KILL nfsd lengl Stapel urspr nglich von der sequenziellen Programmabarbeitung mit Lochkarten 29 30 KAPITEL 4 DIE SHELL rc_status killproc TERM usr sbin rpc mountd rc_status v gt some more lines echo Usage 0 start stoplstatus try restart restart force reload reload exit 1 gt esac rc_exit 4 2 Einige Bash Grundlagen 4 2 1 Die Standardshell An dieser Stelle soll nur kurz auf die Linux Standard Shell die Bourne Again Shell bash e
243. teanbieter im klassichen TCP IP Client Server Modell d h er stellt meistens zentral bestimmte Funktionalit ten wie Mail File und Webdienste oder Applikationen zur Verf gung Benutzer k nnen sich an einem Server anmelden werden aber nur in den seltensten F llen physisch vor dem Ger t sitzen Shell engl f r Muschel Nach dem Einloggen befindet man sich in einer Shell Dies ist ein Programm das zwischen dem Benutzer und dem System arbeitet Von dieser Aufgabe dem Benutzer eine abgeschlossene Arbeitsumgebung zur Verf gung zu stellen stammt der Name Innerhalb der Shell hat man die M glichkeit Befehle und Programme aufzurufen Zudem verf gt jede Shell ber eine Programmiersprache so dass Skripte zur Arbeitserleichterung geschrieben werden k nnen SSH Secure Shell zur Verbindung zu einem anderen Rechner Diese ist dem Telnet auf jeden Fall vorzuziehen da sie verschl sselt erfolgt Das Programm auf der Serverseite heisst blicherweise sshd die Clientapplikation ssh Telnet Eines der ersten Protokolle der TCP IP Suite um sich an entfernten Rechnern anmelden zu k nnen Telnet verwendet als Transportprotokoll TCP und arbeitet auf Port 21 Der Daemon d h der Hintergrundprozess der den Telnet Dienst auf einem Rechner anbietet heisst blicherweise in telnetd und wird meistens ber den Internet Super Daemon x inetd gestartet Die Clientapplikation heisst einfach telnet X Server realisiert die Schnittstellen f r das Gra
244. tei var log messages ansehen Dazu benutzt man z B das Programm less Man tippe also einfach mal le und die Tabulator Taste zweimal Nun werden einige Programme angezeigt welche mit der besagten Buchstabenkombination beginnen Nun tippe man so lange weitere Zeichen ein bis die Eingabe eindeutig ist in diesem Bei spiel sollte ein zus tzliches s dem geforderten Zweck gen gen Jetzt tippe man nochmals die TAB Taste und der Befehl wird erg nzt Was bei Befehlen vielleicht noch etwas banal aussieht wird bei langen Dateinamen mit kryptischen Zeichen sehr schnell zu einer gro en Erleichterung Neben dieser Funktionalit t beherrscht die Bash weitere Komplettierungen Wozu die bash den begonnenen Namen zu vervollst ndigen sucht h ngt von der get tigten Eingabe ab Wenn die Eingabe mit einem beginnt so versucht die Bash einen Variablen namen daraus zu machen Beginnt die Eingabe hingegen mit einer Tilde so versucht sie einen Benutzernamen zu bilden Beginnt sie mit versucht sie die Eingabe zu einem Hostnamen zu vervollst ndigen Wenn keine dieser Bedingungen zutrifft sucht die bash 4 2 EINIGE BASH GRUNDLAGEN 3l nach einem Alias oder Funktionsnamen Selbstverst ndlich muss der Name zu dem die bash vervollst ndigt sei es nun eine Variable ein Benutzername ein Hostname ein Alias eine Funktion oder ein Pfad auch wirklich existieren Wenn alle Versuche eine passende Vervollst ndigung zu erreichen fehlschlage
245. teimanager ein Fenstermanager ein Hilfesystem ein Konfigurationssystem unz hlbare Werkzeuge und Hilfsprogramme und eine weiter ansteigende Anzahl von Anwendungen KDE ist freie Software und steht unter der GNU General Public License GPL Alle KDE Bibliotheken sind unter der LGPL Lesser GPL verf gbar die eine kommerzielle Softwareentwicklung f r den KDE Desktop erm glicht Aber alle KDE Andwendungen sind unter der GPL lizensiert KDE verwendet das Qt TM C crossplatform toolkit das auch unter der GPL ver ffentlicht wurde Bei Qt TM handelt es sich um eine C basierte Klassenbibliothek zur Erstellung von Benutzereingaben Es ist ein Produkt der Firma Trolltech die letzte Version ist auf immer auf deren FTP Server 7 Au erdem ist Qt TM in den meisten aktuellen Linuxdistributionen enthalten KDE bietet dem Benutzer zur Systemkonfiguration das KDE Kontrollcenter mit dem die Desktopumgebung leicht auf dessen Bed rfnisse angepasst werden kann auch sprach und l nderspezifische Einstellungen k nnen hier vorgenommen werden Als Dateiverwal tungswerkzeug ist der Konqueror in KDE enthalten dieser kann u a auch als Webbrowser und FTP Client verwendet werden Es gibt verschiedene M glichkeiten unter KDE Software zu entwickeln Zum einen ist es m glich Freeware mit Open Source unter der GPL zu entwickeln Auch f r die Entwicklung von kommerzieller Software sind M glichkeiten vorhanden Mithilfe der KDE Bibliotheken k nnen kommerzie
246. teme werden auf ein bergeordnetes virtuelles Filesystem abgebildet wel ches eine Reihe von Standarddateisystemfunktionen verf gt Dieses bersetzt die Anfor derungen seitens der Programme ber den Kernel in die entpsrechenden Funktionen des gerade zur Verf gung stehenden Filesystems Dabei kann es durchaus vorkommen dass be stimmte Funktionen nicht zur Verf gung stehen und dann in irgendeiner mehr oder weniger passenden Form emuliert werden Die Filesysteme die vom laufenden Linux Kernel einer Maschine angesprochen werden k nnen incl der aktuell geladenen Module f r die FS Unterst tzung kann man durch das Auslesen der Datei proc filesystems ermitteln M chte man bei der auto Option des Mountkommandos z B mount t auto dev fd0 floppy wenn man nicht genau weiss ob die Diskette DOS Minix HFS formatiert ist weitere Dateisysteme unterst tzen deren Module evtl noch nicht geladen sind tr gt man diese in der etc filesystems ein Die Module werden dann zum Test auf das entsprechende Format geladen und die Filesysteme in der Reihenfolge in dieser Datei durchprobiert 6 4 2 Ext2 und Ext3 Filesysteme Das Extended Secondary Filesystem hat jahrelang als Linux Standard Filesystem domi niert Es ist schnell und effizient hat aber den gravierenden Nachteil dass wenn es nicht regul r abgeschlossen wird z B durch umount beim n chsten Mounten eine Konsistenz pr fung durchgef hrt wird Diese wird durch das Program
247. ten X Server der mit 0 bezeichnet wird Die Addition der Display Nummer ermittelt den jeweils g ltigen Port d h im beschriebenen Fall wird der zweite Server auf Port 6001 gestartet 106 KAPITEL 11 GRAPHISCHE OBERFL CHE 11 3 Desktop Environments 11 3 1 berblick Zum sinnvollen Betrieb einer grafischen Benutzeroberfl che unter Linux reicht es nicht aus einen X Server zu installieren Neben den eigentlichen Anwendungen wird auch ein geeig netes Desktop Environment ben tigt welches u a einen Windowmanager mitbringt und weitere Features realisiert Das X Window System selbst stellt nur ein ge ffnetes Fenster f r jedes Programm dar ohne irgendwelche Rahmen Buttons und Verzierungen Was macht ein modernes GUI Graphical User Interface aus Funktionen wie Copy amp Paste Kontextmeniis einheitliches Look amp Feel Drag amp Drop Desktop Panel alles Dinge die X selbst nicht bereitstellt Dazu wurden die Desktop Environments oder Deskto pumgebungen ins Leben gerufen Desktopumgebungen bringen dar berhinaus eine ganze Ansammlung n tzlicher Anwendungssoftware bereits mit z B Web Browser Office Paket Spiele Editor und bilden somit ein ganzes Software B ndel Zudem verwenden sie ein heitliche Grafikbibliotheken GUI Toolkits mit denen diese Anwendungen programmiert sind Diese Toolkits machen das Aussehen f r den Anwender gef lliger und nehmen dem Programmierer eine Menge Arbeit ab Eine Desktopumgebung ist der
248. ten von Strings z B zum Austauschen des Trennzeichens gegen ein Leerzeichen cat etc passwdlsed e s g sort Sortieren von Ausgaben eines Kommandos oder einer Datei wc WordCount zum Z hlen von Zeilen und W rtern 14 1 8 Textsatzsystem und Darstellung Dieses Skript wurde mit Hilfe von TFX erstellt welches einen ziemlich anderen Ansatz als bekannte Textverarbeitungsprogramme w hlt Der zu formatierende Text wird in einem ein fachen Texteditor nach Wahl erstellt und mit Formatanweisungen versehen Dieses Konzept kann vielleicht mit HTML verglichen werden Anschliessend wird dieser Rohtext mit dem Kommando latex kompiliert und in ein Device unabh ngiges Format umgewandelt Die dvi Dateien kann man sich mit DVI Viewern z B bf xdvi kdvi ansehen Die im Fol genden genannten Befelhe gelten nat rlich f r jede Datei unabh ngig vom Textsatzsystem LTEX 3Es ist ein gemeinsames Projekt des Lehrstuhls f r Kommunikationssysteme mit dem Mathematischen Institut in G ttingen siehe hierzu auch http www ks uni freiburg de projekte las Das Skript ist frei verf gbar und kann von Interessenten mit cvs vom Server in G ttingen bezogen werden device independent 14 2 SYSTEMPROGRAMME 137 Kommando Aufgabe dvips Umwandlung von DVI Dateien nach Postskript latex Erweiterter Textsatzkompiler der auf Donald Knuth TeX basiert und DVI Dateien generiert makeindex Generieren einer Indexdatei welch
249. thaltene Funktionen an patch f gt durch diff erstellte Differenzdateien in eine Datei oder ein Verzeich nis ein strace Verfolgen von Systemaufrufen zum Debugging von Programmen analog zu ltrace strings zeigt in einem Programm oder einer Bibliothek enthaltene Textstrings an Kapitel 15 Installation 15 1 Einsatzbereiche Linux ist in einem weiten Anwendungsbereich einsetzbar Je nach Anwendungsziel und Einsatzgebiet stellt es unterschiedliche Forderungen an Hardwareausstattung und Festplat tenplatz 15 1 1 Router Gateway Die mit dem Kernel mitgelieferte umfangreiche Firewall und Routingfunktionalit t macht einen Linuxrechner zu einem geeigneten Router f r kleinere und mittlere Netzwerke Dar berhinaus k nnen solche Systeme ausgefeilte Sicherheitskonzepte realisieren Je nach Anwendungsbereich ist die Hardware zu dimensionieren Ein lterer 586er mit 32MB RAM und 1 GByte Festplattenplatz reicht f r ein kleines Firmen oder Privatnetz aus um mehrere Rechner hinter einer maskierenden Firewall an einem Modem ISDN oder ADSL Anschluss als Internetgateway zu betreiben Dieser Rechner kann dabei gleichzeitig noch Aufgaben als DNS und DHCP Server bernehmen M chte man ein ausf hrliches Logging einschalten so sollte eine eigene Festplatte oder ein Plattenbereich daf r vorgesehen werden Erg nzt werden kann ein solches System durch einen Web und FTP Proxy wie z B squid um den Webzugriff zu beschleunigen und die eventuell
250. tick Firewire Festplatte Flash Karten etc aus mounten oder auswerfen mit eject bevor man sie aus dem Laufwerk entfernt Beispiel zum Ein und Ausmounten des CD Laufwerkes hier als Secondary Master am ATAPI Bus mount t iso9660 o ro dev hdc mnt cdrom Die Optionen t und o k nnen gegebenenfalls weggelassen werden Wenn ein entsprechender Eintrag in der Datei etc fstab vorhanden ist reicht ein einfaches mount mnt cdrom Zum Ausmounten umount dev hdc oder umount mnt cdrom Man kann das Ausmounten und Auswerfen eines Da tentr gers durch das Kommando eject kombinieren eject dvd wirft den Datentr ger mit dem String dvd im Device Namen soweit vorhanden aus Eine Voraussetzung besteht auch hier Das Ger t darf sich nicht mehr in irgendeiner Form in Benutzung befinden Linux ist f r die Ablage von Dateien nicht auf ein bestimmtes Filesystem festgelegt dieses muss aber bestimmte Eigenschaften mitbringen welche sich z B aus dem Zugriffs rechtesystem von Linux Unix ergeben Seit den Kernelversionen 2 4 X besteht die M glichkeit mittels mount eine Art Link im Dateisystem zu etablieren So kann man z B die beiden Verzeichnisse tmp und var tmp auf eines zusammenfassen ohne symbolische Links zu verwenden Mit mount bind tmp var tmp macht man tmp zus tzlich auf var tmp verf gbar Dieses Verfahren arbeitet lokal bei einem Transport ber NFS funktioniert diese Verkn pfung nicht 6 3 Die Datei etc fstab In der etc
251. tition und even tuelle weitere Einstellungen eintragen 4 boot Den spezifizierten Kernel booten Manchmal kann es sehr n tzlich sein den Bootloader auf einer Diskette zu haben Dazu sind folgende Schritte auf dem Ausgangssystem oder einem anderen beliebigen Linux Rechner mit installiertem Grub notwendig root balisto fdformat dev fd0 root balisto mke2fs dev fd0 root balisto mount t ext2 dev fd0 misc floppy root balisto cp a boot grub misc floppy root balisto grub install root directory misc floppy d0 root balisto umount misc floppy Mit diesem Schritt kopiert man zwar noch den alten Second Stage Bootloader der Altinstal lation Dieses bereitet aber keine Probleme wenn man sowieso nur auf die Commandline der Grub Shell zugreifen m chte Wenn diese von der Diskette geladen wurde kann es wie oben beschrieben weitergehen Die Diskette k nnte noch um einen Minimalkernel mit Ram disk erweitert werden solange es deren Speicherplatz hergibt Bei der Installation muss man h llisch aufpassen grub install root directory misc floppy fd0 liest ob das nun Sinn macht oder nicht die etc mtab aus um das Root Device festzustellen Gerade nach dem Kopieren der Festplatte und dem noch nicht erfolgten Umh ngen steht hier unter Umst nden Mist drin was Grub von der Installation abh lt 12 6 3 Der Linux Loader lilo Der Linux Boot Loader ist das klassische Werkzeug zum Starten ein
252. ts ACLs die anstelle der Unix Rechte Bits auf Verzeichnisebene zum Einsatz kommen Jeder Benutzer kann eigene Gruppen erzeugen und verwalten Wenn ein normaler Benut zer ohne Systemrechte eine Gruppe erzeugen will muss er als Pr fix seinen eigenen Namen verwenden Dieses kann so aussehen user group Ausserdem sind die folgenden drei System Gruppen schon definiert system anyuser system authuser und system administrators diese Gruppen sind in allen AFS Systemen vorhanden system anyuser sind alle Benutzer mit oder ohne g ltigem Token system authuser alle Benutzer mit g ltigem Token und sy stem administrators Benutzer mit Administrator Privilegien Eine weitere Eigenschaft von AFS ist dass es einen eigenen Login f r die Freigabe seines Inhaltes ben tigt NFS in den Versionen 2 und 3 arbeitet mit einer IP basierten Freigabe die wenig Einschr nkungen gegen geplanten Missbrauch bietet Durch die Verwendung von Kerberos 4 bzw 5 Authentifizierung kann es deshalb bedenkenloser als andere Netzwerk dateisysteme zur weltweiten Verteilung eingesetzt werden Kommando Beschreibung kpasswd wird benutzt um das AFS Passwort zu ndern klog Erwerben eines Tokens tokens berblick der g ltigen Tokens pts kann Benutzer und Gruppen anzeigen und verwalten fs kann ACLs und Quotas anzeigen verwalten Tabelle 6 2 Einige wichtige AFS Kommandos Mit der Authentifizierung gegen ber AFS beim Login ber PAM oder durch das Kom mando klog lt afs
253. tx NFSROOT TEST NARG 1 C NARG NARG 1 33 expx NET TEST NARG 1 NARG NARG 1 esac NARG NARG 1 done Die until Schleife ist das Gegenstiick zur while Schleife Die ebenfalls aus vielen anderen Sprachen bekannte fu gesteuerte Schleife bin sh until Bedingung do Befehle done Mit einer for Schleife k nnen einer Z hlvariable der Reihe nach verschiedene Werte ge geben werden Der K rper dieser Schleife wird so lange ausgef hrt bis der letzte verf gbare Wert zugewiesen wurde in dieser Variable kann anstelle von Zahlen auch eine Liste von Dateinamen oder anderes stehen 48 KAPITEL 5 SHELLPROGRAMMIERUNG for i in123456789 10 do echo i done Es gibt weitere Kommandos zur Schleifensteuerung Man benutzt continue um die restli chen Befehle in einer Schleife zu berspringen und mit dem n chsten Schleifendurchlauf an zufangen Wenn der Parameter n angegeben wird werden n Schleifenebenen bersprungen Mit break kann man die innerste Ebene bzw n Schleifenebenen wenn der Parameter n angegeben wird verlassen ohne den Rest der Schleife auszuf hren 5 3 Weitere Interpretersprachen Vielfach finden in der Shellprogrammierung die Tools awk und sed Anwendung awk ist eine eigene Sprache sed steht f r Stream Editor Die Kombination aus verschiedenen Programmen und die Verkn pfung des Ausgabekanals des einen Kommandos mit dem Ein gabekanal des n chsten machen die Shell se
254. ue 84 Job 41 Jobkontrolle 42 jobs 42 Journalf higkeit 65 Journaling Filesystem 65 JFS 65 ReiserFS 65 XFS 65 KDE 4 Kernel 4 Kernelmodul 89 Kommando 18 22 Kommandointerpreter 16 18 56 Kommandozeile 18 Konfigurationsdatei 8 31 61 82 84 Konsole 84 Kontrollstruktur 35 last 20 ld so conf 89 LDAP 5 89 LDAP Server 85 ldconfig 89 less 31 Linus Torvalds 4 Linux 153 kernel 4 Linux Distribution 5 Login 17 19 22 24 48 84 login defs 84 ls 20 81 man 23 24 Man Page 24 mc 22 MINIX 64 more 31 motd 84 mount 37 61 Multitasking 6 mv 81 MySQL 89 Namensraum 70 Netzwerk Dateisystem 69 NES 64 70 NTFS 64 openoffice 37 Pager 31 PAM 89 passwd 82 Passwort 83 passwd 82 shadow 83 PATH 88 Perl 10 56 Pfad 70 Porgrammbibliothek 74 profile 18 40 84 Programm 31 Programmbibliothek 88 Programmierung 53 Prompt 36 Prozess 17 20 48 74 82 ps 20 pwd 20 Python 56 Quelltext 4 6 Rechnername 37 ReiserFS 64 resolv conf 84 rmdir 81 154 Rom FS 64 RPM Datenbank 22 Runlevel 82 Samba 4 69 70 Schleifen 53 securetty 84 sed 88 Service 31 shadow 82 Shadow Datei 83 shared libraries 88 Shell 17 18 shells 84 Sicherheitskonzept 79 skel 84 Skript 35 Sonderzeichen 19 40 sort 39 Source Code 6 Standardausgabe 38 Standardeingabe 38 Standardfehlerkanal 38 String 10 50 83 Stringverarbe
255. uordnung 104 KAPITEL 11 GRAPHISCHE OBERFL CHE VNC Display TCP X11 Display TCP Port Port 0 1 Display wenn kein 5900 0 1 Display Standard 6000 X11 l uft 1 1 Display wenn X11 5901 1 2 Display oder Xnest 6001 l uft 2 weiterer VNC Server 5902 2 3 Display 6002 5903 gt 6003 Tabelle 11 1 Standard Ports f r VNC und XFree86 Server Aus Sicherheitsgr nden legt man ein Passwort f r den Zugriff fest Beim Erststart wird die Abfrage von vncserver selbst bernommen sp ter kann dazu das Kommando vn cpasswd verwendet werden Das VNC Passwort ist komplett unabh ngig von irgendwel chen System oder Accountpassw rtern Es wird verschl sselt in der Datei vnc passwd abgelegt F r einen ersten Test greife man lokal auf die laufende VNC Sitzung zu Dazu setzt man an der Konsole das Kommando vncviewer localhost 1 ab wobei 1 eventuell durch die richtige Display Nummer zu ersetzen ist Dann erscheint nach korrekter Eingabe des gesetzten VNC Passworts der neue Desktop in einem eigenen Fenster Der VNC Server f hrt nach dem Start das Skript unc zstartup aus diese Datei sollte also an die eigenen Bed rfnisse angepasst werden Wenn vncviewer ohne Argument gestartet wird dann folgt die Frage nach dem Server zusammen mit der Display Nummer Im Gegensatz zu X11 kann VNC mehrere Clients auf einen Server zulassen Der einfach ste Weg um das zu erreichen ist den Server in der Betriebsart always s
256. username gt erh lt der angemeldete Benutzer ein Token Dieses Token gestattet den Zugrif auf das AFS Filesystem Das Token hat aber nur eine begrenzte G ltigkeitsdauer Nach Ablauf der G ltigkeit ist der Zugrif auf die AFS Dateien wieder gesperrt Mit dem Befehl tokens kann man anschauen welche Token gerade gehalten wer den und wie lange die einzelnen Token noch g ltig sind Die Syntax der AFS Kommandos ist etwas ungewohnt daim Gegensatz zu den Standard UNIX Kommandos die AFS Kommandos nicht nur einem Zweck dienen sondern mehrere Kommandos zu sogenannten Command Suites zusammenfassen Die Syntax ist bei allen AFS Kommandos identisch command_suite operation_code switch lt value gt flag Zur Anzeige der Rechte auf ein AFS Verzeichnis nur auf diese k nnen AFS Rechte gesetzt werden auf einzelne Dateien nicht verwendet man folgendes Kommando 62 KAPITEL 6 FILESYSTEME Kommando Beschreibung fs help erkl rt alle zur Verfiigung stehenden Optionen fs lq dir zeigt definiertes Quota f r ein Verzeichnis an fs la dir listet die gesetzten Rechte fs sa dir juser rights setzt Rechte f r ein Verzeichnis fsq Prozentangabe der Quotaauslastung Tabelle 6 3 Setzen und Ansehen der Zugriffsrechte dirk lsfks02 afs uni freiburg de www ks htdocs systeme gt fs la Access list for is Normal rights webadmins rlidwka system administrators rlidwka www rl www ks rl dsuchod rlidwka Die Ausgabe zeigt dass die Benutzer
257. usgabe von Variableninhalten z B echo PATH meldet die ak tuelle Liste des Suchpfades f r ausf hrbare Programme export zeigt alle definierten Variablen an die an Subshells weitergereicht werden Untermenge von set help liefert eine Liste der in der aktuellen Shell zur Verf gung stehen den eingebauten Kommandos history gibt eine Liste der am Prompt abgesetzten Kommandos an pwd meldet das aktuelle Arbeitsverzeichnis set zeigt alle in der aktuellen Shell definierten Variablen an which meldet die Lage von ausf hrbaren Programmen Dazu wird im Bereich der in PATH angebenen Verzeichnisse gesucht Die shelleigenen Befehle machen die Kommandozeile erst zu einem m chtigen Werkzeug Viele Skripten sind sogenannte Shellskripten Diese sind Stapel von nacheinander aus gef hrten System oder Shellkommandos Hier liefern die shelleigenen Befehle den Kitt der h ufig ein Systemkommando erst sinnvoll in ein Skript einbinden hilft 14 1 3 Shelleigene Strukturen und Schleifen Die Unix Shell kann durchaus mit einer Interpreter Programmiersprache wie Perl oder Py thon verglichen werden Sie kennt Variablen Kontrollstrukturen und Schleifen die bereits fest eingebaut sind Kommando Aufgabe break bricht eine Schleife ab case Switchanweisung in der Shell continue bricht nur den aktuellen Schleifendurchlauf ab declare erlaubt Nicht String Variable in der Shell zu definieren z B declare i n erzeugt die Ganzzahlvariable
258. weisung ist sehr einfach varO1 test legt eine Variable des Namens var01 an und weist dieser den Wert test zu wobei ohne weitere Angaben von einer Stringvariablen ausgegangen wird Mit Integervariablen Zuweisung bei declare mit der Option i kann auch gerechnet werden Die einfache Addition Subtraktion Multiplikation und Division mit Rest sind direkt implementiert wie das nachfolgende Beispiel demonstriert user linux05 gt declare i I 10 user linux05 gt declare i J 0 user linux05 gt declare i K user linux05 gt K I J user linux05 gt echo K 10 user linux05 gt I 2 user linux05 gt J 20 I user linux05 gt echo J 40 user linux05 gt K J 1 user linux05 gt echo K 20 5 1 VARIABLEN 43 user linux05 gt I 3 user linux05 gt K J I user linux05 gt declare i R user linux05 gt R J 1 user linux05 gt echo Ergebnis Div K Rest R Ergebnis Div 13 Rest 1 Kompliziertere Ausdr cke lassen sich mittels des externen Kommandos bc berechnen Option Funktion TEST1 a TEST2 Verkn pfung zweier Tests b Datei Datei existiert und ist blockorientiertes Ger t c Datei Datei existiert und ist zeichenorientiertes Ger t d Datei Datei existiert und ist Verzeichnis f Datei Datei existiert und ist regul re Datei kein Link etc g Datei Datei existiert und hat das Gruppen ID Bit gesetzt h Datei Datei existiert und ist Symbolicli
259. werden diese Bezeichnungen ben tigt Bereits sehr fr h wurde das Prinzip der Pipe von den Mainframe Betriebssystemen abgeschaut R hre ist hierf r keine schlechte bersetzung Man kann in diese etwas hineinleiten und am an deren Ende kommt etwas wieder heraus Wie bereits beschrieben gibt es sehr viele kleine spezialisierte Programme unter Unix Linux die mit speziellen Parametern aufgerufen wer den k nnen Daher entstand die Idee eine geeignete Schnittstelle zwischen diesen zu schaffen 2Monitorausgabe im Textmodus 4 2 EINIGE BASH GRUNDLAGEN 33 um eine geeignete Hintereinanderschaltung dieser Tools zu erreichen Sinnvoll ist daher eine Schnittstelle zwischen diesen Programmen welche Daten aus tauscht oder die Ergebnisse eines Programmlaufs in einem weiteren Programm weiterver arbeitet Diese Schnittstelle ist in Form von Pipes realisiert Bekannt ist sicherlich das System Kommando Is welches dazu dient sich die Dateien in einem Verzeichnis aufli sten zu lassen Wenn man sich aber in einem Verzeichnis mit einer sehr hohen Anzahl von Dateien befindet und die Liste durchbl ttern m chte kann man die Ausgabe z B an das Kommando more weiterleiten z B durch 1s la more Weiterhin m chte man evtl die Zahl der Dateien ermitteln welches durch einfaches Z hlen leicht etwas umst ndlich wird Um die Zahl von Zeichen W rtern oder Zeilen in einer Datei zu ermitteln steht das Kommando we Word Count zur V
260. wird dieser f r die niedrigste Architekturstufe auf der die Distribution l uft kompiliert damit eine allgemeine Kompatibilit t der Hardware sichergestellt ist Die SuSE Distribution hat neben anderen damit angefangen mehrere spezifische Kernel zu bauen die f r besondere Eins tze wie SMP und AMD Athlon gedacht sind Die eingesetzte Hardware entwickelt sich rasend schnell weiter Dieses ist ein wesentli cher Grund weshalb auch der Kernel einer st ndigen Weiterentwicklung unterworfen ist Um diese Weiterentwicklung zu erm glichen den Anwender aber vor den Problemen neuer Treiber zu bewahren teilt sich die Kernelentwicklung von Linux in zwei B ume die Ent wicklerkernel und die Produktivkernel Zu welchem Baum ein Kernel geh rt erkennt der Benutzer an der Versionsnummer Eine ungerade Zahl an der zweiten Stelle zum Beispiel 2 3 95 2 5 43 deutet auf einen Entwicklungskernel eine gerade Zahl auf einen Produktiv kernel zum Beispiel 2 2 33 2 4 21 Die Produktivkernel sollten stabil laufen und werden f r alle produktiven Umgebungen empfohlen Wird eine neue Majorrelease eines Produktivkernels herausgegeben d h die erste oder zweite Stelle der Versionsnummer hat sich ge ndert so werden dieser Versi on keine neuen Treiber und Features mehr hinzugef gt In den weiteren Versionen werden vor allem Fehler beseitigt Die Entwicklerkernel dagegen dienen wie der Name schon sagt zur Entwicklung Das hei t dass hier neue Features oder Tr
261. zifiziert etc shells listet alle verf gbaren zugelassenen und uneingeschr nkten Loginshells auf Diese Datei wird vom chsh Kommando ausgewertet Dem Anwender wird damit die M g lichkeit gegeben die in dieser Datei zeilenweise aufgelisteten Programme als Loginshell in der Datei etc passwd einzutragen wenn es sich um einen lokalen Account handelt etc profile setzt wichtige Umgebungsvariablen f r die Shell Suchpfad Manpath Die se Datei wird immer beim Login aufgerufen etc motd Die Message of the day wird nach dem Login angezeigt Es gibt einige Es capesequenzen der Shell welche z B den Hostnamen Uhrzeit verwendete Konsole etc anzeigen k nnen 7 6 3 Netzwerk etc hosts enth lt eine Liste von IP s und dazugeh rigem Rechnernamen Sie wird ver wendet wenn z B kein DNS zur Verf gung steht Dies ist w rend des Hochfahrens der Maschine blicherweise der Fall etc resolv conf In dieser Datei erfolgt die Konfiguration des Clients f r die Namensaufl sung DNS 7 7 DAS UMFANGREICHSTE VERZEICHNIS USR 73 ete nscd conf Hier wird die Konfiguration des Name Service Caching Dienstes hinterlegt ete nsswitch conf Der Nameservice Switch regelt wie bestimmte Informationen wie Be nutzernamen UserID Passw rter ermittelt werden passwd compat ldap group compat hosts files dns networks files dns ls Die gezeigten Einstellungen im Ausschnitt aus der Datei legen fest dass f r die Pas
262. zip sollte auf jedem UNIX System vorhanden sein Eine komprimier te Datei erh lt die Endung gz ein komprimiertes Tarfile hei t also z B tarfile tar gz Leistungsf higer ist das ebenfalls weit verbreitete Programm bzip2 Mit bzip2 kompri mierte Dateien erhalten die Endung bz2 Die Dekomprimierung erfolgt entsprechend des Packers mit gzip d oder gunzip bzw mit bzip2 d Die Optionen von tar m ssen nicht wie blich von einem eingeleitet werden tar kennt drei Modi Einpacken Auspacken und Inhalt anzeigen Den Modus w hlt man mit einer der folgenden Optionen aus c create Erstellen Einpacken eines tarfiles x extract Auspacken eines tarfiles wobei vorhandene gleichnamige Dateien berschrieben werden und t type zeigt den Inhalt eines tarfiles an ohne dieses auszupacken tar wurde fr her vor allem zur Datensicherung Backup auf Magnetb ndern eingesetzt wo her der Name r hrt Will man das Archiv in einer Datei speichern oder eine Archivdatei auspacken muss man die Option f verwenden und den Dateinamen dahinter angeben Zusatzinformationen ber die Aktivit ten des Programms liefert die Option v Der Tape Archiver kennt die M glichkeit das Packprogramm aus sich heraus zu invozieren dieses geschieht mit den Schaltern z oder f r gzip und j f r bzip2 n 439 1 14 3 2 Zugriff auf DOS Disketten Will man Dateien oder Programme auf Disketten abspeichern und tr
Download Pdf Manuals
Related Search
Related Contents
Mode d`emploi - Octagon Art.-Nr.: 45.000.80 I. 0.4MB - ヴァイテックビデオコム株式会社 スライド タイトルなし ハンズフリー/G-BOOKの操作 詳細版 Instrucciones de operación BLANCO CLARON 400/400-U Détection radar simplifiée. Copyright © All rights reserved.
Failed to retrieve file