Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Einleitung
1 Was ist Ubuntu?
2 Die Versionen im Detail
3 Die Shell
4 Migration und Synchronisation
5 Die Installation
6 Erste Schritte
7 Ubuntu mobil
8 Derivate
9 Internet und E-Mail
10 Office
11 Grafik und Bildbearbeitung
12 Multimedia und Spiele
13 Programmierung und Design
14 Hardware-Konfiguration
15 Software- und Paketverwaltung
16 Architektur
17 Backup und Sicherheit
18 Server-Installation
19 Datei- und FTP-Server
20 Weitere Server-Dienste
21 Kontrolle und Monitoring
22 Desktop-Virtualisierung
23 Server-Virtualisierung mit KVM
24 Server-Virtualisierung mit Xen
25 Hilfe
26 Befehlsreferenz Ubuntu Linux
A Übersicht: Software für (K)Ubuntu
B Mark Shuttleworth
C Glossar
D Häufig gestellte Fragen
Stichwort
Download: - ZIP, ca. 36,6 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / Ubuntu | vor >>
Ubuntu GNU/Linux von Marcus Fischer Das umfassende Handbuch, aktuell zu Ubuntu 9.04 - Jaunty Jackalope
Ubuntu GNU/Linux 4., aktualisierte und erweiterte Auflage, geb. 1.120 S., 39,90 Euro Galileo Computing ISBN 978-3-8362-1439-1 |
| 26 Befehlsreferenz Ubuntu Linux
|  | 26.1 Dateiorientierte Kommandos
|  |  | 26.1.1 bzcat – Ausgabe von bzip2-komprimierten Dateien
|  |  | 26.1.2 cat – Datei(en) nacheinander ausgeben
|  |  | 26.1.3 chgrp – Gruppe ändern
|  |  | 26.1.4 cksum/md5sum/sum – Prüfsummen ermitteln
|  |  | 26.1.5 chmod – Zugriffsrechte ändern
|  |  | 26.1.6 chown – Eigentümer ändern
|  |  | 26.1.7 cmp – Dateien miteinander vergleichen
|  |  | 26.1.8 comm – zwei sortierte Textdateien vergleichen
|  |  | 26.1.9 cp – Dateien kopieren
|  |  | 26.1.10 csplit – Zerteilen von Dateien
|  |  | 26.1.11 cut – Zeichen oder Felder aus Dateien schneiden
|  |  | 26.1.12 diff – Vergleichen zweier Dateien
|  |  | 26.1.13 diff3 – Vergleich von drei Dateien
|  |  | 26.1.14 dos2unix – Dateien umwandeln
|  |  | 26.1.15 expand – Tabulatoren in Leerzeichen umwandeln
|  |  | 26.1.16 file – den Inhalt von Dateien analysieren
|  |  | 26.1.17 find – Suche nach Dateien
|  |  | 26.1.18 fold – einfaches Formatieren von Dateien
|  |  | 26.1.19 head – Anfang einer Datei ausgeben
|  |  | 26.1.20 less – Datei(en) seitenweise ausgeben
|  |  | 26.1.21 ln – Links auf eine Datei erzeugen
|  |  | 26.1.22 ls – Verzeichnisinhalt auflisten
|  |  | 26.1.23 more – Datei(en) seitenweise ausgeben
|  |  | 26.1.24 mv – Datei(en) verschieben oder umbenennen
|  |  | 26.1.25 nl – Datei mit Zeilennummer ausgeben
|  |  | 26.1.26 od – Datei(en) hexadezimal bzw. oktal ausgeben
|  |  | 26.1.27 rm – Dateien und Verzeichnisse löschen
|  |  | 26.1.28 sort – Dateien sortieren
|  |  | 26.1.29 split – Dateien in mehrere Teile zerlegen
|  |  | 26.1.30 tac – Dateien rückwärts ausgeben
|  |  | 26.1.31 tail – Ende einer Datei ausgeben
|  |  | 26.1.32 tee – Ausgabe duplizieren
|  |  | 26.1.33 touch – Zeitstempel verändern
|  |  | 26.1.34 tr – Zeichen ersetzen
|  |  | 26.1.35 type – Kommandos klassifizieren
|  |  | 26.1.36 umask – Datei-Erstellungsmaske ändern
|  |  | 26.1.37 uniq – doppelte Zeilen nur einmal ausgeben
|  |  | 26.1.38 wc – Zeilen, Wörter und Zeichen zählen
|  |  | 26.1.39 whereis – Suche nach Dateien
|  |  | 26.1.40 zcat, zless, zmore – Ausgabe von zip-Dateien
|  | 26.2 Verzeichnisorientierte Kommandos
|  |  | 26.2.1 basename – Dateianteil eines Pfadnamens
|  |  | 26.2.2 cd – Verzeichnis wechseln
|  |  | 26.2.3 dirname – Verzeichnisanteil eines Pfadnamens
|  |  | 26.2.4 mkdir – ein Verzeichnis anlegen
|  |  | 26.2.5 pwd – aktuelles Arbeitsverzeichnis ausgeben
|  |  | 26.2.6 rmdir – ein leeres Verzeichnis löschen
|  | 26.3 Verwaltung von Benutzern und Gruppen
|  |  | 26.3.1 exit, logout – eine Session oder Sitzung beenden
|  |  | 26.3.2 finger – Informationen zu Benutzern abfragen
|  |  | 26.3.3 groupadd etc. – Gruppenverwaltung
|  |  | 26.3.4 groups – Gruppenzugehörigkeit ausgeben
|  |  | 26.3.5 id – eigene Benutzer- und Gruppen-ID ermitteln
|  |  | 26.3.6 last – An- und Abmeldezeit eines Benutzers
|  |  | 26.3.7 logname – Name des aktuellen Benutzers
|  |  | 26.3.8 newgrp – Gruppenzugehörigkeit wechseln
|  |  | 26.3.9 passwd – Passwort ändern bzw. vergeben
|  |  | 26.3.10 useradd/adduser etc. – Benutzerverwaltung
|  |  | 26.3.11 who – eingeloggte Benutzer anzeigen
|  |  | 26.3.12 whoami – Namen des aktuellen Benutzers anzeigen
|  | 26.4 Programm- und Prozessverwaltung
|  |  | 26.4.1 at – Zeitpunkt für ein Kommando festlegen
|  |  | 26.4.2 batch – ein Kommando später ausführen lassen
|  |  | 26.4.3 bg – einen Prozess im Hintergrund fortsetzen
|  |  | 26.4.4 cron/crontab – Programme zeitgesteuert ausführen
|  |  | 26.4.5 fg – Prozesse im Vordergrund fortsetzen
|  |  | 26.4.6 jobs – Anzeigen von im Hintergrund laufenden Prozessen
|  |  | 26.4.7 kill – Signale an Prozesse mit Nummer senden
|  |  | 26.4.8 killall – Signale an Prozesse mit Namen senden
|  |  | 26.4.9 nice – Prozesse mit anderer Priorität ausführen
|  |  | 26.4.10 nohup – Prozesse nach dem Abmelden fortsetzen
|  |  | 26.4.11 ps – Prozessinformationen anzeigen
|  |  | 26.4.12 pgrep – Prozesse über ihren Namen finden
|  |  | 26.4.13 pstree – Prozesshierarchie in Baumform ausgeben
|  |  | 26.4.14 renice – Priorität laufender Prozesse verändern
|  |  | 26.4.15 sleep – Prozesse schlafen legen
|  |  | 26.4.16 su – Ändern der Benutzerkennung
|  |  | 26.4.17 sudo – Programme als anderer Benutzer ausführen
|  |  | 26.4.18 time – Zeitmessung für Prozesse
|  |  | 26.4.19 top – Prozesse nach CPU-Auslastung anzeigen
|  | 26.5 Speicherplatzinformationen
|  |  | 26.5.1 df – Abfrage des Speicherplatzes für Dateisysteme
|  |  | 26.5.2 du – Größe eines Verzeichnisbaums ermitteln
|  |  | 26.5.3 free – verfügbaren Speicherplatz anzeigen
|  | 26.6 Dateisystem-Kommandos
|  |  | 26.6.1 badblocks – überprüft defekte Sektoren
|  |  | 26.6.2 cfdisk – Partitionieren von Festplatten
|  |  | 26.6.3 dd – Datenblöcke zwischen Devices kopieren
|  |  | 26.6.4 dd_rescue – fehlertolerantes Kopieren
|  |  | 26.6.5 dumpe2fs – Analyse von ext2/ext3-Systemen
|  |  | 26.6.6 e2fsck – ein ext2/ext3-Dateisystem reparieren
|  |  | 26.6.7 fdformat – eine Diskette formatieren
|  |  | 26.6.8 fdisk – Partitionieren von Speichermedien
|  |  | 26.6.9 fsck – Reparieren und Überprüfen
|  |  | 26.6.10 mkfs – Dateisystem einrichten
|  |  | 26.6.11 mkswap – eine Swap-Partition einrichten
|  |  | 26.6.12 mount, umount – Dateisysteme an- bzw. abhängen
|  |  | 26.6.13 parted – Partitionen anlegen etc.
|  |  | 26.6.14 swapon, swapoff – Swap-Speicher (de)aktivieren
|  |  | 26.6.15 sync – gepufferte Schreiboperationen ausführen
|  | 26.7 Archivierung und Backup
|  |  | 26.7.1 bzip2/bunzip2 – (De-)Komprimieren von Dateien
|  |  | 26.7.2 cpio, afio – Dateien archivieren
|  |  | 26.7.3 copy out
|  |  | 26.7.4 copy in
|  |  | 26.7.5 copy pass
|  |  | 26.7.6 afio
|  |  | 26.7.7 ccrypt – Dateien verschlüsseln
|  |  | 26.7.8 gzip/gunzip – (De-)Komprimieren von Dateien
|  |  | 26.7.9 mt – Streamer steuern
|  |  | 26.7.10 tar – Dateien und Verzeichnisse archivieren
|  |  | 26.7.11 Übersicht zu den Packprogrammen
|  | 26.8 Systeminformationen
|  |  | 26.8.1 cal – zeigt einen Kalender an
|  |  | 26.8.2 date – Datum und Uhrzeit
|  |  | 26.8.3 uname – Rechnername, Architektur und OS
|  |  | 26.8.4 uptime – Laufzeit des Rechners
|  | 26.9 Systemkommandos
|  |  | 26.9.1 dmesg – letzte Kernel-Boot-Meldungen
|  |  | 26.9.2 halt – alle laufenden Prozesse beenden
|  |  | 26.9.3 reboot – System neu starten
|  |  | 26.9.4 shutdown – System herunterfahren
|  | 26.10 Druckeradministration und Netzwerkbefehle
|  |  | 26.10.1 arp – Ausgeben von MAC-Adressen
|  |  | 26.10.2 ftp – Dateien übertragen
|  |  | 26.10.3 hostname – Rechnername ermitteln
|  |  | 26.10.4 ifconfig – Netzwerkzugang konfigurieren
|  |  | 26.10.5 mail/mailx – E-Mails schreiben und empfangen
|  |  | 26.10.6 netstat – Statusinformationen über das Netzwerk
|  |  | 26.10.7 nslookup (host/dig) – DNS-Server abfragen
|  |  | 26.10.8 ping – Verbindung zu anderem Rechner testen
|  |  | 26.10.9 Die r-Kommandos (rcp, rlogin, rsh)
|  |  | 26.10.10 ssh – sichere Shell auf anderem Rechner starten
|  |  | 26.10.11 scp – Dateien per ssh kopieren
|  |  | 26.10.12 rsync – Replizieren von Dateien und Verzeichnissen
|  |  | 26.10.13 traceroute – Route zu einem Rechner verfolgen
|  | 26.11 Benutzerkommunikation
|  |  | 26.11.1 wall – Nachrichten an alle Benutzer verschicken
|  |  | 26.11.2 write – Nachrichten an Benutzer verschicken
|  |  | 26.11.3 mesg – Nachrichten zulassen oder unterbinden
|  | 26.12 Bildschirm- und Terminalkommandos
|  |  | 26.12.1 clear – Löschen des Bildschirms
|  |  | 26.12.2 reset – Zeichensatz wiederherstellen
|  |  | 26.12.3 setterm – Terminaleinstellung verändern
|  |  | 26.12.4 stty – Terminaleinstellung abfragen oder setzen
|  |  | 26.12.5 tty – Terminalnamen erfragen
|  |  | 26.12.6 apropos – nach Schlüsselwörtern suchen
|  |  | 26.12.7 info – GNU-Online-Manual
|  |  | 26.12.8 man – die traditionelle Onlinehilfe
|  |  | 26.12.9 whatis – Kurzbeschreibung zu einem Kommando
|  | 26.13 Sonstige Kommandos
|  |  | 26.13.1 alias/unalias – Kurznamen für Kommandos
|  |  | 26.13.2 bc – Taschenrechner
|  |  | 26.13.3 printenv/env – Umgebungsvariablen anzeigen
## 26.10 Druckeradministration und Netzwerkbefehle Die Druckerbefehle werden aus Platzgründen nur mit Kommando und der jeweiligen Bedeutung beschrieben. Näheres entnehmen Sie hierbei den entsprechenden man-Seiten.
Kommando | Bedeutung
accept | Druckerwarteschlange auf empfangsbereit setzen
cancel | Druckaufträge stornieren
disable | Drucker deaktivieren
enable | Drucker aktivieren
lp | Ausgabe auf dem Drucker mit dem Print-Spooler
lpadmin | Verwaltungsprogramm für das CUPS-Print-Spooler-System
lpc | Steuerung von Druckern
lphelp | Optionen eines Druckers ausgeben
lpmove | Druckerauftrag zu einem anderen Drucker verschieben
lpq | Druckerwarteschlange anzeigen
lpr | Dateien auf den Drucker ausgeben
lprm | Druckaufträge in der Warteschlange stornieren
lpstat | Status der Aufträge anzeigen
reject | Warteschlange für weitere Aufträge sperren
#### Netzwerkbefehle Netzwerkbefehle erfordern ein tieferes Verständnis. Wenn Sie als Server-Administrator mit Begriffen wie IP-Adresse, MAC-Adresse, DNS, FTP, SSH noch nichts anfangen können, wäre eine fortführende Lektüre wichtig. ### 26.10.1 arp – Ausgeben von MAC-Adressen Wenn Sie die Tabelle mit den MAC-Adressen der kontaktierten Rechner benötigen, können Sie das Kommando arp verwenden. Ein Beispiel:
    user$ arp -a
    fritz.box (192.168.0.254) auf 00:04:0E:A5:F5:4E
    [ether] auf eth0
