97
Unix / Linux-Aufbaukurs Mark Heisterkamp [email protected] 22. – 23. Juni 2010 Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 1/97

Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Unix / Linux-AufbaukursMark Heisterkamp

[email protected]

22. – 23. Juni 2010

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 1/97

Page 2: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

An wen richtet sich der Kurs?

Der Kurs richtet sich an die Hörerinnen und Hörer des Linux /Unix-Grundkurses und an alle, die ein Linux / Unix-System bereitsgrundlegend bedienen können.

Es werden Kenntnisse vermittelt, die notwendig sind, um erste Schritte in derServer-Administration zu machen.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 2/97

Page 3: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Literatur

Unix / Linux-AufbaukursMark Heisterkamp

[email protected]

21. – 23. Mai 2008

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 19. Mai 2008 Seite 1/55

UNIXUNIX

Regionales Rechenzentrum für Niedersachsen / Leibniz Universität Hannover

16.,Februar 2007

unveränderte Auflage

© 2007. RRZN, Schloßwender Straße 5, 30159 Hannover www.rrzn.uni-hannover.de/buecher.htmlRRZN-Handbücher werden im Rahmen einer Kooperation von über 170 staatlichen Hochschulen (Universitäten, Fachhochschulen) in Deutschland, Österreich und in der Schweiz nur an deren Mitglieder vertrieben und dürfen auch nur von diesen benutzt werden. Das RRZN hat diese Zusammenarbeit 1982 initiiert und seither koordiniert.

Eine Einführung in die Benutzung

Skript und Dokumentation zum Kurswww.rrzn.uni-hannover.de/unixak.html

Handbuch des RRZNUnix - Einführung

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 3/97

Page 4: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Ablauf

Zunächst wird eine Minimalinstallation aus dem Netz mit einemDebian-Lenny-System durchgeführt.

Auf den so eingerichteten Rechnern werden alle Aufgaben des Kursesbearbeitet.

Jeder Teil des Kurses wird praktisch umgesetzt.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 4/97

Page 5: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Debian-Lenny-Installation

. . .

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 5/97

Page 6: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Software-Installation

Die zentralen Tools zur Installtion von Softwarepaketen sind:

apt-get <install|purge|remove> <Paketname>

oder

aptitude <install|purge|remove> <Paketname>

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 6/97

Page 7: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Paketdatenbank aktualisieren

Zunächst muss die Paketdatenbank aktualisiert werden. Es werden die Server,die in /etc/apt/sources.list eingetragen sind, abgefragt:

apt-get update

oder

aptitude update

LUH-FTP-Server:

deb ftp://ftp.rrzn.uni-hannover.de/debian/debian/ lenny maindeb-src ftp://ftp.rrzn.uni-hannover.de/debian/debian/ lenny maindeb http://security.debian.org/ lenny/updates main contribdeb-src http://security.debian.org/ lenny/updates main contrib

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 7/97

Page 8: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Software-Update

Alle installierten Pakete können mit den folgenden Befehlen aktualisiertwerden:

apt-get upgrade

oder

aptitude upgrade

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 8/97

Page 9: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Verfügbare Pakete durchsuchen

Mittels

apt-cache search <Suchzeichenkette>

oder

aptitude search <Suchzeichenkette>

kann die Paketdatenbank nach Paketen durchsucht werden, deren Name bzw.Kurzbescheibung die gesuchte Zeichenkette enthält.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 9/97

Page 10: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Paketbeschreibungen

Das Kommando

aptitude show <Paketname>

zeigt eine ausführliche Paketbeschreibung an.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 10/97

Page 11: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Welche Pakete sind installiert?

Mittels

dpkg -l

werden alle installierten Pakete aufgelistet und mittels

dpkg -L <Paketname>

werden die in einem Paket enthaltenen Dateien angezeigt. Das Paket muss aufdem System installiert sein.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 11/97

Page 12: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Händische Paketinstallation

Das Kommando

dpkg -i <Paketdatei>

installiert die Datei namens Paketdatei. Die Paketdatei muss ein sog.Debian-Paket sein, zu erkennen an der Endung .deb.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 12/97

Page 13: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

if-then-else-fi

Syntax:

if <Kondition>then...

else...

fi

Als Kondition wird meistens das test-Kommando genutzt:

test <Operand1> <Operator> <Operand2>

Kurzschreibweise:

[<Operand1> <Operator> <Operand2>]

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 13/97

Page 14: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

test-Optionen

-d wahr, wenn Verzeichnis

-f wahr, wenn reguläre Datei

-s wahr, wenn Datei und größer Null

-x wahr, wenn Datei und ausführbar

<Zeichenkette> wahr, wenn nicht leer

<z1> = <z2> wahr, wenn Zeichenkette <z1> gleich der Zeichenkette<z2> ist

<z1> != <z2> . . .

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 14/97

Page 15: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

if-then-Beispiele

#!/bin/bashif [ $PRINTER ]thenecho $PRINTER

elseecho "\$PRINTER ist nicht gesetzt."

fi

#!/bin/bashif [ ! -d $1 ]thenecho "$1 existiert nicht!"

fi

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 15/97

Page 16: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Klammern bei Konditionen der Bash

Vergleiche kann man durch doppelte Klammern ausführen:

Für Textvergleiche:

if [[ $foo == "bar"]]

Für arithmetische Vergleiche:

if (( 10 < 9 ))

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 16/97

Page 17: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Texteingabe

read ZEILE

Beispiel:

