Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende...

66

Transcript of Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende...

Page 1: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.
Page 2: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 34 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: vorwort/vorwort , Aktueller Job: ubuntu-server

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 35 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: vorwort/vorwort , Aktueller Job: ubuntu-server

Vorwort

Vorwort

Willkommen bei »Ubuntu Server 18.04 LTS – Das umfassende Handbuch«! Mit ihm

möchten wir Ihnen ein Nachschlagewerk an die Hand geben, das Ihnen nicht nur zeigt,

wie Sie einen Ubuntu-Server in Ihrer Umgebung einsetzen können. Wir möchten Ih-

nen vor allem auch die Vorzüge des Betriebssystems Linux – insbesondere seiner

Variante Ubuntu – und der Server-Dienste darauf näherbringen.

Warum gerade Ubuntu?

Mit Linux-Distributionen verhält es sich wie mit Autoherstellern: Die einen mag man

einfach lieber, andere haben bessere Technik, und im Großen und Ganzen entschei-

det doch das Bauchgefühl. Alle Distributionen haben durchaus ihre Daseinsberech-

tigung, da sie alle hier und dort etwas Entscheidendes anders machen. Für mich als

Administrator zählt nur eins:

Das richtige Werkzeug für den richtigen Job!

Sie fahren ja auch nicht mit einem Motorrad zum Baumarkt, um Zementsäcke zu

kaufen. Während unserer langjährigen Berufserfahrung haben wir mehrere Distribu-

tionen kennengelernt, und alle haben ihre Vor- und Nachteile. Als Ubuntu aufkam,

waren wir zunächst skeptisch, was das für eine Distribution sein würde.

Im Nachhinein muss festgehalten werden, dass Ubuntu es geschafft hat, auch solche

Benutzer von den Vorzügen von Linux zu überzeugen, die sich zuvor nicht an dieses

Betriebssystem gewagt haben. Auch Administratoren haben Ubuntu schätzen gelernt,

unter anderem, da es ein reibungsloses Upgrade auf neuere Versionen ermöglicht.

Ubuntu basiert auf Debian, setzt dabei jedoch auf neuere Pakete und Kernel als De-

bian, da bei Ubuntu die Releasezyklen kürzer sind.

Für wen haben wir das Buch geschrieben?

Sie haben bereits erste Erfahrungen mit Betriebssystemen gesammelt, vielleicht mit

Linux oder sogar Ubuntu? Sie würden gerne Server-Dienste wie zum Beispiel Mail,

FTP, VPN oder Webserver unter Linux betreiben? Sie sind auf dem Weg ein DevOps zu

werden und möchten etwas tiefer in Ubuntu einsteigen? Dann haben wir dieses Buch

genau für Sie geschrieben.

35

Page 3: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 36 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: vorwort/vorwort , Aktueller Job: ubuntu-server

Vorwort

Wie können Sie mit diesem Buch arbeiten?

Wir haben dieses Buch so strukturiert, dass Sie jedes Kapitel als Anleitung für einen

bestimmten Zweck verwenden können. Selbstverständlich bauen wir auch an der ein

oder anderen Stelle auf vorher erworbenes Wissen auf. Falls Sie an einer Stelle nicht

mitkommen, folgen Sie einfach den Verweisen, die wir für Sie im Buch hinterlegt

haben, um Ihren Kenntnisstand auf das Niveau des Kapitels zu heben.

Was dieses Buch nicht ist

Dieses Buch ist kein Lehrbuch, um den Umgang mit Linux von Grund auf zu verste-

hen. Es gibt Ihnen Lösungsansätze, um bestimmte Probleme zu lösen oder Dienste

genau auf Ihre Bedürfnisse abgestimmt konfigurieren zu können. Natürlich werden

wir an der einen oder anderen Stelle einen Exkurs wagen, um Ihnen ein Gesamtbild

vorzustellen. Erwarten Sie aber nicht, das Betriebssystem Linux mit diesem Buch bis

in seine tiefsten, dunkelsten und geheimnisumwobenen Ecken kennenzulernen.

Vorwort von Daniel van Soest

Was, zwei Jahre sind schon wieder um? Unglaublich. Mittlerweile steckt mehr als ein

Jahr Arbeit in diesem Buch, aber ich glaube, die Arbeit hat sich gelohnt. Ich hoffe,

Ihnen mit diesem Buch nicht nur ein paar gute Anleitungen für diesen und jenen

Serverdienst zu liefern, sondern auch viele nützliche Tipps und Tricks aus der Praxis

vermitteln zu können.

Der Praxisbezug war mir sehr wichtig, ebenso wie das Aufbauen von Hintergrund-

wissen. In meiner nun 15-jährigen Berufserfahrung als Systemtechniker durfte ich

viele Hürden überwinden, aber noch mehr Erfolge feiern. Ich habe in diesem Buch

stets versucht, nicht nur die Technik zu erläutern, sondern auch einen Großteil mei-

ner Erfahrung mit einfließen zu lassen und Ihnen auch das Hintergrundwissen zu

vermitteln, um Probleme selbstständig lösen zu können.

Bei der Arbeit an diesem Buch war einer meiner Leitsätze: »Man kann nur Technik be-

herrschen, die man versteht.« (Er wird Ihnen im Buch sicherlich begegnen.) Ich hoffe,

diesem Motto gerecht geworden zu sein und mit diesem Buch nicht nur eine Anlei-

tung geschaffen zu haben, sondern Sie darin unterstützen zu können, die Technik

zu verstehen, selbst kreative Ideen zu entwickeln und nicht nur stumpf nach Plan zu

arbeiten.

Trotz alledem steht der Praxisbezug im Vordergrund, schnell etwas einzurichten, auf-

zusetzen oder umzusetzen: Das können Sie mit diesem Buch. An den Stellen, an de-

nen eine Planung wichtig für den Erfolg des Projekts ist, nehme ich mir aber auch

die Zeit, Sie darauf hinzuweisen. Auch habe ich viele Fehlerquellen deutlich heraus-

gestellt, sodass Sie schnell an Ihr Ziel gelangen, ohne zu stolpern.

36

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 37 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: leitfaden/leitfaden , Aktueller Job: ubuntu-server

Vorwort

Danksagung

Vorab möchte ich mich bei Christoph Meister bedanken – ohne dein Lektorat und

deinen Beistand wären wir jetzt nicht da, wo wir sind. Nicht vergessen werden dür-

fen auch die Menschen im Hintergrund. Mein Dank geht an Norbert Englert für die

schönen Bilder und noch viel mehr für die LATEX-Unterstützung. Ebenso möchte ich

mich bei Frau Daenecke bedanken, nicht nur für die hervorragende Korrektur, son-

dern (und vor allem) für den Humor.

In vielen Auflagen habe ich bisher schon das Vergnügen gehabt, mich bei vielen Men-

schen bedanken zu dürfen. In in dieser Auflage möchte ich etwas Neues wagen. Ich

möchte mich nicht bei nur einer Person direkt bedanken, sondern bei zwei Menschen,

die sich lieben: bei meiner Frau und mir. Ich finde uns gut so, wie wir sind; freue mich

auf das was bleibt und das, was kommt. Die gemeinsame Reise war bisher wunder-

schön und daher blicke ich auch zufrieden und glücklich in die Zukunft – unsere

gemeinsame Zukunft. Aber bevor es zu poetisch wird: »Wer war mit dem Abwasch

dran? Okay ich mach’s schon.« In Liebe, Daniel.

37

Page 4: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 38 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: leitfaden/leitfaden , Aktueller Job: ubuntu-server

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 39 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: leitfaden/leitfaden , Aktueller Job: ubuntu-server

Über dieses Buch

Über dieses Buch

In diesem Abschnitt erfahren Sie, wie dieses Buch aufgebaut ist und was die ver-

schiedenen Formatierungen bedeuten. Außerdem erläutern wir Ihnen die im Buch

verwendeten Icons.

Einteilung

Ubuntu Server 18.04 LTS – Das umfassende Handbuch wurde von uns so konzipiert,

dass Sie es nicht von Anfang bis Ende lesen müssen. Sie können direkt in die Kapi-

tel springen, die Sie interessieren. Falls wir auf vorhergehende Abschnitte aufbauen,

weisen wir Sie entsprechend darauf hin. Selbstverständlich können Sie das Buch aber

auch von Anfang bis Ende durcharbeiten.

Dieses Buch ist in sechs Teile gegliedert:

1. Grundlagen

2. Installation

3. Dienste, Anwendungen und Sicherheit

4. Webdienste

5. Heiter bis wolkig: Cloud-Computing

6. Werkzeugkiste

Formales

In diesem Buch begegnen Ihnen unterschiedliche Formatierungen. Wir haben uns

Gedanken gemacht, wie wir Begriffe kenntlich machen, Kommandos und Befehle am

besten darstellen und Sie auf wichtige, gefährliche oder ungewöhnliche Dinge auf-

merksam machen können. In diesem Abschnitt wollen wir Ihnen die Logik dahinter

etwas näherbringen, damit Sie auf Anhieb erkennen, was wir gemeint haben.

Kommandozeile

Gleich zu Beginn ein Hinweis an den GUI- und Maus-verwöhnten Windows-Nutzer

oder -Umsteiger: Wir werden im Rahmen dieses Buchs hauptsächlich von der Kom-

mandozeile Gebrauch machen, da wir uns mit Ubuntu Server beschäftigen und eine

GUI nur unnötig viele Ressourcen verschwendet, aber kaum Nutzen bringt. Daher

wird diese erst gar nicht installiert.

Das soll allerdings nicht heißen, dass wir gänzlich auf den Komfort einer grafischen

Umgebung verzichten. Denn wie bei vielen Dingen im Leben gilt auch hier: Die Mi-

schung macht’s. Für viele Bereiche gibt es heute grafische Werkzeuge, gerade web-

39

Page 5: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 40 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: leitfaden/leitfaden , Aktueller Job: ubuntu-server

Über dieses Buch

basierte, die Ihnen als Administrator das Leben leichter machen können. Auch wir

nutzen diese Werkzeuge und werden an den entsprechenden Stellen auf sie eingehen

oder zumindest auf sie verweisen.

Begriffe hervorheben

Einzelne Begriffe oder Eigennamen werden von uns durch kursive Schrift hervor-

gehoben, sodass Sie diese auf einen Blick erkennen können.

Befehle eingeben

Kommandozeilenbefehle werden im Text durch die Verwendung von Nicht-Propor-

tionalschrift gekennzeichnet. Viele der Beispiele zu den Kommandos werden aber

auch in Listings dargestellt. Alle Listings werden ebenfalls in Nicht-Proportional-

schrift dargestellt. In den Listings werden Sie von der Befehlszeile bis zum Ergebnis

alles nachvollziehen können, wie Sie hier im Beispiel sehen:

daniel@ubuntu~$ psPID TTY TIME CMD4008 pts/2 00:00:00 bash4025 pts/2 00:00:00 ps

Listing 1 Beispiel für ein Listing

Falls die Ausgabe eines Befehls unnötig lang ist, haben wir die Ausgabe gekürzt dar-

gestellt. Um zu verdeutlichen, dass etwas ausgelassen wurde, verwenden wir den

Ausdruck […]. Um Ihre Eingaben deutlich hervorzuheben, haben wir (teilweise) die

entsprechenden Passagen in Fettschrift dargestellt. Zusätzlich verwenden wir an ei-

nigen Stellen Platzhalter, die stets von spitzen Klammern umschlossen dargestellt

werden, zum Beispiel <USER> für einen Benutzernamen. In Listing 2 sehen Sie ein ent-

sprechendes Beispiel:

daniel@ubuntu~$ sudo passwd maxGeben Sie ein neues UNIX-Passwort ein: <PASSWORD>

Geben Sie das neue UNIX-Passwort erneut ein: <PASSWORD>

Listing 2 Beispiel für ein Listing mit Platzhaltern und Eingaben

Eingabe langer Befehle

Einige der vorgestellten Kommandozeilenbefehle oder Ausgaben von Ergebnissen er-

strecken sich über mehrere Buchzeilen. Im Buch kennzeichnet am Ende der entspre-

chenden Zeilen ein »\« (backslash1), dass der Befehl oder die Ausgabe in der nächsten

Zeile fortgesetzt wird.

1 backslash, engl. für Rückstrich oder rückwärtiger Schrägstrich

40

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 41 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: leitfaden/leitfaden , Aktueller Job: ubuntu-server

Über dieses Buch

Fußnoten

Manche Begriffe erläutern wir in Fußnoten. Diese werden durch eine hochgestellte

Ziffer direkt am Wortende dargestellt – wie im vorherigen Abschnitt beim Begriff

backslash.

Grafiken und Screenshots

Ein Bild sagt mehr als tausend Worte. Wann immer es sinnvoll erscheint, soll daher

ein Screenshot zur Erhellung des Sachverhalts beitragen oder eine Grafik den Aufbau

oder die Struktur näher erläutern.

Internetverweise

Da wir in diesem Buch sehr viele verschiedene Dienste ansprechen, ist es nicht mög-

lich, alle Funktionen und Fähigkeiten eines Dienstes bis ins kleinste Detail zu be-

schreiben. Aus diesem Grund verweisen wir an geeigneten Stellen auf Internetadres-

sen, unter denen Sie weitere Informationen, nähere Erläuterungen oder einfach die

Homepage des Projekts finden. Verweise auf Internetadressen werden kursiv ausge-

zeichnet: www.ubuntu.com.

Tastenkombinationen

An bestimmten Punkten ist es notwendig, dass Sie Tastenkombinationen verwenden.

Diese werden von uns über typisierte Symbole dargestellt, wie zum Beispiel hier der

bekannte Windows-Affengriff: (Strg)+(Alt)+(Entf).

Menüs

Menüs und Ihr Weg durch sie werden durch Kapitälchen und mit Blickfangpunkten

hervorgehoben. Die Proxy-Server-Konfiguration eines Firefox-Browsers sieht dann so

aus: Bearbeiten • Einstellungen • Erweitert • Netzwerk • Einstellungen...

Icons

Sie werden in den Kapiteln am Rand oft Icons finden, die Sie auf bestimmte Zusam-

menhänge oder Besonderheiten hinweisen sollen. Die Icons haben die folgenden Be-

deutungen:

Hier wird es immer sehr wichtig

Wenn Sie das nebenstehende Symbol sehen, ist Vorsicht angeraten: Hier weisen wir

auf besonders kritische Einstellungen hin oder auf Fehler, die dazu führen können, dass

das System nicht mehr stabil läuft. Damit sich die Warnungen mehr vom Text abheben,

haben wir diese Textbereiche zusätzlich mit einem grauen Kasten hinterlegt.

41

Page 6: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 42 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: changelog/changelog , Aktueller Job: ubuntu-server

Über dieses Buch

Beispiele haben wir mit diesem Symbol gekennzeichnet. Wir haben an vielen Stel-

len Beispiele eingefügt, die es Ihnen leichter machen, eine entsprechende Aufgabe

umzusetzen, oder um Ihnen eine bestimmte Funktion realitätsnah zu erläutern.

Hinweise machen wir mit einem Plus-Zeichen kenntlich. Alle Textstellen, die wir mit

diesem Icon versehen haben, sollten Sie unbedingt lesen!

Es gibt keine fehlerfreie Software! Große und kleine Fehler, die bei den einzel-

nen Diensten bekannt sind, werden durch diesen kleinen »Bug« gekennzeichnet. Die

nachweislich erste Erwähnung des Wortes »Bug« stammt übrigens von Grace Hopper,

einer Computerpionierin aus den USA: http://de.wikipedia.org/wiki/Grace_Hopper.

Bei diesem Symbol finden Sie nützliche Tipps und Tricks zu bestimmten Aufgaben.

Wir erläutern dort, wie Aufgaben einfacher umgesetzt werden können oder wie Sie

schneller ans Ziel gelangen.

Zusammenfassung

Am Ende von wichtigen Abschnitten fügen wir stets eine Zusammenfassung ein. Die-

se stellt nochmals die einzelnen Punkte in Kürze zusammen. Lesen Sie sie aufmerk-

sam, damit Sie sicher sein können, alle Aspekte eines Abschnitts auch umgesetzt,

verstanden und abgearbeitet zu haben.

Zusatzmaterialien zum Buch

Zum Buch haben wir für Sie unter der URL www.rheinwerk-verlag.de/4638 zusätzliches

Material bereitgestellt. Dort finden Sie eine Skriptsammlung, mit der Sie Basiskonfi-

gurationen zu den meisten im Buch behandelten Serverdiensten auf Ihrem System

installieren können. Ebenfalls ist eine ausführliche Installationsanleitung beigelegt,

damit Sie direkt in Ihr Abenteuer starten können.

Leider können nicht alle Serverdienste, die wir vorstellen, über ein Skript installiert

und konfiguriert werden. Für alle diejenigen, bei denen es möglich war, haben wir ent-

sprechende Skripte erstellt. Wir hoffen, Ihnen dadurch den Einstieg leichter gestalten

zu können.

Jetzt bleibt uns nur noch, Ihnen viel Spaß mit diesem Buch zu wünschen und zu

hoffen, dass Ihnen unser Buch bei Ihrer täglichen Arbeit eine Hilfe sein wird und Sie

neues Wissen aus ihm schöpfen können.

42

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 43 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: changelog/changelog , Aktueller Job: ubuntu-server

Was hat sich getan: »changelog«

Was hat sich getan: »changelog«

An dieser Stelle geben wir Ihnen einen kleinen Überblick über die Veränderungen

in Ubuntu 18.04 LTS. Neben den üblichen Änderungen (wie Programm- oder Kernel-

versionen) wollen wir Ihnen hier die großen Neuerungen vor Augen führen. Falls Sie

bereits Erfahrung mit Ubuntu 16.04 LTS oder früheren Versionen haben, finden Sie

hier gebündelt alles, was sich geändert hat.

Neue Standards

In Ubuntu 18.04 LTS haben sich einige Standards verändert. Dazu zählen:

E Init-System: erweiterte Integration von systemd (früher Upstart)

E ethtool: früher mii-tool

E ntpdate: ist nicht mehr in der Standardinstallation enthalten.

E MySQL:

– jetzt in Version 5.7 mit strengerem sql_mode

– Der root-Zugriff ist jetzt doppelt abgesichert – analog zu PostgreSQL/MariaDB

kann sich wirklich nur root als root bei MySQL anmelden.

E PHP: jetzt in Version 7.2

E Installation:

– Neuer Server-Installer: Subiquity (Kunstwort aus Server und Ubiquity (der

Name des grafischen Installers für Ubuntu) – die herkömmliche Installati-

on kann über Images von http://cdimage.ubuntu.com/releases/18.04/release/

ausgeführt werden (notwendig für LVM, RAID, Bonds zur Installation)

– sshd wird nun standardmäßig installiert. (Es erfolgt keine Paketauswahl mehr

zum Abschluss der Installation!)

– unattended-upgrades ist vorinstalliert und aktiviert.

– make ist nicht mehr standardmäßig installiert.

E LVM: jetzt mit virtueller Swap-Partition (/dev/dm-1); bei Installationen ohne LVM

wird immer noch eine Swap-Datei angelegt.

E fdisk: listet jetzt auch bei Systemen mit LVM Details zu den »virtuellen« Geräten

mit auf.

E Netzwerkkonfiguration: erfolgt jetzt über netplan – /etc/network/interfaces ist

nicht mehr relevant.

E DNS: Konfiguration nun über systemd-resolve (Anzeige der aktuellen Konfigura-

tion mit systemd-resolve --status)

43

Page 7: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 44 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: changelog/changelog , Aktueller Job: ubuntu-server

Was hat sich getan: »changelog«

E Zusätzliche Paketverwaltung: snap

E Hostname:

– Änderung des Hostnamens jetzt mit hostnamectl (Teil von systemd) – nicht

bootresistent

– Bootresistenz nur mit Anpassung in /etc/cloud/cloud.cfg – dort muss die Varia-

ble preserve_hostname: true gesetzt werden.

– Der herkömmliche Weg (/etc/hosts und /etc/hostname) ist noch möglich, aber

ebenfalls nicht bootresistent.

Wie Sie in Listing 1 sehen, empfiehlt Ubuntu Ihnen, sobald es ein Programm nicht

finden kann, die Installation mit apt und nicht mehr wie früher mit apt-get:

daniel@ubuntu:~$ ipcalc

Command 'ipcalc' not found, but can be installed with:

sudo apt install ipcalc

Listing 1 Zur Installation wird nun »apt« empfohlen.

Das Programm apt stellt eine Benutzerschnittstelle (also eine Art Wrapper) der Pro-

gramme apt-get, apt-cache und weiterer dar. Darüber hinaus können Sie damit hilf-

reiche Informationen abfragen. In Tabelle 1 sehen Sie die neuen Aufrufe im Vergleich

mit den gewohnten.

Aktion Neu Bisher

Paketquellen aktualisieren update apt-get update

Paketquellen durchsuchen apt search <PAKET> apt-cache search <PAKET>

Pakete installieren apt install <PAKET> apt-get install <PAKET>

Pakete deinstallieren apt remove <PAKET> apt-get remove <PAKET>

Pakete vollständig entfernen apt purge <PAKET> apt-get purge <PAKET>

System aktualisieren apt upgrade apt-get upgrade

System aktualisieren und

neue Abhängigkeiten

auflösen

apt full-upgrade apt-get dist-upgrade

Tabelle 1 Unterschiede in der Paketverwaltung

44

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 45 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: changelog/changelog , Aktueller Job: ubuntu-server

Was hat sich getan: »changelog«

Aktion Neu Bisher

Nicht mehr benötigte Pakete

entfernen

apt autoremove apt-get autoremove

Details zu einem Paket

ansehen

apt show <PAKET> apt-cache show <PAKET>

Alle Pakete aus den Paket-

quellen anzeigen

apt list apt-cache search .

Paketquellen bearbeiten apt edit-sources vim /etc/apt/sources.list

Tabelle 1 Unterschiede in der Paketverwaltung (Forts.)

Alles neu: »systemd«

Die wohl größte Neuerung besteht im Wechsel des Init-Systems von Upstart zu sys-

temd. Auch wenn die Umstellung bereits ab Ubuntu 15.04 erfolgte, möchten wir Ihnen

eine kleine Einführung geben.

Beim Systemstart arbeitet systemd parallel und nicht wie bisher sequenziell. Dies ver-

ändert aber nicht nur den Startvorgang des Systems, was von einem Init-System zu

erwarten ist, sondern noch viel mehr. Entgegen der Unix-Philosophie DOTADIW

Do One Thing And Do It Well (zu Deutsch: »Mach eine Sache, und mache sie gut«)

übernimmt systemd nicht nur den Startvorgang und das Starten und Stoppen von

Diensten, sondern auch das Starten von Diensten on demand (engl. für »auf Abruf«),

die Überwachung von Prozessen, das Einbinden (Mounten) von Geräten sowie die

Protokollierung (Logging). Außerdem enthält es Werkzeuge zur Verwaltung der Basis-

systemkonfiguration wie des Systemnamens, von Datum und Uhrzeit und der ange-

meldeten Benutzer.

Darüber hinaus stellt es noch weitere Daemons zur Verfügung, wie die Daemons

zur Netzwerkkonfiguration, Netzwerkzeit, Protokollweiterleitung, zur zeitgesteuer-

ten und datei- und pfadgesteuerten Verarbeitung und zur Namensauflösung.

Trotz seines fortschrittlichen Ansatzes und seiner vielen Verbesserungen ist systemd

daher sehr stark und kontrovers diskutiert worden. Seit Ubuntu 15.04 ist systemd Stan-

dard in Ubuntu. In diesem Abschnitt wollen wir Ihnen die damit einhergehenden Ver-

änderungen näherbringen und Ihnen aufzeigen, wie Sie trotz dieser Veränderungen

an Ihr Ziel gelangen.

45

Page 8: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 46 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: changelog/changelog , Aktueller Job: ubuntu-server

Was hat sich getan: »changelog«

Sprachgebrauch

Durch die Änderungen, die systemd mit sich bringt, hat sich auch der Sprachgebrauch

verändert. Wurde früher von Runlevels gesprochen, kommt jetzt der Begriff Targets

ins Spiel.

Elementar ist die Einteilung in Units. Bei systemd beschreibt eine Unit eine Ressour-

ce, damit das Betriebssystem weiß, wie es damit verfahren soll. Die Units werden in

Konfigurationsdateien verwaltet, aus denen hervorgeht, wie das System mit den Res-

sourcen umzugehen und diese zu verwalten hat.

Vereinfacht ausgedrückt: »Alles ist eine Unit«, von einem Dienst über ein Gerät bis

hin zur zeitgesteuerten Verarbeitung.

Hier folgt ein Auszug der zur Verfügung stehenden Units:

E service bezeichnet einen Unit-Typ, der einen Dienst steuert.

E target stellt einen Unit-Typ dar, der zu Synchronisierung zwischen Units verwen-

det wird – entweder beim Startvorgang oder wenn der Zustand verändert wird.

Darüber kann das System auch in einen neuen Zustand versetzt werden (in et-

wa zu vergleichen mit den früheren Runlevels). Andere Units werden mithilfe von

Beziehungen zu Targets verbunden, um sich an deren Aktionen zu orientieren.

E mount stellt einen Unit-Typ dar, mit dem systemd die Mountpunkte des Systems

verwaltet.

E timer: Über diesen Unit-Typ definieren Sie zeitgesteuerte Aktivitäten von systemd.

Das funktioniert wie bei cron. Die konfigurierten units werden gestartet, wenn der

Timer erreicht ist.

E wants: Unit-Typ, über den Abhängigkeiten definiert werden.

Wie Sie sehen, existieren viele Unit-Typen. Viele dieser Units arbeiten zusammen, um

Funktionalitäten bereitstellen zu können.

Das Arbeiten mit systemd ist relativ einfach, wenn Sie das Konzept der Units und der

Unit Files verstanden haben. Im Gegensatz zu den alten Init-Systemen müssen Sie

hierfür keine Programmiersprache beherrschen, da die Konfigurationsdateien eine

einfache Deklarationssprache verwenden, die gut zu verstehen und nachzuvollziehen

ist.

Die Aufteilung der Funktionen in unterschiedliche Units erlaubt es systemd nicht nur

einen parallelisierten Startvorgang zu ermöglichen, sondern hilft auch dabei, die ein-

zelnen Konfigurationen einfach zu halten und eigenständige Bereiche separat zu be-

handeln, ohne Abhängigkeiten zu verletzen. Wenn Sie diese Möglichkeiten ausreizen,

können Sie die Administration flexibler und mächtiger gestalten.

46

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 47 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: changelog/changelog , Aktueller Job: ubuntu-server

Was hat sich getan: »changelog«

»Upstart« vs. »systemd«

An dieser Stelle wollen wir Ihnen kurz die Logik, den Aufbau und das Arbeiten mit

systemd näherbringen. Damit Sie einen besseren Eindruck von den einzelnen Ände-

rungen bekommen, stellen wir zunächst in Tabelle 2 die vorher gültigen Upstart-Va-

rianten den neuen systemd-Varianten gegenüber. Das Programm von systemd zum

Steuern der Prozesse und Dienste heißt systemctl.

Beschreibung Upstart systemd

Statusabfrage service <…> status systemctl status <…>

Dienst starten service <…> start systemctl start <…>

Dienst stoppen service <…> stop systemctl stop <…>

Dienst neu starten service <…> restart systemctl restart <…>

Dienst neu laden service <…> reload systemctl reload <…>

Dienstübersicht ls /etc/init.d systemctl list-unit-filestype=service

Beim Boot starten update-rc.d <…> defaults systemctl enable <…>

Nicht beim Boot

starten

update-rc.d <…> remove systemctl disable <…>

Tabelle 2 Unterschiede zwischen »Upstart« und »systemd«

Kompatibilität

Aus Kompatibilitätsgründen wurden (bzw. werden) alle Arten, einen Dienst zu bear-

beiten, an systemd weitergeleitet. So resultieren die Aufrufe in Listing 2 alle im selben

Ergebnis:

daniel@ubuntu:~$ sudo /etc/init.d/ufw status # SysVinit-Variantedaniel@ubuntu:~$ sudo service ufw status # Upstart-Variantedaniel@ubuntu:~$ sudo systemctl status ufw # systemd-Variante• ufw.service - Uncomplicated firewall

Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enActive: active (exited) since Sun 2018-05-27 13:18:14 UTC; 37min agoDocs: man:ufw(8)

Main PID: 390 (code=exited, status=0/SUCCESS)Tasks: 0 (limit: 2323)CGroup: /system.slice/ufw.service

Listing 2 Unterschiedliche Statusabfragen von »ufw«

47

Page 9: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 48 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: changelog/changelog , Aktueller Job: ubuntu-server

Was hat sich getan: »changelog«

Das hilft nicht nur Ihnen als Administrator, sich an die Umstellung zu gewöhnen,

sondern sorgt vor allem auch dafür, dass die Kompatibilität von Programmen und

Diensten zu gewährleistet ist. In diesem Buch haben wir selbstverständlich alle Be-

fehle und Kommandos an den neuen Standard angepasst.

Authentifizierung

Da Sie mit systemd administrative Tätigkeiten ausführen, müssen diese mit

root-Rechten ausgeführt werden. Falls Sie einmal vergessen, das obligatorische

sudo voranzustellen, gibt systemctl Ihnen die Möglichkeit, sich zu authentifizieren:

daniel@saturn:~$ systemctl daemon-reload==== AUTHENTICATING FOR org.freedesktop.systemd1.reload-daemon ===Legitimierung ist zum erneuten Laden des systemd-Zustands notwendig.Authenticating as: Daniel van Soest (daniel)Password: <PASSWORD>

==== AUTHENTICATION COMPLETE ===daniel@saturn:~$

Listing 3 Authentifizierung für »systemctl«

Wie Sie in Listing 3 sehen, wurde nach der Authentifizierung des Benutzers daniel

gefragt, da dieser der einzige Benutzer auf dem System ist, der Mitglied in der Grup-

pe sudo ist. Falls mehrere Benutzer Mitglied dieser Gruppe sind (also Befehle mit

root-Rechten ausführen dürfen), passt sich der Dialog entsprechend an und stellt

Ihnen eine Auswahl zur Verfügung:

max@merkur:~$ systemctl restart ufw==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===Authentication is required to restart 'ufw.service'.Multiple identities can be used for authentication:1. Daniel van Soest (daniel)2. Max Mustermann (max)Choose identity to authenticate as (1-2): 2

Password: <PASSWORD>

==== AUTHENTICATION COMPLETE ===max@merkur:~$

Listing 4 Authentifizierung für »systemctl« mit mehreren Benutzern

Wie Sie in Listing 4 sehen, können Sie nun auswählen, mit welchem Benutzer Sie die

Aktion autorisieren möchten – im Übrigen wird Benutzern, die nicht Mitglied der

Gruppe sudo sind, ebenfalls dieser Dialog angezeigt.

48

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 49 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: changelog/changelog , Aktueller Job: ubuntu-server

Was hat sich getan: »changelog«

Veränderungen neu laden

Wenn Sie zur Laufzeit des Systems Änderungen an Units vornehmen, müssen Sie

dies systemd mitteilen. Führen Sie dafür den Befehl sudo systemctl daemon-reload

aus. Sollten Sie dies einmal vergessen, weist systemd Sie dezent auf Ihren Fehler hin:

daniel@saturn:~$ sudo systemctl start syslog.serviceWarning: The unit file, source configuration file or drop-ins ofsyslog.service changed on disk. Run 'systemctl daemon-reload' to reload units.

Listing 5 Diesen Hinweis gibt »systemctl« bei Veränderungen aus.

Logging mal anders: »journald«

Die Protokollierung wurde ebenfalls systemd übergeben. Dafür wird journald einge-

setzt. Das Programm speichert, im Gegensatz zum klassischen syslog, die Protokoll-

daten in Binärform. Dies hat nicht nur Vorteile bei der Speichergröße, sondern da-

durch können die Protokolle auch manipulationssicher gestaltet werden.

Damit Sie aber nicht auf den Komfort des klassischen syslog verzichten müssen und

um für Kompatibilität zu sorgen, leitet journald alle Meldungen standardmäßig an

syslog weiter. Zum Aufrufen der Protokolle verwenden Sie, analog zum systemctl von

systemd, das Programm journalctl. Das Programm journalctl ermöglicht Ihnen viele

nützliche Dinge, die wir in Tabelle 3 zusammengefasst haben.

Befehl Beschreibung

journalctl Zeigt alle Logmeldungen seit dem letzten Neustart an.

journalctl -e Springt direkt ans Ende der Logmeldungen.

journalctl -f Zeigt die letzten und alle folgenden Logmeldungen an

(analog zu tail -f /var/log/<file>).

journalctl -u <DIENST> Zeigt alle Logmeldungen eines Dienstes an.

journalctl -o verbose Zeigt alle Logmeldungen mit allen Meta-Daten an

(sehr umfangreiche Ausgabe).

Tabelle 3 Kurzübersicht über die Befehle von »journalctl«

Selbstverständlich können Sie alle Parameter miteinander kombinieren. So würde

der Aufruf aus Listing 6 die letzten und alle folgenden Logmeldungen des Dienstes

networking mit allen Metadaten ausgeben:

daniel@ubuntu:~$ journalctl -u networking -f -o verbose

Listing 6 Beispielaufruf von »journalctl«

49

Page 10: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 50 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: changelog/changelog , Aktueller Job: ubuntu-server

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 51 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: changelog/changelog , Aktueller Job: ubuntu-server

TEIL I

Grundlagen

Page 11: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 52 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: administrator/administrator , Aktueller Job: ubuntu-server

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 53 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: administrator/administrator , Aktueller Job: ubuntu-server

1

Kapitel 1

Der Administrator

Ein kleiner Exkurs in die Aufgaben, die Pflichten und

das moralische Dilemma eines Administrators

Falls Sie sich die Frage stellen: »Ich wollte etwas über Ubuntu lernen, warum schrei-

ben Sie jetzt über mich und meine Arbeit?« Nun, wir wollen dieses kurze Kapitel

nutzen, um Ihnen etwas über die Rechte, Pflichten und Ethik eines Administrators zu

vermitteln.

1.1 Ganz allgemein: Der Administrator

Als Administrator oder besser gesagt als Systemadministrator haben Sie nicht nur

die Aufgabe, Ihre Server und deren Dienste am Laufen zu halten, diese zu warten, zu

pflegen und auf dem neuesten Stand zu halten. Vielmehr haben Sie auch Zugriff auf

alle Daten – ob Sie nun einen privaten Server für Ihre Familie oder aber einen Server

in Ihrem Unternehmen betreiben. Dies ist eine große Verantwortung. Die sich Ihnen

bietenden Möglichkeiten sollten Sie stets mit Bedacht einsetzen. Bedenken Sie, dass

Ihnen vertraut wird.

Ob Sie also Ubuntu Server in der WG, in Ihrer Familie oder im Unternehmen einsetzen:

In jedem Fall sind Sie Administrator. Die folgenden Abschnitte sind deshalb für all

diese Einsatzszenarien wichtig.

1.1.1 Was ich tun kann!

Prinzipiell können Sie alles – aber das wollen Sie gar nicht! Sie könnten theoretisch

in alle E-Mails schauen, alle Dokumente öffnen und sogar sehen, wer welche Internet-

seiten aufruft.

Die Logdateien sind unter Linux einer der größten Vorteile. Sie ermöglichen es Ihnen,

beinahe alles zu protokollieren und entsprechend auch Daten daraus zu erheben. Das

ist natürlich für die Administration ein Segen, da die Analysemöglichkeiten, um tech-

nische Probleme zu beheben, immens sind. Allerdings bringt es Sie in ein moralisches

53

Page 12: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 54 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: administrator/administrator , Aktueller Job: ubuntu-server

1 Der Administrator

und gesetzliches Dilemma. Bedenken Sie stets: »Einmal verlorenes Vertrauen kann

nur schwer wiedererlangt werden!«

Auch wenn Ihre Motive noch so nobel oder edelmütig gewesen seien können, hilft

es Ihnen nicht, wenn »das Kind in den Brunnen gefallen ist«. Ein paar kleine Leit-

sätze helfen Ihnen dabei, die Balance zwischen guter vorausschauender Arbeit und

Missbrauch zu wahren:

E Handeln Sie nicht eigenmächtig!

Wenn Sie sich nicht sicher sind, holen Sie sich Rückhalt – ob in einem Unterneh-

men beim Vorgesetzten, beim Beauftragten für Datenschutz oder indem Sie die

betroffene(n) Person(en) direkt ansprechen. Innerhalb der Familie sollten Sie Letz-

teres stets vorziehen.

E Verwenden Sie die Informationen nur, um technische Fehler zu lösen – nicht

(zwischen)menschliche!

Da Sie durchaus auch Einblick in sensible Daten erhalten können, ist es ratsam,

diese nur zur Problemlösung einzusetzen und nicht, um Arbeitskollegen anzu-

schwärzen oder zu bespitzeln.

E Denken Sie immer vorher daran: »Was würde ich denken, wenn mein Admin

dies oder jenes tut?«

Halten Sie kurz inne, und hinterfragen Sie sich selbst. Würde es Ihnen gefallen,

wenn der Inhalt von E-Mails an Ihre Lebensgefährtin in der ganzen Firma bekannt

ist? Dies hilft Ihnen, die Balance zu halten.

1.1.2 Was ich tun sollte!

Zu Ihren Pflichten als Systemadministrator gehören selbstverständlich die techni-

schen Aufgaben, wie:

E Installation

E Konfiguration

E Wartung und Pflege

E Auswertung und Analysen

Darüber hinaus müssen Sie aber auch menschliche Aufgaben bewältigen. Da Sie oft an

vorderster Front auftreten, bekommen Sie es oft nicht mit Technikern zu tun, sondern

mit Vorgesetzten, denen es an technischem Verständnis mangelt, oder mit Anwen-

dern, die Ihnen ihren Kummer und ihre Probleme mitteilen. Es ist eine Herausfor-

derung, sich stets korrekt zu verhalten, vor allem, wenn man soeben noch mit dem

3rd-Level-Support eines Herstellers tiefe systeminterne Details besprochen hat und

im nächsten Moment einem Anwender erklären muss, was ein Rechtsklick ist.

54

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 55 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: administrator/administrator , Aktueller Job: ubuntu-server

1

1.1 Ganz allgemein: Der Administrator

Bedenken Sie stets, dass am anderen Ende der Leitung auch nur ein Mensch sitzt – ein

Mensch, der eventuell verzweifelt oder frustriert ist.

Befolgen Sie die nachstehenden Grundsätze. Diese werden Ihnen nicht nur die Arbeit

erleichtern und für eine größere Akzeptanz sorgen, sondern und vor allem Ihnen

helfen, Ihre Arbeit schnell, effektiv, professionell und in hoher Qualität zu erledigen:

E Jeden Nutzer gleich behandeln

Wer zuerst kommt, mahlt zuerst. Vorgesetzte bekommen die gleiche Zeit und Ge-

duld wie alle anderen Mitarbeiter.

E Transparente Kommunikation

Erläutern Sie Fehler und Probleme. Dies hilft den Kollegen nicht nur, nachzuvoll-

ziehen, wie es dazu kam, sondern auch, weshalb Sie dafür eine entsprechende Zeit

benötigen.

E Erwarten Sie nicht, dass alle über Ihr technisches Wissen verfügen

Sachbearbeiter wissen in der Regel nicht, wie Ihr Netzwerk aufgebaut ist. Vorge-

setzte wissen meist nicht, wie komplex Ihre E-Mail-Infrastruktur ist. Versuchen

Sie, mit den Menschen in einer Sprache zu kommunizieren, die sie verstehen. Zie-

hen Sie Vergleiche aus dem alltäglichen Leben oder anderen Arbeitsabläufen Ihres

Unternehmens heran. Stellen Sie sich individuell auf den Menschen ein.

E Zeigen Sie Verständnis, und argumentieren Sie sachlich

Denken Sie darüber nach, wie Sie in der geschilderten Situation reagieren würden.

Oft werden Sie als Dampfablassventil oder als menschlicher Kummerkasten ge-

nutzt. Versuchen Sie, sich auf die Technik zu konzentrieren, und fühlen Sie sich

nicht persönlich angegriffen, wenn Ihre Server kritisiert werden.

1.1.3 Was ich nicht tun sollte! (BOFH)

Falls Sie noch nicht von ihm gehört haben sollten: Der BOFH1 ist ein fiktive Figur des

neuseeländischen Autors Simon Travaglia. In der Serie werden satirische Erzählungen

eines »allmächtigen« Systembetreuers gesammelt, der seinem Ärger über lästige und

unwissende Benutzer Luft macht, die von ihm abhängig sind.

Diese Geschichten beschreiben perfide, was Ihnen als Systemadministrator al-

les widerfahren kann – aber ebenso, was Sie alles falsch machen können. Unter

http://bofharchive.com/BOFH.html finden Sie ein Archiv der Erzählungen rund um

den BOFH. Auch wenn die satirische Darstellung oft überspitzt wird, wohnt ihr

sogleich ein großes Stück Wahrheit inne.

1 Bastard Operator From Hell, engl. für gehässiger Systembetreuer aus der Hölle

55

Page 13: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 56 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: administrator/administrator , Aktueller Job: ubuntu-server

1 Der Administrator

Wir haben bereits verdeutlicht, wie Sie sich verhalten sollten, um eine größere Ab-

grenzung zu schaffen. Nun wollen wir Ihnen noch kurz skizzieren, wie Sie sich auf

keinen Fall verhalten sollten:

E Nicht von oben herab

Behandeln Sie Ihre Benutzer so, wie auch Sie behandelt werden wollen:

Was du nicht willst, das man dir tut, das füg auch keinem andern zu.

E Eigenmächtig Änderungen einführen

Kommunizieren Sie technisch notwendige Änderungen, kündigen Sie Arbeiten

vorher an, und lassen Sie Ihre Mitarbeiter nicht vor die Wand laufen.

E Werden Sie nicht beleidigend oder persönlich

Bleiben Sie sachlich, und reagieren Sie nur auf Fachliches.

E Eigenmächtig gegen Fehlverhalten vorgehen

Spielen Sie nicht »Sheriff« und vor allem nicht den »Lone Ranger«. Es ist nicht Ihre

Aufgabe.

1.2 Was im Gesetz steht

Dieser Abschnitt soll keine Erörterung der juristischen Details darstellen oder Ihnen

gar als Maßgabe dienen. Sehen Sie ihn eher als Leitfaden für Fragen an, die Sie sich,

Ihren Vorgesetzten und gegebenenfalls Ihrem Unternehmen stellen müssen, um pro-

fessionell als Administrator arbeiten zu können.

Immer aktuell

In diesem Abschnitt zeigen wir Ihnen die wichtigsten Gesetzestexte auf, mit denen Sie

sich als verantwortungsbewusster Administrator im täglichen Arbeitsumfeld ausein-

andersetzen müssen. Da Gesetze im stetigen Wandel sind, müssen Sie sich selbstver-

ständlich auf dem Laufenden halten, um den aktuellen Anforderungen, Rechten und

Pflichten gerecht werden zu können.

Neben dem Datenschutz regeln Gesetze unter anderem auch Aufbewahrungsfristen,

den Einsatz von sogenannten Hacker-Tools und viele Dinge mehr, die uns in der tägli-

chen Arbeitswelt als Systemadministrator begegnen. Mit folgenden Gesetzen sollten

Sie sich auseinandersetzen:

E Bundesdatenschutzgesetz

E Landesdatenschutzgesetze

E Telemediengesetz

56

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 57 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: administrator/administrator , Aktueller Job: ubuntu-server

1

1.2 Was im Gesetz steht

E Telekommunikationsgesetz

E EU-Datenschutz-Grundverordnung

1.2.1 Datenschutz: »BDSG« und »LDSG«

In unserem digitalen Zeitalter mit sozialen Netzwerken, Smartphones und vielen wei-

teren Angriffsflächen bekommen die Privatsphäre und der Datenschutz eine immer

größere Bedeutung, die aber in der Gesellschaft generell weniger Beachtung findet,

als notwendig wäre.

In diesem Abschnitt wollen wir Ihnen den Datenschutz etwas näherbringen. Nicht

nur, damit Sie sich selbst schützen können, sondern auch, damit Sie Ihre Anwender

schützen können – oft sogar vor sich selbst.

Das Bundesdatenschutzgesetz (BDSG) regelt zusammen mit dem Landesdatenschutz-

gesetz (LDSG) Ihres Bundeslandes den Umgang mit personenbezogenen Daten.

Da Sie als Systemadministrator oft in sensiblen Bereichen tätig sind, müssen Sie

sich zwangsläufig mit dem Thema Datenschutz beschäftigen. Daher haben wir Ihnen

einen allgemeinen Auszug von wichtigen Punkten zusammengestellt:

E Wann braucht man einen Beauftragten für Datenschutz (DSB)?

Eine Firma sollte einen DSB haben, wenn mehr als vier Personen unmittelbar

mit personenbezogenen Daten umgehen (oder 20 Leute mittelbar). Sprechen Sie,

wenn vorhanden, Ihren Personal- oder Betriebsrat an, oder wenden Sie sich an

Ihren Vorgesetzten. Alternativ wird die Aufgabe durch Gruppenleiter und Chefs,

bis hoch zum Vorstand, direkt übernommen.

E Welche Institutionen gibt es für Datenschutz?

Es gibt zum einen den Bundesbeauftragten für Datenschutz und Informationsfrei-

heit als öffentliche Einrichtungen des Bundes. Daneben gibt es den Landesdaten-

schutzbeauftragten (LDS) als öffentliche Einrichtung des Landes. Darüber hinaus

ist das Innenministerium (auch der Länder) zuständig. Nichtöffentliche Einrich-

tungen können diese Aufgabe auch dem LDS übertragen.

E Was sind personenbezogene/schützenswerte Daten? Daten sind personenbezo-

gen, wenn sie persönliche oder sachliche Verhältnisse einer natürlichen Person

beschreiben.

E Welche Arten von personenbezogenen Daten gibt es?

Einfache Daten, wie Name, Vorname, Geburtstag, Familienstand, aber auch Bank-

daten. Darüber hinaus gibt es die Persönlichkeitsdaten, wie Einkommensverhält-

nisse, Familienverhältnisse, Lebensstil oder Einkaufsverhalten. Zusätzlich gibt es

sensible Daten, wie Herkunft, politische Meinung, Religion oder medizinische

Daten.

57

Page 14: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 58 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: administrator/administrator , Aktueller Job: ubuntu-server

1 Der Administrator

Als Systemadministrator bewegen Sie sich oft im Grenzbereich zwischen ordnungs-

gemäßer Erfüllung Ihrer Pflichten und gesetzlichen Verstößen.

Oftmals erhalten Administratoren Arbeitsaufträge, die den Datenschutz betreffen,

da an vielen Stellen personenbezogene Daten erhoben werden, die für sich keine

Relevanz haben. Erst wenn diese Daten mit anderen korreliert werden, ergeben sich

Grenzfälle oder Verstöße. Beispiele sind das Auswerten der Internetnutzung eines

Mitarbeiters oder Auswertungen, wer wem wie viele E-Mails geschrieben hat.

Hinterfragen Sie solche Aufträge, und holen Sie gegebenenfalls auch das Einverständ-

nis von Personal- oder Betriebsräten ein. In Deutschland gilt noch immer: »Unwis-

senheit schützt vor Strafe nicht!«

Zu Recht wurde einem Systemadministrator fristlos gekündigt, weil er unerlaubt an-

derer Leute E-Mails gelesen hat. Eine anonymisierte Auswertung der Web-Proxy-Pro-

tokolle hingegen ist in Ordnung.

1.2.2 Telemediengesetz

Das Telemediengesetz regelt die Rahmenbedingungen für Telemedien und stellt eine

der zentralen Vorschriften des Internetrechts dar. In seiner jetzigen Fassung regelt es

die nachstehenden Punkte:

E Impressumspflicht

E Haftung für fremde und eigene Inhalte

E Datenschutz bei Telemedien

E Spam

Unter dem Begriff Telemedien werden elektronische Informations- und Kommunika-

tionsdienste verstanden. Darunter fallen nahezu alle Angebote im Internet, wie Web-

shops, Online-Auktionshäuser, Suchmaschinen, Mail-Dienste, Informationsdienste,

Podcasts, Chatrooms und auch Foren und Blogs – also nahezu alle Formen von Inter-

netpräsenzen.

1.2.3 Telekommunikationsgesetz

Das Telekommunikationsgesetz regelt die technischen Aspekte der Telekommunika-

tion, dabei unter anderem den Datenschutz bei Internet- und E-Mail-Nutzung und

Telefonie.

Darin wird auch geregelt, wann welche Daten von Anbietern zum Beispiel an Straf-

verfolgungsbehörden herausgegeben werden müssen.

58

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 59 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: administrator/administrator , Aktueller Job: ubuntu-server

1

1.2 Was im Gesetz steht

1.2.4 EU-Datenschutz-Grundverordnung »EU-DSGVO«

Viele von Ihnen werden sich denken: »Gut gedacht, schlecht gemacht!«, und damit

liegen Sie gar nicht so weit daneben. Trotz des großen Umfangs der Datenschutz-

Grundverordnung enthält diese erstaunlich viele Grauzonen. Wie sie durch die Recht-

sprechung genau ausgelegt werden wird, bleibt abzuwarten. Erst wenn nach dem

Inkrafttreten am 25.05.2018 die ersten Urteile gesprochen werden, wissen wir mehr.

Es ist davon auszugehen, dass sehr bald die Landesdatenschutzgesetze, das Bundes-

datenschutzgesetz und vielleicht sogar die DSGVO selbst noch verändert werden, um

diese mehr an die Realität anzupassen.

Nichtsdestotrotz sollten Sie – vor allem, wenn Sie Webseiten, Blogs, Newletter oder

Ähnliches betreiben – einige Aspekte betrachten und abgearbeitet haben. Dazu gehö-

ren folgende:

E Datenschutzerklärung

Sie müssen auf Ihrer Webseite eine Datenschutzerklärung veröffentlichen – al-

lein schon um Abmahnanwälten keine Angriffsfläche zu bieten. Ich kann Ihnen

dafür https://datenschutz-generator.de/ empfehlen. Diese Webseite wird vom re-

nommierten Anwalt Dr. jur. Thomas Schwenke betrieben. Der Dienst ist für Pri-

vatpersonen und Kleinunternehmer (Brutto-Umsatz nicht höher als 17.500 Euro

im vorangegangenen Kalenderjahr) sogar kostenlos. Ebenso empfehlenswert ist

die Musterdatenschutzerklärung von Prof. Thomas Hoeren von der Universität

Münster. Diese können Sie unter https://www.uni-muenster.de/Jura.itm/hoeren/

lehre/materialien/musterdatenschutzerklaerung abrufen.

E ADV-Verträge mit Dienstleistern

Wenn Sie Ihre Webseite nicht auf Ihrem eigenen Server betreiben, sondern einen

Hoster nutzen, dann müssen Sie mit ihm einen Auftragsdatenverarbeitungs-

vertrag (ADV-Vertrag) abschließen. Der Anbieter selbst wird aber voraussichtlich

schon diesbezüglich mit Ihnen Kontakt aufgenommen haben, da er ebenfalls

durch die DSGVO dazu verpflichtet ist. Dies gilt für alle datenverarbeitetenden

Stellen – also auch dann, wenn Sie mit Plug-ins Daten Ihrer Nutzer übertragen.

E Einwilligung – Entkopplung

Sie dürfen Daten nur noch zweckgebunden verarbeiten und keine Kopplung mehr

vornehmen. Zum Beispiel ist es nun unzulässig, für den Download eines PDFs ei-

ne E-Mail-Adresse abzufragen und anschließend an diese Adresse Newsletter oder

Angebote zu versenden. Allerdings ist die Nachfrage erlaubt, ob der Herunterla-

dende zusätzlich zum PDF auch den Newsletter empfangen möchte – dies wird

im Übrigen Opt-In-Verfahren genannt. Besonders relevant wird die Einwilligung,

wenn Sie eine Anmeldung betreiben. Dort müssen Sie nämlich Ihren Nutzern bei

der ersten Anmeldung eine Übersicht über alle Daten geben, die Sie verarbeiten

59

Page 15: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 60 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: aufbau/aufbau , Aktueller Job: ubuntu-server

1 Der Administrator

und darstellen, und erläutern zu welchem Zweck Sie diese verarbeiten. Außerdem

müssen Sie Ihren Usern eine Möglichkeit geben, dieser Verarbeitung zu wider-

sprechen.

E Dokumentationspflicht

Bei größeren Projekten müssen Sie sehr viel dokumentieren und sogar ein Daten-

schutzmanagement etablieren.

Dies stellt nur einen sehr kleinen Teil der Anforderungen durch die EU-DSGVO dar. Es

bleibt abzuwarten, wie genau die Auslegung durch die Gerichte erfolgt. Einige Anwälte

haben schon Horrorszenarien entworfen, die bei strenger Auslegung der Verordnung

eine Kommunikation mit Neukunden nahezu unmöglich machen. Hoffen wir, dass

es nicht so weit kommt.

Ich kann Ihnen nur den Rat geben, sich stets auf dem Laufenden zu halten. Eine gute

Anlaufstelle finden Sie unter https://www.lda.bayern.de/de/datenschutz_eu.html. Die

Kollegen aus Bayern haben vorbildliche Arbeit geleistet und viele Aspekte der DSGVO

erläutert.

Ebenso sind die Veröffentlichungen von Prof. Hoeren äußerst hilfreich, um auf dem

Laufenden zu bleiben. Bitte machen Sie nicht alles nach, was Sie im Internet finden!

Prüfen Sie die Quellen genau, und vertrauen Sie eher behördlichen Stellen oder fach-

lich fundierten Angaben von Experten mit einer guten Reputation.

Leseempfehlung

Für einen umfassenden Blick auf die Thematik empfehlen wir Ihnen »DSGVO für Web-

site-Betreiber« (ISBN 978-3-8362-6553-9) aus dem Rheinwerk Verlag. Dieses Buch von

Christian Solmecke und Sibel Kocatepe enthält umfangreiche Hinweise, Empfehlungen

und Informationen über Ihre Pflichten bei der Umsetzung der DSGVO.

60

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 34 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: vorwort/vorwort , Aktueller Job: ubuntu-server

Page 16: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 34 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: vorwort/vorwort , Aktueller Job: ubuntu-server

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 717 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

Kapitel 29

Backup heterogener Umgebungen mit

»Bacula«

Niemand will sichern, aber jeder will wiederherstellen. Um der Faulheit von

Benutzern und Admins vorzubeugen, ist eine ausgeklügelte Backup-Strate-

gie das A und O. In diesem Kapitel zeigen wir Ihnen, wie Sie erfolgreich und

nachhaltig alle Ihre Systeme – egal ob sie unter Windows, Mac oder Linux

laufen – mit nur einer Programm-Suite sichern können: »Bacula«.

Datenverluste können sehr schnell teuer werden, nicht nur, weil Daten verloren ge-

hen, sondern auch, weil die Wiederherstellung von Systemen viel Zeit in Anspruch

nehmen kann. In diesem Kapitel wollen wir Ihnen ein äußerst komplexes und mäch-

tiges Tool vorstellen: Bacula. Diese modular aufgebaute Software ermöglicht es Ihnen,

Backups zeitgesteuert, kontinuierlich und betriebssystemübergreifend zu erstellen.

29.1 Basiswissen

Bevor wir einen Blick in die Wunderkiste namens Bacula wagen, möchten wir zu-

nächst ein paar Grundkenntnisse aufbauen. Kaum eine Thematik ist wichtiger als

die Sicherung (engl. Backup) Ihrer Daten. Das Backup geht immer Hand in Hand mit

dem Restore – der Wiederherstellung von gesicherten Daten. Eine reine Sicherung

von Nutzdaten zum Beispiel lässt sich leicht wiederherstellen. Kopieren Sie die Datei-

en einfach wieder an ihren Ursprungsort, und alles läuft wie bisher. Wollen Sie aber

nicht nur Daten, sondern ein ganzes System wiederherstellen, dann wird es bereits

schwieriger. In diesem Zusammenhang spricht man auch von Disaster Recovery (zu

Deutsch Katastrophen- oder Notfallwiederherstellung). Dies bezeichnet eine vollwerti-

ge Wiederherstellung nach einem Unglücksfall. Generell werden drei Sicherungsarten

bei Bacula unterschieden:

E Full (engl. für vollständig)

Dabei werden alle Daten vollständig gesichert.

E Differential (engl. für unterschieden oder differenziell)

Hierbei werden alle Daten gesichert, die sich seit der letzten vollständigen Siche-

rung geändert haben.

717

Page 17: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 718 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

E Incremental (engl. für schrittweise oder inkrementell)

Damit werden alle Änderungen gesichert, die seit der letzten vollständigen oder

differenziellen Sicherung vorgenommen wurden.

Alle Arten haben ihre Vor- und Nachteile. Eine vollständige Sicherung benötigt viel

Speicherplatz, kann aber bei einer Wiederherstellung direkt genutzt werden. Bei in-

krementellen Sicherungen muss zunächst die letzte vollständige Sicherung einge-

spielt werden. Anschließend muss die letzte differenzielle Sicherung wiederherge-

stellt werden, und dannach folgen alle inkrementellen Sicherungen nacheinander –

dies ist also deutlich zeitintensiver. Eine differenzielle Sicherung benötigt mehr Spei-

cherplatz als eine inkrementelle Sicherung, kann aber wiederum deutliche Zeiterspar-

nisse beim Wiederherstellen bringen. Die Arten existieren aber nicht strikt getrennt

voneinander, sondern werden meist parallel beziehungsweise sequenziell betrieben.

Zum Beispiel legt man jeden ersten Sonntag im Monat eine vollständige und jeden

Samstag eine differenzielle Sicherung an und sichert unter der Woche nur die Verän-

derungsdaten, führt also eine inkrementelle Sicherung durch.

29.1.1 Planung

Eine gute Planung legt den Grundstein bei der Kalkulation und Einrichtung Ihrer Si-

cherungen. Oftmals wird unterschätzt, wie viel Speicherbedarf ein Backup-Konzept

im Betrieb benötigt. Das Erstellen eines Backup-Konzepts ist die Grundvorausset-

zung für eine erfolgreiche Sicherung auch über einen längeren Zeitraum. Das Kon-

zept sollte alle Systeme beinhalten, die gesichert werden müssen, deren derzeitiges

Datenvolumen (also den Speicherbedarf) sowie die Häufigkeit und die Sicherungsart

(vollständig, differenziell oder inkrementell), mit der diese Systeme gesichert werden

sollen. Dabei darf nicht außer Acht gelassen werden, dass der Speicherbedarf sich

unter Umständen auch erhöht. Planen Sie also immer mit einer Reserve! Folgende

Punkte sollten Sie in der Planung berücksichtigen:

E Art der Datensicherung

E Zuständigkeit (Wer führt die Datensicherung durch und überwacht sie?)

E Zeitplan (Wann wird die Datensicherung durchgeführt?)

E Auswahl der Daten

E Speichermedium

E Aufbewahrungsort (Archiv)

E Schutz vor Diebstahl (zum Beispiel durch Verschlüsselung)

E Aufbewahrungszeiten

E Prüfung der Wiederherstellbarkeit

718

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 719 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.1 Basiswissen

In welcher Tiefe Sie das Konzept erstellen, hängt selbstverständlich von dem Umfeld,

den zu sichernden Daten und deren Wert ab. Wie so oft gilt es, den richtigen Mittelweg

zwischen Aufwand, Kosten und Nutzen zu finden. Neben der reinen Berechnung des

Speicherbedarfs kommt noch ein zweiter wichtiger Punkt zum Tragen: die Zeitpla-

nung. Eine Sicherung (vor allem eine vollständige) benötigt Zeit. Wenn Ihre Systeme

zu Arbeitsbeginn noch mit der Sicherung beschäftigt sind, ist der Zorn der Kollegen

oder Benutzer vorprogrammiert. Verteilen Sie Sicherungsaufträge daher großzügig,

und bedenken Sie, dass gegebenenfalls auch eine Aufteilung der Bacula-Module mög-

lich ist!

29.1.2 Alles in einem: »Bacula«

Bacula ist ein komplexes modular aufgebautes System. Da es für verteilte heteroge-

ne Umgebungen geschaffen wurde, können Sie die einzelnen Bestandteile auch auf

mehrere Server auslagern und müssen nicht alles auf einem System betreiben. Dies

ist vor allem dann von Vorteil, wenn Sie Bacula in einem Unternehmen mit mehreren

Standorten einsetzen. Mit einer Verteilung auf mehrere Server können Sie sowohl die

Last verteilen als auch die Ausfallsicherheit erhöhen. Abbildung 29.1 zeigt den gene-

rellen Aufbau von Bacula.

Director

Console

Catalog

HDD

Tape

CD/DVD/Blu-ray

Stor

age

Med

ia

Clie

nts

(File

Dae

mon

)

Linux File Daemon

Storage Daemon

Windows File Daemon

Mac File Daemon

Abbildung 29.1 Aufbau von »Bacula«

719

Page 18: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 720 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Wie Sie Abbildung 29.1 entnehmen können, besteht Bacula aus mehreren Teilen:

E Catalog (engl. für Katalog oder Verzeichnis)

Der Katalog stellt die Logik dar. Dort werden zum Beispiel der Dateiindex der ge-

sicherten Daten und die Sicherungs-Volumes in einer Datenbank abgelegt. Zur-

zeit werden MySQL, PostgreSQL und SQLite unterstützt. Standardmäßig verwendet

Ubuntu PostgreSQL.

E Director (engl. für Leiter oder Dirigent)

Dieser Dienst bildet die Schaltzentrale. Über ihn werden alle Vorgänge gesteuert,

etwa die Sicherungen, die Wiederherstellung, die Überprüfung der Daten und die

zeitgesteuerte Ausführung. Zusätzlich verwaltet der Director die Medienpools und

steuert die File und Storage Daemons.

E Storage Daemon (engl. für Speicherdienst)

Der Storage Daemon läuft auf dem Sicherungsserver und ist für das Lesen und für

das Schreiben der Daten auf dem Sicherungsdatenträger verantwortlich. Dabei

unterstützt Bacula die Sicherung auf Festplatten, Wechselmedien (wie USB-Sticks

und USB-Festplatten, CDs/DVDs/Blu-rays), Bandlaufwerken und sogar auf profes-

sionelle Tape-Librarys (auch Tape-Roboter, Bandroboter oder Jukebox genannt).

Die Daten erhält der Storage Daemon von den jeweiligen File Daemons. Dieser

Dienst kann auf mehreren Servern betrieben werden, um so die Last zu verteilen.

E File Daemon (engl. für Dateidienst)

Auf jedem System, das Daten mit Bacula sichern soll, muss ein File Daemon instal-

liert sein. Derzeit werden Linux, Unix-Derivate (z. B. FreeBSD, OpenBSD, NetBSD,

AIX und Solaris), Windows und macOS unterstützt. Der Dienst liest die Dateien

von den Clients und übermittelt die zu sichernden Daten an den Storage Daemon.

E Console (engl. für Konsole)

Über die Konsole kommunizieren Sie mit dem Director. Dies kann über eine CLI,

eine GUI oder ein Webinterface erfolgen. Mit der Konsole können Sie nicht nur

den der Status abfragen, sondern auch administrative Kommandos absetzen.

Alle Komponenten kommunizieren miteinander und ermöglichen es so, dass jedes

Modul auf einem eigenen Server betrieben werden kann. Dies ist aber kein Muss. In

Abbildung 29.1 haben wir den Hintergrund um die Console, den Director, den Catalog

und den Storage Daemon daher eingefärbt, um zu symbolisieren, dass diese Kompo-

nenten auch auf einem System laufen können.

29.1.3 Struktur der Datenablage

Wie wir bereits erörtert haben, ist Bacula äußerst mächtig. Da es ursprünglich für die

Sicherung mit Bändern (engl. tapes) erstellt wurde, arbeitet es bis heute mit den da-

720

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 721 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.1 Basiswissen

zugehörigen Begriffen. Dies ist für Einsteiger oft schwer nachvollziehbar und führt zu

Verwirrung – gerade dann, wenn Sie bisher Ihre Daten mit Programmen wie tar oder

backup2l gesichert haben, die wir in Kapitel 10, »Archivierung und Datensicherung«,

vorstellen. Die Ablage von Sicherungen erfolgt in Volumes. Diese stellen ein Band

oder eine Datei dar. Ein Pool fasst diese Volumes zusammen – dies ist vor allem bei

Bändern wichtig, da so eine Sicherung nicht auf die Größe eines Bandes beschränkt

ist. Die Pools werden im Katalog verwaltet, genauso wie die Volumes. Damit Bacula

sicherstellen kann, dass das richtige Volume (früher Bänder) verwendet wird, muss

dem Volume eine Bezeichnung hinzugefügt werden: ein sogenanntes Label.

Auch wenn Sie mit Bacula nur auf Festplatten und somit in Dateien sichern wollen,

müssen Sie trotzdem Pools erzeugen, darin Volumes anlegen und diese mit Labels

versehen. Viel Flexibilität steigert (leider) auch die Komplexität.

29.1.4 Aufträge und Auftragsplanung

Zwei weitere Punkte, die Sie verstehen müssen, sind die Arbeitsaufträge (engl. Jobs)

und der Auftragsplaner (engl. Scheduler). Zunächst werden die Jobs definiert. Diese be-

stehen im Wesentlichen aus einer Auflistung der zu sichernden Dateien (FileSet), der

Client-Konfiguration (wem dieser Auftrag gilt), einer Zeitplanung (wann die Siche-

rung durchzuführen ist), einem Pool (wo und wie die Daten gesichert werden sollen)

und weiteren Anweisungen.

Oftmals hat die Kombination von Client und Dateiauflistung (FileSet) einen dazuge-

hörigen Arbeitsauftrag (Job). Dies ist aber nicht zwingend so. Sie können alle Definitio-

nen mischen, also zum Beispiel zwei Server mit gleichem Betriebssystem und gleicher

Funktion über eine Dateiliste (FileSet) und über einen Auftrag (Job) sichern lassen. Es

ist Ihnen überlassen, wie generisch oder speziell Sie die Konfiguration erstellen.

Wir empfehlen Ihnen aber zur Wahrung der Übersichtlichkeit dringend, die Vermi-

schung nicht zu weit zu treiben! Erstellen Sie lieber mehrere Definitionen, anstatt

später nicht mehr zu durchschauen, welches System wann, wie oft und weshalb ge-

sichert wird. Wir erstellen in unseren Beispielen nur einen Pool für alle Sicherungen.

Dies funktioniert selbstverständlich, ist aber bei größeren Umgebungen nicht gerade

effektiv. Strukturieren Sie Ihre Pools logisch, und erzeugen Sie lieber einen Pool zu

viel als einen zu wenig. In dem Beispiel in diesem Buch werden wir mehrere Systeme

zur Sicherung anlegen und Ihnen die relevanten Punkte vorstellen.

29.1.5 Vorhalte- und Verfallszeiten

Neben der regelmäßigen Erstellung von Sicherungen sind ebenso die Vorhalte- und

Verfallszeiten von essenzieller Wichtigkeit. Werden diese Werte zu klein gewählt, so

721

Page 19: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 722 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

kann es vorkommen, dass eine Sicherung nicht wiederhergestellt werden kann, da die

benötigten Dateien bereits verfallen sind und somit gelöscht wurden. Andersherum

ist es auch möglich, dass bei zu groß gewählten Werten unnötig viel Speicherplatz mit

Daten belegt wird, die eigentlich nicht mehr gebraucht werden und unter Umständen

Ihre Platten zum Überlaufen bringen.

29.1.6 Den Überblick behalten

Da Bacula, wie Ihnen sicherlich bereits bewusst geworden ist, äußerst komplex ist,

wollen wir in diesem Abschnitt zeigen, in welchen Schritten das System konfiguriert

wird. Dabei werden wir folgende Punkte abarbeiten:

E Installation des Backup-Servers

E Basiskonfiguration des Backup-Servers

E Konfiguration des ersten Clients – der Backup-Server selbst

E Erstellung einer Sicherung des Backup-Servers

E Sicherung eines Linux-Clients

E Sicherung eines Windows-Clients

E Zeitplan einführen

E Dienst sichern: MySQL

E Wiederherstellung von Dateien

E Admintools (bacula-bat und bacula-web)

29.2 Installation des Backup-Servers

Die Programm-Suite Bacula ist Bestandteil der Paketquellen von Ubuntu. Zusätzlich

zu den eigentlichen Paketen existiert ein Meta-Paket, das alle Abhängigkeiten enthält

und in der richtigen Reihenfolge installiert (zum Beispiel PostgreSQL als Datenbank-

system und Postfix zum Versand von E-Mails). Dies machen wir uns zunutze.

29.2.1 Vorwissen

Für diesen Abschnitt sollten Sie folgende Kenntnisse bereits erworben haben:

E Die Bash (siehe hierzu Abschnitt 8.1, »Hilfe, da blinkt was! Die Bash«)

E Paket-Installation (siehe hierzu Abschnitt 2.4.3, »Umgang mit Paketen«)

E Webserver (siehe hierzu Kapitel 31, »Webserver: ›Apache‹ und ›Nginx‹«)

E [Optional] Mailserver (siehe hierzu Kapitel 18, »Mailserver«)

722

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 723 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.2 Installation des Backup-Servers

29.2.2 Installation von »Bacula«

Standardmäßig wird Bacula mit der Datenbank PostgreSQL ausgeliefert – was für grö-

ßere Installation optimal ist. Sie können Bacula auch mit SQLite betreiben. Allerdings

kann mit SQLite nicht die zusätzliche Weboberfläche bacula-web betrieben werden.

Daher empfehlen wir Ihnen, bei der Standardeinstellung zu bleiben, damit Ihnen al-

le Möglichkeiten offen stehen. Für den »einfachen« Betrieb mit Sqlite installieren

Sie das Meta-Paket bacula-director-sqlite3. Für den Betrieb mit PostgreSQL müssen

noch ein paar Vorbereitungen getroffen werden.

Datenbankserver von A–Z

Wie Sie einen PostgreSQL-Server installieren und konfigurieren, haben wir Ihnen in

Kapitel 17, »Datenbanken: ›SQLite, MySQL, MariaDB und PostgreSQL‹«, ausführlich

erläutert.

Installieren Sie zunächst den PostgreSQL-Server mit sudo apt install postgresql.

Die Installationsroutine von Bacula setzt ein gesetztes Passwort für den root-Benut-

zer von PostgreSQL voraus – was standardmäßig nicht der Fall ist. Verbinden Sie sich

daher mit dem PostgreSQL-Datenbankserver und setzen Sie das Passwort so, wie in

Listing 29.1 dargestellt:

daniel@backup:~$ sudo -u postgres psqlpsql (10.3 (Ubuntu 10.3-1))Type "help" for help.

postgres=# \password postgresEnter new password: <PASSWORD>

Enter it again: <PASSWORD>

postgres=# \q

Listing 29.1 Das Datenbankpasswort für »bacula« setzen

Das Datenbanksystem PostgreSQL ist sehr streng, was Zugriffe angeht – so wird

sogar der root-Benutzer ausgesperrt. Damit der Systembenutzer root Daten-

bankzugriffe im Namen von Bacula durchführen kann, müssen Sie die Datei

/etc/postgresql/10/main/pg_hba.conf durch den Inhalt aus Listing 29.2 ersetzen:

# Database administrative login by Unix domain socketlocal all postgres peer

# TYPE DATABASE USER ADDRESS METHOD

# "local" is for Unix domain socket connections only

723

Page 20: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 724 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

local all all peer map=adminmap

# IPv4 local connections:host all all 127.0.0.1/32 md5# IPv6 local connections:host all all ::1/128 md5

Listing 29.2 Aktivieren des Mappings in »pg_hba.conf«

Entscheidend ist die Änderung in Fettschrift: map=adminmap. Damit weisen Sie Postgre-

SQL an, eine Abbildung (englisch mapping) zu verwenden. Diese müssen wir noch

in der Datei /etc/postgresql/10/main/pg_ident.conf einrichten. Fügen Sie daher den

Inhalt aus Listing 29.3 in diese Datei ein:

# MAPNAME SYSTEM-USERNAME PG-USERNAMEadminmap bacula baculaadminmap root bacula

Listing 29.3 Einrichten des Mappings in »pg_ident.conf«

Mit dieser Konfiguration setzen Sie Zugriffe des Systembenutzers root auf den Post-

greSQL-Benutzer bacula um. Damit die Änderungen wirksam werden, müssen Sie

zum Abschluss sudo systemctl reload postgresql ausführen. Nun können Sie das

Meta-Paket für Bacula so installieren, wie in Listing 29.4 dargestellt:

daniel@backup:~$ sudo apt install bacula[…]

Listing 29.4 Installation des Bacula-Servers

Während des Installationsvorgangs werden Ihnen einige Fragen zu den zu installie-

renden Paketen gestellt, die wir nun der Reihe nach betrachten.

Mailserver: »postfix«

Zunächst wird das Paket postfix (Mailserver) konfiguriert. Falls Sie bereits über eine

lauffähige Installation verfügen, wird dieser Schritt übergangen.

Mailserver

Wie Sie einen eigenen Mailserver aufsetzen, erfahren Sie in Kapitel 18, »Mailserver mit

Postfix und Dovecot«.

Datenbankserver: »postgresql«

Anschließend wird die benötigte Datenbank installiert. Bacula kann mit MySQL,

PostgreSQL und SQLite umgehen. Wir setzen standardmäßig PostgreSQL ein, daher

724

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 725 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.2 Installation des Backup-Servers

werden Sie während der Installation gefragt, ob die Datenbankinstallation ausgeführt

werden soll (siehe Abbildung 29.2).

Abbildung 29.2 Rückfrage zur Datenbankinstallation

Wählen Sie <JA> aus, damit das Konfigurationstool die notwendigen Arbeiten verrich-

tet. Anderenfalls müssen Sie später selbst die benötigten Benutzer, Rechte, Datenban-

ken und Tabellen anlegen.

Anschließend werden Sie aufgefordert, anzugeben, auf welchem System die Postgre-

SQL-Datenbank läuft. Da wir die lokale Installation verwenden wollen, wählen Sie wie

in Abbildung 29.3 localhost aus.

Abbildung 29.3 Angabe des Datenbankservers

Im nächsten Schritt wird der Datenbankbenutzer für Bacula angelegt, und Sie werden

aufgefordert, für diesen ein Passwort anzugeben. Verwenden Sie hier ein komplexes

Passwort mit entsprechender Länge, oder folgen Sie dem Hinweis und lassen Sie eines

generieren (siehe Abbildung 29.4).

725

Page 21: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 726 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Abbildung 29.4 Passwortvergabe für den Datenbankbenutzer »bacula-director-mysql«

Abschließend werden Sie aufgefordert, das soeben vergebene Passwort zur Bestäti-

gung erneut anzugeben. Der Installationsprozess wird nun abgeschlossen. Wie wir

bereits erörtert haben, werden dabei direkt die benötigten Datenbankstrukturen an-

gelegt, der Datenbankbenutzer erzeugt, die Passwörter generiert und die Konfigurati-

onsdateien erstellt. Damit verfügen Sie unmittelbar nach der Installation über einen

vorkonfigurierten und beinahe lauffähigen Backup-Server. Standardmäßig wird aber

nur die Client-Komponente gestartet.

29.3 Basiskonfiguration des Backup-Servers

Die Konfiguration von Bacula wird unter /etc/bacula in mehreren Dateien vorge-

nommen. Für diesen Abschnitt sind vorerst die folgenden Dateien relevant: bacu-

la-dir.conf, bacula-sd.conf und bconsole.conf.

In den Konfigurationsdateien werden Sektionen definiert (Bereiche, die von ge-

schweiften Klammern umschlossen sind). Da zur Installation das Meta-Paket ver-

wendet wurde, sind bereits viele Konfigurationen vorgenommen worden.

In diesem Abschnitt ergänzen wir die bestehende Konfiguration und stellen die bisher

gesetzten Direktiven näher vor.

29.3.1 Konfiguration des »Director«

In der Datei bacula-dir.conf wird der Katalog, der auch als Verzeichnis bezeichnet wird,

konfiguriert. Darüber hinaus steuert dieser Dienst auch alle weiteren Dienste und ist

somit der Chef im Ring. In der Datei sind folgende Sektionen enthalten:

726

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 727 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.3 Basiskonfiguration des Backup-Servers

E Director – Konfiguration des Dienstes

E JobDefs – Standarddefinition der Aufträge

E Job – Definition von Arbeitsaufträgen (Sicherungen oder Wiederherstellungen)

E FileSet – Beschreibung, wie und welche Dateien gesichert werden sollen

E Schedule – spezifiziert, wann und auf welche Art gesichert werden soll

E Client – Angaben zum File-Daemon der Clients

E Autochanger – Angaben zum Storage-Daemon

E Catalog – Angaben zum Katalog (Datenbankbenutzername und Passwort)

E Messages – Konfiguration der Meldungen (zum Beispiel E-Mails)

E Pool – Steuerung der Volumes

E Console – Konfiguration der Konsole

Director

Nach der Installation finden Sie in der Sektion Director die aus Listing 29.5:

Director { # define myselfName = backup-dirDIRport = 9101 # where we listen for UA connectionsQueryFile = "/etc/bacula/scripts/query.sql"WorkingDirectory = "/var/lib/bacula"PidDirectory = "/run/bacula"Maximum Concurrent Jobs = 20Password = "<CONSOLE PASSWORD>" # Console passwordMessages = DaemonDirAddress = 127.0.0.1

}

Listing 29.5 Die Sektion »Director« in »bacula-dir.conf«

Alle Sektionen verfügen über die Direktive Name. Darüber wird die Sektion identifi-

ziert. Während der Installation wird allen Name-Direktiven der Hostname des Systems

vorangestellt, was aber nicht zwingend erforderlich ist. Das System, das wir verwen-

det haben, heißt daher backup.example.com. Dementsprechend wurde der Direktive

Name in der Sektion Director der sprechende Name backup-dir zugewiesen.

Da Bacula über Meta-Pakete installiert wurde, wurde bereits ein Passwort für den Di-

rector generiert. Im Beispiel aus Listing 29.5 haben wir als Platzhalter <CONSOLE PASS-

WORD> verwendet. Wenn Sie dies ändern, müssen Sie die Änderung auch an anderen

Stellen vornehmen. Wir weisen Sie im weiteren Verlauf des Abschnitts entsprechend

darauf hin und verwenden stets die gleichen Platzhalter.

727

Page 22: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 728 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Keine Namensänderungen!

Verändern Sie den Namen der Hauptkomponenten nicht! Während der Installation

werden neben den Konfigurationsdateien auch Datenbanken und Tabellen erzeugt.

Verändern Sie den Namen, müssen Sie ihn an vielen Stellen anpassen.

JobDefs

Die Sektion JobDefs spezifiziert die Standardwerte von Sicherungsaufträgen, die Sie

in die jeweiligen Aufträge laden können. Falls dort in den Aufträgen keine Werte für

die Direktiven angegeben werden, verwendet Bacula die hier gesetzten Direktiven.

Sie können diese Sektion auch mehrfach erstellen, müssen den neu erstellten Sek-

tionen dann aber mit der Direktive Name unterschiedliche Namen zuweisen. Darüber

können Sie zum Beispiel Standards für Server und Clients vorab definieren. Im Bei-

spiel belassen wir die Definition auf der Standardeinstellung, wie in Listing 29.6 dar-

gestellt, und passen lediglich die Direktive Storage an:

JobDefs {Name = "DefaultJob"Type = BackupLevel = IncrementalClient = backup-fdFileSet = "Full Set"Schedule = "WeeklyCycle"Storage = File1Messages = StandardPool = FileSpoolAttributes = yesPriority = 10Write Bootstrap = "/var/lib/bacula/%c.bsr"

}

Listing 29.6 Die Sektion »JobDefs« in »bacula-dir.conf«

Sehen wir uns diese etwas genauer an:

E Name – der Name der Standarddefinition

E Type – Art des Auftrags (mögliche Werte: Backup = Sicherung, Restore = Wiederher-

stellung, Verify = Prüfung, Admin = administrative Aufgaben, Migrate = Migration

von einem Pool zu einem anderen oder Copy = kopieren)

E Level – Art der Sicherung (mögliche Werte für Backup sind: Full, Incremental oder

Differential)

728

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 729 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.3 Basiskonfiguration des Backup-Servers

E Client – der Client, für den der Auftrag gilt (Die Sektion wird noch definiert.)

E FileSet – Definition der zu sichernden Daten (Die Sektion wird noch definiert.)

E Schedule – Zeitsteuerung (Die Sektion wird noch definiert.)

E Storage – Speichergerät (Die Sektion wird noch definiert.)

E Messages – Meldungen, die erzeugt werden sollen (Die Sektion wird noch definiert.)

E Pool – Gruppenzugehörigkeit (Die Sektion wird noch definiert.)

E SpoolAttributes – Dateirechte werden erst nach Sicherung vergeben

E Priority – Priorität des Auftrags, kleiner Wert = höhere Priorität (im Standard 10)

E Write Bootstrap – Speicherort der Bootstrap-Datei. Diese enthält Informationen

zu den gesicherten Daten. Bei vollständigen Sicherungen wird die Bootstrap-Datei

neu geschrieben, bei inkrementellen wird sie um die jeweiligen Daten erweitert.

Kann Variablen enthalten (hier %c = Name des Clients).

Job

In der Sektion Job werden die eigentlichen Aufgaben definiert. Nach der Installation

sind bereits drei Aufträge definiert. Die ersten beiden sind in Listing 29.7 dargestellt:

Job {Name = "BackupClient1"JobDefs = "DefaultJob"

}

Job {Name = "BackupCatalog"JobDefs = "DefaultJob"Level = FullFileSet="Catalog"Schedule = "WeeklyCycleAfterBackup"RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl MyCatalog"RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup"Write Bootstrap = "/var/lib/bacula/%n.bsr"Priority = 11 # run after main backup

}

Listing 29.7 Die »Job«-Sektionen in »bacula-dir.conf«

Der erste Arbeitsauftrag (BackupClient1) besteht nur aus den Direktiven Name und Job-

Defs. Dies ist vollkommen legitim, da alle notwendigen Direktiven in der Standard-

definition vorhanden sind. Der zweite Arbeitsauftrag verfügt über deutlich mehr Di-

rektiven, die wir uns nun genauer ansehen:

729

Page 23: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 730 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

E Name – der Name des Auftrags

E Jobdefs – Standardwerte, die geladen werden

E Level – Art der Sicherung (mögliche Werte: Full, Incremental oder Differential)

E FileSet – Definition der zu sichernden Daten (Die Sektion wird noch definiert.)

E Schedule – Zeitsteuerung (Die Sektion wird noch definiert.)

E RunBeforeJob – Skript, das auf dem Client vor der Sicherung gestartet wird

E RunAfterJob – Skript, das auf dem Client nach der Sicherung gestartet wird

E Write Bootstrap – Speicherort der Bootstrap-Datei. Kann Variablen enthalten (hier

%n = Name des Auftrags).

E Priority – Priorität des Auftrags (kleiner Wert = höhere Priorität)

Im Arbeitsauftrag BackupCatalog werden ebenfalls die Standardwerte DefaultJob aus

der Sektion JobDefs geladen. Allerdings werden hier einige Direktiven mit Werten

überschrieben. Dieser Arbeitsauftrag sichert den Inhalt des Katalogs. Dafür wird vor

der Sicherung das Skript make_catalog_backup.pl ausgeführt, das in der Direktive Run-

BeforeJob angegeben ist.

Der dritte standardmäßig angelegte Job ist ein Restore-Job. Dieser dient als Pseudo-

Job dazu, Dateien wiederherstellen zu können. Dabei wird der Job aber nicht zeitge-

steuert ausgeführt, sondern wird manuell angepasst, um Dateien wiederherzustellen.

Listing 29.8 zeigt die Konfiguration nach der Installation:

Job {Name = "RestoreFiles"Type = RestoreClient=backup-fdStorage = File1FileSet="Full Set"Pool = FileMessages = StandardWhere = /nonexistant/path/to/file/archive/dir/bacula-restores

}

Listing 29.8 Die »Job«-Sektion »RestoreFiles« in »bacula-dir.conf«

Da der Job zur Ausführung manuell über die Konsole angepasst wird, ist nur eine

Direktive interessant: Where. Diese gibt an, in welches Verzeichnis die wiederherge-

stellten Dateien abgelegt werden, und zeigt standardmäßig (mit einem dezenten Hin-

weis darauf, dass dieser Parameter angepasst werden sollte) auf ein nicht vorhande-

nes Verzeichnis. Ändern Sie dieses entsprechend Ihrer Umgebung. Wir verwenden im

Beispiel /restore.

730

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 731 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.3 Basiskonfiguration des Backup-Servers

FileSet

In der Konfigurationsdatei folgt auf die Auftragsdefinition die Definition der FileSets.

Diese spezifiziert, welche Dateien gesichert werden. Nach der Installation sind bereits

zwei FileSets definiert: Full Set und Catalog.

Das FileSet Full Set wollen wir zur Veranschaulichung näher unter die Lupe nehmen

(siehe Listing 29.9):

FileSet {Name = "Full Set"Include {

Options {Signature = MD5 # calculate md5 checksum per file

}File = /usr/sbin

}Exclude {

File = /var/lib/baculaFile = /nonexistant/path/to/file/archive/dirFile = /procFile = /tmpFile = /sysFile = /.journalFile = /.fsck

}}

Listing 29.9 Die Sektion »FileSet« für »Full Set« in »bacula-dir.conf«

Dieses FileSet besteht im Wesentlichen aus drei Elementen. Zur besseren Lesbarkeit

wurden die einzelnen Untersektionen der Optionen eingerückt. Zunächst wird mit

der Direktive Name der Name festgelegt – dieser muss den Angaben aus der Client-Sek-

tion entsprechen.

Anschließend werden mit der Direktive Include Optionen gesetzt, wie zum Beispiel

die Prüfung der Sicherung mittels MD5. Mit der Direktive File wird definiert, wel-

che Dateien gesichert werden sollen – im Beispiel also alles unterhalb von /usr/sbin.

Beachten Sie, dass Bacula zwischen Partitionen unterscheidet. Verfügen Ihre Server

über mehrere Laufwerke, die unterschiedlich eingehängt sind (zum Beispiel eine ei-

gene Festplatte für /var oder /home), müssen diese Laufwerke gesondert über die

Direktive File angegeben werden! Ansonsten würde Bacula nur die Daten der Haupt-

partition sichern. Mit der Direktive Exclude werden Verzeichnisse angegeben, die ex-

plizit aus der Sicherung ausgeschlossen werden sollen. Wie Sie Listing 29.9 entneh-

men können, wurden hier Pseudo-Dateisysteme wie /procebenso ausgeschlossen wie

731

Page 24: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 732 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Verzeichnisse, die temporäre Dateien enthalten, z. B. /tmp. Dies ist sinnvoll, da diese

Dateien bei einer Wiederherstellung nicht benötigt werden und zum Teil bei einer

Sicherung Fehler erzeugen würden. Dieses FileSet ist ledliglich ein Beispiel und dient

der Veranschaulichung beziehungsweise als eine Art Selbsttest.

Das FileSet zur Sicherung des Katalogs Catalog ist eher schlanker Natur. Wie Sie in

Listing 29.10 sehen, wird darüber lediglich der Datenbank-Dump des Katalogs von

Bacula gesichert.

# This is the backup of the catalogFileSet {Name = "Catalog"Include {

Options {signature = MD5

}File = "/var/lib/bacula/bacula.sql" # database dump

}}