Im obigen Fall ist der Rechner über eine DSL-Modem/Router-Kombination an das Internet angeschlossen, eine sogenannte FritzBox. Die MAC-Adresse ist hierbei die sechsstellige Hexadezimalzahl »00:04:0E:A5: F5:4E«. Benötigen Sie hingegen die MAC-Nummer Ihrer eigenen Netzwerkkarte, so können Sie diese mit ifconfig ermitteln:
    user$ ifconfig -a
    eth0      Protokoll:Ethernet
    Hardware Adresse 00:0E:A6:86:03:CF
In der Zeile eth0 finden Sie hierbei die entsprechende MAC-Adresse unter Hardware Adresse. ### 26.10.2 ftp – Dateien übertragen Mithilfe von ftp (File Transfer Protocol) können Sie Dateien innerhalb eines Netzwerks (z. B. Internet) zwischen verschiedenen Rechnern transportieren. Da ftp über eine Menge Features und Funktionen verfügt, soll hier nur auf den »Hausgebrauch« eingegangen werden, und zwar darauf, wie man Daten von einem entfernten Rechner abholt und auf diesen transferiert. Zunächst müssen Sie sich auf dem Server einloggen. Dies geschieht üblicherweise mit ftp Server_Name. Nachdem ftp eine Verbindung mit dem Server aufgenommen hat, werden Sie aufgefordert, Ihren Benutzernamen und anschließend das Passwort einzugeben. Wenn alles korrekt war, befindet sich vor dem Prompt ftp> und wartet auf weitere Anweisungen. Jetzt können Sie im Eingabeprompt Folgendes machen: gewünschtes Verzeichnis durchsuchen: cd, dir, lcd (lokales Verzeichnis) FTP-Parameter einstellen: type binary, hash, prompt Datei(en) abholen: get, mget Datei(en) hinbringen: put, mput Abmelden: bye oder exit Natürlich bietet ftp weitaus mehr Befehle als diese an, aber alle aufzulisten würde den Rahmen des Buchs sprengen. Im Folgenden soll der Umgang mit ftp anhand eines Beispiels erläutert werden. Zunächst loggen Sie sich per FTP auf einen Server ein:
    user$ ftp upload.meinserver.de
    Connected to upload.meinserver.de.
    220 Welcome to FTP service.
    Name (upload.meinserver.de:hatt): <Mein Login>
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>
Zunächst werden Sie sich wohl das Inhaltverzeichnis ansehen wollen. Verwenden Sie den Befehl dir (der auf Linux-Systemen meistens dem Aufruf von [ls -l entspricht) zum Auflisten:
    user$ ftp> dir
    200 PORT command successful. Consider using PASV.
    150 Here comes the directory listing.
    drwxr-xr-x  9 1092  1091   4096 Dec 17 15:31 .
    drwxr-xr-x  8 0     0      4096 Mar 07  2005 ..
    drwxr-xr-x  5 1092  1091   4096 Sep 04  2001 OLD
    drwxr-xr-x  3 1092  1091   4096 Sep 03  2001 counter
    drwxr-xr-x  8 1092  1091   4096 Sep 02  2001 daten
    ...
Wollen Sie nun in ein Verzeichnis wechseln, so können Sie auch hier das schon bekannte Kommando cd verwenden. Ebenso sieht es aus, wenn Sie das aktuelle Arbeitsverzeichnis erfahren wollen, in dem Sie sich gerade befinden. Hier leistet das bekannte pwd seine Dienste. Das aktuelle Verzeichnis auf dem lokalen Rechner können Sie mit dem Kommando lcd wechseln. Sie können übrigens auch die Befehle auf Ihrem lokalen Rechner verwenden, wenn Sie ein !-Zeichen davor setzen. Hierzu ein Beispiel, das die Befehle nochmals demonstriert.
    ftp> pwd
    257 "/htdocs"
    ftp> cd daten
    250 Directory successfully changed.
    ftp> pwd
    257 "/htdocs/daten"
    ftp> !pwd
    /home/hatt
    ftp> lcd text
    Local directory now /home/hatt/text
    ftp>
Hier befinden wir uns auf dem Remoterechner im Verzeichnis daten, lokal sind wir mittels lcd in das Verzeichnis text gewechselt. Im entfernten Verzeichnis soll sich die Datei server.txt befinden, die wir auf den Server befördern wollen. Das geschieht mit dem Kommando get:
    user$ ftp> get server.txt
    local: server.txt remote: server.txt
    200 PORT command successful
    150 Opening BINARY mode data connection
    server.txt (3231 bytes)
    226 Transfer complete.
Und schon haben wir die Datei server.txt auf den lokalen Rechner ins Verzeichnis text kopiert. Wollen Sie mehrere Dateien oder gar ganze Verzeichnisse holen, so verwenden Sie mget. Hierbei stehen Ihnen auch die Wildcard-Zeichen * und ? zur Verfügung. Damit mget Sie bei mehreren Dateien nicht jedes Mal fragt, ob Sie diese wirklich holen wollen, können Sie den interaktiven Modus mit prompt abstellen. Haben Sie jetzt die Datei server.txt bearbeitet und wollen diese wieder hochladen, so verwenden Sie put (oder bei mehreren Dateien mput).
    ftp> put server.txt
    local: server.txt remote: server.txt
    200 PORT command successful
    150 Opening BINARY mode data connection
    for server.txt
    226 Transfer complete.
    3231 bytes sent in 0.000106 secs
Damit sollten Sie erfolgreich Dateien ein- und auschecken können. Sie verlassen das System wieder mittels quit, bye oder exit. Bedenken Sie, dass ftp nicht ganz sicher ist, da Sie bei der Authentifizierung das Passwort unverschlüsselt übertragen. ### 26.10.3 hostname – Rechnername ermitteln Das Kommando hostname können Sie verwenden, um den Namen des lokalen Rechners anzuzeigen bzw. zu setzen oder zu verändern. So ein Name erhält eigentlich erst im Netzwerkbetrieb seine echte Bedeutung. Im Netz besteht ein vollständiger Rechnername (Fully Qualified Domain Name) aus einem Eigennamen und einem Domainnamen. Der (DNS-) Domainname bezeichnet das lokale Netz, an dem der Rechner hängt. Ohne Angabe einer Option wird der vollständige Rechnername ausgegeben. Mit der Option -s geben Sie nur den Eigennamen des Rechners aus und mit -d nur den (DNS-)Domainnamen des lokalen Netzes.
    user$ hostname
    ripley.nostromo.com
    user$ hostname -s
    ripley
    user$ hostname -d
    nostromo.com
### 26.10.4 ifconfig – Netzwerkzugang konfigurieren Mit dem Kommando ifconfig kann man die Einstellungen einer Netzwerkschnittstelle abfragen oder setzen. Alle Einstellungen können Sie sich mit der Option -a anzeigen lassen, dabei werden auch die inaktiven Schnittstellen aufgelistet. Die Syntax zu ifconfig lautet:
    ifconfig Schnittstelle [Addresse [Parameter]]
Dabei geben Sie den Namen der zu konfigurierenden Schnittstelle an. Befindet sich etwa auf Ihrem Rechner eine Netzwerkkarte, so lautet unter Linux die Schnittstelle hierzu eth0, die zweite Netzwerkkarte im Rechner (sofern eine vorhanden ist) wird mit eth1 angesprochen. Die Adresse ist die IP-Adresse, die der Schnittstelle zugewiesen werden soll. Hierbei kann man die Dezimalnotation (xxx.xxx.xxx.xxx) verwenden oder einen Namen, den ifconfig in /etc/host nachschlägt. Verwenden Sie ifconfig ohne die Option -a, um sich einen Überblick zu verschaffen, dann werden die inaktiven Schnittstellen nicht mit angezeigt. Der Aufruf für die Schnittstelle zu Ethernet-Karte eth0 sieht beispielsweise wie folgt aus:
    user$ ifconfig
    eth0
    Link encap:Ethernet  HWaddr 00:02:2A:D4:2C:EB
    inet addr:192.168.1.1
    Bcast:192.168.1.255  Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    RX packets:80 errors:0 dropped:0 overruns:0 frame:0
    TX packets:59 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    RX bytes:8656 (8.4 KiB)  TX bytes:8409 (8.2 KiB)
    Interrupt:11 Base address:0xa000
    lo
    Link encap:Local Loopback
    inet addr:127.0.0.1  Mask:255.0.0.0
    UP LOOPBACK RUNNING  MTU:16436  Metric:1
    RX packets:8 errors:0 dropped:0 overruns:0 frame:0
    TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)
    ...