echo -n "Ihre Eingabe: "read ZEILEecho $ZEILE

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 17/97

Page 18: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Zeilenweise einlesen

while <list>;do <commands>;done

Beispiel (lese FILE zeilenweise und gebe den Inhalt aus):

cat <FILE> | while read LINEdoecho $LINE

done

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 18/97

Page 19: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Runlevel

Linux kann in verschiedene Runlevel starten/wechseln, die unterschiedlicheBootabläufe repräsentieren:

Runlevel

0 Shutdown

1 Single-User

2-5 Multiuser (2 ist Standard)

6 Reboot

Diese Runlevel werden durch entsprechende Start-/Stop-Skripten imVerzeichnis

/etc/rc<Runlevel>.d/

erreicht.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 19/97

Page 20: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Start-/Stop-Skripte

In den entsprechenden Runlevel-Verzeichnissen werden die Skripteentsprechend ihrer Nummerierung nacheinander abgearbeitet. Die Skripte diemit einem

S beginnen, sind Startskripte (beim Starten des Runlevels).

K beginnen, sind Stopskripte (beim Verlassen des Runlevels).

Alle Start-/Stop-Skripte sind symbolische Links auf echte Skripte, die in

/etc/init.d/

gesammelt sind.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 20/97

Page 21: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Dienste in /etc/init.d

Normalerweise wird bei der Installation für jeden Dienst des Rechnersautomatisch ein Skript in /etc/init.d angelegt und in den entsprechendenRunleveln verlinkt.

Ändert man die Konfiguration eines solchen Dienstes, muss er ggf. neugestartet werden:

/etc/init.d/<Dienst> <start|stop|restart|status>

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 21/97

Page 22: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Eigene Dienste

Man kann eigene Skripte, z.B. für IPTables, in /etc/init.d hinterlegen.Möchte man diesen Dienst immer automatisch in allen Runleveln starten,erreict man das durch den Befehl:

update-rc.d <Dienst> defaults

Für einen bestimmten Runlevel erreicht man das durch:

update-rc.d <Dienst> start NN <Runlevel> . stop NN <Runlevel>

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 22/97

Page 23: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Anwendungen und ihre Ports

Rechner130.75.5.15

FTP(Port 21)

SSH(Port 22)

HTTP(Port 80)

Rechner130.75.6.209

FTP(Port 51)

SSH(Port 35)

HTTP(Port 99)

FTP-Datenpaket

SSH-Datenpaket

HTTP-Datenpaket

an: 130.75.6.209an: 130.75.5.15

21

35

80

22

51

99

Ein Datenpaket enthält Absenderadresse, Empfängeradresse und den Port derAnwendung am Zielrechner.

Gewisse Standardports sind bestimmten Anwendungen zugeordnet, könnenaber dennoch frei gewählt werden.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 23/97

Page 24: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Paketfilter IPTables

Mittels Regeln wird der Verlauf eines TCP/IP-Datenpaketes beeinflusst. Dabeikann eine Datenpaket

verworfen (DROP),

zurückgewiesen (REJECT) oder

angenommen (ACCEPT) werden.

Ein Paket durchläuft normalerweise eine von drei möglichen Ketten:

FORWARD

INPUT

OUTPUT

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 24/97

Page 25: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

IPTables

FORWARD

OUTPUT

INPUT localhostnetfilter(iptables)

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 25/97

Page 26: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

IPTables-Regeln

Eine IPTables-Regel hat den allgemeinen Aufbau:

iptables [-t Tabelle] -A <Kette> <Regel>

wobei drei Tabellen zur Verfügung stehen:

filter (Standard)

mangle

nat

Über entsprechende Abkürzungen werden dann die Regeln aufgebaut. Wirdeine Regel eingegeben, so wird sie sofort wirksam.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 26/97

Page 27: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Regelbeispiel

Das folgende Beispiel für einen Satz Filterregeln sollte als Quasi-Standard amRRZN gelten, sobald ein Server aufgesetzt wird noch bevor er endgültig ansNetz geht:

iptables -Liptables -P INPUT DROPiptables -P FORWARD DROPiptables -A INPUT -s 127.0.01 -i lo -j ACCEPTiptables -A INPUT -m state –state ESTABLISHED -j ACCEPTiptables -A INPUT -p tcp –dport 22 -j ACCEPTiptables -A INPUT -s 130.75.5.0/255.255.255.0\

-p tcp –dport 22 -j ACCEPT

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 27/97

Page 28: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Speichern und Laden von Filterregeln

Mittels

iptables-save > <DATEI>

und

iptables-restore < <DATEI>

können aktuelle Regeln in DATEI gespeichert werden bzw. daraus gelesenwerden.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 28/97

Page 29: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Network Address Translation (NAT)

OUTPUTlocalhost

prerouting postrouting

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 29/97

Page 30: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Masquerading (SNAT)

Die Befehle, die notwendig sind, um Masquerading zu aktivieren, lauten:

echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 30/97

Page 31: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Netzwerkeinrichtung

Jeder Rechner in einem Netz erhält eine eindeutige Adresse, die sogenannteIP-Adresse (Internet-Protocol-Adresse). Diese Adresse wird vom sogenanntenDNS-Server (Domain-Name-Service) aufgelöst und einem Namen zugeordnet.Über diesen Namen kann im Netz auf den Rechner zugegriffen werden.

Tatsächlich wird bei jeder Netzwerkanfrage gerufen:

„Wer hat IP 130.75.5.15?“