Listing 29.10 Die Sektion »FileSet« für »Catalog« in »bacula-dir.conf«

Die Erstellung des korrekten FileSet entscheidet über den Erfolg einer Sicherung und

– was noch wichtiger ist – über den Erfolg einer Wiederherstellung! Daher werden

wir diese Sektion mit all ihren Möglichkeiten in Abschnitt 29.6, »Nichts vergessen:

›FileSet‹«, im Detail vorstellen.

Schedule

Wie wir bereits erörtert haben, ist die Planung der Zeitsteuerung nicht nur für die

Wiederherstellung relevant, sondern auch für die störungsfreie Durchführung und

die Systembelastung. Nach der Installation sind bereits zwei Schedule-Sektionen vor-

handen, wie Sie in Listing 29.11 sehen:

Schedule {Name = "WeeklyCycle"Run = Full 1st sun at 23:05Run = Differential 2nd-5th sun at 23:05Run = Incremental mon-sat at 23:05

}Schedule {Name = "WeeklyCycleAfterBackup"Run = Full sun-sat at 23:10

}

Listing 29.11 »Schedule«-Sektionen in »bacula-dir.conf«

732

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 733 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.3 Basiskonfiguration des Backup-Servers

Ein Arbeitsplan besteht im Wesentlichen aus zwei Elementen. Zunächst wird der

Name mit der Direktive Name definiert. Clients, die diesen Zeitplan verwenden wollen,

müssen ihn in ihrer Schedule-Direktive angeben. Anschließend werden die Laufzeiten

und zudem die Art der Sicherung über die Direktive Run definiert.

Die Direktive enthält dabei mehrere Werte. Zum einen das Level, das angibt, ob eine

vollständige (Full), eine differenzielle (Differential) oder eine inkrementelle (Incre-

mental) Sicherung durchgeführt werden soll, und zum anderen wird der Pool definiert.

Dieser verweist auf eine weitere Sektion, in der festgelegt wird, wie lange die Sicherun-

gen vorgehalten werden. Diese werden wir im weiteren Verlauf detailliert betrachten.

Anschließend werden die Laufzeiten definiert. Dabei versteht Bacula eine für Men-

schen lesbare Syntax. So bedeutet die Zeile mon-sat at 23:05 etwa »montags bis sams-

tags um 23:05 Uhr«. Ebenso wird die Zeile 2nd-5th sun at 23:05 von Bacula als »jeden

2. bis 5. Sonntag um 23:05 Uhr« verstanden. Wie Sie diesen Beispielen entnehmen

können, können so leicht die komplexesten Zeitpläne abgebildet werden – vor allem,

da die Run-Zeile mehrfach angegeben werden kann.

Client

In der Sektion Client definieren Sie die Angaben zu den Systemen, die Sie sichern

wollen. Nach der Installation ist bereits ein Client definiert (backup-fd zur Sicherung

des File Daemons auf dem Server selbst), den wir uns nun genauer ansehen werden

(siehe Listing 29.12).

# Client (File Services) to backupClient {Name = backup-fdAddress = localhostFDPort = 9102Catalog = MyCatalogPassword = "<BACKUP-FD PASSWORD>" # password for FileDaemonFile Retention = 30 days # 30 daysJob Retention = 6 months # six monthsAutoPrune = no # Prune expired Jobs/Files

}

Listing 29.12 Die »Client«-Sektion in »bacula-dir.conf«

Die einzelnen Direktiven haben dabei folgende Bedeutung:

E Name – der Name des Clients (muss auf Server und Client identisch sein)

E Address – IP-Adresse oder Name des Clients

E FDPort – Port des File Daemons auf dem Client

733

Page 25: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 734 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

E Catalog – gibt an, in welchem Katalog die Sicherung abgelegt wird.

E Password – Passwort des Clients

E File Retention – gibt an, wie lange Dateien in der Sicherung vorgehalten werden.

E Job Retention – Vorhaltezeit des Auftrags in der Sicherung

E AutoPrune – gibt an, ob die Daten des Clients automatisch gesäubert werden sollen.

In der Regel sollten Sie in der Direktive Address den Hostnamen oder die IP-Adresse

des Clients setzen. Da der Client backup-fd aber auf dem gleichen System läuft, ist die

Angabe von localhost ebenfalls gültig (aber nur hier!).

Autochanger

In der Autochanger-Sektion wird die Anbindung zum Storage Daemon definiert – in

früheren Versionen hieß diese Sektion auch Storage. Nach der Installation sind bereits

zwei Konfigurationen vorhanden, wie Sie in Listing 29.13 sehen:

Autochanger {Name = File1Address = <IP oder FQDN des SD> # N.B. Use a fully qualified name hereSDPort = 9103Password = "<STORAGE DAEMON PW>"Device = FileChgr1Media Type = File1Maximum Concurrent Jobs = 10 # run up to 10 jobs a the same timeAutochanger = File1 # point to ourself

}Autochanger {Name = File2Address = <IP oder FQDN des SD> # N.B. Use a fully qualified name hereSDPort = 9103Password = "<STORAGE DAEMON PW>"Device = FileChgr2Media Type = File2Autochanger = File2 # point to ourselfMaximum Concurrent Jobs = 10 # run up to 10 jobs a the same time

}

Listing 29.13 Die »Autochanger«-Sektion in »bacula-dir.conf«

Hier müssen Sie die Direktive Address anpassen. Nach der Installation ist dort der

Hostname des Backup-Servers eingetragen (im Beispiel backup). Diesen sollten Sie

ändern! Tragen Sie hier die IP-Adresse oder den FQDN des Backup-Servers ein.

734

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 735 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.3 Basiskonfiguration des Backup-Servers

Das Passwort in der Direktive Password wurde während der Installation bereits ge-

neriert und muss nicht zwingend angepasst werden. Bedenken Sie, dass eventuelle

Änderungen auch in weiteren Konfigurationsdateien vorgenommen werden müssen.

Über die Direktive Device wird der Speicherbereich definiert. Diesen werden wir spä-

ter noch definieren.

Catalog

Diese Sektion mit den Daten des Katalogs wird während der Installation automatisch

generiert und muss nicht angepasst werden (siehe Listing 29.14):

Catalog {Name = MyCatalogdbname = "bacula"; DB Address = "localhost"; dbuser = "bacula"; \dbpassword = "<DB PW>"

}

Listing 29.14 Die »Catalog«-Sektion in »bacula-dir.conf«

Keine Namensänderungen!

Verändern Sie den Namen des Katalogs nicht! Analog zur Namensgebung der Direk-

tiven wurde auch der Katalog während der Installation erzeugt und in allen Paketen

durchgängig mit dem Namen MyCatalog eingerichtet. Verändern Sie diesen Namen,

müssen Sie ihn an vielen Stellen anpassen – wir raten Ihnen, dies nicht zu tun.

Messages

Meldungen und Logs werden in der Sektion Messages definiert. Nach der Installation

finden Sie zwei Sektionen: Standard (siehe Listing 29.15) und Daemon.

Messages {Name = Standardmailcommand = "/usr/bin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s

\"Bacula: %t %e of %c %l\" %r"operatorcommand = "/usr/bin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s

\"Bacula: Intervention needed for %j\" %r"mail = root = all, !skippedoperator = root = mountconsole = all, !skipped, !savedappend = "/var/log/bacula/bacula.log" = all, !skippedcatalog = all

}

Listing 29.15 Gekürzt: Die »Messages«-Sektion für »Standard« in »bacula-dir.conf«

735

Page 26: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 736 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Über diese Sektion werden Meldungen zu Aufträgen und sonstigen Ereignissen er-

zeugt. So kann zum Beispiel in der Job-Sektion über die Direktive Messages = Standard

darauf verwiesen werden. Neben dem Versand von E-Mails (mailcommand und opera-

torcommand) wird auch eine Logdatei unter /var/log/bacula/bacula.log erstellt. Diese

enthält ebenso alle Meldungen. Mit dieser Konfiguration erhält der root-Benutzer alle

E-Mails, die von Bacula erzeugt werden.

Damit diese E-Mails an einen anderen Benutzer oder an eine E-Mail-Adresse zugestellt

werden, müssen Sie die Zeile mail so wie in Listing 29.16 anpassen:

mail = <EMAIL-ADDRESS> = all, !skipped, !audit

Listing 29.16 Meldungen an eine E-Mail-Adresse senden

Zusätzlich werden die Dienstmeldungen separat behandelt. Diese werden in Daemon

definiert, wie Sie in Listing 29.17 sehen:

# Message delivery for daemon messages (no job).Messages {Name = Daemonmailcommand = "/usr/bin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s

\"Bacula daemon message\" %r"mail = root = all, !skippedconsole = all, !skipped, !savedappend = "/var/log/bacula/bacula.log" = all, !skipped

}

Listing 29.17 Die »Messages«-Sektion für »Daemon« in »bacula-dir.conf«

Mit der Daemon-Konfiguration wird definiert, wie die Dienstmeldungen behandelt wer-

den, wie E-Mails versandt werden (Direktive mailcommand), welche Meldungen wie be-

handelt werden (Direktive mail und console) und dass die Logdateien bacula.log und

bacula-audit.log unter /var/log/bacula erzeugt werden sollen.

Pool

Wie bereits erläutert wurde, stammen Pools aus den Anfangstagen der Backup-Syste-

me, als noch überwiegend auf Bändern gesichert wurde. Auch wenn wir im Beispiel