Wenn IPv6 konfiguriert ist, kommt noch die IPv6-Adresse dazu. Der Ausgabe kann man entnehmen, dass auf dieser Netzwerkkarte 59 Pakete gesendet (TX) und 80 empfangen (RX) wurden. Die maximale Größe einzelner Pakete beträgt 1500 Byte (MTU). Die MAC-Adresse (Hardwareadresse), die unsere Netzwerkkarte eindeutig identifiziert (außer diese wird manipuliert) lautet »00:02:2A:D4:2C:EB«. Wollen Sie eine Schnittstelle ein- oder ausschalten, so können Sie dies mit den zusätzlichen Parametern up (für Einschalten) und down (für Abschalten) vornehmen. Als Beispiel dient wieder die Netzwerkkarte mit dem Namen »eth0« als Schnittstelle:
    user$ sudo ifconfig eth0 down
Hier haben Sie die Netzwerkkarte »eth0« abgeschaltet. Einschalten können Sie sie folgendermaßen:
    user$ sudo ifconfig eth0 up
Eine IP-Adresse stellen Sie ein oder verändern Sie ebenfalls mit ifconfig:
    user$ sudo ifconfig eth0 192.18.19.91
Wollen Sie bei der Schnittstelle Netzmaske und Broadcast verändern, so ist dies mit ifconfig wenig Arbeit (unterlassen Sie es, wenn Sie nicht genau wissen, was Netzmaske und Broadcast sind):
    user$ sudo ifconfig eth0 10.25.38.41 netmask 255.255.255.0 broadcast 10.25.38.255