Der Rechner 130.75.5.15 (server225h.rrzn.uni-hannover.de) antwortet mit

„Ich! Und zwar mit der MAC-Adresse 00:18:51:D2:B3:A3!“

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 31/97

Page 32: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Netwerkeinrichtung

Die MAC-Adresse ist einer Netzwerkkarte fest zugeordnet (steht meist auf derKarte selbst) und sollte weltweit eindeutig sein.

Sie kann gefälscht werden.

Ab jetzt werden alle Datenpakete von den aktiven Netzkomponenten einesNetzwerkes an die Ports gelenkt, an denen MAC- und IP-Adresseübereinstimmen.

In Netzwerken ohne solche aktiven Netzkomponenten (Switches etc.) greiftein Rechner einfach jedes „vorbeifliegende“ Datenpaket ab, das seineMAC-Adresse trägt.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 32/97

Page 33: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Routing

Jeder Rechner im Netz muss eine Route kennen, über die er seine Datenpaketeverteilen kann. Diese Routing-Adresse ist sein Tor zur Außenwelt außerhalbseines lokalen Netzes.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 33/97

Page 34: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Netzmaske

Die Netzmaske ist ein Bitmuster, das den lokalen Bereich von IP-Adressendefiniert, den ein Rechner direkt zu erreichen versucht (ohne Gateway/Router):

11111111.11111111.11111111.00000000

alle IP-Adressen der letzten Stelle sind frei (nicht gesetzt) und gehören zumlokalen Netz.

Die CIDR-Notation zählt die festgelegten, führenden Bits:

3× 8 = 24

Es handelt sich umeine sog. 24-er Netzmaske:

192.168.10.0/24

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 34/97

Page 35: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Netzwerkdaten

Welche Daten sind also notwendig, damit ein Rechner im Netzwerk genutztwerden kann?

1 IP-Adresse (inklusive Netzmaske) XXX.XXX.XXX.XXX

2 DNS-Server-Adresse

3 Routing-Informationen (Gateway-Adresse)

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 35/97

Page 36: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

IP-Adresse eintragen

Der Befehl

ifconfig <INTERFACE> <IP> [netmask <MASKE>] up|down

stellt das angegebene Interface auf die IP-Adresse ein und aktiviert oderdeaktiviert es (up oder down).

Die Interfaces für Ethernet werden unter Unix von Null durchnummeriert undlauten eth0, eth1, eth2 . . .

Wird ifconfig ohne Argumente aufgerufen, so werden alle Informationen zuden angeschlossenen Netzwerkgeräten angezeigt.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 36/97

Page 37: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

DNS-Server eintragen

In der Datei

/etc/resolv.conf

werden alle Nameserver und die Suchreihenfolge für Rechnernamenangegeben. Die Suchreihenfolge vereinfacht die Namenseingabe vonRechnern.

nameserver 130.75.1.32nameserver 130.75.1.40search uni-hannover.desearch rrzn.uni-hannover.de

Eine Änderung in dieser Datei zeigt sofort Wirkung.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 37/97

Page 38: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Route einrichten

Der Befehl

route add default gw <GATEWAY>

richtet die Route zum Standard-Gateway ein. Oft ist eine falsche Route derGrund für ein nicht funktionierendes Netzwerk.

Die Routing-Einträge kann man sich mit dem Kommando

route -n

anzeigen lasen.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 38/97

Page 39: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Nameservice abfragen

Die Kommandos

dig -x <IP>

oder

host <IP | NAME>

oder

nslookup <IP | NAME>

zeigen (sofern vorhanden) den korrespondierenden Namen bzw. diekorrespondierende Netzwerkadresse an.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 39/97

Page 40: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Geräteverwaltung

Unter Unix werden alle Geräte (Devices) durch einen entsprechenden Eintragim „Geräteverzeichnis“ /dev repräsentiert.

/dev/hda steht beispielsweise für „harddisc a“ also die erste Festplatte.

Geräte, die beim Start des Systems fest eingebunden werden müssen unddurch ein eigenes Verzeichnis repräsentiert werden (das sind vor allem alleSpeichergeräte), werden in der Datei /etc/fstab definiert.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 40/97

Page 41: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

/etc/fstab

Jede Zeile der Datei fstab beschreibt ein Gerät. Die Syntax einer solchenZeile hat die folgende Struktur:

Blockdevice Mountpoint Dateisystem Mountoptionen Dump Check-Reihenfolge

/dev/hda1 / ext3 defaults,errors=remount-ro 0 1/dev/hdc /media/cdrom iso9660 ro,user,noauto 0 0

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 41/97

Page 42: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Dateisysteme

Einige Dateisysteme:

ext2 „Extended Filesystem 2“

ext3 „Extended Filesystem 3“ — Logfile-basiert

reiserfs „Reiser Filesystem“ — Logfile-basiert

iso9660 Daten-CD-ROM

vfat „Virtual File Allocation Table“, 32Bit, Windows

NFS „Network Filesystem“

. . . Es gibt eine Vielzahl weiterer Dateisysteme. Einen guten Überblickerhält man in der Manpage des mount-Befehls.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 42/97

Page 43: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Der Mount-Befehl

Mit dem Befehl

mount -t <FS-TYPE> <DEVICE> <MOUNTPOINT>

kann ein Gerät händisch in das laufende System eingehängt werden. DieserBefehl ist in der Regel root vorbehalten. Einträge in /etc/fstab, die bei denMountoptionen „user“ stehen haben, können auch von normalen Nutzernausgeführt werden.

