Nachträge und Korrekturen in Kapiteln 3+4
This commit is contained in:
parent
a793ff8a46
commit
2f9f8c35a2
|
@ -1,11 +1,11 @@
|
|||
# 3.1 Installation der Systemumgebung
|
||||
|
||||
Im Seminar an der HAW Hamburg verwenden wir vorinstallierte Linux-Webserver, welche die Hochschule bereitstellt. Wer dieses Skript außerhalb des Seminars nachspielen möchte, muss sich zunächst einen Linux-Webserver auf dem eigenen Rechner installieren. Das funktioniert am einfachsten und am sichersten mit einer Virtualisierungssoftware wie [VirtualBox oder VMware](http://www.pc-magazin.de/vergleich/vmware-virtualbox-virtualisierung-tool-test-gratis-kostenlos-2827888.html).
|
||||
Im Seminar an der HAW Hamburg verwenden wir vorinstallierte Linux-Webserver, welche die Hochschule bereitstellt. Wer dieses Skript außerhalb des Seminars nachspielen möchte, muss sich zunächst einen Linux-Webserver auf dem eigenen Rechner installieren. Das funktioniert am einfachsten und am sichersten mit einer Virtualisierungssoftware wie [VirtualBox oder VMware](http://www.pc-magazin.de/vergleich/vmware-virtualbox-virtualisierung-tool-test-gratis-kostenlos-2827888.html) und ist in etwa 60 Minuten erledigt.
|
||||
|
||||
**Systemvoraussetzungen:**
|
||||
* Computer mit Windows, Mac, Linux oder Solaris
|
||||
* Computer mit Windows, Mac oder Linux
|
||||
* mindestens 1 GB freien Arbeitsspeicher für die virtuelle Maschine
|
||||
* etwa 10 GB freien Speicher für die Festplatte
|
||||
* 20 GB freien Speicher auf der Festplatte
|
||||
* einigermaßen aktuelle CPU mit [Hardware-Unterstützung für Virtualisierung](http://www.sysprobs.com/disable-enable-virtualization-technology-bios) (Intel VT-X, AMD-V)
|
||||
|
||||
## Schritt 1: VirtualBox installieren
|
||||
|
@ -20,15 +20,85 @@ VirtualBox ermöglicht es Ihnen auf ihrem gewohnten Betriebssystem (Windows, Mac
|
|||
|
||||
Normalerweise würden Sie das gewünschte Linux von der offiziellen Webseite herunterladen, eine virtuelle Maschine in Virtualbox einrichten, das Linux installieren und anschließend als Webserver konfigurieren. Um diesen Vorgang zu vereinfachen, können Sie auch eine vorgefertigte virtuelle Maschine aus dem Internet herunterladen. Wie immer gilt dabei, dass Sie dem Anbieter vertrauen müssen, denn er könnte böswillige Änderungen an dem Linux vorgenommen haben. Ein etablierter Anbieter von virtuellen Maschinen (dort "Appliances" genannt) ist [TurnKey Linux](https://www.turnkeylinux.org/). Dort gibt es zahlreiche vorkonfigurierte Webserver zum Download in verschiedenen Formaten, unter anderem für VirtualBox.
|
||||
|
||||
In den weiteren Übungen verwenden wir [Debian](https://de.wikipedia.org/wiki/Debian). Das ist ein Linux, das häufig auf Webservern eingesetzt wird. Die entsprechende Appliance bei Turnkey Linux heißt [Turnkey Core](https://www.turnkeylinux.org/core).
|
||||
In den Übungen in diesem Skript verwenden wir [Debian](https://de.wikipedia.org/wiki/Debian). Das ist ein Linux, das häufig auf Webservern eingesetzt wird. Die entsprechende Appliance bei Turnkey Linux heißt [Turnkey Core](https://www.turnkeylinux.org/core).
|
||||
|
||||
1. Download von TurnKey Core: Laden Sie die Version für virtuelle Maschinen ("VM build") von der Turnkey-Linux-Webseite herunter: https://www.turnkeylinux.org/download?file=turnkey-core-14.1-jessie-amd64.ova
|
||||
2. Starten Sie VirtualBox und folgen Sie der Installationsanleitung von TurnKey Linux: https://www.turnkeylinux.org/docs/installation-appliances-virtualbox-new (nur Schritt 3a)
|
||||
3. Booten Sie die virtuelle Maschine in VirtualBox. Sie werden aufgefordert, ein Passwort zu vergeben und bekommen dann die IP-Adresse des Webservers angezeigt.
|
||||
### 1. Download von TurnKey Core
|
||||
|
||||
TurnKey Linux bringt eine Administrationsoberfläche und eine Kommandozeile mit, die Sie über den Browser aufrufen können:
|
||||
Laden Sie die Version für virtuelle Maschinen ("VM build") von der Turnkey-Linux-Webseite herunter. Direktlink zu Version 14.1: https://www.turnkeylinux.org/download?file=turnkey-core-14.1-jessie-amd64.ova
|
||||
|
||||
https://12.34.56.789:12321/ - System control panel
|
||||
https://12.34.56.789:12320/ - Web based command line terminal
|
||||
### 2. Starten Sie VirtualBox und folgen Sie der Installationsanleitung von TurnKey Linux
|
||||
|
||||
Die *12.34.56.789* müssen Sie durch die IP-Adresse ihres Webservers ersetzen, die beim Start angezeigt wurde. Warnmeldungen des Browsers zu ungültigen SSL-Zertifikaten bitte ignorieren bzw. eine Ausnahmeregelung einrichten.
|
||||
(vgl. Schritt 3a unter https://www.turnkeylinux.org/docs/installation-appliances-virtualbox-new)
|
||||
|
||||
If you've downloaded the default VM build:
|
||||
1. Under the File menu, select Import Appliance.
|
||||
2. Direct the file browser to the OVA file.
|
||||
3. Double click Guest OS Type and select Linux > Ubuntu
|
||||
4. Press Import to create the VM.
|
||||
|
||||
Die folgenden Einstellungen aus der Installationsanleitung nur vornehmen, wenn Sie nicht bereits vorausgewählt sind:
|
||||
|
||||
After you've created the new VM, you'll need to tweak its configuration:
|
||||
1. Settings > System > Processor > Enable PAE/NX
|
||||
2. Settings > Network > Adapter 1 > Attach to: bridged
|
||||
|
||||
Die letzte Einstellung verbindet die virtuelle Maschine über eine "Bridge" mit der Netzwerkverbindung Ihres Computers. Wenn Sie mehrere Netzwerkadapter (z.B. WLAN und Ethernet) haben, dann wählen Sie einen aus. Die Einstellung lässt sich später ändern. Ihr Computer muss per WLAN oder Kabel mit einem lokalen Netzwerk (in der Regel Ihr WLAN-Router zuhause) verbunden sein, bevor Sie fortfahren.
|
||||
|
||||
Nehmen Sie weitere Einstellungen vor, die Sie zu Ihrem Computer passen. Empfehlungen:
|
||||
|
||||
* General/Name: Vergeben Sie einen individuellen Namen
|
||||
* System/Motherboard/Base Memory: Erhöhen Sie den Arbeitsspeicher, wenn Ihr Computer ausreichend freien Arbeitsspeicher zur Verfügung hat. Achtung: In der Regel sollten Sie nicht mehr als die Hälfte des verfügbaren Arbeitsspeichers vergeben, da sonst ggf. nicht mehr genug Speicher für Ihr "normales" Betriebssystem verbleibt! Die Übungen im Kapitel 7 dieses Skripts sind für virtuelle Maschinen mit 4096 MB RAM ausgelegt. Wenn Sie weniger Arbeitsspeicher zuteilen können, dann müssen Sie im Kapitel 7 die Übungen später etwas abwandeln und weniger Daten verarbeiten. Mindestens 1024 MB sollten es aber sein.
|
||||
* System/Motherboard/Processor(s): Auch hier gilt: Je mehr CPUs desto besser, aber nicht mehr als die Hälfte der insgesamt verfügbaren CPUs.
|
||||
|
||||
### 3. Booten Sie die virtuelle Maschine in VirtualBox
|
||||
|
||||
Klicken Sie auf "Start", es öffnet sich ein neues Fenster, in dem der Startvorgang durchläuft (etwa 1 Minute). Dann erscheint ein Bildschirm mit Dialogen:
|
||||
|
||||
* Vergeben Sie ein Passwort.
|
||||
* Die "Hub Services" von TurnKey können Sie überspringen (mit der Tab-Taste können Sie auf "Skip" wechseln).
|
||||
* Die E-Mail-Benachrichtigungen sind sinnvoll, können aber auch übersprungen werden (falls Sie sich registrieren wollen, aber Probleme haben, die @-Taste zu finden... auf einer englischen Tastatur ist es: ```AltGr``` und ```2```).
|
||||
* Die Sicherheitsupdates sollten Sie sofort installieren (und den Neustart bestätigen, wenn Sie dazu aufgefordert werden).
|
||||
|
||||
Nach erfolgtem Neustart bekommen Sie die Adressen angezeigt, unter denen die virtuelle Maschine in Ihrem Netzwerk erreichbar ist. TurnKey Linux bringt eine Administrationsoberfläche und eine Kommandozeile mit, die Sie über den Browser auf Ihrem Computer aufrufen können. Notieren Sie sich die Angaben oder machen Sie einen Screenshot (Menü View / Take Screenshot).
|
||||
|
||||
Wenn der Mauszeiger verschwunden sein sollte, müssen Sie ggf. eine Taste drücken, die unten rechts in der Fußzeile des Fensters angezeigt wird. Diese Taste (z.B. STRG rechts) hebt den Fokus auf dieses Fenster wieder auf, so dass Sie normal in Ihrem Betriebssystem navigieren können.
|
||||
|
||||
Solange das Fenster offen ist, läuft die virtuelle Maschine. Zum Beenden der virtuellen Maschine schließen Sie einfach das Fenster und wählen Sie die zweite Option "Send the shutdown signal". Um die virtuelle Maschine erneut zu starten, wählen Sie den "Start" Button in Virtualbox. Sobald der bekannte Bildschirm mit den Adressen erscheint, ist die virtuelle Maschine erreichbar.
|
||||
|
||||
## Schritt 3: Systemkonfiguration
|
||||
|
||||
Rufen Sie die Web Shell im Browser auf:
|
||||
|
||||
https://192.168.1.1:12320
|
||||
|
||||
Die IP-Adresse 192.168.1.1 durch die Adresse Ihres Webservers ersetzen und Warnmeldungen zum SSL-Zertifikat ignorieren bzw. eine Ausnahmeregelung einrichten.
|
||||
|
||||
Login mit ```root``` und dem von Ihnen während der Installation festgelegten Root-Passwort. Geben Sie dann folgende Befehle ein:
|
||||
|
||||
### 1. Tastaturlayout anpassen
|
||||
|
||||
apt-get install console-data console-setup
|
||||
|
||||
Im Auswahlmenü "Other", dann "German" und nochmal "German" auswählen.
|
||||
|
||||
### 2. Neuen Benutzer einrichten
|
||||
|
||||
Aus Sicherheitsgründen sollte nicht mit dem Benutzer ```root``` gearbeitet werden, weil dieser uneingeschränkte Berechtigungen auf dem System hat. Wir richten daher einen neuen Nutzer ein:
|
||||
|
||||
adduser name
|
||||
|
||||
```name``` durch einen Namen ihrer Wahl ersetzen (ein Wort und besser in Kleinschreibung). Sie werden dann aufgefordert ein Passwort zu vergeben. Die Abfragen nach weiteren Informationen können Sie jeweils leer lassen und mit ENTER bestätigen.
|
||||
|
||||
Für die Übungen im Skript werden später manchmal Administrator-Berechtigungen benötigt, daher installieren wir das Paket [sudo](https://wiki.ubuntuusers.de/sudo/) und fügen den gerade hinzugefügten Nutzer der Gruppe der Administratoren hinzu.
|
||||
|
||||
apt-get install sudo
|
||||
adduser name sudo
|
||||
|
||||
```name``` wieder durch den gewählten Namen ersetzen.
|
||||
|
||||
|
||||
### 3. Neustart
|
||||
|
||||
reboot
|
||||
|
||||
Sobald der Server neu gestartet ist (etwa 30 Sekunden), sollte ein "Connect" Button in der Web Shell erscheinen, mit dem eine neue Verbindung hergestellt werden kann. Jetzt kann der Login mit dem gerade neu angelegten Benutzer erfolgen und es sollte das neue Tastaturlayout eingestellt sein (Test z.B. mit @-Taste). Die Verbindung der Web Shell beenden Sie mit dem Befehl ```exit```.
|
|
@ -1,14 +1,17 @@
|
|||
# 3.2 Einführung in die Linux Konsole
|
||||
|
||||
Wer Webserver administrieren möchte, der kommt an der [Kommandozeile](https://de.wikipedia.org/wiki/Kommandozeile) von Linux nicht vorbei. In Textform lassen sich Server einfach sicherer und schneller steuern als über grafische Oberflächen.
|
||||
Wer Webserver administrieren möchte, der kommt an der [Kommandozeile](https://de.wikipedia.org/wiki/Kommandozeile) von Linux nicht vorbei. In Textform lassen sich Server einfach sicherer und schneller steuern als über grafische Oberflächen. Das sieht dann zum Beispiel so aus:
|
||||
|
||||
![](images/putty2.png)
|
||||
|
||||
Bevor wir in Kapitel 3.3 in die praktischen Übungen einsteigen, hier ein paar Literaturtipps vorab:
|
||||
|
||||
Eine gute Einführung in die Linux-Kommandozeile bietet [http://linuxcommand.org](http://linuxcommand.org) von William E. Shotts, der auch ein kostenfreies [540-Seiten-Buch](http://linuxcommand.org/tlcl.php) darüber geschrieben hat.
|
||||
|
||||
Es gibt sehr viele praktische kleine Programme auf der Kommandozeile. Zur Übersicht eignet sich daher ein Spickzettel ("Cheatsheet") sehr gut. Ein Beispiel für die unzähligen Cheatsheets: [http://cheatsheetworld.com/programming/unix-linux-cheat-sheet/](http://cheatsheetworld.com/programming/unix-linux-cheat-sheet/).
|
||||
|
||||
Nicht vergessen werden sollte, dass ein Linux-Server im Internet trotz der guten Sicherheitsarchitektur von Linux ein beliebtes Angriffsziel darstellt und missbraucht werden könnte. Auch bei Linux werden regelmäßig neue Sicherheitslücken und Einfallstore aufgedeckt. Es wäre daher keine gute Idee, einen Server ohne Updates und Überwachung monatelang im Internet herumdümpeln zu lassen. Wer einen Server dauerhaft im Netz belassen möchte, sollte weitere Vorkehrungen treffen. Hier ein paar Einsteigertipps:
|
||||
|
||||
* https://developer-blog.net/10-tipps-wie-man-seinen-server-absichert/
|
||||
* https://www.thomas-krenn.com/de/wiki/Absicherung_eines_Debian_Servers
|
||||
* https://plusbryan.com/my-first-5-minutes-on-a-server-or-essential-security-for-linux-servers
|
|
@ -1,8 +1,9 @@
|
|||
# 3.3 Verbinden mit dem Server über SSH
|
||||
|
||||
In diesem Seminar verbinden wir uns von unseren Rechnern (auf denen z.B. Windows läuft) mit dem Linux-Server. Für die Verbindung nutzen wir das SSH-Protokoll, damit die Verbindung vollständig verschlüsselt wird. Wenn wir uns über SSH mit dem Linux-Server verbinden, dann bekommen wir die Kommandozeile von Linux angezeigt und können auf dem Linux-Server arbeiten, als wir ob direkt davor sitzen.
|
||||
In diesem Seminar verbinden wir uns von unseren Rechnern (auf denen z.B. Windows läuft) mit dem Linux-Webserver. Für die Verbindung nutzen wir das SSH-Protokoll, damit die Verbindung vollständig verschlüsselt wird. Wenn wir uns über SSH mit dem Linux-Webserver verbinden, dann bekommen wir die Kommandozeile von Linux angezeigt und können auf dem Linux-Webserver arbeiten, als wir ob direkt davor sitzen.
|
||||
|
||||
## Schritt 1: Verbinden
|
||||
|
||||
### mit Windows
|
||||
Verbinden mit dem Server über SSH-Protokoll mit der kleinen Software [Putty](http://www.putty.org):
|
||||
* putty.exe von http://www.putty.org herunterladen und ausführen
|
||||
|
@ -22,9 +23,16 @@ Verbinden mit dem Server über SSH-Protokoll mit der kleinen Software [Putty](ht
|
|||
* ssh *user*@*ip* (Beispiel: ```ssh felix@192.168.1.1```)
|
||||
* siehe auch: http://macs-moritz.com/ssh-verbindung-via-terminal-unter-mac-os-x
|
||||
|
||||
### über die Weboberfläche von TurnKey Core
|
||||
Wenn Sie in Schritt 3.1 Turnkey Core installiert haben, dann können Sie auch das Web-Terminal aufrufen. Beispiel: https://192.168.1.1:12320 (192.168.1.1 durch die IP-Adresse ersetzen)
|
||||
### über die Web Shell von TurnKey Core
|
||||
Wenn Sie in Schritt 3.1 TurnKey Core installiert haben, dann können Sie in den folgenden Übungen auch die bekannte Web Shell aufrufen:
|
||||
|
||||
https://192.168.1.1:12320
|
||||
|
||||
192.168.1.1 durch die IP-Adresse ersetzen und Warnmeldung zu ungültigen SSL-Zertifikatswarnung ingnorieren bzw. Ausnahmeregelung einrichten.
|
||||
|
||||
Im Firefox-Browser gibt es Schwierigkeiten einige Sonderzeichen wie ```|``` einzugeben. Verwenden Sie bei Bedarf stattdessen den Chrome-Browser.
|
||||
|
||||
## Schritt 2: Neues Passwort setzen
|
||||
1. Sicheres Passwort unter http://passwordsgenerator.net/ generieren (Empfehlung: Checkbox "Exclude Ambiguous Characters" aktivieren, das macht es leichter das Passwort einzutippen)
|
||||
|
||||
1. Sicheres Passwort unter http://passwordsgenerator.net generieren (Empfehlung: Checkbox "Exclude Ambiguous Characters" aktivieren, das macht es leichter das Passwort einzutippen)
|
||||
2. Passwort setzen mit dem Befehl ```passwd```
|
|
@ -18,7 +18,7 @@ Welche Linux-Kommandos liefern die Antworten auf die folgenden Fragen? Ein Teil
|
|||
Lösung: {%s%}free -h{%ends%}
|
||||
|
||||
### 2. Wieviel Festplattenspeicher ist auf dem System frei?
|
||||
Lösung: {%s%}df -H{%ends%}
|
||||
Lösung: {%s%}df -h{%ends%}
|
||||
|
||||
### 3. Welche(r) Prozessor(en) stehen dem System zur Verfügung?
|
||||
Lösung: {%s%}lscpu{%ends%}
|
||||
|
@ -42,5 +42,4 @@ Lösung:
|
|||
|
||||
### 8. Welche Netzwerkverbindungen sind gerade aktiv?
|
||||
Lösung:
|
||||
* {%s%}netstat -i{%ends%}
|
||||
* {%s%}netstat -r{%ends%}
|
||||
* {%s%}netstat{%ends%}
|
|
@ -7,4 +7,3 @@
|
|||
|
||||
## Schritt 2: Anzeige von Dateien mit cat
|
||||
* ```cat readme.txt```
|
||||
* ... mit Bildschirmseiten für größere Dateien: ```cat readme.txt | less```
|
|
@ -1,11 +1,16 @@
|
|||
# 3.6 Übung: Text durchsuchen und Wörter zählen
|
||||
|
||||
## Schritt 1: "War and Peace" von Leo Tolstoy herunterladen
|
||||
## Schritt 1: "War and Peace" von Leo Tolstoy herunterladen und anzeigen
|
||||
* ```curl http://www.gutenberg.org/files/2600/2600-0.txt > war_and_peace.txt```
|
||||
* ```cat war_and_peace.txt | less```
|
||||
|
||||
Der Anhang ```| less``` am zweiten Befehl zeigt den Text so an, dass Sie mit den Pfeiltasten scrollen können. Beenden können Sie die Ansicht mit der Taste ```q```.
|
||||
|
||||
## Schritt 2: Zeilen, Wörter und Zeichen zählen mit wc
|
||||
* ```wc war_and_peace.txt```
|
||||
|
||||
Die drei Nummern sind Zeilen, Wörter und Zeichen (in dieser Reihenfolge).
|
||||
|
||||
## Schritt 3: Suche nach Vorkommnissen der Wörter "war" and "peace"
|
||||
* ```cat war_and_peace.txt | grep -i -ow war | wc```
|
||||
* ```cat war_and_peace.txt | grep -i -ow peace | wc```
|
||||
|
|
|
@ -51,6 +51,7 @@ Vergleich picaxml mit marcmxl/dc/mods:
|
|||
* picaxml vs. mods: {%s%}diff -u 834422018.picaxml.strip 834422018.mods.strip{%ends%}
|
||||
|
||||
Grafischer Vergleich picaxml mit marcxml/dc/mods:
|
||||
* Installation vim: {%s%}sudo apt-get install vim{%ends%}
|
||||
* picaxml vs. marcxml: {%s%}vimdiff 834422018.picaxml.strip 834422018.marcxml.strip{%ends%}
|
||||
* picaxml vs. dc: {%s%}vimdiff 834422018.picaxml.strip 834422018.dc.strip{%ends%}
|
||||
* picaxml vs. mods: {%s%}vimdiff 834422018.picaxml.strip 834422018.mods.strip{%ends%}
|
||||
|
|
|
@ -224,7 +224,7 @@ Das Script benötigt für einen Komplettdurchlauf etwa 6 Stunden. Sie werden als
|
|||
## Lösung
|
||||
|
||||
(1) Prüfung Dateigrößen:
|
||||
* a) alle: {%s%}du -h{%ends%}
|
||||
* a) alle: {%s%}du -a -h{%ends%}
|
||||
* b) die kleinste(n): {%s%}ls -1 -s -S{%ends%}
|
||||
* c) Auffälligkeiten: {%s%}achten Sie auf kleine und gleiche Dateigrößen, ebenfalls mit ls -1 -s -S{%ends%}
|
||||
|
||||
|
@ -235,4 +235,4 @@ Das Script benötigt für einen Komplettdurchlauf etwa 6 Stunden. Sie werden als
|
|||
(3) Dubletten ausgeben:
|
||||
* a) welche: ```grep -h "<controlfield tag=\"001\">" *.marcxml | sed 's/<[^>]*>//g; s/^ *//' | uniq -D```
|
||||
* b) wieviele: ```grep -h "<controlfield tag=\"001\">" *.marcxml | sed 's/<[^>]*>//g; s/^ *//' | uniq -c -d```
|
||||
* c) wo: ```grep -h "<controlfield tag=\"001\">" *.marcxml | sed 's/<[^>]*>//g; s/^ *//' | uniq -D | grep -f - *.```
|
||||
* c) wo: ```grep -h "<controlfield tag=\"001\">" *.marcxml | sed 's/<[^>]*>//g; s/^ *//' | uniq -D | grep -f - *```
|
Loading…
Reference in New Issue