Damit weisen Sie der Netzwerkkarte die IP-Adresse 10.25.38.41 aus dem Netz 10.25.38.xxx zu. Mit netmask geben Sie an, wie groß das Netz ist (hier ein Netzwerk der Klasse C). ### 26.10.5 mail/mailx – E-Mails schreiben und empfangen Mit dem Kommando mail können Sie aus einem Shell-Skript heraus E-Mails versenden. Zuvor muss für Ubuntu allerdings noch die Postfix-Konfiguration angepasst werden, Näheres hierzu entnehmen Sie der Dokumentation zu Postfix. Mithilfe der Option -s können Sie dann eine einfache Textmail mit Betreff (-s = Subject) an eine Adresse schicken, beispielsweise:
    user$ echo "Hallo" | mail -s "Betreff" rhatt@gmx.de
Da nicht alle mail-Kommandos die Option -s für einen Betreff haben, können Sie gegebenenfalls auch auf mailx oder Mail (mit großen »M«) zurückgreifen, die auf einigen Systemen vorhanden sind. Mit cat können Sie natürlich auch den Inhalt einer ganzen Datei an die Mailadresse senden:
    user$ cat datei.txt | mail -s "Ein Textdatei" rhatt@gmx.de
Dabei kann man auch die Ausgaben eines Kommandos per mail an eine Adresse versenden:
    user$ ps -ef | mail -s "Prozesse 12Uhr" rhatt@gmx.de