Bei Geräten, die in /etc/fstab aufgeführt sind, reicht die Angabe des Gerätesselbst.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 43/97

Page 44: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Benutzerverwaltung

Da Unix ein Betriebssystem ist, das auf Netzwerknutzung unddementsprechend auch auf Multitasking ausgerichtet ist, gibt es dieMöglichkeit, mit mehreren verschiedenen Benutzern auf das Systemzuzugreifen.

Jeder Benutzer erhält einen eindeutigen Namen.

Jeder Benutzer erhält ein geheimes Paswort (nicht mal root kann dasPasswort lesen).

Jedem Benutzer wird eine eindeutige Nummer zugeordnet.

Die Benutzer werden über diese Nummern und Namen vom Systemverwaltet.

Jeder Benutzer erhält ein Home-Verzeichnis.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 44/97

Page 45: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Besondere Benutzer

Im Grunde gibt es nur einen besonderen Benutzer, den Benutzer

root

mit der ID 0. Weist man einem Benutzer diese Nummer zu, so erhält er alleRechte am System. Es können durchaus mehrere Benutzer root-Rechtebesitzen.

Dieser Benutzer gehört üblicherweise der Gruppe root an.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 45/97

Page 46: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Benutzer anlegen

Das anlegen eines neuen Nutzer geschieht mit dem Befehl

adduser [--home DIR] [--uid ID] <USERNAME>

Der Inhalt des /etc/skel-Verzeichnisses wird als Standard für das neueHomevverzeichnis des Users kopiert. Ein Passwort muss noch festgelegtwerden.

Mit dem Befehl useradd könen darüberhinaus auch die Defaultwerte für dieErzeugung neuer Benutzer verändert werden.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 46/97

Page 47: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Passwort-Vergabe

Root kann nun mit dem Befehl

passwd <USERNAME>

ein neues Passwort für diesen User vergeben. Das Passwort wird verschlüsseltabgelegt in /etc/passwd bzw. in /etc/shadow.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 47/97

Page 48: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Benutzer löschen

Mit dem Befehl

deluser [--remove-home] [--home DIR] [--remove-all-files]<USERNAME>

wird der Nutzer mit dem Namen USERNAME gelöscht. Die Option--remove-all-files entfernt sämtliche Dateien und Verzeichnisse imSystem, die dem Nutzer gehören. Die Option --remove-home löscht nur daskorrespondierende Homeverzeichnis und ggf. alle Spool-Dateien(Druckdateien).

Die Option --home besagt, dass der Nutzer erst gelöscht wird, falls dasangegebene Homeverzeichnis tatsächlich dem Nutzer zugeordnet ist.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 48/97

Page 49: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Gruppen

Benutzer werden unter Unix in Gruppen eingeteilt, die bestimmteEigenschaften und damit auch bestimmte Zugriffsrechte besitzen.

So könnte man beispielsweise Gruppen einrichten, die in bestimmtenVerzeichnissen (in denen beispielsweise Software installiert wird)Schreibrechte besitzen.

Auch Gruppen weerden durchnummeriert (referenziert durch die sogenannteGroupID (GID)).

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 49/97

Page 50: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Gruppen anlegen

Der Befehl

groupadd [-g GID] <GROUPNAME>

legt die Gruppe GROUPNAME auf dem System an. Die Nummern 0-99 sindüblicherweise für System-Gruppen reserviert.

Die Eigenschaften einer GRuppe verändern kann man mit dem Befehl

groupmod [-g GID] [-n GROUPNAME] <GROUP>

wobei die Option -n den neuen Gruppennamen einleitet und -g die neue GID.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 50/97

Page 51: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Gruppen löschen

delgroup [--only-if-empty] <GROUPNAME>

löscht die Gruppe GROUPNAME. Die Option –only-if-empty verhindert dasLöschen solange noch Mitglieder der Gruppe existieren. Übrigens auch derBefehl

deluser --group <GROUPNAME>

löscht die angegebene Gruppe.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 51/97

Page 52: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Benutzer einer Gruppe hinzufügen

Mit dem Kommando

adduser <USER> <GROUP>

wird ein Nutzer der Gruppe GROUP hinzugefügt. Ebenso kann ein Nutzer auchvon einer GRuppe entfernt werden:

deluser <USER> <GROUP>

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 52/97

Page 53: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

ScureCopy SCP

Mit dem Kommando

scp [Optionen] <Quelle> <Ziel>

können Dateien und Verzeichnisse verschlüsselt über das Netzwerk übertragenwerden.

Quelle und Ziel können der üblichen ssh-Syntax entsprechen:

scp datei.txt mheiste@mac225h:/tmp

D.h. kopiere die Datei datei.txt im aktuellen Verzeichnis auf dem lokalenRechner verschlüsselt über das Netz zum Rechner mac225h unter demBenutzer mheiste in das /tmp-Verzeichnis.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 53/97

Page 54: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

SSH

SSH steht für „Secure-Shell“ und ermöglicht die verschlüsselte Verbindungzwischen zwei Rechnern im Netz. Ein Benutzeraccount auf dem Fremdsystemist notwendig.

Die Syntax lautet:

ssh [OPTIONS] USER@HOST

mit den Optionen:

-l <USER>

-p <PORT>, um einen anderen Port als 22 für ssh zu nutzen

-L <LOCALPORT>:<HOST>:<ZIELPORT>, um einen lokalen Port aneinen Zielport einer Zieladresse weiterzuleiten (für Tunneling).