auf Festplatten sichern, müssen diese konfiguriert werden. Nach der Installation sind

bereits drei Pools vorhanden: Default, File, und Scratch. Diese Konfiguration neh-

men wir nun genauer unter die Lupe. Beginnen wollen wir mit dem letzten, dem

Scratch-Pool:

# Scratch pool definitionPool {Name = Scratch

736

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 737 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.3 Basiskonfiguration des Backup-Servers

Pool Type = Backup}

Listing 29.18 Die »Scratch«-Pool-Definition

Dieser Pool ist ein Pseudo-Pool und darf nicht verändert werden. Wenn Bacula ein

neues Volume benötigt und keins findet, schaut es im Scratch-Pool nach und erzeugt

dort ein Volume, um es anschließend in den eigentlichen Pool zu verschieben. Lassen

Sie diese Konfiguration also unangetastet.

Der File-Pool ist standardmäßig so konfiguriert wie in Listing 29.19:

# File Pool definitionPool {Name = FilePool Type = BackupRecycle = yes # Bacula can automatically recycle VolumesAutoPrune = yes # Prune expired volumesVolume Retention = 365 days # one yearMaximum Volume Bytes = 50G # Limit Volume size to something reasonableMaximum Volumes = 100 # Limit number of Volumes in PoolLabel Format = "Vol-" # Auto label

}

Listing 29.19 Der »File«-Pool

Die einzelnen Direktiven haben dabei folgende Bedeutung:

E Name

gibt den Namen des Pools an (muss mit der Client-Konfiguration übereinstim-

men).

E Pool Type

gibt die Art des Pools an. Neben Backup sind weitere Arten möglich. (In der aktuel-

len Version ist nur Backup implementiert.)

E Recycle

gibt an, ob die Volumes dieses Pools wiederverwendet werden dürfen (standard-

mäßig aktiviert).

E AutoPrune

gibt an, ob abgelaufene Sicherungsdateien automatisch gelöscht werden sollen

(standardmäßig aktiviert).

E Volume Retention

Vorhaltezeit für Daten in dem Volume dieses Pools, die im Katalog vorgehalten

werden.

737

Page 27: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 738 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

E Maximum Volume Bytes

gibt an, wie groß ein Volume sein darf. Wird die Größe überschritten, öffnet Bacula

das nächste Volume dieses Pools. Ist diese Direktive nicht gesetzt, gibt es keine

Größenbeschränkung (beim File-Pool auf 50 Gigabyte).

E Maximum Volumes

spezifiziert, wie viele Volumes in diesem Pool gespeichert werden können. In

Kombination mit der Direktive Recycle = yes werden die ältesten Volumes über-

schrieben, wenn die maximale Anzahl erreicht ist.

E Label Format

ist eine Art Template, mit dem die Labels benannt werden. Gültige Zeichen sind

die alphanumerischen, Bindestriche, Unterstriche, Doppelpunkte und Punkte. Zu-

züglich können Variablen verwendet werden. Werden keine Variablen angegeben,

wird das Label Format vorangestellt und um eine fortlaufende vierstellige Zahl

erweitert.

Der Default-Pool ist bis auf das Label Format identisch mit dem File-Pool. Was die

Einstellungen der Direktive Maximum Volume Bytes betrifft, gibt es unterschiedliche

Auffassungen. Generell gilt, dass diese Direktive aus den Zeiten der Bandsicherung

stammt und dort notwendig war. Zum einen wird argumentiert, dass die Volumes

einer Sicherung so klein wie möglich gehalten werden sollen, damit eine Dateisuche

zur Wiederherstellung nicht unendlich lange dauert. Zum anderen erhöhen viele Da-

teien nicht gerade die Übersichtlichkeit. Entscheidend ist bei dieser Sektion vor allem

die Direktive Volume Retention, da diese angibt, wie lange die Sicherung vorgehalten

werden soll.

Console

Die letzte Sektion in der Konfigurationsdatei bacula-dir.conf ist die Konsolenkonfi-

guration (backup-mon). Da wir das Meta-Paket installiert haben, ist diese Sektion be-

reits lauffähig und muss nicht angepasst werden. Darüber kann das Programm bacu-

la-traymonitor den aktuellen Status der Sicherung über den Director abfragen.

29.3.2 Konfiguration des »Storage Daemon«

Die Konfiguration des Storage Daemon findet in der Datei bacula-sd.conf statt. Auch

diese Datei besteht wieder aus mehreren Sektionen:

E Storage – Dienstkonfiguration

E Director – Anbindung an den Director

E Autochanger/Device – Wechselgerät/Medien (Festplatten, Bänder etc.)

E Messages – Benachrichtigungen

738

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 739 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.3 Basiskonfiguration des Backup-Servers

Storage

In der Sektion Storage wird der Dienst an sich konfiguriert. Nach der Installation

finden Sie dort die Zeilen aus Listing 29.20 vor:

Storage { # definition of myselfName = backup-sdSDPort = 9103 # Director's portWorkingDirectory = "/var/lib/bacula"Pid Directory = "/run/bacula"Plugin Directory = "/usr/lib/bacula"Maximum Concurrent Jobs = 20SDAddress = <IP oder FQDN des SD>

}

Listing 29.20 Die »Storage«-Sektion in »bacula-sd.conf«

Wie bei fast allen Sektionen wird auch hier zunächst mit der Direktive Name der Na-

me spezifiziert. Anschließend wird der Port auf 9103 gesetzt und werden die Stan-

dardverzeichnisse gesetzt. Anschließend wird noch die Direktive Maximum Concurrent

Jobs auf 20 gesetzt. Darüber wird festgelegt, wie viele parallele Aufgaben vom Stora-

ge Daemon verarbeitet werden dürfen – für den Anfang ist der Wert vollkommen in

Ordnung.

Zuletzt wird die Adresse des Storage Daemon festgelegt – ändern Sie diese unbedingt

auf die IP-Adresse oder den Namen Ihres Backup-Servers, da die Clients sich sonst

nicht mit ihm über das Netzwerk verbinden können.

Director

Standardmäßig sind zwei Director-Sektionen vorhanden. Aufgrund der Installation

mit Meta-Paketen muss in diesen Sektionen nichts geändert werden.

Das gilt aber nicht, wenn Sie das Passwort des Directors geändert haben (<STORAGE

DAEMON PW> aus Listing 29.13)! Dieses müssten Sie ebenso hier anpassen.

Autochanger/Device

In der Sektion Autochanger wird auf Device-Sektionen verwiesen. Über diese Kombina-

tion werden die Sicherungsmedien definiert. Nach der Installation finden Sie bereits

zwei Autochanger, die auf je zwei Device-Sektionen verweisen. In Listing 29.21 sehen

Sie den ersten Autochanger:

Autochanger {Name = FileChgr1Device = FileChgr1-Dev1, FileChgr1-Dev2Changer Command = ""

739

Page 28: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 740 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Changer Device = /dev/null}

Listing 29.21 »Autochanger«-Sektion in »bacula-sd.conf«

Auch hier wollen wir auf die einzelnen Direktiven genauer eingehen. Zunächst wird

erneut der Name mit der Direktive Name definiert – dieser muss mit der Konfiguration

aus der Datei bacula-dir.conf übereinstimmen. Anschließend werden die zugehörigen

Geräte mittels der Device-Direktive definiert.

Da es sich bei diesen um Festplatten handelt, sind die Changer-Direktiven leer bezie-

hungsweise zeigen auf /dev/null.

Device {Name = FileChgr1-Dev1Media Type = File1Archive Device = /nonexistant/path/to/file/archive/dirLabelMedia = yes; # lets Bacula label unlabeled mediaRandom Access = Yes;AutomaticMount = yes; # when device opened, read itRemovableMedia = no;AlwaysOpen = no;Maximum Concurrent Jobs = 5

}Device {Name = FileChgr1-Dev2Media Type = File1Archive Device = /nonexistant/path/to/file/archive/dirLabelMedia = yes; # lets Bacula label unlabeled mediaRandom Access = Yes;AutomaticMount = yes; # when device opened, read itRemovableMedia = no;AlwaysOpen = no;Maximum Concurrent Jobs = 5

}

Listing 29.22 »Device«-Sektion für »FileChgr1-Dev1, FileChgr1-Dev2« in »bacula-sd.conf«

In Listing 29.22 sehen Sie das erste Device. Dort wird, wie erwartet, zu nächst der

Name definiert. Anschließend wird die Medienart mit der Direktive Media Type auf

File1 gesetzt – was erneut mit der Konfiguration auf bacula-dir.conf übereinstimmen

muss. Damit wird definiert, dass die Sicherung in Dateien ausgeführt werden soll.

Die Direktive Archive Device gibt den Pfad an, unter dem die Sicherungen abgelegt

werden sollen. Wie Sie Listing 29.22 entnehmen können, zeigt der Pfad nach der In-

740

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 741 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.3 Basiskonfiguration des Backup-Servers

stallation erneut auf einen nicht existenten Pfad. Ändern Sie diesen entsprechend

Ihrer Umgebung, wir verwenden im Beispiel /backup.

Berechtigung für den »Sicherungspfad« anpassen!

Passen Sie die Berechtigung für den in der Direktive Archive Deviceangegebenen Pfad

an. Bacula arbeitet standardmäßig als Benutzer bacula in der Gruppe tape. Stellen

Sie sicher, dass der Dienst lesenden und schreibenden Zugriff auf das angegebene

Verzeichnis besitzt – ansonsten schlagen alle Sicherungen fehl!

Wie Ihnen vielleicht aufgefallen ist, sind die Device-Direktiven, bis auf ihren Namen,

identisch miteinander. Das liegt daran, dass die Beispielkonfiguration die Möglichkei-

ten von Bacula aufzeigen soll – hier im Speziellen den Umgang mit unterschiedlichen

Geräten zur Sicherung. Wenn Sie Ihre Sicherung nur auf Festplatten laufen lassen

wollen, würde auch eine Device-Definition genügen.

Die Definition des zweiten Autochangers (FileChgr2) ist identisch mit der ersten und

dient erneut nur dazu, Ihnen die Möglichkeiten zu verdeutlichen.

Messages

Zu guter Letzt wird die Sektion Messages definiert. Nach der Installation finden Sie die

Konfiguration aus Listing 29.23 vor:

Messages {Name = Standarddirector = backup-dir = all

}

Listing 29.23 Die »Messages«-Sektion in »bacula-sd.conf«

Darüber wird dem Storage Daemon mitgeteilt, dass alle Meldungen an den Director

(backup-dir) gesendet werden sollen. Entsprechend dieser Konfiguration in der Sekti-

on Messages werden auch die Benachrichtigungen der Storage Daemons behandelt.

29.3.3 Der erste Client – »File Daemon« auf dem Backup-Server

Auch auf dem Sicherungsserver selbst läuft ein File Daemon. Mit seiner Hilfe können

Sie den Server auf sich selbst sichern lassen.

Nach der Installation sind zwei Sicherungsaufträge angelegt: einer für den Katalog

und einer als Beispiel zur regulären Datensicherung. Die Beispielsicherung umfasst

lediglich den Inhalt von /usr/sbin, genügt aber zum Testen der vorgenommenen Kon-

figurationen voll und ganz.

741

Page 29: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 742 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Daher wollen wir nun den dazugehörigen File Daemon konfigurieren, um die bisheri-

ge Konfiguration testen zu können. In der Datei bacula-fd.conf werden die notwendi-

gen Konfigurationen vorgenommen. Darin finden Sie nach der Installation die Zeilen

(ohne Kommentare) aus Listing 29.24:

Director {Name = backup-dirPassword = "<CLIENT PW>"

}

Director {Name = backup-monPassword = "<MONITOR PW>"Monitor = yes

}

FileDaemon { # this is meName = backup-fdFDport = 9102 # where we listen for the directorWorkingDirectory = /var/lib/baculaPid Directory = /run/baculaMaximum Concurrent Jobs = 20Plugin Directory = /usr/lib/baculaFDAddress = 127.0.0.1

}

Messages {Name = Standarddirector = backup-dir = all, !skipped, !restored

}

Listing 29.24 Die »File Daemon«-Konfiguration auf dem Server in »bacula-fd.conf«

Zunächst werden hier zwei Director-Sektionen definiert: eine für das eigentliche

Backup (backup-dir) und eine für die Abfragen des Programms bacula-traymonitor.

Beachten Sie, dass das Passwort des backup-dir dem Passwort der Client-Direktive in

der Datei bacula-dir.conf entsprechen muss. Das Meta-Paket hat dies für uns bereits

abgeglichen, sodass hier keine Konfigurationen notwendig sind.

Anschließend wird der Dienst in der Sektion FileDaemon konfiguriert. Neben dem ob-

ligatorischen Namen – der wieder identisch mit der Client-Konfiguration in der Datei

bacula-dir.conf sein muss – werden Pfade definiert und wird die maximale Anzahl

der gleichzeitig laufenden Sicherungsprozesse mit Maximum Concurrent Jobs auf 20

limitiert. Zuletzt wird die Adresse des Daemons mit FDAddress gesetzt.

742

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 743 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.3 Basiskonfiguration des Backup-Servers

Zum Abschluss wird in der Sektion Messages definiert, dass alle Meldungen, außer

übersprungene und wiederhergestellte Dateien, an den Director backup-dir gesendet

werden sollen.

29.3.4 Die Konfiguration fertigstellen, Fehler beseitigen und

die erste Sicherung durchführen

Bisher haben wir uns lediglich in den Eingeweiden von Bacula bewegt. Die Konfigura-

tion ist damit aber nicht ganz abgeschlossen. Zunächst müssen die Dienste gestartet

werden, da nach der Installation lediglich die Client-Komponente (der FileDaemon)

gestartet wurde.

Bevor Sie nun die Dienste neu starten, um etwaige Konfigurationsänderungen ein-

zuspielen, sollten Sie diese prüfen. Hierfür gibt Bacula Ihnen Commandline-Tools an

die Hand. Führen Sie die Befehle aus Listing 29.25 aus, um die Konfiguration prüfen

zu lassen:

daniel@backup:~$ sudo bacula-dir -tc /etc/bacula/bacula-dir.confdaniel@backup:~$ sudo bacula-sd -tc /etc/bacula/bacula-sd.confbacula-sd: ERROR TERMINATION at parse_conf.c:1104Config error: Keyword "Device" not permitted in this resource.Perhaps you left the trailing brace off of the previous resource.

: line 114, col 7 of file /etc/bacula/bacula-sd.confDevice {[…]

daniel@backup:~$ sudo bacula-fd -tc /etc/bacula/bacula-fd.conf

Listing 29.25 Konfiguration mit »bacula-dir« und »bacula-sd« prüfen

In Listing 29.25 wurde zunächst mit bacula-dir die Konfiguration des Directors ge-

prüft. Da keine Ausgabe erfolgt ist, hat Bacula nichts zu beanstanden. Ganz anders bei

der Prüfung des Storage Daemons mit bacula-sd: Dort werden Sie ziemlich präzise

darauf hingewiesen, dass eine schließende geschweifte Klammer fehlt. Abschließend

wurde mit bacula-fd auch noch die Client-Konfiguration geprüft.

Nach der Korrektur etwaiger Fehler können Sie fortfahren und die Dienste neu starten.

Dies können Sie wie gewohnt mit dem Kommando systemctldurchführen. Starten Sie

die Dienste neu (siehe Listing 29.26):

daniel@backup:~$ sudo systemctl restart bacula-directordaniel@backup:~$ sudo systemctl restart bacula-sddaniel@backup:~$ sudo systemctl restart bacula-fd

Listing 29.26 Dienste neu starten

743

Page 30: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 744 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Die Administration von Bacula erfolgt mit dem Programm bconsole. Damit können

Sie Bacula vollständig administrieren.

Daher muss das Programm auch als root oder zumindest mit sudo gestartet werden.

Aufgrund der Installation über das Meta-Paket sind keine Konfigurationen für bcon-

sole notwendig.

Nach dem Aufruf werden Sie mit der Verbindungsübersicht aus Listing 29.27 begrüßt:

daniel@backup:~$ sudo bconsoleConnecting to Director localhost:91011000 OK: 103 backup-dir Version: 9.0.6 (20 November 2017)Enter a period to cancel a command.

*

Listing 29.27 Starten von »bconsole«

Der Prompt wird bei bconsole als Sternchen dargestellt. bconsole wartet also nun auf

eine Eingabe.

Zum Abbruch ».«, nicht »Strg + C«!

Wie Sie Listing 29.27 entnehmen können, weist das Programm bconsole Sie darauf hin,

dass zum Abbruch eines Befehls (oder auch zum Aussteigen aus einer Frage) der Punkt

(.) verwendet werden muss. Falls Sie das Programm mit der sonst üblichen Tastenkom-

bination (Strg)+(C) beenden, werden Sie zwar auch auf die Konsole zurückgeworfen,

allerdings verhält sich diese dann äußerst merkwürdig – so werden zum Beispiel Ein-

gaben nicht korrekt dargestellt. Um wieder eine bedienbare Konsole zu bekommen,

müssen Sie (blind) das Kommando reset absetzen.

Prüfen Sie zunächst, ob die vorgenommenen Client-Konfigurationen korrekt erkannt

wurden. Dies prüfen Sie, indem Sie bconsole starten und das Kommando show clients

absetzen. Die Ausgabe sollte den Zeilen von Listing 29.28 entsprechen:

*show clientsClient: Name=backup-fd Enabled=1 Address=localhost FDport=9102 MaxJobs=1

NumJobs=0 JobRetention=6 months FileRetention=2 months AutoPrune=1--> Catalog: name=MyCatalog address=localhost DBport=0 db_name=bacula

db_driver=*None* db_user=bacula MutliDBConn=0

Listing 29.28 Übersicht über die konfigurierten Clients im »Director«

Das Programm bconsole gibt Ihnen eine Übersicht der konfigurierten Clients aus. Da

nach der Installation lediglich ein Client (der Server selbst: backup-fd) definiert ist,

wird auch nur dieser ausgegeben. Die Ausgabe bedeutet nicht, dass die File Daemons

744

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 745 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.3 Basiskonfiguration des Backup-Servers

mit dem Director verbunden sind, sondern lediglich, dass diese im Director konfi-

guriert wurden. Um zu prüfen, ob der Client sich mit dem Director verbunden hat,

können Sie den Befehl status verwenden. Listing 29.29 zeigt die Ausgabe des Befehls:

*statusStatus available for:

1: Director2: Storage3: Client4: Scheduled5: Network6: All

Select daemon type for status (1-6): 3

Automatically selected Client: backup-fdConnecting to Client backup-fd at localhost:9102

backup-fd Version: 9.0.6 (20 November 2017) x86_64-pc-linux-gnu ubuntu 18.04Daemon started 20-Apr-18 18:18. Jobs: run=0 running=0.Heap: heap=106,496 smbytes=21,965 max_bytes=21,982 bufs=68 max_bufs=68Sizes: boffset_t=8 size_t=8 debug=0 trace=0 mode=0,0 bwlimit=0kB/sPlugin: bpipe-fd.so

Running Jobs:Director connected at: 20-Apr-18 18:23No Jobs running.====

Terminated Jobs:====

*

Listing 29.29 Den Client-Status mit »status« abfragen

Nach dem Aufruf wird abgefragt, welchen Status Sie einsehen möchten. Wählen Sie

hier 3 aus, um sich den Status der Clients anzeigen zu lassen. Anschließend würde die

Abfrage kommen, welchen Client Sie angezeigt bekommen möchten.

Da wir derzeit nur einen Client definiert haben, zeigt bconsole Ihnen direkt den Sta-

tus dieses Clients an (Automatically selected Client: backup-fd). Dafür verbindet

sich der Director mit dem Client (Connecting to Client backup-fd at localhost:9102)

und gibt anschließend den Status aus.

Testen wir nun eine Sicherung. Diese können wir in der bconsole mit dem Befehl run

starten. Listing 29.30 zeigt den Dialog:

745

Page 31: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 746 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

*runAutomatically selected Catalog: MyCatalogUsing Catalog "MyCatalog"A job name must be specified.The defined Job resources are:

1: BackupClient12: BackupCatalog3: RestoreFiles

Select Job resource (1-3): 2

Run Backup jobJobName: BackupCatalogLevel: FullClient: backup-fdFileSet: CatalogPool: File (From Job resource)Storage: File1 (From Job resource)When: 2018-04-20 18:24:32Priority: 11OK to run? (yes/mod/no): yes

Job queued. JobId=1

Listing 29.30 Sicherung mit »run« starten

Nach dem Aufruf von run werden Sie zunächst gefragt, welcher Auftrag ausgeführt

werden soll. Wählen Sie hier 2, um den Katalog zu sichern. Anschließend wird Ihnen

eine Übersicht zum Auftrag ausgegeben und gefragt, ob die Ausführung gestartet

werden soll. Mit dem Befehl no wird die Verarbeitung abgebrochen. Mit mod können

Sie Direktiven manuell anpassen. Geben Sie yes ein, damit die Sicherung startet.

In einigen Fällen bekommen Sie direkt den Hinweis Job not run., leider ohne weitere

Hinweise. Damit Sie den Befehl trotzdem benutzen können, müssen Sie den Dialog

umgehen und einfach alle Werte in eine Zeile schreiben. Listing 29.31 zeigt den ange-

passten Befehl:

*run job=BackupCatalog yesUsing Catalog "MyCatalog"Job queued. JobId=2

*You have messages.

Listing 29.31 Sicherung in einer Zeile starten

Kurze Zeit nach dem Absetzen des Jobs erhalten Sie auf der bconsole die Ausgabe

You have messages., zu Deutsch Sie haben Nachrichten. Diese können Sie mit dem Be-

fehl messages ausgeben lassen. Listing 29.32 zeigt einen Teil der Ausgabe:

746

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 747 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.3 Basiskonfiguration des Backup-Servers

20-Apr 18:42 backup-dir JobId 1: shell command: run BeforeJob \"/etc/bacula/scripts/make_catalog_backup.pl MyCatalog"

20-Apr 18:42 backup-dir JobId 1: Start Backup JobId 1, \Job=BackupCatalog.2018-04-20_18.42.23_04

20-Apr 18:42 backup-dir JobId 1: Created new Volume "Vol-0001" in catalog.20-Apr 18:42 backup-dir JobId 1: Using Device "FileChgr1-Dev2" to write.20-Apr 18:42 backup-sd JobId 1: Labeled new Volume "Vol-0001" on device \"FileChgr1-Dev2" (/backup).

20-Apr 18:42 backup-sd JobId 1: Wrote label to prelabeled Volume "Vol-0001" \on device "FileChgr1-Dev2" (/backup)

20-Apr 18:42 backup-sd JobId 1: Elapsed time=00:00:01, \Transfer rate=66.15 K Bytes/second

Listing 29.32 Nachrichten mit »messages« anzeigen lassen

Wie Sie sehen, protokolliert Bacula ziemlich genau, was vor sich geht. Ebenso präzi-

se ist er in der Benennung der Aufträge. So wird der Job im Beispiel von Bacula als

BackupCatalog.2018-04-20_18.42.23_04) benannt.

Wie bereits erörtert wurde, benötigt jedes Volume ein Label. Dieses wird von Bacu-

la mit dem Namen Vol-0001 automatisch erzeugt. Um alle Pools und deren Labels

ausgeben zu lassen, können Sie einfach den Befehl list pools absetzen. Listing 29.33

zeigt die entsprechende Ausgabe:

*list pools+--------+---------+---------+---------+-------+----------+-------------+| poolid | name | numvols | maxvols | […] | pooltype | labelformat |+--------+---------+---------+---------+-------+----------+-------------+| 1 | Default | 0 | 100 | […] | Backup | * || 2 | File | 1 | 100 | […] | Backup | Vol- || 3 | Scratch | 0 | 0 | […] | Backup | * |+--------+---------+---------+---------+-------+----------+-------------+

Listing 29.33 Alle konfigurierten Pools anzeigen lassen

Um den Status eines Clients abzufragen, können Sie den Befehl status absetzen

und dann den Client auswählen – Sie können auch direkt den Befehl status cli-

ent=backup-fd absetzen, um direkt den Status des Clients backup-fd abzufragen.

Wie Sie Listing 29.34 entnehmen können (unterhalb von Terminated Jobs), wurde der

Auftrag erfolgreich beendet (Status OK) und es wurden 54.44 Kilobyte an Daten gesi-

chert.

*status client=backup-fd[…]Terminated Jobs:

747

Page 32: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 748 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

JobId Level Files Bytes Status Finished Name======================================================================

1 Full 1 54.44 K OK 20-Apr-18 18:42 BackupCatalog

Listing 29.34 Erneut den Client-Status mit »status client=backup-fd« abfragen

Prüfen Sie zusätzlich den Status des Director mit status director:

[…]Terminated Jobs:JobId Level Files Bytes Status Finished Name====================================================================

1 Full 1 54.44 K OK 20-Apr-18 18:42 BackupCatalog

Listing 29.35 Den Status mit »status director« abfragen

Wie Sie in Listing 29.35 sehen, wurde aus Sicht des Directors die Sicherung ebenfalls

ohne Fehler beendet. Diese Abfrage ist enorm wichtig, da der Auftrag zwar auf der

Client-Seite erfolgreich verlaufen sein kann, aber nicht zwingend auch auf dem Di-

rector. Nun testen wir noch den zweiten Sicherungsauftrag, der bereits definiert ist:

BackupClient1. Führen Sie dafür auf der bconsole den Befehl aus Listing 29.36 aus:

*run job=BackupClient1 yesUsing Catalog "MyCatalog"Job queued. JobId=2

Listing 29.36 Sicherung von »BackupClient1«

Überprüfen Sie, ob die Sicherung erfolgreich war, indem Sie sowohl den Status des

Clients als auch den Status des Directors abfragen:

*status client=backup-fd[…]JobId Level Files Bytes Status Finished Name===================================================================

1 Full 1 54.44 K OK 20-Apr-18 18:42 BackupCatalog2 Full 189 14.88 M OK 20-Apr-18 18:51 BackupClient1

===

*status director[…]Terminated Jobs:JobId Level Files Bytes Status Finished Name====================================================================

1 Full 1 54.44 K OK 20-Apr-18 18:42 BackupCatalog2 Full 189 14.88 M OK 20-Apr-18 18:51 BackupClient1

Listing 29.37 Status der Sicherung von »BackupClient1«

748

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 749 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.3 Basiskonfiguration des Backup-Servers

Wie Sie Listing 29.37 entnehmen können, wurde die Sicherung mit der Job-ID 2 erfolg-

reich durchgeführt. Dem aufmerksamen Leser wird aufgefallen sein, dass eigentlich

ein Fehler hätte erzeugt werden müssen. Der Job BackupClient1 hat als Sicherungsart

die Definition von JobDefs geerbt: Incremental (siehe Listing 29.6). Da inkrementelle

Sicherungen immer eine vollständige Sicherung voraussetzen, auf die sie aufbauen,

hätte Bacula eigentlich mit einem Fehler abbrechen müssen.

Hier kommt uns Bacula aber entgegen, indem es erkennt, dass keine vollständige

Sicherung existiert, und daher kurzerhand die Sicherungsart auf Full ändert. Dies

wird selbstverständlich protokolliert. Der Aufruf von messages zeigt, was wir bereits

wissen:

*messages20-Apr 18:51 backup-dir JobId 2: No prior Full backup Job record found.20-Apr 18:51 backup-dir JobId 2: No prior or suitable Full backup found in \

catalog. Doing FULL backup.20-Apr 18:51 backup-dir JobId 2: Start Backup JobId 8, Job=BackupClient1.2018\

-04-20_18.51.00_06[…]

Listing 29.38 Ausgabe der letzten Meldungen

29.3.5 Zusammenfassung

Zunächst haben wir den Bacula-Server konfiguriert. Dies erfolgt in den Dateien ba-

cula-dir.conf, bacula-sd.conf und bacula-fd.conf. Die mithilfe von geschweiften Klam-

mern in Sektionen unterteilten Dateien verfügen über Direktiven.

Jede Sektion verfügt über die Direktive Name, die sie identifiziert und über die diese

Konfiguration angesprochen werden kann. Passwörter werden wechselseitig in den

Konfigurationsdateien über die Direktive Password gesetzt. Einige Namen von Sektio-

nen sind fest im System verankert und dürfen nicht geändert werden. Bei der Kon-

figuration können Werte auch vererbt werden (zum Beispiel JobDefs). Anschließend

haben wir die Konfiguration mit bacula-<DIENST> -tc <KONFIGURATION> überprüft und

die Dienste neu gestartet.

Dabei haben Sie das Administrationsprogramm bconsole kennengelernt, das als root

gestartet werden muss. Einige Befehle haben wir mehrfach eingesetzt, um Sicherun-

gen zu starten (run), den Status abzufragen (status) oder die letzten Meldungen von

Bacula auszugeben (messages). Dabei haben wir erörtert, dass die Befehle in der bcon-

sole auch in eine Zeile geschrieben werden können – dass die Befehle also parame-

trisierbar sind. Besonders haben wir darauf hingewiesen, dass zum Abbrechen von

Befehlen in bconsole nicht die Tastenkombination (Strg)+(C) verwendet wird, son-

dern einfach der Punkt (.).

749

Page 33: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 750 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Bei der Überprüfung von Sicherungen haben wir verdeutlicht, dass nicht nur der Sta-

tus des Clients abgefragt werden muss, sondern auch der des Directors.

29.4 Sicherung eines Linux-Clients

Nachdem wir nun erfolgreich von dem Backup-Server auf ihn selbst gesichert haben,

ist es an der Zeit, weitere Clients hinzuzufügen. Beginnen wir mit einem Linux-Client.

Im Beispiel werden wir den Webserver web.example.com sichern.

29.4.1 Installation auf dem Client

Installieren Sie das Paket bacula-client aus den Paketquellen, wie in Listing 29.39 dar-

gestellt. Auch auf dem Client werden alle Abhängigkeiten direkt mitinstalliert. Wäh-

rend der Installation werden aber keine Rückfragen gestellt. Nach Abschluss der In-

stallation finden Sie, analog zum Server, die Konfiguration unter /etc/bacula.

daniel@web:~$ sudo apt install bacula-client

Listing 29.39 Installation von »bacula-client«

29.4.2 Konfiguration auf dem Client

Da der Client nicht über einen eigenen Director oder einen Storage Daemon verfügt,

müssen wir lediglich die Datei /etc/bacula/bacula-fd.conf anpassen. Sehen wir uns

zunächst die Konfigurationsdatei nach der Installation an:

Director {Name = web-dirPassword = "<WEB-FD PASSWORD>"

}

Director {Name = web-monPassword = "<WEB-MON PASSWORD>"Monitor = yes

}FileDaemon {Name = web-fdFDport = 9102 # where we listen for the directorWorkingDirectory = /var/lib/baculaPid Directory = /run/baculaMaximum Concurrent Jobs = 20

750

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 751 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.4 Sicherung eines Linux-Clients

Plugin Directory = /usr/lib/baculaFDAddress = 127.0.0.1

}

Messages {Name = Standarddirector = web-dir = all, !skipped, !restored

}

Listing 29.40 Konfiguration des »File Daemon« auf dem Client in »bacula-fd.conf«

Director

Zunächst wird der Director definiert, der auf diesen FileDaemon zugreifen darf. Än-

dern Sie hier die Direktive Name auf den Namen Ihres Backup-Servers – im Beispiel

bis hierher also auf backup-dir. Das Passwort im Platzhalter <WEB-FD PASSWORD> wurde

während der Installation generiert. Es muss später in der Client-Sektion des Servers

hinterlegt werden. Sie können das generierte Passwort verwenden oder ein eigenes

vergeben.

Anschließend wird der Monitor-Director definiert. Über diese Konfiguration kann das

Programm bacula-traymonitor den aktuellen Status der Sicherung über den Director

abfragen. Da wir einen Server verwenden und das Programm bacula-traymonitor eine

GUI voraussetzt, erübrigt sich die Konfiguration.

File Daemon

In dieser Sektion wird der File Daemon auf dem Client konfiguriert. Der Wert der

Direktive Name (im Beispiel web-fd) muss mit dem Namen der Client-Sektion auf dem

Server übereinstimmen. Hier müssen Sie nur die IP-Adresse über die Direktive FD-

Address anpassen, ansonsten ist keine weitere Konfiguration notwendig.

Messages

Da der Client Meldungen produziert, können wir diese konfigurieren. Damit der File