Sinnvoll kann dies z. B. sein, wenn auf einem System ein bestimmtes Limit überschritten wurde. Dann können Sie sich (oder einem anderen Benutzer) eine Nachricht zukommen lassen. Ebenso kann überprüft werden, ob ein Server dauerhaft verfügbar ist. Testen Sie etwa stündlich (z. B. mit cron) mittels nmap (hier kann man nicht nur nachsehen, ob die Netzwerkkarte das UDP-Paket zurückschickt, sondern auch direkt nachschauen, ob der Port des betreffenden Dienstes noch offen ist), ob der Server erreichbar ist. Ist er es einmal nicht, können Sie sich hierbei eine Nachricht zukommen lassen. Zusätzliche Optionen, die Sie mit mail bzw. mailx verwenden können, sind:
Option | Bedeutung
-s Betreff | Hier können Sie den Betreff (Subject) der E-Mail angeben.
-c adresse | Diese Adresse bekommt eine Kopie der Mail.
-b adresse | Diese Adresse bekommt eine blind carbon copy der Mail.
### 26.10.6 netstat – Statusinformationen über das Netzwerk Für die Anwendung von netstat gibt es viele Möglichkeiten. Mit einem einfachen Aufruf von netstat zeigen Sie den Zustand einer bestehenden Netzwerkverbindung an. Neben der Überprüfung von Netzwerkverbindungen können Sie mit netstat Routentabellen, Statistiken zu Schnittstellen, maskierte Verbindungen und noch vieles mehr anzeigen lassen. In der Praxis lässt sich somit problemlos die IP oder der Port eines ICQ-Users ermitteln oder ob ein Rechner mit einen Trojaner infiziert ist. Hier einige Beispiele:
    user$ netstat -nr