-X, um auch X-Anwendungen zu nutzen

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 54/97

Page 55: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Konfigurationsdateien

Die Konfigurationsdateien für SSH liegen im etc-Verzeichnis und heißen

ssh_config und sshd_config,

wobei Erstere die Klientenkonfiguration und Zweitere die Serverkonfigurationenthält.

Sollte trotz der Option -X beim Aufruf von ssh eine X-Anwendung nichtaufrufbar sein (kein Display o. ä.), so muss serverseitig in

sshd_config

X11Forwarding no

entweder auf yes gesetzt oder mit einem # kommentiert werden.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 55/97

Page 56: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Wichtige Optionen in sshd_config

Port 22

Protocol 2

PermitRootLogin no

StrictModes yes

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 56/97

Page 57: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Public Key Authentifizierung

Es gibt die Möglichkeit, eine Verbindung so zu definieren, dass keineAuthetifizierung mehr per Nutzername und Passwort notwendig ist.

1 Lokal: ssh-keygen -t dsa2 Kopieren des Schlüssels auf den Server:

scp $HOME/.ssh/id_dsa.pub user@server:3 Login auf den Server:

ssh user@server4 Auf dem Server:

mkdir .ssh undchmod 700 .ssh, falls .ssh noch nicht existiertmv id_dsa.pub .ssh/authorized_keys

Oder ggf, wenn es bereits andere Keys gibt:cat id_dsa.pub ».ssh/authorized_keysrm id_dsa.pub

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 57/97

Page 58: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Public Key Authentifizierung II

Binden eines Public-Keys an eine bestimmte IP-Adresse:

from=“foo.bar.de“ ssh-dss [...key...]

Ohne die Option

PasswordAuthentication no

in sshd_config nicht sinnvoll.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 58/97

Page 59: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Public Key Authentifizierung III

Nur ein bestimmtes Kommando zulassen:

command=“foo.bar.de“ ssh-dss [...key...]

wobei das Kommando mit allen Optionen genau bekannt sein muss. Dasübergebene Kommando wird in der UmgebungsvariablenSSH_ORIGINAL_COMMAND gespeichert.

Diese Option wird oft mit der from=“...“-Option zusammen, getrennt durchein Komma, genutzt.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 59/97

Page 60: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Daten- und Systemsicherung, Archivierung

Warum ein Backup von Daten notwendig ist, muss niemandem erklärt werden.Dennoch werden Backups noch immer zu selten gemacht.

Gerade Unix / Linux bringen schon mit Bordmitteln realisierbareleistungsfähige zustande:

Sicherung über das Netz (mehrfach, verschiedene Medien)

effiziente Kompressionssoftware

mittels Cronjobs kann das Backup automatisiert werden

klare Trennung von System- und Nutzerdaten

inkrementelles Sichern mit TAR

Netzwerkboot, um komplette Systeme (System- und Nutzerdaten) zusichern

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 60/97

Page 61: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Daten- und Systemsicherung, Archivierung

Es gibt drei unterschiedliche Bereiche:

Datensicherung

Datenarchivierung

Systemsicherung

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 61/97

Page 62: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Datensicherung (Backup)

unverzichtbarer Service für den Nutzer

wird im Allgemeinen vom Nutzer als verzichtbar eingestuft

viele Nutzer sind erfahrungsresistent

kurzfristiger Service

inkrementelles Backup mit „Gedächtnis“ ist wünschenswert

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 62/97

Page 63: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

lokale Backup-Medien

CD, DVD Nicht zur Archivierung, aber als kurzfristiges Backup gut geeignet.Nur sehr begrenzte Speicherkapazität.

USB-Stick Einfache Speicherung, sehr begrenze Kapzität, ansonsten siehe CDund DVD.

Band Teure und seltene Geräte, zur Archivierung geeignet, sehr langsam aberrelativ hohe Kapazität.

2. Festplatte Schnell, hohe Kapazität, aber keine räumliche Trennung vonOriginal und Backup möglich (gilt nicht für externe Platten).

Notebook Schnell, hohe Kapazität, teuer und unhandlich.

Diskette Höchst unzuverlässiges Medium, viel zu wenig Kapazität.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 63/97

Page 64: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Backup im Netz - E-Mail

Schicken Sie einfach wichtige Daten regelmäßig als Anhang per E-Mail ansich selbst.

Vorteile:

einfachzuverlässighohe Verfügbarkeithohe Datensicherheit

Nachteile:

Anhänge vielleicht zu groß?gute Netzanbindung erforderlichbegrenzte Kapazität der Mailboxkein AutomatismusEigenverantwortlichleit

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 64/97

Page 65: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Backup im Netz - Unix-Tools

Sichern Sie Daten mit Unix-Tools auf im Netz erreichbare Rechner.

Vorteile:

Eigenverantwortlichkeit

hohe Zuverlässigkeit

mit Bordmitteln machbar

Verschlüsselung

Nachteile:

Eigenverantwortlichkeit

Finde ich taugliche Zielrechner?

gute Unix-Kenntnisse erforderlich

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 65/97

Page 66: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Backup im Netz - Unix-Tools

Einige Tools:

ssh (mit Public-Key-Authentifizierung zur Automatisierung)

ftp (mit .netrc zur Automatisierung)

netcat (nc)

tar

rsync

scp

cp

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 66/97

Page 67: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Beispiele

ftp:> put “| tar cf - <Quelle>“ archiv.tar

und

ftp:> get test.tar “| tar xf - -C <Ziel>“