Daemon des Clients seine Meldungen an den Director des Servers sendet, muss die Di-

rektive director angepasst werden. Ersetzen Sie den ersten Wert (im Beispiel web-dir)

wie bei der ersten Director-Direktive durch den Namen Ihres Directors (im Beispiel

backup-dir).

Dienst neu starten

Nachdem Sie alle Änderungen vorgenommen haben, müssen Sie den Dienst bacu-

la-fd neu starten, damit die Änderungen auch wirksam werden. Führen Sie dafür den

Befehl aus Listing 29.41 aus:

751

Page 34: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 752 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

daniel@web:~$ sudo systemctl restart bacula-fddaniel@web:~$ sudo systemctl status bacula-fd• bacula-fd.service - Bacula File Daemon service

Loaded: loaded (/lib/systemd/system/bacula-fd.service; enabled; […]Active: active (running) since Fri 2018-04-20 19:16:37 CEST; 6s agoDocs: man:bacula-fd(8)

Process: 1835 ExecStartPre=/usr/sbin/bacula-fd -t -c $CONFIG (code=ex[…]Main PID: 1842 (bacula-fd)

Tasks: 2 (limit: 2322)CGroup: /system.slice/bacula-fd.service

3094 /usr/sbin/bacula-fd -fP -c /etc/bacula/bacula-fd.confApr 20 19:16:37 web systemd[1]: Stopped Bacula File Daemon service.Apr 20 19:16:37 web systemd[1]: Starting Bacula File Daemon service...Apr 20 19:16:37 web systemd[1]: Started Bacula File Daemon service.

Listing 29.41 Den »File Daemon« auf dem Client neu starten

Wie Sie in Listing 29.41 sehen, wurde nach dem Neustart der Status mit sudo systemctl

status bacula-fd kontrolliert, da auch hier Fehler nicht direkt beim Neustarten ange-

zeigt werden. Hier könnten Sie ebenfalls zur Kontrolle den Befehl sudo bacula-fd -tc

/etc/bacula/bacula-fd.conf verwenden.

Damit ist die Konfiguration aber noch nicht abgeschlossen. Nun müssen Sie das Pen-

dant auf dem Server konfigurieren, damit eine Sicherung durchgeführt werden kann.

29.4.3 Konfiguration des Clients auf dem Server

Damit der Server auch weiß, dass er den soeben installierten Client sichern soll, müs-

sen wir ihm dies mitteilen. Um die Übersichtlichkeit zu wahren, werden wir diese

Konfiguration in separaten Dateien unterhalb von /etc/bacula/bacula-dir.d vorneh-

men und diese dann in die Hauptkonfiguration importieren.

Insgesamt werden dafür die folgenden drei Sektionen in zwei Dateien erstellt:

E Client

E Job

E FileSet

Erstellen Sie zunächst das Verzeichnis mittels sudo mkdir /etc/bacula/bacula-dir.d.

Client

Wir werden die Client-Konfiguration in der Datei clients.conf vornehmen. Fügen Sie

daher die Zeilen aus Listing 29.42 in der Datei hinzu:

752

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 753 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.4 Sicherung eines Linux-Clients

Client {Name = web-fdAddress = <WEB IP-ADDRESS>Catalog = MyCatalogPassword = "<WEB-FD PASSWORD>" # password for FileDaemonFile Retention = 30 days # 30 daysJob Retention = 6 months # six monthsAutoPrune = yes # Prune expired Jobs/Files

}

Listing 29.42 Die »Client«-Konfiguration auf dem Server in »bacula-dir.d/clients.conf«

Passen Sie die Direktive Name entsprechend Ihrer Umgebung an. Ebenso müssen Sie

den Platzhalter <WEB IP-ADDRESS> durch die IP-Adresse des zu sichernden Clients er-

setzen. Wie bereits erwähnt wurde, muss der Platzhalter <WEB-FD PASSWORD> durch das

Passwort aus der Direktive Director ersetzt werden, die Sie in der Datei bacula-fd.conf

des Clients finden. Das war aber nur der erste Schritt. Nun müssen wir noch einen

Auftrag definieren, und zwar ebenfalls in der Datei clients.conf.

Job

Nachdem wir den Client erstellt haben, müssen wir noch einen Auftrag für ihn defi-

nieren. Fügen Sie dafür die Zeilen aus Listing 29.43 unterhalb der bestehenden Job-

Sektionen ein:

Job {Name = "BackupWeb"Client = web-fdJobDefs = "DefaultJob"FileSet="webserver"

}

Listing 29.43 »Job«-Konfiguration auf dem Server in »bacula-dir.d/clients.conf«

Analog zu den bisherigen Auftragsdefinitionen wurde dem Sicherungsauftrag für den

Webserver über die Direktive Name der Name BackupWeb zugewiesen. Zusätzlich zum

Namen wurden die Standardwerte von DefaultJob über die Direktive JobDefs dem

Auftrag hinzugefügt. Über die Direktive FileSet wird die Dateiliste webserver zum

Auftrag hinzugefügt (diese Liste werden wir im nächsten Schritt erstellen).

FileSet

Zuletzt müssen Sie Bacula noch mitteilen, welche Dateien von dem Client gesichert

werden sollen. Da diese auch auf unterschiedlichen Systemen eingesetzt werden kön-

nen, speichern wir sie global in der Datei /etc/bacula/bacula-dir.d/filesets.conf. Da wir

753

Page 35: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 754 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

einen Webserver sichern, ist vor allem das Verzeichnis /var/www relevant, da dort

die Webseiten gespeichert werden. Zusätzlich soll die Konfigurationsdatei des Web-

servers gesichert werden. Diese liegt unter /etc/apache2. Fügen Sie die Zeilen aus Lis-

ting 29.44 hinzu:

FileSet {Name = "webserver"Include {

Options {signature = MD5

}File = "/var/www"File = "/etc/apache2"

}}

Listing 29.44 »FileSet«-Konfiguration auf dem Server in »bacula-dir.d/filesets.conf«

Entscheidend ist hier erneut, dass Sie den gleichen Namen in der Direktive Name ver-

wenden, den Sie auch unterhalb der Sektion Job in der Direktive FileSets verwendet

haben. Über die Direktive Include wird zunächst festgelegt, dass die Dateien mit MD5 in

der Direktive signature geprüft werden sollen. Anschließend werden über die Direkti-

ve File die Verzeichnisse auf dem Webserver angegeben, die gesichert werden sollen.

Nun ist die Konfiguration des Clients vollständig. Damit Bacula diese auch verwendet,

müssen wir die neu angelegten Dateien in die Hauptkonfiguration importieren.

Importieren

Öffnen Sie die Datei /etc/bacula/bacula-dir.conf, und fügen Sie die Zeilen aus Listing

29.45 am Ende der Datei hinzu:

@/etc/bacula/bacula-dir.d/filesets.conf@/etc/bacula/bacula-dir.d/clients.conf

Listing 29.45 Importieren der neuen Konfiguration in »bacula-dir.conf«

Durch die Einleitung der Zeile mit einem At-Zeichen wird Bacula angewiesen, den

Inhalt der nachfolgenden Datei zu importieren. Damit die zusätzliche Konfigurati-

on auch aktiv wird, müssen Sie nun den Director mit sudo systemctl reload bacula-

director anweisen, seine Konfiguration neu zu laden.

29.4.4 Sicherung erstellen

Bevor wir anfangen zu sichern, prüfen wir zunächst, ob die Konfiguration korrekt

vorgenommen wurde.

754

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 755 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.4 Sicherung eines Linux-Clients

Starten Sie dazu die bconsole, und setzen Sie den Befehl show clients ab. Die Ausgabe

sollte so aussehen wie in Listing 29.46:

*show clientsClient: Name=backup-fd Enabled=1 Address=localhost FDport=9102 MaxJobs=1 […]Client: Name=web-fd Enabled=1 Address=web.example.com FDport=9102 MaxJobs[…]

JobRetention=6 months FileRetention=1 month AutoPrune=1--> Catalog: name=MyCatalog address=localhost DBport=0 db_name=bacula

db_driver=*None* db_user=bacula MutliDBConn=0

Listing 29.46 Client-Übersicht in der »bconsole« aufrufen

Nun sieht der Director neben dem File Daemon, der auf ihm selbst läuft (backup-fd)

auch den neu eingerichteten Client web-fd. Prüfen Sie anschließend, ob der Client sich

mit dem Director verbunden hat. Setzen Sie hierfür den Befehl status client=web-fd

ab (siehe Listing 29.47):

*status client=web-fdConnecting to Client web-fd at 192.168.0.54:9102

web-fd Version: 9.0.6 (20 November 2017) x86_64-pc-linux-gnu ubuntu 18.04Daemon started 21-Apr-18 09:09. Jobs: run=0 running=0.[…]Director connected at: 21-Apr-18 09:10[…]

Listing 29.47 Client-Status in der »bconsole« abfragen

Die Verbindung wurde erfolgreich hergestellt. Der Director konnte sich mit dem Cli-

ent web-fd über die IP-Adresse 192.168.0.159 verbinden. Nun können wir eine Siche-

rung anstoßen. Setzen Sie dazu den run-Befehl aus Listing 29.48 ab:

*run job=BackupWeb yes

Listing 29.48 So starten Sie eine Sicherung des »web-fd«-Clients.

Nun prüfen wir, ob die Sicherung funktioniert hat. Kontrollieren Sie dafür zunächst

den Status des Clients mit dem Befehl status client=web-fd in der bconsole:

*status client=web-fd[…]Terminated Jobs:JobId Level Files Bytes Status Finished Name===================================================================

9 Full 192 102.1 K OK 21-Apr-18 09:11 BackupWeb

Listing 29.49 Abschluss der Sicherung »BackupWeb«

755

Page 36: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 756 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Dabei wurden 192 Dateien und 102.1 KB gesichert. Anschließend prüfen wir, ob die

Sicherung auch für den Director erfolgreich war. Wie Sie in Listing 29.50 sehen, wurde

die Sicherung auch aus Sicht des Directors ohne Fehler durchgeführt.

*status director[…]Terminated Jobs:JobId Level Files Bytes Status Finished Name====================================================================[…]

9 Full 192 102.1 K OK 21-Apr-18 09:11 BackupWeb====

Listing 29.50 Kontrolle der Sicherung »BackupWeb« für den »Director«

29.5 Sicherung von Windows-Clients

Nachdem wir erfolgreich einen Linux-Client gesichert haben, wenden wir uns nun

der Konfiguration eines Windows-Clients zu. Wie bereits erörtert wurde, wird Bacula

für alle gängigen Betriebssysteme bereitgestellt. Im Beispiel sichern wir einen Win-

dows-10-Client mit dem Namen desktop-hita3l5.example.com.

Laden Sie daher zunächst auf dem Windows-Client die Bacula-Software von der Seite

https://blog.bacula.org/binary-download-center/ herunter. Es ist sinnvoll, die einge-

setzte Client-Server-Software auf allen Komponenten in der gleichen Version zu be-

treiben. Da bei Ubuntu 18.04 Bacula in der Version 9.0.7 enthalten ist, sollten Sie diese

Version auch auf den Windows-Clients verwenden.

29.5.1 Installation auf dem Client

Starten Sie das soeben heruntergeladene Installationsprogramm. Zunächst werden

Sie von Windows gewarnt, dass die Anwendung von einem unbekannten Herausgeber

erstellt wurde. Akzeptieren Sie dies mit einem Klick auf Ja. Anschließend werden Sie

vom Bacula Setup Wizard begrüßt – mit einem Klick auf Next > beginnen Sie die

Installation. Zunächst müssen Sie die Lizenzbestimmungen mit einem Klick auf I

Agree akzeptieren.

Im Fenster aus Abbildung 29.5 werden Sie nach dem Installationstyp gefragt. Durch

die Auswahl des Installationstyps werden automatisch die dazugehörigen Kompo-

nenten gewählt. Standardmäßig steht der Wert auf Automatic – belassen Sie die

Standardauswahl und fahren Sie mit einem Klick auf Next > fort.

756

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 757 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.5 Sicherung von Windows-Clients

Abbildung 29.5 Auswahl des Installationstyps

Im nächsten Fenster (siehe Abbildung 29.6) können Sie die zu installierenden Kom-

ponenten auswählen. Da bereits alle benötigten Komponenten vorausgewählt sind,

können Sie einfach mit einem Klick auf Next > fortfahren.

Abbildung 29.6 Auswahl der Komponenten

In dem Dialog, der sich nun öffnet, wird die Konfiguration des Directors abgefragt

(siehe Abbildung 29.7). Tragen Sie unter Director Name den Namen Ihres Bacula-

Directors ein (im Beispiel also backup-dir) und das entsprechende Passwort (<DIREC-

TOR PW>). Ebenso sollten Sie den FQDN im Feld DIR Address hinterlegen (im Beispiel

backup.example.com).

757

Page 37: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 758 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Abbildung 29.7 Konfiguration des »Directors«

Nun startet die eigentliche Installation (siehe Abbildung 29.8).

Abbildung 29.8 Installation von Bacula

Vor dem Abschluss der Installation können Sie entscheiden ob der Installationsassis-

tent Ihnen eine Template-Konfiguration erzeugen soll, die Sie dem Server hinzufügen

können. Da wir die Konfiguration gemeinsam erstellen werden, können Sie einfach

mit einem Klick auf Next > fortfahren.

Abbildung 29.9 Abfrage zur Erstellung einer Template-Konfiguration

758

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 759 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.5 Sicherung von Windows-Clients

Fehler zur Drucklegung

Auch wenn Sie den Haken gesetzt haben und einen Pfad ausgewählt haben, wurde

keine Konfigurationsdatei erstellt.

Mit einem Klick auf Finish wird der Installationsprozess beendet und die Datei read-

me.txt geöffnet, in der Informationen zu Bacula enthalten sind. Falls Sie die Datei

nicht öffnen wollen, entfernen Sie einfach den Haken bei Show Readme (siehe Abbil-

dung 29.10).

Abbildung 29.10 Installationsabschluss

29.5.2 Konfiguration auf dem Client

Da der Installationsprozess bereits eine Konfigurationsdatei erzeugt und mit den An-

gaben gefüllt hat, müssen dort eigentlich keine Arbeiten vorgenommen werden. Die

Konfigurationsdateien befinden sich bei Windows unter C:\Windows\Programme\Ba-

cula. Öffnen Sie dort die Datei bacula-fd.conf, in der die File-Daemon-Konfiguration

des Windows-Clients von der Installationsroutine gespeichert wurde. Um die Datei

öffnen zu können, müssen Sie dort aber mit einem Rechtsklick in Als Administra-

tor starten auswählen. Der Inhalt der Datei ist in Listing 29.51 dargestellt (ohne

Kommentare):

FileDaemon { # this is meName = desktop-hita3l5-fdFDport = 9102 # where we listen for the directorWorkingDirectory = "C:\\Program Files\\Bacula\\working"Pid Directory = "C:\\Program Files\\Bacula\\working"Plugin Directory = "C:\\Program Files\\Bacula\\plugins"Maximum Concurrent Jobs = 10

}

759

Page 38: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 760 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Director {Name = backup-dirPassword = "<W10-CLIENT-PASSWORD>" # Director must know this password

}

Director {Name = desktop-hita3l5-monPassword = ""Monitor = yes

}

Messages {Name = Standarddirector = backup-dir = all, !skipped, !restored

}

Listing 29.51 Erzeugte Client-Konfiguration »bacula-fd« auf dem Windows-System

Der Installationsprozess hat hier bereits die Basisdaten hinterlegt. Ergänzen Sie im

Direktor backup-dir ein Passwort (Platzhalter <W10-CLIENT-PASSWORD>) – dieses müssen

Sie später erneut mit der Serverkonfiguration abgleichen.

Bei Veränderungen Dienst neu starten!

Beachten Sie, dass der File Daemon auch auf Windows-Systemen neu gestartet werden

muss, wenn Sie Veränderungen an den Konfigurationsdateien vorgenommen haben.

29.5.3 Konfiguration des Windows-Clients auf dem Server

Auch für den Windows-Client müssen auf dem Server in der Datei clients.conf die

Sektionen Client und Job hinzugefügt werden. Fügen Sie die Zeilen aus Listing 29.52

ans Ende der Datei an:

Client {Name = desktop-hita3l5-fdAddress = desktop-hita3l5.example.comCatalog = MyCatalogPassword = "<W10-CLIENT-PASSWORD>"File Retention = 30 daysJob Retention = 6 monthsAutoPrune = no

}

760

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 761 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.5 Sicherung von Windows-Clients

Job {Name = "BackupHITA3L5"JobDefs = "DefaultJob"Client = desktop-hita3l5-fdFileSet = "windows-client"

}

Listing 29.52 Konfiguration des Windows-Clients auf dem Server in »clients.conf«

Diese Konfiguration entspricht der des Linux-Servers. Lediglich die Namen und die

Adresse wurden angepasst. Ebenso wurde ein anders FileSet angegeben: windows-

client.

Das FileSet werden wir nun erstellen. Fügen Sie dafür die Zeilen aus Listing 29.53

unterhalb der bestehenden FileSet-Sektionen in der Datei /etc/bacula/bacula-dir.d/

filesets.conf hinzu:

FileSet {Name = "windows-client"Include {

Options {signature = MD5compression = GZIP

}File = "C:/Users"

}}

Listing 29.53 »FileSet« für den Windows-Client auf dem Server in »filesets.conf«

Das FileSet für Windows-Clients enthält die gleichen Elemente wie das FileSet für die

Linux-Server. Lediglich der Umfang ist geringer. Mit der Direktive compression wurde

noch die Option hinzugefügt, die Dateien bei Bedarf zu mit gzip zu komprimieren.

In diesem FileSet werden alle Benutzerdaten gesichert. Falls Sie weitere Verzeichnisse

sichern wollen, müssen Sie sie hier mit der Direktive File angeben.

Jetzt müssen Sie nur noch den Direktor mittels sudo systemctl reload bacula-direc-

tor einmal neu laden, damit die Konfigurationsänderungen aktiv werden.

Der Schrägstrich anstelle des Backslashs ist kein Fehler!

Beachten Sie, dass die Angabe von Windows-Pfaden auf einem Linux-Bacula-Ser-

ver mit Schrägstrichen erfolgt und nicht mit rückwärtsgerichteten Schrägstrichen

(Backslashes)!

761

Page 39: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 762 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

29.5.4 Sicherung erstellen

Bevor wir die Sicherung des Windows-Clients erstellen, prüfen wir, ob die Konfigura-

tionen korrekt erkannt wurden. Starten Sie dafür auf dem Backup-Server die bconsole,

und setzen Sie dann die Befehle list clients und status client=desktop-hita3l5-fd

ab. Voraussichtlich erhalten Sie die Ausgabe aus Listing 29.54:

*list clientsAutomatically selected Catalog: MyCatalogUsing Catalog "MyCatalog"+----------+--------------------+---------------+--------------+| clientid | name | fileretention | jobretention |+----------+--------------------+---------------+--------------+| 1 | backup-fd | 5,184,000 | 15,552,000 || 2 | web-fd | 2,592,000 | 15,552,000 || 3 | desktop-hita3l5-fd | 0 | 0 |+----------+--------------------+---------------+--------------+

**status client=desktop-hita3l5-fdConnecting to Client desktop-hita3l5-fd at desktop-hita3l5.example.com:9102Failed to connect to Client desktop-hita3l5-fd.====

*

Listing 29.54 Anzeige der »Clients« mit der »bconsole«

Wie Sie Listing 29.54 entnehmen können, wurde die Konfiguration zwar erkannt, der

Director konnte sich allerdings nicht mit dem File Daemon verbinden. Dies kann drei

Ursachen haben:

1. Passwörter

Kontrollieren Sie, ob die Passwörter identisch sind. Zum einen prüfen Sie auf dem

Client in C:\Programme\Bacula\bacula-fd.conf in der Sektion Director das Pass-

wort der Direktive Password, zum anderen auf dem Backup-Server in der Datei

/etc/bacula/bacula-dir.conf in der Sektion Client des desktop-hita3l5-fd die Direk-

tive Password.

2. Dienst

Prüfen Sie, ob der Dienst nach Änderungen neu gestartet wurde oder ob er über-

haupt läuft. Nach der Installation sollten Sie dies immer kontrollieren.

3. Windows-Firewall

Leider arbeitet die Windows-Firewall meist gegen den Administrator. Prüfen Sie,

ob der Bacula-Client eingerichtet wurde, oder deaktivieren Sie die Windows-Fire-

wall einfach vollständig.

762

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 763 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.6 Nichts vergessen: »FileSet«

Selbstverständlich wird der Fehler von Bacula protokolliert. Sehen wir uns die Be-

nachrichtigungen mit dem Befehl messages einmal an:

*messages[…]21-Apr 10:33 backup-dir JobId 0: Fatal error: bsock.c:147 Unable to connect \

to Client: desktop-hita3l5-fd on desktop-hita3l5.example.com:9102. \ERR=Die Wartezeit für die Verbindung ist abgelaufen

[…]

Listing 29.55 Benachrichtigungen des Bacula anzeigen

Nachdem der Fehler beseitigt wurde, sollte der Director sich mit dem File Daemon

verbinden können. Starten Sie anschließend einen Sicherungsvorgang mit dem Be-

fehl run job=BackupHITA3L5 yes, und kontrollieren Sie anschließend den Status. Wie

Sie Listing 29.56 entnehmen können, wird die Sicherung nun durchgeführt:

*status client=desktop-hita3l5-fd[…]Running Jobs:JobId 10 Job BackupHITA3L5.2018-04-21_10.52.22_05 is running.VSS Full Backup Job started: 21-Apr-18 10:52Files=353 Bytes=4,661,376 AveBytes/sec=202,66 LastBytes/sec=202,66 Errors=0Bwlimit=0 ReadBytes=50,429,837Files: Examined=353 Backed up=353Processing file: C:/Users/daniel/AppData/Local/Microsoft/[…]SDReadSeqNo=6 fd=1216 SDtls=0

[…]

Listing 29.56 Status der laufenden Sicherung

29.6 Nichts vergessen: »FileSet«

Die Auswahl der zu sichernden Dateien ist ein wichtiger Punkt im Backup-Konzept.

Bacula bietet Ihnen über die Direktive FileSet eine Vielzahl an Möglichkeiten an, um

Dateien auszuwählen oder auszuschließen. Die gängigsten wollen wir Ihnen nun vor-

stellen.

29.6.1 Grundlegendes

Bei der Erstellung von FileSets müssen Sie einige Eigenarten von Bacula beachten.

Dazu zählt zum Beispiel, dass Sie Dateien und Verzeichnisse, die Leerzeichen enthal-

ten, immer in Anführungszeichen einschließen müssen. Die Leerzeichen mit einem

Backslash zu schützen (wie zum Beispiel in der Bash) gelingt hier nicht.

763

Page 40: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 764 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Generell ist die Rekursion bei Bacula stets aktiv. Wenn Sie ihm ein Verzeichnis ange-

ben, durchläuft er es bis in den letzten Winkel. Gestoppt wird die Rekursion entweder

durch das Ende des Verzeichnisses oder durch eine Partitionsgrenze.

Apropos Partitionsgrenzen: Wenn Sie zum Beispiel über einen Linux-Server mit meh-

reren Festplatten verfügen, auf dem die Verzeichnisse /, /home und /var auf eigenen

Partitionen liegen, dann müssen Sie Bacula dies mitteilen. Geben Sie nur / an, werden

die Daten unterhalb von /home und /var von Bacula nicht gesichert.

Falls Sie die einzelnen Partitionen nun konfiguriert haben und das so angelegte FileSet

auch für einen anderen Server verwenden, der zum Beispiel nur eine Festplatte ver-

wendet, würden Sie sehr schnell eine weitere Besonderheit von Bacula kennenlernen.

In diesem Fall würden die Dateien unterhalb von /home und /var nämlich doppelt

gesichert werden (einmal beim Durchlaufen von / und noch mal beim Durchlaufen

der jeweiligen Verzeichnisse). Achten Sie also stets darauf, alle Festplatten oder Parti-

tionen korrekt anzugeben.

Wenn Sie mit Ausschlüssen arbeiten (also Dateien und Verzeichnisse explizit von der

Sicherung ausschließen), müssen Sie beachten, dass Bacula keine Dateien oder Un-

terverzeichnisse einer Ausnahme sichert. Genau wie Datei- und Verzeichnisnamen

müssen Sie Wildcards und reguläre Ausdrücke in Anführungszeichen setzen. Beach-

ten Sie dies nicht, kann Bacula den Start verweigern und meldet dann vermeintliche

Fehlkonfigurationen.

Im Übrigen sollten Sie ausschweifende Regex-Orgien unterlassen. Nicht nur, dass

Ihre Konfiguration dann kaum noch lesbar (geschweige denn nachvollziehbar) ist,

sondern auch die CPU wird stark belastet. Vereinfachen Sie reguläre Ausdrücke da-

her besser, oder wandeln Sie sie in Wildcard-Statements um (diese können deutlich

schneller verarbeitet werden).

Zu guter Letzt noch ein Hinweis für Windows-Systeme: Standardmäßig ist VSS (Volu-

me Shadow Copy Service) bei Bacula aktiviert, und das ist auch gut so. Mittels VSS wird

dort nämlich sichergestellt, dass konsistente Kopien von geöffneten Dateien erzeugt

werden können – anderenfalls verweigert Windows den Zugriff und die Sicherung

schlägt fehl.

29.6.2 Klassische Auswahl mit »File«

Wie Sie bereits in den Beispielen gesehen haben, werden Dateien und Verzeichnisse

in Bacula mit der Direktive File angegeben. Wir haben auch bereits erörtert, dass

Partitionen mit je einer eigenen File-Direktive versehen werden müssen.

Um ein Linux-System mit drei Partitionen (/, /home und /var) zu sichern, müsste das

entsprechende FileSet so wie in Listing 29.57 aussehen:

764

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 765 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.6 Nichts vergessen: »FileSet«

FileSet {Name = "linux-servers"Include {

Options {signature = MD5

}File = "/"File = "/home"File = "/var"

}}

Listing 29.57 »FileSet« für einen Linux-Server mit drei Partitionen

Gerade bei Linux-Servern sollten Sie Ausnahmen definieren. Als Ausnahme bieten

sich die Pseudo-Dateisysteme (wie /proc oder /dev) an, weil diese bei einer Wiederher-

stellung nicht benötigt werden, da sie während des Startvorgangs dynamisch erzeugt

werden. Darüber hinaus ist es ebenfalls sinnvoll, temporäre Verzeichnisse von einer

Sicherung auszuschließen – dort finden zum einen viele Veränderungen statt, die

stets gesichert werden müssten, und zum anderen werden die dort aufbewahrten

Dateien bei einer Wiederherstellung nicht benötigt. Daher erweitern wir das soeben

angelegte FileSet um sinnvolle Ausnahmen.

Listing 29.58 zeigt das nun vollständige FileSet:

FileSet {Name = "linux-servers"Include {

Options {signature = MD5

}File = "/"File = "/home"File = "/var"

}Exclude {

File = "/dev"File = "/proc"File = "/sys"File = "/mnt"File = "/mnt"File = "/media"File = "/tmp"File = "/var/cache/apt"

765

Page 41: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 766 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

File = "/var/tmp"}

}

Listing 29.58 »FileSet« für einen Linux-Server mit Ausnahmen

Dieses FileSet kann natürlich um dienstspezifische Verzeichnisse erweitert werden

(zum Beispiel auf einem Squid-Webproxy um das Verzeichnis /var/cache/squid).

29.6.3 Wildcards und reguläre Ausdrücke

Das Hinzufügen oder Ausnehmen von Dateien und Verzeichnissen bietet bereits viele

Möglichkeiten, um Dateilisten zu erstellen. Für komplexere Aufgaben wurde in Bacula

die Möglichkeit zur Nutzung von Wildcards und regulären Ausdrücken geschaffen.

Diese geben Ihnen viel weiter reichende Möglichkeiten, wirklich nur das zu sichern,

was Sie tatsächlich brauchen.

Bevor wir uns um die Erstellung von FileSets mit Wildcards und regulären Ausdrücken

kümmern, müssen wir zunächst noch eine Besonderheit von Bacula erläutern. Wir

haben bereits mehrfach mit der Direktive Options in FileSets gearbeitet. Das Beson-

dere an dieser Direktive ist aber, dass die Optionen pro gefundenem Include-Eintrag

ausgewertet werden. Somit können verschachtelte Abfragen erzeugt werden. Dies ist

notwendig, da die stets aktivierte Rekursion von Bacula ansonsten trotzdem alle Da-

teien sichern würde.

Nehmen wir an, Sie wollen von einem System nur die Home-Verzeichnisse von Be-

nutzern sichern, deren Namen mit a oder b beginnen. Ein solches FileSet haben wir

in Listing 29.59 dargestellt:

FileSet {Name = "Einige-Homes"Include {

Options {wilddir = "/home/a*"wilddir = "/home/b*"

}Options {

RegexDir = ".*"exclude = yes

}File = "/home"

}}

Listing 29.59 »FileSet« für eine Sicherung mit Wildcards und regulären Ausdrücken

766

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 767 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.6 Nichts vergessen: »FileSet«

In Listing 29.59 werden innerhalb von Include alle Dateien von /home zur Sicherung

ausgewählt (File = "/home"). Über den ersten Optionsblock wird die Auswahl mit den

Direktiven wilddir auf die Home-Verzeichnisse beschränkt, die mit a und b beginnen

– das Sternchen symbolisiert hier beliebig viele Zeichen jeder Art.

Im zweiten Optionsblock werden alle übrigen Dateien und Verzeichnisse durch den

regulären Ausdruck .* in der Direktive RegexDir ausgewählt. Durch die Angabe der

Direktive exclude = yes werden diese jedoch von der Sicherung ausgeschlossen. Mit

diesem Trick ist es möglich, ohne eigentlichen Exclude-Block Ausnahmen zu definie-

ren. Bacula unterscheidet Wildcards und reguläre Ausdrücke. Dabei wird als Wildcard

lediglich das Sternchen verwendet. Die dazugehörigen Direktiven unterscheiden sich

für Verzeichnisse, Dateien und beides. Für Verzeichnisse wird wilddir verwendet, für

Dateien WildFile und für beides Wild. Analog dazu werden reguläre Ausdrücke auch

mit drei Direktiven beschrieben: mit RegexDir für Verzeichnisse, RegexFile für Datei-

en und Regex für beides. Die Verarbeitung von regulären Ausdrücken findet nach dem

POSIX-Standard statt.

Windows-Dateisysteme werden von Bacula ebenfalls besonders behandelt. Beachten

Sie daher die folgenden Regeln:

E Verzeichnisangaben werden mit Schrägstrichen anstelle von rückwärtsgerichte-

ten Schrägstrichen (Backslashes) angegeben – also als C:/Windows anstelle von

C:\Windows.

E Bei Datei- und Verzeichnisnamen wird zwischen Groß- und Kleinschreibung un-

terschieden. Geben Sie also immer die korrekte Schreibweise an, oder setzen Sie

IgnoreCase = yes.

E Bei Ausnahmen (exclude) darf kein abschließender Schrägstrich angefügt sein.

E Datei- und Verzeichnisnamen mit Leerzeichen müssen mit doppelten Anfüh-

rungszeichen umschlossen sein – eine Maskierung mit einem Backslash ist nicht

möglich.

E Zur Sicherung aller Laufwerke müssen diese explizit angegeben werden.

Windows-Verzeichnisnamen in Englisch verwenden!

Windows verwendet ein sogenanntes Overlay. Dabei sieht der Benutzer (zum Beispiel

im Windows Explorer) die Verzeichnisnamen in der auf dem System gewählten Spra-

che. In Deutschland sehen Sie zum Beispiel das Verzeichnis C:\Programme. In Wirklich-

keit heißt es aber auf allen Systemen C:\Program Files. Die deutsche Bezeichnung wird

nur eingeblendet. Beachten Sie dies, wenn Sie Sicherungsaufträge für Windows-Sys-

teme erstellen.

767

Page 42: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 768 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Um von Windows-Systemen zum Beispiel alle Dateien der Benutzer zu sichern, die

unter Eigene Dateien\Bilder abgelegt wurden, müssten Sie das FileSet aus Listing

29.60 verwenden:

FileSet {Name = "Eigene Bilder"Include {

File = "C:/Documents and Settings"Options {

signature = MD5IgnoreCase = yesRegexDir = "^C:/Documents and Settings/[^/]+$"wilddir = "C:/Documents and Settings/*/My Documents"wilddir = "C:/Documents and Settings/*/My Documents/My Pictures"Wild = "C:/Documents and Settings/*/My Documents/My Pictures/*"

}Options {

exclude = yesIgnoreCase = yesWild = "C:/Documents and Settings/*"

}}

}

Listing 29.60 »FileSet« zur Sicherung von »Eigene Bilder«

Auch im Beispiel aus Listing 29.60 werden über die Verschachtelung von Options-

blöcken einzelne Elemente ausgewählt.

Testen von »FileSets«

Damit Sie nicht abwarten müssen, bis die Sicherung abgeschlossen wurde, um prüfen

zu können, ob Ihr FileSet korrekt arbeitet, wurde ein Befehl für die bconsole geschrie-

ben: estimate. Führen Sie auf der bconsole den Befehl aus Listing 29.61 aus, um zu

prüfen, welche Dateien durch den Sicherungsauftrag BackupHomes gesichert werden

würden:

*estimate job=BackupHomes listingUsing Catalog "MyCatalog"Connecting to Client web-fd at 192.168.0.167:9102[…]drwxr-xr-x 4 daniel daniel 4096 2018-04-21 09:09:56 /home/daniel[…]drwxr-xr-x 2 dvs dvs 4096 2018-04-21 10:57:39 /home/dvs[…]

768

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 769 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.7 Zeitplanung: »Schedule«

drwxr-xr-x 2 max max 4096 2018-04-21 10:56:35 /home/max[…]drwxr-xr-x 2 moritz moritz 4096 2018-04-21 10:57:14 /home/moritzdrwxr-xr-x 6 root root 4096 2018-04-21 10:57:39 /home2000 OK estimate files=24 bytes=26,596

Listing 29.61 »FileSet« mit »estimate« prüfen

Nach dem Aufruf von estimate zeigt Bacula alle Dateien des File Daemons an, die er

sichern würde.

29.7 Zeitplanung: »Schedule«

Bisher haben wir die Sicherungen stets manuell angestoßen. Dies ist natürlich für

eine kontinuierliche Sicherung nicht sinnvoll. Hier muss ein Automatismus her, der

uns Administratoren das zyklische Ausführen erspart.

Selbstverständlich verfügt Bacula über ein ausgeklügeltes System, um auch den ab-

strusesten Zeitplan einrichten zu können. Die Zeitplanung wird in den Sektionen

Schedule vorgenommen. Nach der Installation haben wir bereits zwei definierte Zeit-

pläne. Listing 29.62 zeigt die Standardzeitpläne von Bacula.

Schedule {Name = "WeeklyCycle"Run = Full 1st sun at 23:05Run = Differential 2nd-5th sun at 23:05Run = Incremental mon-sat at 23:05

}

Schedule {Name = "WeeklyCycleAfterBackup"Run = Full sun-sat at 23:10

}

Listing 29.62 Standard-»Schedule«-Sektionen in der »bacula-dir.conf«

Wie Sie Listing 29.62 entnehmen können, besteht eine Zeitplanung im Wesentlichen

aus zwei Direktiven: Name und Run. Über die Name-Direktive wird der Zeitplan iden-

tifiziert. Die Direktive Run besteht aus mehreren Elementen, die wir uns nun näher

ansehen werden.

Als ersten Wert erwartet die Direktive Run die Art der Sicherung. Anschließend wird

definiert, wann der Auftrag durchgeführt werden soll. Der Zeitplan WeeklyCycle ver-

fügt über drei Run-Direktiven. Dies ist vollkommen legitim, Sie können beliebig viele

769

Page 43: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 770 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Run-Direktiven einrichten. Die erste Run-Direktive führt eine vollständige Sicherung

an jedem ersten Sonntag um 23:05 Uhr durch. Die zweite legt differenzielle Sicherun-

gen an, diese aber nur von jedem 2. bis 5. Sonntag um 23:05 Uhr. Die letzte Direktive

erstellt montags bis samstags eine inkrementelle Sicherung, ebenfalls um 23:05 Uhr.

Wie Sie sehen, verwendet Bacula zur Angabe von Daten und Uhrzeiten eine natür-

liche Sprache. Dies macht es uns einfach, auch komplexe Zeitpläne zu erstellen. Die

Direktive Run kann aber noch mehr. Mit ihr können Sie nämlich auch steuern, welcher

Pool verwendet werden soll.

Werte vollständig angeben: Datum und Uhrzeit!

Wenn Sie zum Beispiel nur einen Tag der Woche angeben (sagen wir, Dienstag), wird

Bacula den Auftrag zu jeder Stunde, an jedem Dienstag in jedem Monat ausführen.

Dies geschieht, da Bacula fehlende Werte mit der Standardeinstellung vervollständigt.

Und die steht auf any (engl. für alles, also jeder gültige Wert)!

Nehmen wir an, Sie möchten einen Zeitplan für Server einrichten. Diese sollen an je-

dem ersten Sonntag des Monats um 01:00 Uhr eine vollständige Sicherung erstellen.

Zusätzlich soll an den übrigen Sonntagen im Monat um 02:00 Uhr eine differenzielle

Sicherung angelegt werden. Damit auch unter der Woche keine Daten verloren gehen

können, sollen darüber hinaus von montags bis samstags um 03:00 Uhr die Verän-

derungsdaten gesichert werden. Damit ein besserer Überblick behalten werden kann,

sollen die einzelnen Sicherungen daher in eigene Pools laufen. Listing 29.63 zeigt den

dafür notwendigen Zeitplan:

Schedule {Name = "server-schedule"Run = Level=Incremental Pool=server-pool-inc mon-sat at 3:00Run = Level=Differential Pool=server-pool-diff 2nd-5th sun at 2:00Run = Level=Full Pool=server-pool-full 1st sun at 1:00

}

Listing 29.63 Zeitplan für Server

Wie Sie Listing 29.63 entnehmen können, wurde, um die Anforderungen abdecken

zu können, neben der Angabe der Sicherungsart (Level) zusätzlich der Pool mit der

gleichnamigen Direktive Pool gesetzt.

Beachten Sie, dass Sie natürlich für diesen Zeitplan die entsprechenden Pools anlegen

müssen und dafür selbstverständlich auch Labels erzeugen müssen!

Neben der reinen Angabe von Tagen oder Zählern (wie 2nd-5th) können Sie auch mit

Schlagwörtern wie daily oder weekly arbeiten.

770

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 771 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.8 Dienste sichern: »MySQL«

Nun sollen Sie einen Zeitplan für die Sicherung eines Entwickler-Clients erstellen. Da

bei Entwicklungen immer die letzten Änderungen relevant sind, müssen diese auch

zeitnah gesichert werden. Daher wurde ein deutlich engerer Zeitplan (siehe Listing

29.64) erzeugt.

Schedule {Name = "client-schedule"Run = Level=Incremental Pool=client-pool-inc hourly at 0:05Run = Level=Differential Pool=client-pool-diff daily at 10:20Run = Level=Full Pool=client-pool-full weekly at 12:00

}

Listing 29.64 Zeitplan für Entwickler-Clients

Auch hier wird die Sicherung anhand ihrer Art in unterschiedliche Pools eingeteilt.

Anders als bei dem Zeitplan für Server wird hier aber die Sicherung stündlich (hourly),

täglich (daily) und wöchentlich (weekly) angestoßen.

Laufzeiten von Sicherungen einplanen!

An dieser Stelle weisen wir noch mal darauf hin, dass Sie die Laufzeit der Sicherungs-

aufträge im Auge behalten müssen. Da eine Sicherung ein System mitunter für einen

längeren Zeitraum stark belasten kann, sollten Sie Sicherungen nie (oder nur in Aus-

nahmefällen) während der regulären Arbeitszeit ausführen lassen! Darüber hinaus

verändert sich unter Umständen auch der Sicherungsumfang. Prüfen Sie daher nicht

nur, ob die Sicherungen erfolgreich gelaufen sind, sondern auch, wie lange der Vorgang

benötigt hat, und passen Sie gegebenenfalls die Zeitpläne an!

Damit Aufträge nach einem Zeitplan bearbeitet werden, müssen Sie diesen in der

jeweiligen Job-Sektion mit der Direktive Schedule angeben. Um die Ausführung küm-

mert sich Bacula dann automatisch (ein Neustart des Dienstes vorausgesetzt).

29.8 Dienste sichern: »MySQL«

Bis jetzt haben wir lediglich Dateien oder Verzeichnisse gesichert. Dies reicht aber

bei Datenbanken (wie MySQL) nicht immer aus. Teilweise befinden sich Daten im

Hauptspeicher oder werden zum Zeitpunkt der Sicherung gerade geschrieben oder

gelesen, was eine Sicherung unmöglich macht.

Um dies zu verhindern, sollten Sie immer vor der Sicherung den aktuellen Stand spei-

chern, damit diese Datei dann regulär gesichert werden kann. Das hilft Ihnen nicht

771

Page 44: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 772 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

nur bei der Wiederherstellung, sondern schützt Sie auch vor defekten Datenbanken,

inkonsistenten Einträgen und Fehlern bei der Sicherung.

Wie wir bereits erörtert haben, ist Bacula in der Lage, vor und nach einer Sicherung

Skripte auszuführen. Dies kann es aber nicht nur lokal auf dem Director, sondern auch

auf dem (entfernten) File Daemon. Dafür werden die Direktiven ClientRunBeforeJob

und ClientRunAfterJob verwendet.

Auf dem Webserver web.example.com soll die neu erzeugte MySQL-Datenbank mitge-

sichert werden. Diese enthält die drei Datenbanken kunden, data und webdev.

Um die Anforderung umzusetzen, wird zunächst auf dem Webserver ein Datenbank-

benutzer für Bacula benötigt. Führen Sie dafür die MySQL-Befehle aus Listing 29.65

auf dem Webserver aus:

daniel@web:~$ sudo mysql -u root -pEnter password:[…]mysql> CREATE USER 'bacula'@'localhost' IDENTIFIED BY '<BACULA DB PW>';Query OK, 0 rows affected (0.00 sec)

mysql> GRANT SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON *.* TO> 'bacula'@'localhost'; Query OK, 0 rows affected (0.00 sec)

Listing 29.65 Datenbank-Benutzer »bacula« erstellen

Ersetzen Sie dabei den Platzhalter <BACULA DB PW> durch ein Passwort für den Da-

tenbankbenutzer. Anschließend muss auf dem Webserver ein Skript erstellt wer-

den, das die Datenbanken in eine Datei sichert. Erstellen Sie dafür die Datei mysql

_create_dump.sh im Verzeichnis /usr/local/bin/ mit dem Inhalt aus Listing 29.66:

#!/bin/bashDBLIST="kunden data webdev" # Zu sichernde DatenbankenDBDIR="/var/local-backups"PARAM=" --user=$1 --password=$2"

[ -d $DBDIR ] || mkdir $DBDIR

for DATABASE in $DBLIST ; domysqldump $PARAM $DATABASE >> ${DBDIR}/$DATABASE

done

Listing 29.66 MySQL-Dump-Skript

Dieses Skript speichert die Datenbanken, die in der Variablen DBLIST durch Leerzei-

chen getrennt angegeben sind, mit dem Programm mysqldump im lokalen Verzeichnis

772

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 773 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.8 Dienste sichern: »MySQL«

/var/local-backups. Zur Anmeldung am Datenbankserver verwendet das Skript die

ihm übergebenen Parameter.

Neugierig geworden?

Mehr zum Thema Skripting erfahren Sie in Kapitel 8, »Erste Schritte«, und in Kapitel

39, »Zuhause: ›bash‹«.

Damit Bacula die Sicherung durchführen kann, werden zwei weitere Sektionen in der

Bacula-Konfiguration auf dem Backup-Server benötigt. Fügen Sie zunächst das FileSet

zur Sicherung der MySQL-Datenbank hinzu. Schreiben Sie es unter die bestehenden

FileSets in der Datei filesets.conf. Seinen Inhalt sehen Sie in Listing 29.67:

FileSet {Name = "webserver-mysql"Include {

Options {signature = MD5

}File = "/var/local-backups"

}}

Listing 29.67 »FileSet« für die Datenbanksicherung des Webservers

Anschließend müssen Sie einen weiteren Job für den Webserver definieren. Erstellen

Sie ihn in der Datei /etc/bacula/bacula-dir.d/clients.conf mit dem Inhalt aus Listing

29.68. Beachten Sie, dass die Zeilen ClientRunBeforeJob und ClientRunAfterJob um-

brochen sind und eigentlich in eine Ziele gehören!

Job {Name = "BackupMySQL"Client = web-fdJobDefs = "DefaultJob"Level = FullFileSet = "webserver-mysql"ClientRunBeforeJob = "/usr/local/bin/mysql_create_dump.sh

bacula <BACULA DB PW>"ClientRunAfterJob = "/usr/bin/find /var/local-backups/ -type f -exec

rm {} \;"}

Listing 29.68 »Job« für die Datenbanksicherung des Webservers

773

Page 45: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 774 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Warum »find« und nicht direkt »rm«?

Leider führt Bacula vor dem Senden des Befehls an den Client selbst eine Sub-

stitution durch. Daher kann bei ClientRunAfterJob nicht das sonst übliche rm -rf/var/local-backups/* verwendet werden – das Sternchen würde nämlich lokal (also

auf dem Server) substituiert werden und nicht auf dem Client. Aus diesem Grund sind

wir den Umweg mit find gegangen.

Entscheidend bei diesem Auftrag sind die Direktiven ClientRunBeforeJob und Client-

RunAfterJob. Über sie wird vor Ausführung der Sicherung das von uns erstellte Skript

mit den Parametern bacula und <BACULA DB PW> gestartet. Ersetzen Sie den Platzhalter

durch das Datenbankpasswort des Benutzers bacula, den Sie in Listing 29.65 angelegt

haben. Nach der Sicherung wird kein Skript, sondern direkt der Befehl findausgeführt.

Er dienst hier zum Löschen der MySQL-Dumps, die auf dem Client erzeugt wurden.

Nach einem Neustart des Directors mit sudo systemctl restart bacula-director

kann die Sicherung getestet werden. Nachdem Sie den Job auf der bconsole mit

run job=BackupMySQL yes gestartet haben, können Sie sich nach Beendigung der

Sicherung mit dem Befehl messages den Verlauf anzeigen lassen:

[…]21-Apr 11:42 web-fd JobId 12: shell command: run ClientRunBeforeJob

"/usr/local/bin/mysql_create_dump.sh bacula <DB PASSWORD>"[…]21-Apr 11:42 web-fd JobId 12: shell command: run ClientAfterJob

"/usr/bin/find /var/local-backups/ -type f -exec rm {} ;"[…]Job: BackupMySQL.2018-04-21_11.42.45_03Backup Level: FullClient: "web-fd" 9.0.6 (20Nov17) x86_64-pc-linux-gnu,ubun[…]FileSet: "webserver-mysql" 2018-04-21 11:42:45

[…]FD termination status: OKSD termination status: OKTermination: Backup OK

Listing 29.69 Kontrolle der Datenbanksicherung mit »messages«

Wie Sie der Ausgabe in Listing 29.69 entnehmen können, wurde vor der Sicherung

ordnungsgemäß das Skript ausgeführt. Ebenso wurde nach der Sicherung der auf

dem Webserver erstellte Dump wieder entfernt. Bacula konnte die Sicherung erfolg-

reich durchführen. Mit dieser Methode können Sie nahezu jeden Serverdienst einfach

sichern, ohne sich Gedanken über Inkonsistenzen machen zu müssen.

774

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 775 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.9 Dateien wiederherstellen

29.9 Dateien wiederherstellen

Was nützen unzählige Sicherungen, wenn die Daten nicht auch wiederhergestellt wer-

den können? In diesem Abschnitt zeigen wir Ihnen, wie Sie Ihre wertvollen Daten

wieder zum Leben erwecken. Damit Bacula Dateien oder Verzeichnisse wiederherstel-

len kann, benötigt es, analog zur Sicherung, einen Auftrag. Dieser ist bereits nach

der Installation vorhanden und wurde von uns auch schon konfiguriert. Nichtsdesto-

trotz werfen wir noch mal einen Blick auf die Konfiguration. Listing 29.70 zeigt den

Wiederherstellungsjob RestoreFiles:

Job {Name = "RestoreFiles"Type = RestoreClient=backup-fdStorage = File1FileSet="Full Set"Pool = FileMessages = StandardWhere = /restore

}

Listing 29.70 Standard-Wiederherstellungsjob »RestoresFiles«

Generell sind die Werte in diesem Auftrag aber nicht fix, sondern werden je nach

Wiederherstellung angepasst. Die Wertigkeiten in der Konfiguration spielen also kei-

ne allzu große Rolle. Die Wiederherstellung findet ebenfalls wieder über die bconsole

statt. Dort können Sie über den Befehl run den Wiederherstellungsauftrag absetzen.

Listing 29.71 zeigt den ersten Schritt im Dialog zur Wiederherstellung:

*runAutomatically selected Catalog: MyCatalogUsing Catalog "MyCatalog"A job name must be specified.The defined Job resources are:

1: BackupClient12: BackupCatalog3: RestoreFiles4: BackupWeb5: BackupMySQL6: BackupHomes7: BackupHITA3L5

Select Job resource (1-7): 3

Please enter a JobId for restore: 12

Run Restore job

775

Page 46: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 776 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

JobName: RestoreFilesBootstrap: *None*Where: /restoreReplace: AlwaysClient: backup-fdStorage: File1JobId: 12When: 2018-04-21 11:56:53Catalog: MyCatalogPriority: 10Plugin Options: *None*

Listing 29.71 Wiederherstellung in der »bconsole«

Nach dem Aufruf von run werden Sie aufgefordert, einen Auftrag auszuwählen. Da wir

Dateien wiederherstellen wollen, wählen wir 3. Anschließend werden wir nach einer

Job-ID gefragt. Falls Sie nicht sicher sind, von welchem Auftrag Sie die Wiederher-

stellung durchführen wollen, können Sie sich mit list jobs einfach alle bisherigen

Aufträge anzeigen lassen. Nach der Eingabe der Job-ID wird Ihnen der Sicherungs-

auftrag präsentiert. Dabei werden die Daten aus dem angegebenen Auftrag und der

vorher getroffenen Konfiguration gebildet. Anschließend können Sie den Auftrag mit

yes ausführen, mit mod verändern oder mit no abbrechen.

Der Auftrag aus Listing 29.71 würde im Übrigen fehlschlagen, da keine Bootstrap-Datei

angegeben ist – was durch *None* dargestellt wird. Diese Datei müssen Sie also ergän-

zen. Geben Sie daher mod ein. Listing 29.72 zeigt den weiteren Verlauf:

OK to run? (yes/mod/no): mod

Parameters to modify:1: Level2: Storage3: Job4: FileSet5: Restore Client6: When7: Priority8: Bootstrap9: Where10: File Relocation11: Replace12: JobId13: Plugin Options

Select parameter to modify (1-13): 8

Please enter the Bootstrap file name: /var/lib/bacula/web-fd.bsr

776

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 777 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.9 Dateien wiederherstellen

Run Restore jobJobName: RestoreFilesBootstrap: /var/lib/bacula/web-fd.bsrWhere: /restoreReplace: AlwaysClient: backup-fdStorage: File1JobId: 12When: 2018-04-21 11:56:53Catalog: MyCatalogPriority: 10Plugin Options: *None*OK to run? (yes/mod/no): yes

Listing 29.72 Die Wiederherstellung mit »mod« bearbeiten

Wie Sie in Listing 29.72 sehen, wird Ihnen nach Angabe von mod ein weiteres Menü

präsentiert. Da wir die Bootstrap-Datei verändern wollen, haben wir 8 gewählt. Da-

nach haben wir die Datei mit ihrem Pfad angegeben (/var/lib/bacula/web-fd.bsr).

Anschließend wird erneut die Konfiguration des Jobs dargestellt. Da nun alle Parame-

ter korrekt sind, können Sie den Auftrag durch Eingabe von yes starten.

Über den Befehl messages können Sie nach Beendigung des Auftrags alle Informatio-

nen dazu einsehen. Listing 29.73 zeigt (gekürzt) die Ausgabe:

[…]Job: RestoreFiles.2018-04-21_11.59.03_05Restore Client: backup-fdStart time: 21-Apr-2018 11:59:05End time: 21-Apr-2018 11:59:05Files Expected: 0Files Restored: 4Bytes Restored: 69,005Rate: 69.0 KB/sFD Errors: 0FD termination status: OKSD termination status: OKTermination: Restore OK

[…]

Listing 29.73 Meldungen zur Wiederherstellung

Wie Sie in Listing 29.73 sehen, wurde die Wiederherstellung erfolgreich durchgeführt

und 4 Dateien wurden wiederhergestellt. Diese befinden sich nun im angegebenen

Wiederherstellungsverzeichnis unter /restore auf dem Backup-Server.

777

Page 47: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 778 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Dies ist aber nur eine Möglichkeit, eine Wiederherstellung anzustoßen. Bequemer

können Sie dies mit dem Kommando restore erreichen. Auch von ihm werden Sie

mit einem Dialog ans Ziel geleitet. Listing 29.74 zeigt einen möglichen Ablauf:

*restore

First you select one or more JobIds that contain filesto be restored. You will be presented several methodsof specifying the JobIds. Then you will be allowed toselect which files from those JobIds are to be restored.

To select the JobIds, you have the following choices:1: List last 20 Jobs run2: List Jobs where a given File is saved3: Enter list of comma separated JobIds to select4: Enter SQL list command5: Select the most recent backup for a client6: Select backup for a client before a specified time7: Enter a list of files to restore8: Enter a list of files to restore before a specified time9: Find the JobIds of the most recent backup for a client10: Find the JobIds for a backup for a client before a specified time11: Enter a list of directories to restore for found JobIds12: Select full restore to a specified Job date13: Cancel

Select item: (1-13): 5

Defined Clients:1: backup-fd2: desktop-hita3l5-fd3: web-fd

Select the Client (1-3): 3

Listing 29.74 »restore« starten und Client auswählen

Nach diesem Aufruf können Sie zwischen unterschiedlichen Methoden wählen, um

an einen Sicherungsauftrag zu gelangen. Wir haben 5 gewählt, um die aktuellste Si-

cherung eines Clients zu erhalten. Anschließend stellt Bacula uns vor die Wahl, von

welchem Client wir Dateien wiederherstellen möchten. Listing 29.75 zeigt den weite-

ren Verlauf.

The defined FileSet resources are:1: webserver2: webserver-mysql

Select FileSet resource (1-2): 1

778

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 779 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.9 Dateien wiederherstellen

+-------+-------+----------+----------+---------------------+------------+| jobid | level | jobfiles | jobbytes | starttime | volumename |+-------+-------+----------+----------+---------------------+------------+| 9 | F | 192 | 102,125 | 2018-04-20 19:37:24 | Vol-0001 || 14 | I | 192 | 102,125 | 2018-04-21 12:04:49 | Vol-0001 |+-------+-------+----------+----------+---------------------+------------+You have selected the following JobIds: 9,14

Building directory tree for JobId(s) 9,14 ... +++++++++++++++++++++++++++183 files inserted into the tree.

You are now entering file selection mode where you add (mark) andremove (unmark) files to be restored. No files are initially added, unlessyou used the "all" keyword on the command line.Enter "done" to leave this mode.

Listing 29.75 »restore«: Auswahl des Jobs

Bacula hat uns zunächst vor die Wahl des FileSets gestellt – falls nur eines vorhanden

ist, wird es automatisch gewählt. Da wir nicht die Datenbanken, sondern die Webda-

ten wiederherstellen wollen, haben wir 1 ausgewählt. Daraufhin hat Bacula das FileSet

geladen und die Sicherungen zusammengestellt – den Auftrag 9 als letzte vollständi-

ge Sicherung und den Auftrag 14 als letzte inkrementelle Sicherung. Daraus erstellt

Bacula nun eine Dateiliste.

Nun werden Sie auf eine Shell geleitet, in der Sie sich wie auf einem Filesystem bewe-

gen können – zum Beispiel mit ls zum Anzeigen der Dateien im aktuellen Verzeichnis

oder mit cd zum Wechseln in ein anderes Verzeichnis (sogar die Vervollständigung

mit der Tabulaturtaste funktioniert hier).

In dieser Shell müssen Sie Verzeichnisse oder Dateien, die Sie wiederherstellen möch-

ten, mit dem Befehl mark markieren. Falls Sie einmal übers Ziel hinausgeschossen

sind, ist das kein Problem: Mit unmark können Sie die Auswahl auch wieder aufhe-

ben. Sie beenden die Auswahl mit dem Befehl done. Listing 29.76 zeigt den Ablauf der

Dateiauswahl:

cwd is: /$ cd /etc/apache2

cwd is: /etc/apache2/$ dir

-rw-r--r-- 1 root root 7224 2018-04-21 09:00:32 /etc/apache2/apache2.confdrwxr-xr-x 2 root root 4096 2018-04-21 09:00:32 /etc/apache2/conf-avai[…]drwxr-xr-x 2 root root 4096 2018-04-21 09:00:34 /etc/apache2/conf-enabled/-rw-r--r-- 1 root root 1782 2018-04-21 09:00:32 /etc/apache2/envvars-rw-r--r-- 1 root root 31063 2018-04-21 09:00:32 /etc/apache2/magic

779

Page 48: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 780 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

drwxr-xr-x 2 root root 12288 2018-04-21 09:00:33 /etc/apache2/mods-avai[…]drwxr-xr-x 2 root root 4096 2018-04-21 09:00:34 /etc/apache2/mods-enabled/-rw-r--r-- 1 root root 320 2018-04-21 09:00:33 /etc/apache2/ports.confdrwxr-xr-x 2 root root 4096 2018-04-21 09:00:33 /etc/apache2/sites-ava[…]drwxr-xr-x 2 root root 4096 2018-04-21 09:00:34 /etc/apache2/sites-enabled/$ mark apache2.conf

1 file marked.$ mark magic

1 file marked.$ mark *.conf

2 files marked.$ done

Listing 29.76 Auswahl der wiederherzustellenden Dateien mit »mark«

Wie Sie Listing 29.76 entnehmen können, müssen Sie nicht jede Datei einzeln aus-

wählen, auch das Arbeiten mit Wildcards ist möglich (im Beispiel verwenden wir das

Sternchen für alle Dateien mit der Endung conf). Nach Beendigung der Auswahl mit

done wird Ihnen eine Zusammenfassung des Auftrags ausgegeben, wie in Listing 29.77

dargestellt:

Bootstrap records written to /var/lib/bacula/backup-dir.restore.1.bsr

The Job will require the following (*=>InChanger):Volume(s) Storage(s) SD Device(s)

===========================================================================Vol-0001 File1 FileChgr1

Volumes marked with "*" are in the Autochanger.

3 files selected to be restored.

Run Restore jobJobName: RestoreFilesBootstrap: /var/lib/bacula/backup-dir.restore.1.bsrWhere: /restoreReplace: AlwaysFileSet: Full SetBackup Client: web-fdRestore Client: web-fdStorage: File1When: 2018-04-21 12:09:49Catalog: MyCatalog

780

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 781 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.9 Dateien wiederherstellen

Priority: 10Plugin Options: *None*OK to run? (yes/mod/no): mod

Listing 29.77 Übersicht der Auswahl und des Auftrags

Wie Sie Listing 29.77 entnehmen können, hat Bacula die Auswahl korrekt erkannt und

den Auftrag entsprechend angepasst. Des Weiteren können Sie dem Listing entneh-

men, dass die Wiederherstellung auf dem Client durchgeführt werden soll. Falls Sie

die Dateien auf Ihrem Director wiederhergestellt bekommen möchten, müssen Sie

mod eingeben und den Auftrag so anpassen wie in Listing 29.78 dargestellt:

Parameters to modify:1: Level2: Storage3: Job4: FileSet5: Restore Client6: When7: Priority8: Bootstrap9: Where10: File Relocation11: Replace12: JobId13: Plugin Options

Select parameter to modify (1-13): 5

The defined Client resources are:1: backup-fd2: web-fd3: desktop-hita3l5-fd

Select Client (File daemon) resource (1-3): 1

Run Restore jobJobName: RestoreFilesBootstrap: /var/lib/bacula/backup-dir.restore.1.bsrWhere: /restoreReplace: AlwaysFileSet: Full SetBackup Client: web-fdRestore Client: backup-fdStorage: File1When: 2018-04-21 12:09:49Catalog: MyCatalogPriority: 10

781

Page 49: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 782 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Plugin Options: *None*OK to run? (yes/mod/no): yes

Listing 29.78 Wiederherstellung auf dem »Director« ausführen

Nach Auswahl von Punkt 5, um den Wiederherstellungs-Client zu verändern, werden

Sie gefragt, auf welchem Client Sie die Wiederherstellung ausführen lassen wollen.

Wir haben den Director gewählt (backup-fd). Anschließend wird Ihnen nochmals die

Auftragsübersicht präsentiert, die wir nun durch Eingabe von yes akzeptieren. Die

ausgewählten Dateien werden nun auf dem Backup-Server in das Verzeichnis /restore

zurückgesichert.

Noch einfacher gelingt die Wiederherstellung mit einer GUI. Die Möglichkeiten dazu

sehen wir uns in den kommenden Abschnitten genauer an.

29.10 Das Bacula-Admin-Tool »bat«

Falls Sie über einen Ubuntu-Desktop verfügen, könnte bat das Administrationstool

Ihrer Wahl werden. Mit dem Programm ist es möglich, sich mit einem Director zu

verbinden und alle Befehle, die Sie sonst mühsam in der bconsole eingeben müssten,

bequem über eine GUI abzusetzen.

29.10.1 Installation

Das Programm bat wird mit dem Paket bacula-console-qt installiert, das Bestandteil

der Paketquellen von Ubuntu ist. Daher kann es, wie in Listing 29.79 dargestellt, direkt

installiert werden – eine Installation über das Programm Software ist natürlich eben-

falls möglich. Anschließend müssen Sie nur noch eine Konfigurationsdatei anlegen,

und schon ist bat einsatzbereit.

daniel@ubuntu:~$ sudo apt install bacula-console-qt[…]

Listing 29.79 Installation von »bat«

29.10.2 Konfiguration

Die Konfiguration erfolgt in der Datei /etc/bacula/bat.conf. Nach der Installation ist

diese Datei bereits vorhanden. Passen Sie die Direktiven so an wie in Listing 29.80.

Neben dem Name (im Beispiel backup-dir) müssen Sie noch die Platzhalter korrigieren.

Ersetzen Sie den Platzhalter <BACKUP-SERVER> durch die IP-Adresse oder den Namen

Ihres Backup-Servers und den Platzhalter <DIRECTOR PW> durch das Passwort aus der

Sektion Director der Datei bacula-dir.conf von Ihrem Backup-Server.

782

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 783 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29

29.10 Das Bacula-Admin-Tool »bat«

Director {Name = backup-dirDIRport = 9101address = <BACKUP-SERVER>Password = "<DIRECTOR PW>"

}

Listing 29.80 Konfiguration des »bat« in »/etc/bacula/bat.conf«

29.10.3 Ausführen von »bat«

Da die Konfigurationsdatei eingeschränkte Rechte hat, müssen Sie zunächst Ihren

Benutzer (im Beispiel daniel) zur Gruppe bacula hinzufügen. Führen Sie dafür das

Kommando aus Listing 29.81 aus:

daniel@milkyway:~$ sudo usermod -a -G bacula daniel

Listing 29.81 So fügen Sie den Benutzer »daniel« zur Gruppe »bacula« hinzu.

Damit die Änderungen wirksam werden, müssen Sie sich zunächst einmal ab- und

wieder anmelden. Nun können Sie über die Dash-Startseite nach bat suchen und das

Programm starten. Dann öffnet sich bat mit den Startfenster aus Abbildung 29.11.

Abbildung 29.11 Startbildschirm von »bat«

Im linken Teil des Fensters finden Sie das Menü, in dem Sie die unterschiedlichen

Bereiche öffnen können. Darunter befindet sich das Eingabefeld Command. Dort

können Sie beliebig bconsole-Befehle absetzen. Die Ausgabe sowie der Befehl selbst

werden nach dem Absetzen des Befehls im rechten Fensterbereich dargestellt.

Wenn Sie im linken Menü den Punkt Clients anklicken, wird Ihnen eine übersichtli-

che Zusammenfassung der eingerichteten Clients angezeigt (siehe Abbildung 29.12).

783

Page 50: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 784 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: bacula/bacula , Aktueller Job: ubuntu-server

29 Backup heterogener Umgebungen mit »Bacula«

Abbildung 29.12 Client-Übersicht in »bat«

Über den Punkt bRestore können Sie eine Wiederherstellung anstoßen. Wenn Sie

darauf klicken, öffnet sich das Fenster aus Abbildung 29.13.

Abbildung 29.13 Dateiauswahl zur Wiederherstellung in »bat«

Dort können Sie einfach einen Client, die entsprechende Sicherung und letztendlich

über eine Dateinavigation die Verzeichnisse und Dateien für eine Wiederherstellung

auswählen.

Möchten Sie Dateien oder Verzeichnisse wiederherstellen, ziehen Sie diese einfach

aus dem Bereich File list mit der Maus in das Feld darunter. Über einen Klick auf

den Button Restore können Sie den Wiederherstellungsdialog aus Abbildung 29.14

öffnen.

784

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 785 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ansible/ansible , Aktueller Job: ubuntu-server

29

29.10 Das Bacula-Admin-Tool »bat«

Abbildung 29.14 Wiederherstellung in »bat«

Dort können Sie den Client wählen, auf dem die Dateien wiederhergestellt werden,

und bestimmen, in welchem Verzeichnis diese abgelegt werden. Nach einem Klick

auf den Button Compute with directories beginnt die Wiederherstellung. Das Pro-

gramm bat kann im täglichen Umgang mit Bacula ein wahrer Segen sein. Es erleich-

tert nicht nur die Navigation durch die Sicherungen und Clients, sondern es bietet

auch gleichzeitig eine äußerst bequeme Möglichkeit, einzelne Dateien für eine Wie-

derherstellung auszuwählen.

785

Page 51: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 34 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: vorwort/vorwort , Aktueller Job: ubuntu-server

Auf einen Blick

TEIL I Grundlagen ...................................................................................................................... 51

TEIL II Installation ....................................................................................................................... 93

TEIL III Dienste, Anwendungen und Sicherheit ................................................................. 197

TEIL IV Webdienste ...................................................................................................................... 799

TEIL V Heiter bis wolkig: Cloud-Computing ...................................................................... 893

TEIL VI Werkzeugkiste ................................................................................................................ 945

Auf einen Blick

Page 52: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 34 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: vorwort/vorwort , Aktueller Job: ubuntu-server

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 5 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

Inhalt

Vorwort ................................................................................................................................ 35

Über dieses Buch ................................................................................................................ 39

Was hat sich getan: »changelog« ..................................................................................... 43

TEIL I Grundlagen

1 Der Administrator 53

1.1 Ganz allgemein: Der Administrator ................................................................. 53

1.1.1 Was ich tun kann! .............................................................................. 53

1.1.2 Was ich tun sollte! ............................................................................. 54

1.1.3 Was ich nicht tun sollte! (BOFH) ...................................................... 55

1.2 Was im Gesetz steht ............................................................................................ 56

1.2.1 Datenschutz: »BDSG« und »LDSG« .................................................. 57

1.2.2 Telemediengesetz .............................................................................. 58

1.2.3 Telekommunikationsgesetz .............................................................. 58

1.2.4 EU-Datenschutz-Grundverordnung »EU-DSGVO« ......................... 59

2 Wichtige Grundlagen vorab 61

2.1 Historie ................................................................................................................... 61

2.2 Der Kernel .............................................................................................................. 63

2.2.1 Entwicklung des Linux-Kernels ......................................................... 63

2.2.2 Aufbau des Linux-Kernels ................................................................. 64

2.2.3 Verwandtschaft ................................................................................. 65

2.3 Die Struktur von Linux ........................................................................................ 65

2.3.1 Konformität zu »POSIX« .................................................................... 66

2.3.2 Alles ist eine Datei ............................................................................. 66

2.3.3 Verzeichnisstruktur ........................................................................... 66

2.4 Unterschiede ......................................................................................................... 69

2.4.1 Paketverwaltung ................................................................................ 69

2.4.2 Updates und Upgrades ..................................................................... 69

2.4.3 Umgang mit Paketen ........................................................................ 69

5

Page 53: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 6 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

2.4.4 Benutzer- und Rechteverwaltung .................................................... 70

2.4.5 Ausführung ........................................................................................ 72

2.4.6 Lizenzarten ......................................................................................... 72

2.4.7 Support und kommerzielle Software ............................................... 74

3 Planung 75

3.1 Einteilung: »Meilensteine« ................................................................................ 75

3.1.1 Zeitaufwand ....................................................................................... 77

3.1.2 Ein Server(-dienst) bleibt selten allein ............................................. 77

3.2 Unterstützung ...................................................................................................... 77

3.2.1 Systemvoraussetzungen ................................................................... 77

3.2.2 Peripherie ............................................................................................ 78

3.3 Dimensionierung .................................................................................................. 78

3.3.1 Einsatzzweck ...................................................................................... 79

3.3.2 Software: »Was?«, »Wie viel?« und »Wie lange?« .......................... 80

3.3.3 Hardware: »CPU«, »RAM« und »HDD« ............................................ 80

3.3.4 Weniger ist mehr ............................................................................... 81

4 Ubuntu-Typen 83

4.1 Hintergründe ........................................................................................................ 83

4.1.1 Die Prinzipien: »Code of Conduct« ................................................... 84

4.1.2 Pragmatismus .................................................................................... 84

4.1.3 Entstehung ......................................................................................... 84

4.1.4 Entwicklungsgeschichte ................................................................... 85

4.1.5 Vorteile ................................................................................................ 85

4.1.6 Lizenzen .............................................................................................. 86

4.2 Unterteilung .......................................................................................................... 87

4.2.1 Die Typen: »Desktop«, »Server«, »GNOME« und »Netboot« ......... 87

4.2.2 Varianten von »Kubuntu« über »Lubuntu« und Co. ....................... 88

4.3 Kritik ....................................................................................................................... 90

4.3.1 Canonical und Mark Shuttleworth .................................................. 90

4.3.2 Freie und nicht freie Software .......................................................... 90

4.3.3 Vermeintliche Paywall ....................................................................... 90

6

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 7 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

4.3.4 Spyware .............................................................................................. 91

4.3.5 Statement der Autoren ..................................................................... 91

TEIL II Installation

5 Die Installation 95

5.1 Die Qual der Wahl ................................................................................................ 95

5.1.1 Woher bekomme ich Ubuntu? ......................................................... 95

5.1.2 Welche Variante soll ich verwenden? .............................................. 95

5.1.3 Medium: »CD«, »DVD« oder »USB« ................................................. 96

5.2 Die Installation ..................................................................................................... 96

5.2.1 Steuerung in den Menüs ................................................................... 97

5.2.2 Beginn der Reise ................................................................................. 97

5.2.3 Tastaturlayout .................................................................................... 98

5.2.4 Installationstyp .................................................................................. 99

5.2.5 Netzwerk ............................................................................................ 99

5.2.6 Dateisystem ....................................................................................... 100

5.2.7 Profil: Rechnername, Benutzername und Benutzerkonto ............. 101

6 Partitionen: Festplatten aufteilen 103

6.1 Allgemeines ........................................................................................................... 103

6.1.1 Begrifflichkeiten ................................................................................. 104

6.1.2 Eine Übersicht: »Was liegt wo?« ...................................................... 108

6.2 Partitionierung einer Festplatte ........................................................................ 111

6.2.1 Neue Festplatte identifizieren .......................................................... 112

6.2.2 Neue Festplatte partitionieren ......................................................... 112

6.3 Einfach logisch: »Logical Volume Manager« .................................................. 115

6.3.1 Begrifflichkeiten ................................................................................. 116

6.3.2 Arbeiten mit »LVM« ........................................................................... 117

6.3.3 Eine Partition erweitern .................................................................... 120

6.3.4 Snapshots ........................................................................................... 124

6.4 Dateisysteme ........................................................................................................ 126

6.4.1 Eine Übersicht gängiger Dateisysteme ........................................... 127

6.4.2 Fazit ..................................................................................................... 128

7

Page 54: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 8 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

6.5 Partitionen und Dateisystem verändern ......................................................... 128

6.5.1 Vorbereitungen .................................................................................. 129

6.5.2 Start mit der »Ubuntu-Live-CD« ...................................................... 129

7 Netzwerkkonfiguration 135

7.1 Basiswissen ........................................................................................................... 135

7.1.1 Welches Vorwissen wird benötigt? .................................................. 136

7.1.2 Theorie-Exkurs ................................................................................... 136

7.1.3 Ein Beispiel: Adressbereich richtig wählen (Heim-Router) ............ 140

7.1.4 Namenskonventionen – Änderungen seit »systemd« ................... 141

7.2 Tools: »ifconfig«, »route«, »arp«, »ip«, »mii-tool/ethtool« ........................ 142

7.2.1 Die Arbeitsweise von »ip« ................................................................. 142

7.3 Ablösung von »ifconfig« durch »ip address« .................................................. 144

7.3.1 IP-Adressen verändern ...................................................................... 145

7.3.2 IP-Adressen hinzufügen .................................................................... 146

7.3.3 Stolperfalle »Label« ........................................................................... 147

7.3.4 Zusammenfassung ............................................................................ 149

7.4 Ablösung von »route« durch »ip route« .......................................................... 149

7.4.1 Routen hinzufügen ............................................................................ 150

7.4.2 Routen entfernen ............................................................................... 151

7.4.3 Zusammenfassung ............................................................................ 151

7.5 Ablösung von »arp« durch »ip neighbour« ..................................................... 151

7.5.1 ARP-Eintrag hinzufügen .................................................................... 152

7.5.2 ARP-Einträge entfernen ..................................................................... 152

7.5.3 ARP-Tabelle erneuern ......................................................................... 153

7.5.4 Zusammenfassung ............................................................................ 153

7.6 Linkstatus mit »ip link« ...................................................................................... 153

7.6.1 Schnittstellen deaktivieren und aktivieren ..................................... 155

7.6.2 Neue MAC-Adresse setzen ................................................................ 155

7.6.3 Den Device-Namen ändern .............................................................. 156

7.7 Geschwindigkeit mit »ethtool« ........................................................................ 156

7.7.1 Installation von »ethtool« ................................................................. 157

7.7.2 Statusanzeige von »ethtool« ............................................................ 157

7.7.3 Einstellung von »speed« und »duplex« ........................................... 159

8

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 9 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

7.7.4 Zusätzliche Informationen ............................................................... 160

7.7.5 Identifikation: »The who-is-who« .................................................... 161

7.7.6 Zusammenfassung ............................................................................ 161

7.8 Permanente IP-Adresskonfiguration ................................................................ 161

7.8.1 Statisch und DHCP ............................................................................. 162

7.8.2 Die Konfiguration mit »netplan« ..................................................... 162

7.8.3 Zusammenfassung ............................................................................ 165

7.9 Fortgeschrittene Konfiguration ........................................................................ 165

7.9.1 Brückenbau (»Bridging«) ................................................................... 166

7.9.2 VLANs (»Trunking/Channeling«) ...................................................... 167

7.9.3 Bonding (»Etherchannel/Trunking/Teaming«) ............................... 169

7.9.4 Richtig zugeordnet mit »udev« ........................................................ 176

8 Erste Schritte 179

8.1 Hilfe, da blinkt was! Die Bash ............................................................................ 179

8.1.1 Grundlagen ........................................................................................ 180

8.1.2 Wenn man mal nicht weiterweiß: »man« ...................................... 181

8.2 Einzeiler – die Macht der Verkettung ............................................................... 182

8.2.1 Einfache Verkettung mit »;« ............................................................. 182

8.2.2 Erfolgsorientierte Verkettung mit »&&« ........................................ 183

8.2.3 Umlenkung mit »Pipe«, »STDIN« und »STDOUT« .......................... 183

8.3 Die Editoren »vim« und »nano« ........................................................................ 185

8.3.1 Der »vim« ............................................................................................ 185

8.3.2 Der »nano« ......................................................................................... 186

8.3.3 Der Standardeditor ............................................................................ 188

8.4 Where the magic happens: »Scripting« .......................................................... 189

8.4.1 Der Aufbau ......................................................................................... 189

8.4.2 Das erste Skript: »helloworld.sh« ..................................................... 189

8.4.3 Ausführen ........................................................................................... 190

8.4.4 Zeitgesteuert arbeiten: »cron« – ein kleiner Exkurs ....................... 191

8.5 Privilegierte Rechte .............................................................................................. 193

8.5.1 Wer darf was: »sudoers« ................................................................... 193

8.5.2 Freigabe von Benutzern für »sudo« ................................................. 195

9

Page 55: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 10 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

TEIL III Dienste, Anwendungen und Sicherheit

9 Fernwartung mit »OpenSSH« 199

9.1 Grundlagen ............................................................................................................ 199

9.1.1 Die Anfänge: »telnet« ....................................................................... 199

9.1.2 Weiterentwicklung: »OpenSSH« ...................................................... 200

9.2 Der Client: »ssh« .................................................................................................. 202

9.2.1 Die erste Anmeldung ......................................................................... 202

9.2.2 Prüfung bekannter Systeme ............................................................. 203

9.2.3 SSH-Schlüssel entfernen ................................................................... 204

9.2.4 Bekannte SSH-Schlüssel auslesen .................................................... 205

9.2.5 Nicht nur verbinden, sondern auch ausführen ............................... 205

9.2.6 Zusammenfassung ............................................................................ 206

9.3 Der Server: »sshd« ............................................................................................... 206

9.3.1 Voraussetzungen für die entferne Anmeldung .............................. 206

9.3.2 Authentifizierung mit Schlüsseln .................................................... 206

9.3.3 Schlüssel sicher übertragen .............................................................. 210

9.3.4 Zusammenfassung ............................................................................ 211

9.4 SSH für Fortgeschrittene ..................................................................................... 211

9.4.1 Schlüssel sichern und wiederherstellen .......................................... 211

9.4.2 SSH-Client-Konfiguration .................................................................. 212

9.4.3 SSH-Client spezial: »escape_char« .................................................. 214

9.4.4 SSH-Server-Konfiguration ................................................................. 215

9.4.5 Wartezeiten bei DNS-Problemen: »UseDNS no« ............................ 216

9.4.6 Absichern: alle außer »root« ............................................................. 216

9.5 Wenn’s mal wieder länger dauert: »mosh« .................................................... 216

10 Archivierung und Datensicherung 219

10.1 Archivierung mit »tar« ........................................................................................ 219

10.2 Archivierung mit »rsync« .................................................................................... 221

10.2.1 Synchronisierung im lokalen Dateisystem ...................................... 221

10.2.2 rsync über SSH: Synchronisierung auf einen entfernten Server ... 222

10.2.3 Für Fortgeschrittene: »rsync-Daemon« ........................................... 223

10

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 11 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

10.3 Verzeichnisse mit »unison« synchronisieren .................................................. 225

10.4 Datensicherung mit »backup2l« ....................................................................... 226

11 Syslog 229

11.1 Die Basis: Syslog-Nachrichten ........................................................................... 229

11.1.1 »Facility« – Wo der Schuh drückt ..................................................... 229

11.1.2 »Severity« – Wie sehr es schmerzt ................................................... 230

11.1.3 Konfiguration ..................................................................................... 231

11.2 Loggen über das Netz .......................................................................................... 232

11.2.1 Konfiguration des Servers ................................................................. 232

11.2.2 Konfiguration des Clients ................................................................. 233

11.3 Selbst ist der Admin – eigene Log-Einträge mit »logger« erzeugen .......... 234

11.4 Aufräumen mit »logrotate« ............................................................................... 236

11.4.1 Arbeitsablauf ...................................................................................... 236

11.4.2 Konfiguration ..................................................................................... 236

12 Jeder nur eine: »DHCP« 239

12.1 Wozu das Ganze? ................................................................................................. 239

12.1.1 Welches Vorwissen wird benötigt? .................................................. 239

12.2 Theorie: »Dynamic Host Configuration Protocol (DHCP)« ........................... 239

12.2.1 Ablauf einer DHCP-Anfrage .............................................................. 240

12.2.2 IPv6 ...................................................................................................... 241

12.2.3 Vokabular ............................................................................................ 241

12.3 Der Klassiker: »dnsmasq« .................................................................................. 242

12.3.1 Installation ......................................................................................... 242

12.3.2 Konfiguration: »quick & dirty« ......................................................... 243

12.3.3 Konfiguration: Routing-Anpassung ................................................. 245

12.3.4 Konfiguration: Reservierung ............................................................. 245

12.3.5 Konfiguration: DNS ........................................................................... 246

12.3.6 Konfiguration: DNS, interne Domäne .............................................. 247

12.3.7 Konfiguration: Einen anderen DNS ausliefern ................................ 247

12.3.8 Fazit ..................................................................................................... 247

12.4 Der reine Server: »ISC-DHCPD« ......................................................................... 248

11

Page 56: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 12 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

12.4.1 Installation ......................................................................................... 248

12.4.2 Konfiguration: IPv4 (minimal) .......................................................... 248

12.4.3 Konfiguration: Reservierungen ........................................................ 250

12.4.4 Konfiguration: DDNS ......................................................................... 251

12.4.5 Fazit ..................................................................................................... 256

13 Dateiübertragung: FTP, FTPS, SFTP und TFTP 257

13.1 Basiswissen ........................................................................................................... 257

13.1.1 Welches Vorwissen wird benötigt? .................................................. 258

13.2 Das File Transfer Protocol – Client .................................................................... 258

13.2.1 FTP mit der Kommandozeile ............................................................. 259

13.2.2 FTP mit dem Browser ........................................................................ 261

13.2.3 FTP mit einem grafischen FTP-Client ............................................... 261

13.3 FTP-Server: »vsftpd« ............................................................................................ 263

13.3.1 Serverkonfiguration für anonyme Benutzer ................................... 263

13.3.2 Serverkonfiguration für lokale Benutzer ......................................... 265

13.3.3 Directory Traversal verhindern ......................................................... 266

13.3.4 Verschlüsselte FTP-Verbindungen mit TLS ...................................... 267

13.3.5 Sicherheitsaspekte ............................................................................ 270

13.4 Sicherer mit »SFTP« ............................................................................................. 271

13.4.1 Konfiguration ..................................................................................... 272

13.5 Für Fortgeschrittene: »TFTP« ............................................................................. 273

13.5.1 Der Server: »atftpd« .......................................................................... 274

13.5.2 Der Client: »atftp« ............................................................................. 275

14 Es ist an der Zeit: »ntp« 277

14.1 Basiswissen ........................................................................................................... 277

14.1.1 Welches Vorwissen wird benötigt? .................................................. 277

14.2 Zeit manuell einstellen ....................................................................................... 278

14.2.1 Hardware-Uhr einstellen .................................................................. 278

14.2.2 Software-Uhr einstellen .................................................................... 279

14.2.3 Zeitzone ändern ................................................................................. 281

14.2.4 Zusammenfassung ............................................................................ 283

12

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 13 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

14.3 Zeit automatisch einstellen: Network Time Protocol (NTP) ........................ 284

14.3.1 Warum »NTP« wichtig ist ................................................................. 284

14.3.2 Arbeitsweise von »NTP« .................................................................... 284

14.3.3 Zeit abfragen und setzen: »ntpdate« .............................................. 285

14.3.4 Zeitserver-Pools .................................................................................. 286

14.3.5 Lokaler Zeitabgleich: »systemd-timesyncd« ................................... 286

14.3.6 Für alle: »ntpd« .................................................................................. 287

14.3.7 Zusammenfassung ............................................................................ 289

14.4 Zeit nicht für alle bereitstellen .......................................................................... 289

15 DNS mit »bind9« 291

15.1 Theorie – alles beginnt mit dem ».« ................................................................. 291

15.1.1 Arbeitsweise von DNS ....................................................................... 292

15.1.2 Unterschied: rekursiv und autoritativ ............................................. 294

15.1.3 Einträge im DNS: »Resource Records« ............................................. 294

15.1.4 Nachschlagewerk: Begriffe, Namen und Benennungen ............... 296

15.2 Client-Tools: »nslookup«, »host« und »dig« ................................................... 298

15.2.1 Der Klassiker: »nslookup« ................................................................. 298

15.2.2 Einfach, aber gut: »host« .................................................................. 301

15.2.3 Der Alleskönner: »dig« ...................................................................... 302

15.3 Der Server: »bind9« ............................................................................................. 308

15.3.1 Vorwissen ........................................................................................... 308

15.3.2 Installation ......................................................................................... 309

15.3.3 Übersicht ............................................................................................ 309

15.3.4 Basiskonfiguration nach der Installation ........................................ 309

15.3.5 Zonendateien ..................................................................................... 313

15.3.6 Zonendatei erstellen ......................................................................... 316

15.3.7 Zonendatei einbinden ....................................................................... 317

15.3.8 Zonendatei erweitern ....................................................................... 317

15.3.9 Reverse-Zonen: »sträwkcüR« ............................................................ 318

15.3.10 Reverse-Zonen einbinden ................................................................. 319

15.4 Alle machen mit: »Master-Slave« ..................................................................... 320

15.4.1 Zonen-Transfer erlauben ................................................................... 321

15.4.2 Konfiguration in der Zone ................................................................. 321

15.5 Nützliches zum Dienst »bind9« ........................................................................ 322

15.5.1 Konfiguration prüfen: »named-checkconf« .................................... 322

13

Page 57: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 14 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

15.5.2 Zonendateien prüfen: »named-checkzone« ................................... 322

15.5.3 Die rechte Hand: »rndc« ................................................................... 323

15.5.4 Erweitertes Logging ........................................................................... 324

15.6 Besonderheit: »IDN« ........................................................................................... 326

15.7 Auf in die neue Welt: »IPv6« ............................................................................. 326

15.7.1 IPv6-Namensauflösung .................................................................... 326

15.7.2 IPv6-Reverse-Zonen ........................................................................... 327

15.7.3 Übersicht behalten mit »$ORIGIN« ................................................. 329

15.8 Vertrauen schaffen mit »DNSSEC« ................................................................... 330

15.8.1 Die Theorie: Wie arbeitet »DNSSEC«? ............................................. 330

15.8.2 Anpassungen am Server ................................................................... 332

15.8.3 Schlüssel erzeugen ............................................................................ 333

15.8.4 Schlüssel der Zone hinzufügen und die Zone signieren ................ 334

15.8.5 Signierte Zone aktivieren .................................................................. 336

15.8.6 Signierung prüfen .............................................................................. 336

15.8.7 Die Signierung veröffentlichen ........................................................ 338

15.8.8 Fazit ..................................................................................................... 338

16 Netzwerkdateisysteme 339

16.1 Welches Vorwissen wird benötigt? .................................................................. 339

16.2 Samba ..................................................................................................................... 340

16.2.1 Installation ......................................................................................... 340

16.2.2 Freigaben ............................................................................................ 341

16.2.3 Allgemeine Freigaben ........................................................................ 341

16.2.4 Persönliche Freigaben ....................................................................... 344

16.3 Network File System (NFS) Version 4 ............................................................... 344

16.3.1 Der NFSv4-Server ............................................................................... 344

16.3.2 Der NFSv4-Client ................................................................................ 347

16.4 Auf die Schnelle: »SSHFS« .................................................................................. 347

16.4.1 Installation: »Client« ......................................................................... 348

16.4.2 Einbinden von Verzeichnissen .......................................................... 348

16.4.3 Automount ......................................................................................... 349

16.4.4 Mögliche Fehler .................................................................................. 349

16.4.5 Fazit ..................................................................................................... 350

14

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 15 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

17 Datenbanken: »SQLite, MySQL, MariaDB und

PostgreSQL« 351

17.1 Allgemeines ........................................................................................................... 351

17.1.1 Begrifflichkeiten ................................................................................. 352

17.1.2 Vergleich ............................................................................................. 353

17.1.3 Welches Vorwissen wird benötigt? .................................................. 354

17.2 Einführung: SQL .................................................................................................... 354

17.2.1 Wie Sie sich einen Überblick verschaffen ........................................ 354

17.2.2 Eine Datenbank anlegen ................................................................... 356

17.2.3 Eine Tabelle anlegen .......................................................................... 357

17.2.4 Daten hinzufügen .............................................................................. 357

17.2.5 Daten verändern ................................................................................ 358

17.2.6 Daten löschen .................................................................................... 358

17.2.7 Eine Tabelle bzw. Datenbank löschen .............................................. 359

17.2.8 Abfragen oder »Wie komme ich an meine Daten?« ....................... 360

17.2.9 Zwischenfazit ..................................................................................... 371

17.3 Der Kleinste: »SQLite« ......................................................................................... 371

17.3.1 Installation ......................................................................................... 372

17.3.2 Eine Datenbank anlegen ................................................................... 372

17.3.3 Mit einer Datenbank arbeiten .......................................................... 373

17.4 Der große Bruder: »MySQL« .............................................................................. 374

17.4.1 Installation ......................................................................................... 375

17.4.2 Grundkonfiguration .......................................................................... 375

17.4.3 Anmeldung am DBMS ....................................................................... 376

17.4.4 Benutzer anlegen und Rechte vergeben .......................................... 377

17.4.5 Backup und Restore ........................................................................... 383

17.5 MySQL komfortabel: »phpMyAdmin« ............................................................. 387

17.5.1 Installation ......................................................................................... 387

17.5.2 Das Webinterface .............................................................................. 389

17.5.3 Daten anzeigen .................................................................................. 390

17.5.4 Abfrage bearbeiten ............................................................................ 391

17.5.5 Fazit ..................................................................................................... 392

17.6 Wirklich Open-Source: »MariaDB« ................................................................... 392

17.6.1 Installation ......................................................................................... 393

17.6.2 Konfiguration ..................................................................................... 393

17.6.3 Dienstkonfiguration .......................................................................... 395

17.6.4 Basis .................................................................................................... 396

15

Page 58: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 16 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

17.6.5 Backup und Restore ........................................................................... 397

17.6.6 MariaDB komfortabel: Ebenfalls mit »phpMyAdmin« .................. 398

17.6.7 Fazit ..................................................................................................... 398

17.7 Ein anderer Ansatz: »PostgreSQL« .................................................................... 398

17.7.1 Installation ......................................................................................... 398

17.7.2 Dienstkonfiguration .......................................................................... 398

17.7.3 Anmeldung am DBMS ....................................................................... 399

17.7.4 Benutzer anlegen ............................................................................... 402

17.7.5 Rechte vergeben ................................................................................. 403

17.7.6 Rechte entziehen ............................................................................... 404

17.7.7 Benutzer entfernen ........................................................................... 404

17.7.8 Logging ............................................................................................... 405

17.7.9 Zugriff von einem entfernten System ............................................. 405

17.7.10 Backup und Restore ........................................................................... 407

17.7.11 PostgreSQL komfortabel: »phpPgAdmin« ....................................... 408

18 Mailserver 413

18.1 Die Basis mit »Postfix« ........................................................................................ 413

18.1.1 Zertifikate besorgen .......................................................................... 415

18.1.2 Benutzer anlegen ............................................................................... 416

18.1.3 SMTP-Grundlagen .............................................................................. 418

18.1.4 Postfix-Grundkonfiguration ............................................................. 420

18.2 Dovecot .................................................................................................................. 421

18.2.1 SASL in Postfix und Dovecot aktivieren ........................................... 423

18.2.2 Submission-Port 587 .......................................................................... 425

18.2.3 TLS in Dovecot aktivieren .................................................................. 428

18.3 Roundcube installieren ....................................................................................... 430

18.3.1 Filter für Roundcube installieren: »Sieve« ....................................... 434

18.3.2 SSL in Apache aktivieren ................................................................... 436

18.4 Antivirus- und Spamfilter: »Amavisd-new«, »ClamAV« und

»SpamAssassin« ................................................................................................... 437

18.4.1 Installation ......................................................................................... 438

18.4.2 ClamAV konfigurieren ....................................................................... 438

18.4.3 »Unofficial-Sigs« für ClamAV installieren ....................................... 439

18.4.4 Amavisd-new konfigurieren ............................................................. 440

18.4.5 Postfix für die Verwendung mit Amavisd-new konfigurieren ...... 446

16

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 17 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

19 Webmin 449

19.1 Die Web-GUI: »Webmin« ................................................................................... 449

19.1.1 Aufklärung .......................................................................................... 450

19.1.2 Aufbau und Arbeitsweise ................................................................. 450

19.1.3 Welches Vorwissen wird benötigt? .................................................. 451

19.2 Vorbereitungen: Von der Installation zum lauffähigen »Webmin« .......... 451

19.2.1 Herunterladen .................................................................................... 451

19.2.2 Installation mit »dpkg« ..................................................................... 452

19.2.3 Abhängigkeiten bequem nachinstallieren ...................................... 452

19.2.4 Die erste Anmeldung ......................................................................... 453

19.2.5 Zusammenfassung ............................................................................ 455

19.3 Benutzer und Module .......................................................................................... 455

19.3.1 Benutzer ............................................................................................. 456

19.3.2 Beispiel-Modul: »Squid Proxy Server« ............................................. 459

19.3.3 Zusammenfassung ............................................................................ 461

19.4 Cluster: »Kurz und gut« ...................................................................................... 461

19.4.1 Partner finden .................................................................................... 461

19.4.2 Befehle auf allen Cluster-Mitgliedern ausführen ........................... 462

19.4.3 Zusammenfassung ............................................................................ 463

19.5 Fazit bis hierher .................................................................................................... 463

19.6 Für Fortgeschrittene ............................................................................................ 463

19.6.1 Module nachinstallieren ................................................................... 463

19.6.2 Module klonen ................................................................................... 464

19.6.3 Systembenutzer zu Webmin-Benutzern machen .......................... 465

19.7 Ausblicke ................................................................................................................ 466

19.7.1 Benutzer- und Gruppenmanagement ............................................. 466

19.7.2 Zentralisiertes Scheduling ................................................................ 467

19.7.3 DNS-Cluster mit »bind9« .................................................................. 467

19.8 Abschließendes Fazit ........................................................................................... 467

20 OpenLDAP 469

20.1 Die Theorie: »Verzeichnisdienst« ...................................................................... 469

20.1.1 Herkunft ............................................................................................. 469

20.1.2 Funktionsweise (X.500) ..................................................................... 470

17

Page 59: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 18 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

20.1.3 Vorüberlegungen ............................................................................... 471

20.1.4 Einsatzgebiete .................................................................................... 471

20.1.5 Zusammenfassung ............................................................................ 472

20.2 Installation und Konfiguration .......................................................................... 472

20.2.1 Welches Vorwissen wird benötigt? .................................................. 472

20.2.2 Programme installieren ..................................................................... 473

20.2.3 Grundkonfiguration .......................................................................... 473

20.2.4 Zusammenfassung ............................................................................ 479

20.3 Aufbau des Baums ............................................................................................... 479

20.3.1 Grundstruktur .................................................................................... 479

20.3.2 Benutzer ............................................................................................. 481

20.3.3 Weitere Daten erfassen oder verändern ......................................... 482

20.3.4 Daten aus dem Baum entfernen ...................................................... 484

20.3.5 Zusammenfassung ............................................................................ 485

20.4 Aufklärung: »Klassen« und »Vererbung« ....................................................... 485

20.5 Das Kernstück – erfolgreich suchen ................................................................. 486

20.5.1 Generelles ........................................................................................... 486

20.5.2 Die einfache Suche mit Filtern ......................................................... 487

20.5.3 Filter mit Wildcard ............................................................................. 488

20.5.4 Und-Verknüpfung .............................................................................. 489

20.5.5 Oder-Verknüpfung ............................................................................. 490

20.5.6 Verschachtelte Filter .......................................................................... 490

20.5.7 Zusammenfassung ............................................................................ 491

20.6 Backup and Restore ............................................................................................. 491

20.6.1 Backup mit »slapcat« ........................................................................ 491

20.6.2 Restore mit »slapadd« ....................................................................... 493

20.7 Tools ........................................................................................................................ 494

20.7.1 Darf es etwas mehr sein? »ldapscripts« .......................................... 494

20.7.2 Umfangreich: »Apache Directory Studio« ....................................... 498

20.8 Fortgeschrittene Konfigurationen .................................................................... 502

20.8.1 Absicherung der Kommunikation mit »TLS« ................................... 502

20.8.2 Systemanmeldung mit LDAP ............................................................ 505

18

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 19 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

21 Web-Proxy mit »squid« 513

21.1 Der Stellvertreter und seine Vorzüge ............................................................... 513

21.2 Die Basis ................................................................................................................. 514

21.2.1 Welches Vorwissen wird benötigt? .................................................. 515

21.2.2 Installation ......................................................................................... 515

21.2.3 Konfiguration ..................................................................................... 515

21.2.4 Clientkonfiguration ........................................................................... 519

21.2.5 Übersichtlichkeit ................................................................................ 520

21.2.6 Zusammenfassung ............................................................................ 521

21.3 Details zu Objekten – »acl« ................................................................................ 521

21.3.1 Definition: »acl« ................................................................................. 521

21.3.2 Objekttypen ........................................................................................ 522

21.3.3 Objektlisten in Dateien ..................................................................... 523

21.3.4 Zusammenfassung ............................................................................ 524

21.4 Details zu Regeln – »http_access« .................................................................... 524

21.4.1 Regeln: »http_access« ....................................................................... 524

21.4.2 Regeltypen .......................................................................................... 525

21.4.3 Negierungen ...................................................................................... 525

21.4.4 Verarbeitung ...................................................................................... 526

21.4.5 Zusammenfassung ............................................................................ 527

21.5 Praktisches Beispiel – Objekte und Regeln im Einsatz ................................. 527

21.5.1 Aufbau und Vorbereitungen ............................................................. 528

21.5.2 Einfaches Regelwerk .......................................................................... 528

21.5.3 Erweitertes Regelwerk: »Server-Einschränkungen« ....................... 529

21.5.4 Komplexes Regelwerk: »Client- und Server-Einschränkungen« .... 530

21.5.5 Erweitertes komplexes Regelwerk: Ȇberlagerung und

Zeitsteuerung« ................................................................................... 532

21.5.6 Zusammenfassung ............................................................................ 533

21.6 Authentifizierung ................................................................................................. 533

21.6.1 Benutzerbasiert ................................................................................. 536

21.6.2 Lokale Basic-Authentifizierung: »basic_ncsa_auth« ..................... 536

21.6.3 Verzeichnisdienst ............................................................................... 538

21.6.4 Windows-Domäne mit »NT Login Manager« abfragen:

»ntlm_auth« ....................................................................................... 538

21.6.5 Windows-Domäne mit Kerberos: »negotiate_kerb_auth« ........... 541

21.6.6 Verzeichnisdienst LDAP: »ldap_auth« ............................................. 545

19

Page 60: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 20 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

21.7 Gruppenprüfung .................................................................................................. 546

21.7.1 Windows-Domäne mit NTLM: »ext_wbinfo_group_acl« ............. 547

21.7.2 Verzeichnisdienst mit LDAP: »ext_ldap_group_acl« ..................... 549

21.8 Cache-Konfiguration ........................................................................................... 550

21.8.1 Cache-Arten: »Hauptspeicher« und »Festplatten« ........................ 550

21.8.2 Hauptspeichercache .......................................................................... 551

21.8.3 Festplattencache ............................................................................... 552

21.8.4 Tuning ................................................................................................. 554

21.9 Weiteres zu Squid ................................................................................................ 555

21.9.1 Mehr Infos: »squid-cgi« .................................................................... 555

21.9.2 Seiten aus dem Cache löschen: »squidclient« ................................ 557

21.9.3 Fehlermeldungen anpassen ............................................................. 559

21.9.4 Ausblicke ............................................................................................. 561

22 Sicherheit 563

22.1 Grundgerüst: »Dienstsicherheit« ..................................................................... 564

22.1.1 Einer für alle – oder besser: »Einer für einen« ................................ 564

22.1.2 Online-Dienste nutzen ...................................................................... 565

22.1.3 Welches Vorwissen wird benötigt? .................................................. 565

22.2 Du nicht: »fail2ban« ............................................................................................ 566

22.2.1 Arbeitsweise ....................................................................................... 566

22.2.2 Installation ......................................................................................... 566

22.2.3 Status .................................................................................................. 567

22.2.4 Konfiguration ..................................................................................... 567

22.2.5 Weitere Dienste schützen: »apache« .............................................. 570

22.2.6 Filter im Detail: »apache« ................................................................. 571

22.2.7 Filter prüfen ........................................................................................ 572

22.2.8 Schlüsseldienst – Sperrung aufheben ............................................. 574

22.2.9 Zusammenfassung ............................................................................ 574

22.3 Abkapselung: »chroot« ....................................................................................... 574

22.3.1 Dienst: »vsftpd« ................................................................................. 575

22.3.2 Konfiguration ..................................................................................... 575

22.4 Selbstabsicherung: »AppArmor« ...................................................................... 577

22.4.1 Status und Betriebsarten .................................................................. 578

22.4.2 Eigene Profile erstellen ...................................................................... 580

20

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 21 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

23 Virtuelles privates Netzwerk mit »OpenVPN« 585

23.1 Allgemeines ........................................................................................................... 586

23.1.1 Der Unterschied zwischen »IPsec« und »OpenVPN« ..................... 586

23.1.2 Authentifizierung .............................................................................. 586

23.1.3 Betriebsart: »tun« oder »tap« .......................................................... 587

23.1.4 Testumfeld .......................................................................................... 588

23.1.5 Welches Vorwissen wird benötigt? .................................................. 589

23.1.6 Server-Installation ............................................................................. 589

23.2 PKI erzeugen: »easy-rsa« .................................................................................... 589

23.2.1 Neue CA erstellen: »make-cadir« ..................................................... 590

23.2.2 Default-Werte festlegen: »vars« ...................................................... 590

23.2.3 CA erstellen: »build-ca« .................................................................... 591

23.2.4 Server-Zertifikat erstellen: »build-key-server« ................................ 593

23.2.5 Client-Zertifikat: »build-key« ............................................................ 595

23.2.6 Diffie-Hellman-Schlüssel erstellen: »build-dh« .............................. 595

23.2.7 TLS-Auth-Schlüssel erstellen: »openvpn« ....................................... 596

23.3 Roadwarrior ........................................................................................................... 597

23.3.1 Server-Konfiguration ......................................................................... 597

23.3.2 OpenVPN mit systemd starten ........................................................ 600

23.3.3 Client-Installation unter Windows 7, 8.1 und 10 ............................. 601

23.3.4 Client-Konfiguration: »Windows« ................................................... 604

23.3.5 Client-Installation: »Ubuntu« ........................................................... 606

23.3.6 Client-Konfiguration: »Ubuntu« ...................................................... 606

23.4 Site-to-site ............................................................................................................. 608

23.4.1 Zertifikate erstellen ........................................................................... 608

23.4.2 Konfigurationen in der Zentrale ....................................................... 609

23.4.3 Konfigurationen in den Zweigstellen .............................................. 610

23.5 Simple-HA .............................................................................................................. 612

23.5.1 DNS-basierte HA ................................................................................ 612

23.5.2 Konfigurierte HA ................................................................................ 612

23.6 Tipps und Tricks .................................................................................................... 614

23.6.1 Der Windows-Installationspfad ....................................................... 614

23.6.2 register-dns ........................................................................................ 614

23.6.3 Auf Wiedersehen: »explicit-exit-notify« ......................................... 614

23.6.4 Modemverbindungen (DSL-Modem/UMTS) ................................... 615

23.6.5 Debugging .......................................................................................... 615

21

Page 61: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 22 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

24 Monitoring – Was ist los? 619

24.1 Die Basis ................................................................................................................. 619

24.1.1 Der Client: »munin-node« ................................................................ 619

24.1.2 Der Server: »munin« .......................................................................... 619

24.1.3 Munin-Node installieren und konfigurieren ................................... 620

24.2 Der Munin-Server ................................................................................................. 623

24.2.1 Webserver (falls nicht vorhanden) installieren ............................... 623

24.2.2 Munin installieren und konfigurieren ............................................. 623

24.2.3 Die Ergebnisse .................................................................................... 625

24.2.4 Fazit ..................................................................................................... 627

25 Alles im Blick mit »ELK« 629

25.1 Allgemeines ........................................................................................................... 629

25.2 Installation und Vorbereitungen ...................................................................... 630

25.2.1 Elasticsearch ....................................................................................... 630

25.2.2 Kibana ................................................................................................. 632

25.2.3 Logstash .............................................................................................. 635

25.2.4 Client-Konfiguration .......................................................................... 639

25.3 Kibana, der erste Blick ......................................................................................... 640

25.4 Filter ........................................................................................................................ 643

25.4.1 Auf der Konsole .................................................................................. 644

25.4.2 Überschüssiges loswerden ............................................................... 646

25.4.3 Filter erweitern: »sshd« .................................................................... 646

25.5 Kibana, Teil 2 ......................................................................................................... 648

25.5.1 Suche speichern ................................................................................. 648

25.5.2 Visualisierung ..................................................................................... 649

25.5.3 Dashboards ........................................................................................ 650

25.6 Weniger Musik, mehr Daten: »Beats« ............................................................. 650

25.6.1 Betriebsart: Direkt oder indirekt? ..................................................... 651

25.6.2 Vorbereitungen .................................................................................. 652

25.6.3 Installation und Konfiguration ......................................................... 652

25.6.4 Fazit ..................................................................................................... 655

22

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 23 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

26 Systemüberwachung: »Icinga« 657

26.1 Das Konzept .......................................................................................................... 657

26.2 Installation ............................................................................................................ 658

26.2.1 Der Monitoring-Server: »icinga2« .................................................... 659

26.2.2 Das Datenbank-Backend: »MySQL« ................................................. 659

26.2.3 Die IDO-Schnittstelle: »icinga2-ido-mysql« .................................... 659

26.2.4 Weboberfläche: »icingaweb2« ......................................................... 661

26.3 Ein erster zaghafter Blick .................................................................................... 669

26.4 Kleiner Theorie-Exkurs ........................................................................................ 669

26.4.1 Aufbau der Konfigurationsdateien .................................................. 671

26.4.2 Arten von Prüfungen ......................................................................... 671

26.5 Alles, was man braucht: »Simple Network Management Protocol« ......... 672

26.5.1 Auf dem Monitoring-Server .............................................................. 673

26.5.2 Auf Netzwerkkomponenten ............................................................. 674

26.5.3 Auf zu prüfenden Servern ................................................................. 674

26.6 Ran an die Arbeit: »Hosts«, »Services« und »Contacts« .............................. 675

26.6.1 Hinzufügen eines »Hosts« ................................................................ 675

26.6.2 Hinzufügen einer Basis-SNMP-Prüfung .......................................... 677

26.6.3 Hinzufügen einer Dienst-Prüfung .................................................... 679

26.7 Benachrichtigungen einrichten ......................................................................... 680

26.7.1 Vorbereitungen .................................................................................. 680

26.7.2 Benutzer anlegen ............................................................................... 681

26.8 Plug-ins .................................................................................................................. 684

26.9 Fazit ......................................................................................................................... 685

27 CUPS – einfach drucken 687

27.1 Einführung ............................................................................................................. 687

27.1.1 Arbeitsweise ....................................................................................... 687

27.2 Die Basis: Installation und Konfiguration ....................................................... 688

27.2.1 Vorbereitungen .................................................................................. 688

27.2.2 Grundkonfiguration .......................................................................... 689

27.3 Die Weboberfläche .............................................................................................. 690

27.3.1 Aufruf .................................................................................................. 690

23

Page 62: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 24 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

27.4 Client-Konfiguration ............................................................................................ 693

27.4.1 Einrichtung unter Linux .................................................................... 693

27.4.2 Freigabe bis Windows 7: »Samba« ................................................... 694

27.4.3 Freigabe für Windows 8, 8.1 und 10 .................................................. 699

28 Ubuntu-Mirror: Pakete nur einmal laden 703

28.1 Die Basis ................................................................................................................. 703

28.1.1 Welches Vorwissen wird benötigt? .................................................. 703

28.2 Der Cache: »approx« und »apt-cacher-ng« .................................................... 704

28.3 Klein, aber fein: »approx« .................................................................................. 704

28.3.1 Benötigtes Paket: »approx« .............................................................. 704

28.3.2 Konfiguration ..................................................................................... 704

28.3.3 Client-Konfiguration .......................................................................... 705

28.3.4 Zusammenfassung ............................................................................ 706

28.4 Für Fortgeschrittene: »apt-cacher-ng« ............................................................ 706

28.4.1 Pakete für »apt-cacher-ng« ............................................................... 706

28.4.2 Konfiguration ..................................................................................... 707

28.4.3 Client-Konfiguration .......................................................................... 708

28.4.4 Details: »Report-HTML« .................................................................... 708

28.4.5 Zusammenfassung ............................................................................ 709

28.5 Der Mirror: »debmirror« ..................................................................................... 709

28.5.1 Pakete für »debmirror« ..................................................................... 709

28.5.2 Welches Vorwissen wird benötigt? .................................................. 709

28.5.3 Konfiguration ..................................................................................... 709

28.5.4 Zusammenfassung ............................................................................ 716

29 Backup heterogener Umgebungen mit »Bacula« 717

29.1 Basiswissen ........................................................................................................... 717

29.1.1 Planung ............................................................................................... 718

29.1.2 Alles in einem: »Bacula« ................................................................... 719

29.1.3 Struktur der Datenablage ................................................................. 720

24

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 25 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

29.1.4 Aufträge und Auftragsplanung ........................................................ 721

29.1.5 Vorhalte- und Verfallszeiten ............................................................. 721

29.1.6 Den Überblick behalten .................................................................... 722

29.2 Installation des Backup-Servers ........................................................................ 722

29.2.1 Vorwissen ........................................................................................... 722

29.2.2 Installation von »Bacula« .................................................................. 723

29.3 Basiskonfiguration des Backup-Servers .......................................................... 726

29.3.1 Konfiguration des »Director« ........................................................... 726

29.3.2 Konfiguration des »Storage Daemon« ............................................ 738

29.3.3 Der erste Client – »File Daemon« auf dem Backup-Server ............ 741

29.3.4 Die Konfiguration fertigstellen, Fehler beseitigen und die erste

Sicherung durchführen ..................................................................... 743

29.3.5 Zusammenfassung ............................................................................ 749

29.4 Sicherung eines Linux-Clients ............................................................................ 750

29.4.1 Installation auf dem Client ............................................................... 750

29.4.2 Konfiguration auf dem Client ........................................................... 750

29.4.3 Konfiguration des Clients auf dem Server ....................................... 752

29.4.4 Sicherung erstellen ............................................................................ 754

29.5 Sicherung von Windows-Clients ....................................................................... 756

29.5.1 Installation auf dem Client ............................................................... 756

29.5.2 Konfiguration auf dem Client ........................................................... 759

29.5.3 Konfiguration des Windows-Clients auf dem Server ..................... 760

29.5.4 Sicherung erstellen ............................................................................ 762

29.6 Nichts vergessen: »FileSet« ................................................................................ 763

29.6.1 Grundlegendes ................................................................................... 763

29.6.2 Klassische Auswahl mit »File« .......................................................... 764

29.6.3 Wildcards und reguläre Ausdrücke .................................................. 766

29.7 Zeitplanung: »Schedule« .................................................................................... 769

29.8 Dienste sichern: »MySQL« .................................................................................. 771

29.9 Dateien wiederherstellen ................................................................................... 775

29.10 Das Bacula-Admin-Tool »bat« ........................................................................... 782

29.10.1 Installation ......................................................................................... 782

29.10.2 Konfiguration ..................................................................................... 782

29.10.3 Ausführen von »bat« ......................................................................... 783

25

Page 63: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 26 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

30 Puppenspieler mit »Ansible« 787

30.1 Grundwissen ......................................................................................................... 787

30.1.1 Begrifflichkeiten ................................................................................. 788

30.2 Installation ............................................................................................................ 789

30.2.1 Einfache Kommandos ....................................................................... 792

30.3 Einmal mit allen bitte: »Rollen« ........................................................................ 792

30.3.1 Repository: »ansible-galaxy« ............................................................ 792

30.3.2 Eigenes Spielbuch erstellen .............................................................. 794

30.4 Ausblick .................................................................................................................. 796

TEIL IV Webdienste

31 Webserver: »Apache« und »Nginx« 801

31.1 Apache .................................................................................................................... 801

31.1.1 Grundinstallation .............................................................................. 801

31.1.2 Ein vollständiger »LAMP-Server« ...................................................... 802

31.1.3 Virtuelle Hosts .................................................................................... 803

31.1.4 Transportverschlüsselung mit SSL/TLS ............................................ 805

31.2 Nginx ...................................................................................................................... 808

31.2.1 Installation ......................................................................................... 808

31.2.2 Virtuelle Hosts mit Nginx: »Server Blocks« ..................................... 809

31.2.3 SSL konfigurieren ............................................................................... 809

31.2.4 Zu einem vollständigen LEMP-Server aufrüsten ............................. 811

31.2.5 Das Protokoll »HTTP/2« aktivieren ................................................... 812

31.3 Nützliches .............................................................................................................. 813

31.3.1 Richtig sicher: »cipher suites« und Co. ............................................ 813

31.3.2 Entropie verbessern ........................................................................... 815

31.3.3 Offizielle Zertifikate mit »Let’s Encrypt« ......................................... 816

31.3.4 Auf Nummer sicher: »HTTPS only« .................................................. 817

31.3.5 Zugriffsschutz .................................................................................... 818

31.3.6 Kleine Helfer ....................................................................................... 820

26

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 27 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

32 Webseiten schneller ausliefern: »Varnish« 823

32.1 Die Basis ................................................................................................................. 823

32.1.1 Welches Vorwissen wird benötigt? .................................................. 823

32.1.2 Vor- und Nachteile ............................................................................. 824

32.1.3 Ein Beispiel für Sie .............................................................................. 825

32.1.4 Installation des Reverse-Proxys ........................................................ 825

32.1.5 Grundlagen zur Konfiguration ......................................................... 825

32.1.6 Die Magie: »VCL« ............................................................................... 828

32.1.7 Ein einfaches Beispiel ........................................................................ 829

32.1.8 Einfaches Beispiel mit Cache ............................................................ 830

32.2 Der Cache von A–Z ............................................................................................... 832

32.2.1 Ausnahmen: »Die guten ins Töpfchen, die schlechten ins

Kröpfchen!« ........................................................................................ 832

32.2.2 Cookies missachten ........................................................................... 834

32.2.3 Grace ................................................................................................... 835

32.2.4 Objekte aus dem Cache entfernen .................................................. 836

32.3 Multi-Server-Setup .............................................................................................. 840

32.3.1 Willkommen in der Manege: »Director« ......................................... 840

32.3.2 Alle gesund? »Probes« ....................................................................... 842

32.3.3 Mehrere Webseiten ........................................................................... 843

32.4 Abgesichert mit »SSL/TLS« ................................................................................. 844

32.4.1 Den Helfer aufs Spielfeld bringen: »Nginx« ................................... 844

32.4.2 Zertifikate erstellen ........................................................................... 845

32.4.3 Konfiguration: »Nginx« ..................................................................... 845

32.4.4 Erster Aufruf ....................................................................................... 846

32.5 Tools und mehr ..................................................................................................... 847

32.5.1 Auslastung: »varnishtop« ................................................................. 847

32.5.2 Histogramm: »varnishhist« .............................................................. 848

32.5.3 Statistiken: »varnishstat« ................................................................. 849

32.5.4 Tuning ................................................................................................. 850

32.5.5 Caching: 10 typische Fehler ............................................................... 851

33 Lastverteilung (Loadbalancing) 855

33.1 Allgemeines ........................................................................................................... 855

33.1.1 Unterschied: »Loadbalancing vs. Reverse-Proxy« ........................... 856

27

Page 64: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 28 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

33.1.2 Welches Vorwissen wird benötigt? .................................................. 856

33.1.3 Begrifflichkeiten ................................................................................. 857

33.1.4 Testumfeld .......................................................................................... 858

33.2 Loadbalancing für Arme: »DNS-Round-Robin« .............................................. 858

33.2.1 DNS-Round-Robin für Webserver ..................................................... 859

33.2.2 Eine Besonderheit des DNS-Round-Robin: »MX« ........................... 859

33.3 Pen .......................................................................................................................... 860

33.3.1 Weitere Einstellungen mit »penctl« ................................................ 860

33.3.2 Pen als Systemdienst ......................................................................... 862

33.3.3 Fazit ..................................................................................................... 863

33.4 Das volle Programm: »HAProxy« ...................................................................... 864

33.4.1 Installation ......................................................................................... 864

33.4.2 Grundlegende Konfiguration ........................................................... 864

33.4.3 Konfiguration für Fortgeschrittene .................................................. 866

33.4.4 Start im Debug-Modus ..................................................................... 872

33.4.5 Fazit ..................................................................................................... 872

34 Web-Anwendungen in Java mit »Apache Tomcat« 873

34.1 Allgemein ............................................................................................................... 873

34.2 Installation und Konfiguration .......................................................................... 874

34.3 Administration mit »manager« und »host-manager« ................................. 875

34.4 Beispielanwendungen ........................................................................................ 877

34.4.1 Anwendung installieren .................................................................... 877

34.5 Sichere Kommunikation mit »SSL/TLS« .......................................................... 878

34.5.1 SSL/TLS mit »NIO« ............................................................................. 879

34.5.2 SSL/TLS mit »APR« ............................................................................. 881

34.5.3 Sicher ist sicher: »HTTPS only« ......................................................... 882

34.5.4 Richtig umleiten – »FQDN« .............................................................. 882

35 Java-Anwendungsserver mit »Wildfly« 883

35.1 Die Basis ................................................................................................................. 883

35.1.1 Welches Vorwissen wird benötigt? .................................................. 884

28

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 29 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

35.2 Installation ............................................................................................................ 884

35.2.1 Der erste Aufruf ................................................................................. 887

35.2.2 Einen neuen Benutzer anlegen ........................................................ 888

35.3 In Betrieb ............................................................................................................... 890

35.4 Anwendung installieren: »WAR« ...................................................................... 890

35.4.1 Vorgeschalteter Reverse-Proxy »Nginx« .......................................... 891

TEIL V Heiter bis wolkig: Cloud-Computing

36 ownCloud – die Dropbox für den eigenen Server 895

36.1 Installation ............................................................................................................ 895

36.1.1 Vorbereitungen: »LAMP« installieren .............................................. 895

36.1.2 ownCloud-Installation ...................................................................... 896

36.1.3 Konfiguration: »MySQL« ................................................................... 896

36.1.4 Konfiguration: »Apache2« ................................................................ 897

36.1.5 Der erste Login ................................................................................... 899

36.2 Dateien hochladen und teilen ........................................................................... 900

36.3 Dateien über den ownCloud-Client synchronisieren .................................... 902

36.3.1 Mobile Endgeräte .............................................................................. 904

37 Ab in den Hafen: »Docker« 907

37.1 Ganz allgemein ..................................................................................................... 907

37.1.1 Architektur und Ablauf ..................................................................... 908

37.1.2 Begriffe ............................................................................................... 910

37.1.3 Kommandos ....................................................................................... 911

37.2 Von der Installation zum ersten Container ..................................................... 912

37.2.1 Startschuss: »run« ............................................................................. 913

37.3 Eigene Images erstellen ...................................................................................... 915

37.3.1 Bauplan erstellen ............................................................................... 915

37.3.2 Image bauen ...................................................................................... 916

37.3.3 Images starten ................................................................................... 916

37.3.4 Wiederbeleben ................................................................................... 917

37.3.5 Zusammenfassung ............................................................................ 918

37.4 Daten dauerhaft speichern und teilen ............................................................. 919

29

Page 65: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 30 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

37.4.1 Vom Host zum Container .................................................................. 919

37.4.2 Volumes .............................................................................................. 919

37.5 Der Hafen: »Registry« ......................................................................................... 921

37.5.1 Online: »Docker-Hub« und »Docker-Store« .................................... 921

37.5.2 Eine eigene »Registry« betreiben ..................................................... 922

37.6 Eins, zwei, drei: »Alle zusammen!« .................................................................. 923

37.6.1 Akt 1: Initialisierung ........................................................................... 924

37.6.2 Akt 2: Eigene HTML-Seite .................................................................. 925

37.6.3 Akt 3: PHP einbinden ......................................................................... 926

37.6.4 Zusammenfassung ............................................................................ 928

38 Rechnen in der Cloud »Amazon Web Services« 931

38.1 Einstieg ................................................................................................................... 931

38.1.1 Begriffe ............................................................................................... 932

38.1.2 Konto erstellen ................................................................................... 932

38.1.3 Anmeldung ......................................................................................... 935

38.2 EC2 ........................................................................................................................... 935

38.2.1 Konfiguration ..................................................................................... 935

38.2.2 SSH-Verbindung aufbauen ............................................................... 941

38.3 Ausblicke ................................................................................................................ 943

38.3.1 Bedenken ............................................................................................ 943

TEIL VI Werkzeugkiste

39 Zuhause: »bash« 947

39.1 Vergangenheit: »history« ................................................................................... 947

39.1.1 Nicht jeden! ........................................................................................ 947

39.1.2 Wieder hervorbringen: »Pfeiltasten« und »Suche« ....................... 948

39.1.3 Das Programm »history« ................................................................... 948

39.1.4 Die Historie synchronisieren ............................................................. 949

39.2 Reguläre Ausdrücke verstehen und anwenden ............................................. 950

39.2.1 Implementierungen .......................................................................... 950

30

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 31 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

39.3 Für Fortgeschrittene: »Expansion« ................................................................... 952

39.3.1 Expansionsschemata ......................................................................... 952

39.4 Umgebungsvariablen .......................................................................................... 958

39.5 Da ist noch mehr .................................................................................................. 959

39.5.1 Spezialparameter ............................................................................... 959

39.5.2 String-Verarbeitung ........................................................................... 959

39.5.3 Lokale Variablen ................................................................................. 960

39.5.4 Typdefinition von Variablen .............................................................. 961

39.5.5 Funktionen ......................................................................................... 962

39.5.6 Abfragen im Griff mit »test« ............................................................ 963

39.6 Tipps und Tricks aus der Praxis .......................................................................... 964

39.6.1 Aufräumkommando .......................................................................... 964

39.6.2 Richtig trennen: »IFS« ....................................................................... 964

39.6.3 Datumsmagie .................................................................................... 965

39.6.4 Laufzeitbestimmung ......................................................................... 966

39.6.5 Testdateien erstellen ......................................................................... 967

39.6.6 Veränderungen beobachten ............................................................. 967

39.6.7 Dateien aus dem Internet laden ...................................................... 968

39.6.8 E-Mails versenden .............................................................................. 968

39.6.9 Interaktive Programme steuern ....................................................... 969

40 Suchen, Finden und Ersetzen 971

40.1 Suchen und Finden im Dateisystem ................................................................. 971

40.1.1 »locate« ............................................................................................... 971

40.1.2 »find« .................................................................................................. 972

40.2 Suchen und Finden in Dateien ........................................................................... 973

40.2.1 Dateien durchsuchen mit »grep« ..................................................... 973

40.2.2 Unscharfes Suchen mit »tre-agrep« ................................................ 974

40.3 Ersetzungen in Dateien ....................................................................................... 975

40.3.1 Zeichenbasiertes Ersetzen mit »sed« .............................................. 975

40.3.2 Zeichenklassen ersetzen und formatieren mit »tr« ....................... 976

40.3.3 Bitte nur eins – Feldsuche ................................................................. 977

40.4 Fazit ......................................................................................................................... 979

31

Page 66: Ubuntu Server 18.04 LTS – Das umfassende Handbuch · Ubuntu Server 18.04 LTS Das umfassende Handbuch wurde von uns so konzipiert, dass Sie es nicht von Anfang bis Ende lesen müssen.

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 32 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

41 Netzwerkdiagnose 981

41.1 Erreichbarkeit ........................................................................................................ 981

41.1.1 Ein Wort der Warnung ...................................................................... 981

41.1.2 Der Klassiker: »Ping« ......................................................................... 982

41.1.3 Weitere Funktionen ........................................................................... 986

41.1.4 Verwandte Programme ..................................................................... 987

41.1.5 Nur im LAN: »arping« ........................................................................ 987

41.2 Der richtige Weg – Routenverfolgung ............................................................. 990

41.2.1 Der Klassiker: »traceroute« ............................................................... 990

41.2.2 Alternativ: »tracepath« ..................................................................... 992

41.2.3 Kontinuierlich mit »My traceroute« ................................................. 993

41.3 Ganz genau – Bit für Bit: »Sniffer« ................................................................... 994

41.3.1 Der Klassiker: »tcpdump« ................................................................. 994

41.3.2 Moderner: »tshark« ........................................................................... 999

41.4 Wissen, was läuft ................................................................................................. 1000

41.4.1 Auf dem Server: »netstat« ................................................................ 1000

41.4.2 Im Netzwerk: »nmap« ....................................................................... 1001

41.5 Übersicht behalten: »ethstatus«, »iptraf« und »nmon« ............................. 1003

41.5.1 Einfach und gut: »ethstatus« ........................................................... 1003

41.5.2 Komplex und umfangreich: »iptraf-ng« .......................................... 1004

41.5.3 Der Alleskönner: »nmon« ................................................................. 1007

41.6 Weitere Tools ........................................................................................................ 1009

41.6.1 Subnetzberechnung mit »ipcalc« .................................................... 1009

41.6.2 Informationen zu einem Internetsystem abfragen: »whois« ....... 1011

42 Versionskontrolle mit »Git« 1015

42.1 Das »Einmaleins« der Versionskontrolle ......................................................... 1016

42.1.1 Arbeitsweise ....................................................................................... 1017

42.1.2 Welches Vorwissen wird benötigt? .................................................. 1018

42.2 Das Populärste: »Git« .......................................................................................... 1018

42.2.1 Grundkonfiguration .......................................................................... 1019

42.3 Rein lokal ............................................................................................................... 1021

42.3.1 Erstellen des ersten Repositorys ....................................................... 1021

42.3.2 Dateien versionieren ......................................................................... 1021

32

van Soest – Ubuntu-Server 18.04 LTS – Das umfassende Handbuch Rheinwerk Verlag, ISBN: 978-3-8362-6288-0

Layout: gp.cls, Version 3.5.026 (6th Mai, 2018), (C) Dr. Daniel Lauer, Bonn Mit TEX bearbeitet am 9. Juli 2018, 11:59 Uhr Umlaut-Check: äöüÄÖÜ. Ligaturen: fl fi

S. 33 Einstellungen: ohne Marginalien – ohne Seitenrand – mit Taben – mit Kapitel-Intro – normal breit – Zoom auf 100.0%

Aktuelle Quelldatei: ucsencs.def , Aktueller Job: ubuntu-server

Inhalt

42.3.3 Dateien überprüfen ........................................................................... 1022

42.3.4 Unterschiede anzeigen ..................................................................... 1022

42.3.5 Änderungen aufnehmen .................................................................. 1023

42.3.6 Dateien aus der Versionierung entfernen ....................................... 1024

42.4 Dezentraler Server mit »SSH« ............................................................................ 1024

42.4.1 Vorbereitungen: »Clients« ................................................................ 1024

42.4.2 Vorbereitungen: »Server« ................................................................. 1025

42.4.3 SSH-Schlüssel importieren ................................................................ 1026

42.4.4 Repository erstellen ........................................................................... 1027

42.4.5 Repository laden: »Clients« .............................................................. 1027

42.4.6 Mit dem Repository arbeiten: »Clients« .......................................... 1029

42.4.7 Sicherheit steigern ............................................................................. 1029

42.5 Nur lesend mit »Git« ........................................................................................... 1031

42.5.1 Installation ......................................................................................... 1031

42.5.2 Vorbereitungen .................................................................................. 1031

42.5.3 Dienstkonfiguration .......................................................................... 1032

42.5.4 Clients ................................................................................................. 1032

42.5.5 Fazit ..................................................................................................... 1033

42.6 Nützliches .............................................................................................................. 1033

42.6.1 Den Standard-Texteditor anpassen: »core.editor« ......................... 1034

42.6.2 Vorgabe für Nachrichten: »commit.template« .............................. 1034

42.6.3 Autokorrektur: »help.autocorrect« .................................................. 1035

42.6.4 Exportieren: »git archive« ................................................................. 1036

42.6.5 Dateien ignorieren ............................................................................. 1037

42.6.6 Versionen vergleichen / Änderungen nachvollziehen ................... 1038

42.6.7 Wer hat’s verbockt: »blame« ............................................................ 1040

42.6.8 Und wenn es doch passiert: »Konflikte« ......................................... 1041

Der Autor ............................................................................................................................ 1043

Index .................................................................................................................................... 1045

33