Mit diesem Befehl lassen Sie die Routing-Tabelle (-r) des Kernels ausgeben.
    user$ netstat -i
Mit der Option -i erhalten Sie die Schnittstellenstatistik.
    user$ netstat -ta
Mit -ta erhalten Sie die Anzeige aller Verbindungen. Die Option -t steht dabei für TCP. Mit -u, -w bzw. -x zeigen Sie die UDP-, RAW- bzw. UNIX-Sockets an. Mit -a werden dabei auch die Sockets angezeigt, die noch auf eine Verbindung warten. ### 26.10.7 nslookup (host/dig) – DNS-Server abfragen Mit nslookup können Sie aus dem Domain-Namen eine IP-Adresse bzw. die IP-Adresse zu einem Domain-Namen ermitteln. Zur Auflösung des Namens wird gewöhnlich der DNS-Server verwendet. Bei der Verwendung von nslookup werden Sie lesen, dass nslookup künftig von den Kommandos host oder dig abgelöst wird. Hier sehen Sie nslookup und host bei der Ausführung über einen vorgeschalteten Router (IP: 192.168.0.254):
    user$ nslookup www.google.de
    Server:         192.168.0.254
    Address:        192.168.0.254#53
    Non-authoritative answer:
    ...
    Name:   www.l.google.com
    Address: 66.249.93.104
    Name:   www.l.google.com
    Address: 66.249.93.99
    user$ host www.google.de
    www.google.de is an alias for www.google.com.
    www.google.com is an alias for www.l.google.com.
    www.l.google.com has address 64.233.183.104
### 26.10.8 ping – Verbindung zu anderem Rechner testen Wollen Sie die Netzwerkverbindung zu einem anderen Rechner testen oder einfach nur den lokalen TCP/IP-Stack überprüfen, so können Sie das Kommando ping (Paket Internet Groper) verwenden. Die Syntax lautet ping Host. ping überprüft dabei, ob der »Host« (IP-Adresse oder Domain-Name) antwortet. ping bietet noch eine Menge zusätzlicher Optionen an, die noch mehr Infos liefern, die allerdings hier aus Platzgründen nicht genauer erläutert werden können. Zur Überprüfung sendet ping ein ICMP-Paket vom Typ ICMP Echo Request an die Netzwerkstation. Hat die Netzwerkstation das Paket empfangen, sendet sie ebenfalls ein ICMP-Paket, allerdings vom Typ ICMP Echo Reply, zurück.
    user$ ping -c3 www.google.de
    PING www.l.google.com (66.249.93.104) 56(84) bytes
    64 bytes from 66.249.93.104: icmp_seq=1 time=74.8 ms
    64 bytes from 66.249.93.104: icmp_seq=2 time=75.3 ms
    64 bytes from 66.249.93.104: icmp_seq=3 time=75.5 ms
    --- www.l.google.com ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss,
    time 2002ms
    rtt min/avg/max/mdev = 74.831/75.249/75.575/0.443 ms
Hier wurden drei Pakete (mit der Option -c kann die Anzahl der Pakete angegeben werden) an www.google.de gesendet und wieder erfolgreich empfangen, wie aus der Zusammenfassung am Ende zu entnehmen ist. Rufen Sie ping hingegen ohne eine Option auf
    user$ ping www.google.de