cat archiv.tar | ssh <ID>@<Host> “tar xf - -C <Ziel>“

Zielrechner (Host): nc -l -p <Port> > archiv.tarQuellrechner: tar cf - <Quelle> | nc -w 2 <Host> <Port>

rsync -av -e “ssh“ <Quelle> <ID>@<Host>:<Ziel>

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 67/97

Page 68: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Backup im Netz - Netzlaufwerke

Sichern Sie Ihre Daten per „Copy & Paste“ auf einem Fileserver (Samba, Novell,NFS. . . ).

Vorteile:

hohe Geschwindigkeit

hohe Kapazität

hohe Datensicherheit

Nachteile:

Eigenverantwortlichkeit

unverschlüsselt

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 68/97

Page 69: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Backup im Netz - Backupservices

Nehmen Sie an einem Backupservice eines Dienstleisters teil.

Vorteile:

automatisiert

zuverlässig

ggf. einfache Bedienung

für die meisten Betriebssysteme erhältlich

hohe Geschwindigkeit

inkrementell

Nachteile:

Aufgabe der Eigenverantwortlichkeit

gute Netzanbindung erforderlich

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 69/97

Page 70: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Inkrementelle Backups

Ein inkrementellese Backup sichert nur die geänderten Daten, um so dasBackup-Medium nicht zu schnell zu überfüllen. Außerdem ist dasinkrementelle Backup sehr viel schneller als ein Vollbackup.

In der Regel werden zu gegebenen Zeitpunkten Vollbackups erzeugt und biszum nächsten Vollbackup ausschließlich inkrementelle Sicherungemn.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 70/97

Page 71: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Hardlinks vs. Softlinks

Links sind Verweise auf Dateien (Verknüpfungen). Sie werden angelegt mitdem Kommando:

ln [-s] <Ziel> <Link>

wobei -s einen symbolischen (Soft-)Link erzeugt. Ohne diese Option wird einharter Link angelegt.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 71/97

Page 72: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Softlink

Ein Softlink ist der Verweis auf eine Datei. Existiert die Originaldatei nichtmehr, zeigt der Links ins Leere.

Ein Softlink kann an dem Attribut l und daran erkannt werden, dass immerautomatisch alle Rechte gesetzt sind. Außerdem zeigt ein Pfeil an, wohin derLink zeigt.

lrwxr-xr-x 1 mheiste mheiste 7 May 21 06:53 test -> test.pl

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 72/97

Page 73: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Hardlink

Ein Hardlink ist nicht von der Originaldatei zu unterscheiden. Erst wenn derletzte Link gelöscht ist, ist auch dad Original gelöscht.

Ein Hardlink ist lediglich ein weiterer Eintrag im Dateiverzeichnis der lokalenPlatte. Dort verweisen dann mehrere Namen/Einträge auf denselben Bereich(Inode) der Festplatte. Die Anzahl der Verlinkungen wird in der zweiten Spalteder ls -l-Ausgabe angezeigt:

1 ls -l-rwxr–r– 1 mheiste mheiste 299 May 15 14:00 test.pl

2 ln test.pl test

3 ls -l-rwxr–r– 2 mheiste mheiste 299 May 15 14:00 test

-rwxr–r– 2 mheiste mheiste 299 May 15 14:00 test.pl

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 73/97

Page 74: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Inkrementelles Backup mit rsync

rsync gleicht Verzeichnisse ab und bringt sie auf denselben Stand. Dabei istrsync in der Lage, Hardlinks aufzulösen und das neuere geänderte Originaleinzufügen, den Rest aber als Hardlink zu belassen.

Vorgehen:

1 Verschiebe bisherige Backups weiter (Nummerierung).

2 Mache Hardlink-Kopie des letzten Backups.

3 Gleiche die Hardlink-Kopie mit dem aktuellen Verzeichnis per rsync ab.

Ergebnis: Im letzten Backup ist alles wieder ein Hardlink, bis auf diegeänderten Daten.

Eine Datei, die in allen Backups vorhanden ist, aber nie geändert wurde, istphysikalisch auch nur einmal vorhanden.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 74/97

Page 75: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

rsync-Optionen

rsync [Optionen] <Quelle> <Ziel>

-v viel Rückmeldung

-a archive-mode, d.h. rekursiv, Rechte beibehalten

--delete Dateien im Ziel ggf. löschen

--delete-excluded auch ausgenommene Datein im Ziel löschen

--exclude Datei/Verzechnis nicht berücksichtigen

--exclude-from= Angabe einer Datei mit allen Excludes zeilenweise

–link-dest=DIR Hardlinks nach DIR für ungeänderte Dateien.

Excludes sind immer relativ zur Quelle anzugeben.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 75/97

Page 76: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Datenarchivierung

nicht zum kurzfristigen Wiederherstellen von Daten

nur zur Archivierung

langfristig

ggf. teuer

ggf. sehr aufwendig

langsam

große Kapazität notwendig

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 76/97

Page 77: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Medien

Band (mit Roboter in großen Netzen)

CD, DVD

asterix.rrzn.uni-hannover.de

Alle Medien müssen regelmäßig umkopiert werden, um Datenverlustvorzubeugen und die Kompatibilität (Lesbarkeit) der Formate und Medien übereinen langen Zeitraum zu gewährleisteni.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 77/97

Page 78: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Systemsicherung (Systemrecovery)

das System wird gesichert

Separation in Nutzer- und Systemdaten

schnelles Recovery

handhabbare Bootmedien

mit Bordmitteln unter Linux machbar

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 78/97

Page 79: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Methoden

Platten klonen:dd

tar-Archive:ddsfdisktarchrootgrub-install

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 79/97

Page 80: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Klonen mit dd

booten mit Knoppix o. Ä.

Netzwerk initialisieren

Plattenressource einhängen (NFS, netcat, ssh. . . )

dd if=/dev/<SYSTEMPLATTE> of=<PLATTENRESSOURCE>

Das erzeugte Image ist eine 1:1-Kopie der Systemplatte. Mittels

dd if=<PLATTENRESSOURCE> of=/dev/<NEUE_SYSTEMPLATTE>

kann der System-Klon aufgesetzt werden.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 80/97

Page 81: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

FTPUm Daten über das Netz einfach und schnell, aber unverschlüsselt zuübertragen, kann man FTP wählen.

Die Syntax ist schon aus dem Unix-Grundkurs bekannt:

ftp [HOSTNAME]

Man braucht hier einen Nutzer-Account auf dem Zielrechner und derZielrechner muss darüber hinaus einen FTP-Server betreiben.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 81/97

Page 82: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Verschlüsseltes FTP

Es gibt unter das sogenannte sftp, das auf SSH aufsetzt und einenverschlüsselten Datentransfer erlaubt. Die Syntax ist ähnlich der klassischenFTP-Syntax:

sftp <USERID>@<HOSTNAME>

Der Zielhost braucht keinen FTP-Server, aber sehr wohl einen SSH-Server, wasin der Unix-Welt quasi Standard ist.

SFTP lässt sich natürlich tunneln:

1 ssh -L <LOCALPORT>:<ZIELHOST>:<ZIELPORT> \<USER>@<TUNNELHOST>

2 sftp -oPort=<LOCALPORT> <USERID>@localhost

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 82/97

Page 83: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

FTP durch SSH tunneln

Um FTP durch SSH zu tunneln (und damit den Datenverkehr zu verschlüsseln),muss zunächt eine SSH-Verbindung aufgebaut werden, durch die dann„rückwärts“ wieder die FTP-Verbindung aufgebaut wird:

ftplocalhost

ftp-Server

Backuphost

ssh-Serverssh

ssh

Die Nachteile liegen auf der Hand:

verwirrend, da rückwärtiger Aufbau von Verbindungender eigene Rechner muss über einen FTP-Server verfügen

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 83/97

Page 84: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

FTP-Server

Das Aufsetzen eines FTP-Servers ist in seinen Grundzügen sehr einfach. Wirnutzen die Serversoftware vsftpd. Der Name steht für „Very Secure FTPDaemon“ und er ist über eine Konfigurationsdatei leicht zu konfigurieren.

Zwei Dateien sind nach der Installation auf dem System vorhanden:

/etc/init.d/vsftpd

/etc/vsftpd.conf

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 84/97

Page 85: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Inhalt einer trivialen /etc/vsftpd.conflisten=YESanonymous_enable=YESanon_upload_enable=NOlocal_enable=YES

listen=YES Der Server läuft „standalone“, wird also allein iminit.d-Verzeichnis gestartet (nicht vom inetd).

anonymous_enable=YES Anonymous-Login wird erlaubt, aber

anon_upload_enable=NO es wird kein Upload für Anonymous-Userzugelassen.

local_enable=YES Lokale Nutzer haben auch ftp-Zugriff auf ihreHeimatverzeichnisse inklusive Upload.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 85/97

Page 86: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

ZIP, BZIP2, TAR etc.

ZIP, BZIP(2), TAR . . . sind Archivierungsprogramme, die auch aus anderenBetriebssystemwelten bekannt sein dürften. In ihrer Kompressionsrate ameffizientesten sind ZIP und BZIP2. Beide Programme können mit dem„Archivator“ TAR kombiniert werden.

BZIP2 bedient sich de z. Zt. besten Kompressionsalgorithmus, ist aber einextremer Leistungsfresser. Soll es also einigermaßen schnell gehen, so ist ZIPvorzuziehen.

Die Syntax für zip (unzip) und bzip2 lautet:

zip <ZIPFILE> <FILELIST>

bzip2 <INPUT>

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 86/97

Page 87: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

BZIP2Achtung!

BZIP2 ist ein blockorientierter Kompressor, d. h. es legt keine Archive an,sondern komprimiert einfach, was er „zu fressen“ bekommt.

Es seien in einem Verzeichnis die Dateien 1.txt, 2.txt und 3.txt:

“bzip2 *“→

1.txt.bz22.txt.bz23.txt.bz2

ZIP dagegen erzeugt ein komprimiertes Archiv!

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 87/97

Page 88: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

TARTAR steht für „TapeArchive“ und wurde in den 70ern für Bandgeräteentwickelt, die (auch heute noch) als Backupmedium dienten.

TAR erhält Zugriffsrechte und Verzeichnisstruktur innerhalb seines Archives.

Die (einfache) Syntax lautet zum Erzeugen:

tar cvzf <ARCHIVNAME> <DATEILISTE>

Und zum Entpacken:

tar xvzf <ARCHIVNAME> [DATEILISTE] -C <ZIELVERZEICHNIS>

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 88/97

Page 89: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Die wichtigsten Optionen von TAR

c Erzeuge ein Archiv

x Entpacke ein Archiv

t Liste den Inhalt eines Archivs auf

v Verbose Mode

z Komprimiere / entpacke das Archiv mit gzip