so müssen Sie selbst für eine Beendigung des Datenaustausches zwischen den Rechnern sorgen. Ein einfaches + tut in diesem Fall seinen Dienst, und man erhält ebenfalls wieder eine Zusammenfassung. Neben der Möglichkeit, die Verfügbarkeit eines Rechners und des lokalen TCP/IP-Stacks zu prüfen (ping localhost), können Sie außerdem auch die Laufzeit von Paketen vom Sender zum Empfänger ermitteln. Hierzu wird die Zeit halbiert, bis das »Reply« eintrifft. ### 26.10.9 Die r-Kommandos (rcp, rlogin, rsh) Aus Sicherheitsgründen sei empfohlen, die Tools rcp, rlogin und rsh nicht mehr einzusetzen und stattdessen auf die mittlerweile sichereren Alternativen ssh und scp zu setzen. Bei den unsicheren r-Kommandos wird das Passwort beim Einloggen im Klartext, ohne jede Verschlüsselung, übertragen. Bedenken Sie, dass ein unverschlüsseltes Passwort, das zwischen zwei Rechnern im Internet übertragen wird, jederzeit (mit einem »Sniffer«) abgefangen und mitgelesen werden kann. Für Passwörter gilt im Allgemeinen, dass man diese niemals im Netz unverschlüsselt übertragen sollte. Da es mittlerweile Möglichkeiten zur Passwortübertragung mit der Secure Shell(ssh) gibt, haben die r-Kommandos eigentlich keine Berechtigung mehr. Schlimmer noch, für die Befehle rsh und rcp war auf den Zielrechnern nicht einmal ein Passwort nötig. Eine Authentifizierung erfolgte hierbei über die Datei /etc/hosts.equiv und /.rhosts. Darin wurden einzelne Rechner eingetragen, die als vertrauenswürdig empfunden wurden und so die Passwort-Authentifizierung umgehen konnten. ### 26.10.10 ssh – sichere Shell auf anderem Rechner starten Der Dienst ssh (Secure Shell) zählt mittlerweile zu einem der wichtigsten Dienste überhaupt. Er ermöglicht es, eine verschlüsselte Verbindung zwischen zwei Rechnern aufzubauen. ssh wurde aus der Motivation heraus entwickelt, sichere Alternativen zu telnet und den r-Kommandos zu schaffen. Wenn Sie zum ersten Mal eine Verbindung zu einem anderen Rechner herstellen, bekommen Sie gewöhnlich eine Warnung, in der ssh nachfragt, ob Sie dem anderen Rechner vertrauen wollen. Wenn Sie mit »yes« antworten, speichert ssh den Namen und den RSA-Fingerprint (dies ist ein Code zur eindeutigen Identifizierung des anderen Rechners) in der Datei /.ssh/known_hosts. Beim nächsten Starten von ssh erfolgt diese Abfrage dann nicht mehr. Im nächsten Schritt erfolgt die Passwortabfrage, die verschlüsselt übertragen wird. Bei korrekter Eingabe des Passworts beginnt die Sitzung am anderen Rechner (als hätte man diesen Rechner vor sich). Die Syntax lautet:
    ssh -l Loginname Rechnername
Zur Beruhigung der ganz Ängstlichen: Für jede Verbindung über ssh wird zwischen den Rechnern immer ein neuer Sitzungsschlüssel ausgehandelt. Will man einen solchen Schlüssel knacken, benötigt der Angreifer unglaublich viel Zeit. Sobald Sie sich ausloggen, müsste der Angreifer erneut versuchen, den Schlüssel zu knacken. Dieses Szenario ist natürlich nur rein theoretisch, denn es handelt sich immerhin um Schlüssel wie RSA, BLOWFISH, IDEA und TRIPLEDES, zwischen denen man hier wählen kann. Alle diese Schlüssel gelten als sehr sicher. ### 26.10.11 scp – Dateien per ssh kopieren Das Kommando scp ist Teil einer ssh-Installation, mit der man Dateien sicher zwischen unterschiedlichen Rechnern kopieren kann. scp funktioniert genauso wie das lokale cp. Der einzige Unterschied ist natürlich die Angabe der Pfade auf den entfernten Rechnern. Dabei sieht die Verwendung des Rechnernamens wie folgt aus: benutzer@rechner:/verzeichnis/zum/ziel. Um auf einen Account meinserver.de zu gelangen, dessen Benutzername »meinlogin« lautet, verfahren Sie wie folgt:
    user$ scp datei.txt meinlogin@meinserver.de:~
    meinlogin@meinserver.de's password:********
    datei.txt        100% 3231
       3.2KB/s   00:00
    user$ scp meinlogin@meinserver.de:~/bilder/bild.gif \
    $HOME
    meinlogin@meinserver.de's password:********
    baum.gif         100%
    8583
       8.4KB/s   00:00
Zuerst wurde die Datei datei.txt aus dem aktuellen lokalen Verzeichnis in das Heimverzeichnis von meinserver.de kopiert (/home/mein login). Anschließend wurde aus dem Verzeichnis /home/meinlogin/ bilder die GIF-Datei bild.gif auf meinen lokalen Rechner kopiert. scp ist in der Tat eine interessante Lösung, um Dateien auf mehreren Rechnern mit einem Skript zu kopieren. Was allerdings bei der Skriptausführung stören dürfte (besonders wenn diese automatisch geschehen sollte), ist die Passwortabfrage, denn durch die würde der Prozess angehalten. Hierzu bietet es sich an, sich mithilfe eines asymmetrischen Verschlüsselungsverfahrens ein Login ohne Passwort zu verschaffen. Dazu stellt man am besten auf dem Client-Rechner mit dem Programm ssh-keygen ein entsprechendes Schlüsselpaar (hier mit einem RSA-Schlüssel) bereit:
    user$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key
    (/home/hatt/.ssh/id_rsa):

    Enter passphrase (empty for no passphrase):

    Enter same passphrase again:

    Your identification has been saved
    in /home/hatt/.ssh/id_rsa.
    Your public key has been saved
    in /home/hatt/.ssh/id_rsa.pub.
    The key fingerprint is:
    46:85:12:80:9d:a7:62:01:18:0f:1c:a0:27:61:a2:94
    hatt@august
In diesem Beispiel wurden zwei RSA-Schlüssel ohne Passphrase erstellt. Jetzt haben Sie zwei Schlüssel, eine privaten (id_rsa.) und einen öffentlichen (id_rsa.pub). Damit Sie jetzt alle ssh-Aktionen ohne Passwort durchführen können, müssen Sie den öffentlichen Schlüssel nur noch auf den Benutzeraccount des Servers hochladen.
    user$ scp .ssh/id_rsa.pub \
    meinlogin@meinserver.de:~/.ssh/
    meinlogin@meinserver.de.de's password:********
    id_rsa.pub              100%  219
       0.2KB/s   00:00