j Komprimiere / entpacke das Archiv miz bzip2

f Erzeuge ein Archiv mit <ARCHIVNAME>

Beispiel:

tar cvzf archiv.tgz .

Dieser Befehl erzeugt im aktuellen Verzeichnis ein komprimiertes Archivnamens „archiv.tgz“, das alle Dateien, Verzeichnisse und Unterverzeichnissedes aktuellen Verzeichnisses enthält.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 89/97

Page 90: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

ftp-Pipe

Es ist möglich, ein TAR-Archiv auf einem FTP-Server zu erzeugen bzw. zuentpacken, ohne in zwei Schritten erst zu archivieren und dann hochzuladen(bzw. umgekehrt):

Hochladen:

1 Login auf dem FTP-Server

2 Lokaler Wechsel in das Verzeichnis, ab dem archiviert werden soll.

3 put "| tar cvf - ." myfile.tar

Runterladen:

1 Login auf dem FTP-Server

2 Lokaler Wechsel in das Verzeichnis, in das entpackt werden soll.

3 get myfile.tar "| tar xvf -"

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 90/97

Page 91: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Network Filesystem (NFS)

Wie die Überschrift schon sagt steht NFS für Network Filesytem. NFS wurdevon SUN™ entwickelt und ist ein unverschlüsseltes Dateisystem, bei dem überdas Netz entfernte Partionen u. ä. in das lokale Dateisystem mittels desnormalen mount-Befehls eingebunden werden können.

Der Server, der Partitionen zur Verfügung stellt, kann die Server-Softwareentweder kernelbasiert oder im sogenannten Userspace nutzen.

Die Kernelversion ist schneller, aber angeblich instabiler.

Auf dem Server liegt eine Konfigurationsdatei, die die Zugriffsrechte regelt(welche Rechner dürfen welche Verzeichnisse mit welchen Attributeneinhängen). Der Mountvorgang wird ohne Authentifizierung durchgeführt!

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 91/97

Page 92: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

NFS-Server

Ähnlich wie der FTP- oder auch SSH-Server, läuft der NFS-Server als Dämonim Hintergrund und muss immer dann neu gestartet werden, wenn sich anseiner Konfiguration etwas ändert.

Die Konfiguration findet in der Dastei

/etc/exports

statt.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 92/97

Page 93: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

/etc/exports

<VERZEICHNIS> <HOSTNAME/IP>[(OPTION,OPTION,...)]/tmp 192.168.0.1(ro)/mnt 192.168.0.0/255.255.0.0(ro)

Einige Optionen:

ro Das Verzeichnis wird nur „read-only“ eingehängt.

rw Das Verzeichnis wird „read-writeable“ eingehängt.

no_root_squash Normalerweise werden sämtliche System-Nutzer, die einNFS-Verzeichnis einhängen, auf bestimmte Nutzer umgemappt; soll derRoot-Account erhalten bleiben, so sorgt diese Option dafür.

async Gleichzeitiges Schreiben und Lesen, ohne jedesmal Sync-Befehleauszuführen, ist möglich.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 93/97

Page 94: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Knoppix, Ubuntu live

Knoppix, Ubuntu live . . .

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 94/97

Page 95: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Softwarekompilation

Softwareinstallation findet unter Unix / Linux auf zwei Arten statt:

Paketmanagement (rpm, deb . . . )

Kompilieren

Das Paketmanagement haben wir bereits mittels des apt-get-Mechanismussesvon Debian genutzt. Andere Distributionen nutzen teilweise eigeneMechanismen.

Man nennt diese Art der Softwaredistribution auch biäre (binary) Verteilung.

Im Falle der Kompilation wird ein Softwarearchiv (i. d. R. als TAR-Datei) imQuellcode einer Programmiersprache heruntergeladen.

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 95/97

Page 96: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Kompilation

Die Kompilation von Software geschieht in der Regel in fünf Schritten, vondenen man die Schritte 1–4 als normaler Nutzer nicht als Root durchführt:

1 Download der Software in ein Verzeichnis <DIR>

2 Entpacken der Software in das Verzeichnis <DIR>/<SOFTWARE>

3 Wechsel in das Verzeichnis <DIR>/<SOFTWARE> und Aufruf des Befehls:./configure

4 Aufruf des Befehls:make

5 Wechsel zum Nutzer Root und Installation der Software:make install

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 96/97

Page 97: Unix / Linux-Aufbaukurs - luis.uni-hannover.de · An wen richtet sich der Kurs? Der Kurs richtet sich an die Hörerinnen und Hörer des Linux / Unix-Grundkurses und an alle, die ein

Kernelkompilation

1 Download von http://www.kernel.org2 Speichern und entpacken in /usr/src/kernel<VERSION>3 Wechsel in das Verzeichnis aus Schritt 2.4 Hat man bereits eine funktionierende Kernelversion:

make oldconfig5 Evtl. Fragen zu neuen Features des neuen Kernels, die der alte noch nicht

hatte werden beantwortet.6 Der Kernel wird übersetzt mit:

make dep clean bzImage modules modules_install7 Kernel und System.map muessen noch kopiert werden:

cp /usr/src/Kernel<VERSION>/System.map /bootcp /usr/linux/Kernel<VERSION>/arch/i386/boot/bzImage /boot/vmlinuz

8 Bootloader aktualisieren:/sbin/lilo oder grub-install /dev/<FESTPLATTE>

Mark Heisterkamp, Unix / Linux-Aufbaukurs, 22. Juni 2010 Seite 97/97