Loggen Sie sich nun nochmal ein, und hängen Sie die Datei id_rsa.pub an die Datei ~/.ssh/authorized_keys:
    user$ ssh meinlogin@meinserver.de
    meinlogin@meinserver.de's password:********
    ...
    user$ cd ~/.ssh
    user$ ls
    id_rsa.pub  known_hosts
    user$ cat id_rsa.pub >> authorized_keys
Nach erneutem Einloggen über ssh oder nach dem Kopieren mit scp sollte die Passwortabfrage der Vergangenheit angehören. ### 26.10.12 rsync – Replizieren von Dateien und Verzeichnissen Das Kommando rsync wird verwendet, um Dateien bzw. ganze Verzeichnis(bäume) zu synchronisieren. Hierbei kann sowohl eine lokale als auch eine entfernte Synchronisation vorgenommen werden. Der Ausdruck »synchronisieren« ist rein syntaktisch nicht richtig. Man kann zwar einem Verzeichnisbaum »X« Daten hinzufügen, sodass dieser exakt denselben Inhalt erhält wie der Verzeichnisbaum »Y«. Dies funktioniert allerdings umgekehrt nicht. Man spricht hierbei korrekt vom »Replizieren«. Die Syntax zu rsync lautet:
    rsync [Optionen] Ziel Quelle
Einige Beispiele:
    user$ rsync -avzb -e ssh meinserver.de:/ /home/hatt/backups/
Diese Eingabe synchronisiert die Internet-Webseite meinserver.de mit dem lokalen Verzeichnis /home/hatt/backups. Mit a verwenden Sie den Archive-Modus, mit b werden Backups erstellt und mit v (für verbose) wird rsync etwas gesprächiger. Durch die Option z werden die Daten komprimiert übertragen. Außerdem wird mit der Option -e und ssh eine verschlüsselte Datenübertragung verwendet. Geben Sie bei der Quelle als letztes Zeichen einen Slash (/) an, so wird dieses Verzeichnis nicht mitkopiert, sondern nur der darin enthaltene Inhalt, beispielsweise:
    user$ rsync -av /home/hatt/ubuntubuch/ /home/hatt/backups
Hier wird der Inhalt von /home/hatt/ubuntubuch nach /home/hatt/backups kopiert. Würden Sie hingegen Folgendes schreiben
    user$ rsync -av /home/hatt/ubuntubuch /home/hatt/backups
so würde in /home/hatt/backups das Verzeichnis ubuntubuch angelegt (/home/hatt/backups/ubuntubuch/) und alles dorthin kopiert. Dieser Fehler hat schon viele Anwender einige Nerven gekostet. Es folgt nun ein Überblick zu einigen Optionen von rsync. Weiterführende Informationen zu rsync finden Sie auf der Webseite http://rsync.samba.org oder wie üblich auf der Manual-Seite.
Option | Bedeutung
-a (archive mode): | Kopiert alle Unterverzeichnisse mitsamt Attributen (Symlinks, Rechte, Dateidatum, Gruppe, Devices) sowie (wenn man Root ist) den Eigentümer der Datei(en).
-v (verbose): | Gibt während der Übertragung eine Liste der übertragenen Dateien aus.
-n (dry-run): | Nichts schreiben, sondern den Vorgang nur simulieren – ideal zum Testen.
-e Programm | Wenn in der Quelle oder dem Ziel ein Doppelpunkt enthalten ist, interpretiert rsync den Teil vor dem Doppelpunkt als Hostnamen und kommuniziert über das mit -e spezifizierte Programm. Gewöhnlich wird hierbei als Programm ssh verwendet. Weitere Parameter können Sie diesem Programm in Anführungszeichen gesetzt übergeben.
-z | Der Parameter -z bewirkt, dass rsync die Daten komprimiert überträgt.
--delete --force, --delete-excluded | Löscht alle Einträge im Zielverzeichnis, die im Quellverzeichnis nicht (mehr) vorhanden sind.
--partial | Wurde die Verbindung zwischen zwei Rechnern getrennt, so wird die nicht vollständig empfangene Datei nicht gelöscht. So kann bei einem erneuten rsync die Datenübertragung fortgesetzt werden.
--exclude=Pattern | Hier kann man Dateien angeben, die man ignorieren möchte. Reguläre Ausdrücke sind möglich.
-x | Schließt alle Dateien auf einem Filesystem aus, die in ein Quellverzeichnis hineingemountet sind.
### 26.10.13 traceroute – Route zu einem Rechner verfolgen traceroute ist ein TCP/IP-Tool, mit dem Informationen darüber ermittelt werden können, welche Computer ein Datenpaket über ein Netzwerk passiert, bis es bei einem bestimmten Host ankommt, z. B.:
    user$ traceroute www.heise.de
    traceroute to www.heise.de (193.99.144.85),
    30 hops max, 38 byte packets
    1  fritz.box (192.168.0.254)  0.660 ms  6.143 ms
    2  217.0.116.165 (217.0.116.165) 32.240 ms 32.623 ms
    3  217.0.71.242 (217.0.71.242) 32.934 ms 33.571 ms
    4  m-ec1.M.DE.net.DTAG.DE (62.154.28.26) 46.186 ms
    ...
### Ihr Kommentar Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück | <top> | vor >>
Zum Katalog
Ubuntu GNU/Linux Jetzt bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| Linux
| IT-Handbuch für Fachinformatiker
| Webserver einrichten und administrieren
| Xen
| VirtualBox
| LPIC-1
| Einstieg in Ubuntu 8.10 »Intrepid Ibex«
| Einstieg in Ubuntu Linux - Videotraining
| Debian GNU/Linux
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de