Kategorien
Linux security

Linux: sudo ohne Passwort

Auf dem eigenen Laptop, Raspberry Pi oder Computer ist es verlockend mittels sudo -s als root zu arbeiten um nicht bei jedem aufruf eines Befehls der erhöhte Rechte benötigt das eigene Passwort eingeben zu müssen. Aus diesem Grund zeige ich in dieser einfachen Anleitung aufzuzeigen wie diese Verlockung abzuschwächt werden kann in dem das Passwort nicht immer oder wenigstens nicht bei jedem aufruf eines Befehls eingegeben werden muss.

Die Einstellungen zum Befehl sudo werden in der Datei /etc/sudoers hinterlegt. In dieser Datei kann festgelegt werden welche Benutzer sudo nutzen können, ob bei jedem Aufruf das eigene Passwort eingegeben werden muss und wie in dem Fall verfahren werden soll wenn wenn ein Benutzer ohne das recht zur nutzung versucht erhöhte Rechte zu erlangen.

Die Syntax der Konfiguration der Benutzerrechte erfolgt nach dem folgenden Schema:

user_list host_list=effective_user_list tag_list command_list

Die einzelnen Tele dieser Konfigurationszeile haben die folgenden Bedeutungen:

user_list – Liste der Benutzer oder einen Benutzer-Alisa der bereits zuvor angelegt wurde
host_list – eine Liste der Hostcomputer oder eine Host-Alias auf dem ein Benutzer sudo ausführen kann
effective_user_list – list of users they must be running as or a run as alias.
tag_list – Liste von Eigenschaften wie beispielsweise NOPASSWD.
command_list – Liste von Befehlen die mit sudo ausgeführt werden dürfen

Um einem Benutzer, in meinem Beispiel kuehnel, die Ausführung aller Befehle via sudo ohne die Eingabe eines Passworts zu erlauben öffne ich die „sudoers“ Konfigurationsdatei.:

$ sudo vi /etc/sudoers

Und füge die folgende Zeile ein.:

kuehnel ALL=(ALL) NOPASSWD: ALL

Alternativ kann mit der folgenden Zeile einer Gruppe, in meinem Beispiel der Gruppe sudo, mit dem Prozentzeichen (%) der Zugriff auch ohne die eingabe des Passworts ermöglicht werden.

%sudo ALL=(ALL) NOPASSWD: ALL

Um meinem Benutzer kuehnel ausschließlich die Nutzung eines einzelnen Befehls zu ermöglichen kann die Zeile durch den entsprechenden Befehl ergänzt werden, wie im folgenden Beispiel mit dem Befehl kill.

kuehnel ALL=(ALL) NOPASSWD: /bin/kill

Die folgende Zeile ermöglicht allen Benutzern der Gruppe sys die nutzung des Befehls sudo zu der Ausführung der Befehle kill und rm ohne dafür das Passwort des Benutzers eingeben zu müssen.

%sys ALL=(ALL) NOPASSWD: /bin/kill, /bin/rm

Ich hoffe diese Beispiele reichen aus um eine Vorstellung von den Konfigurations-Optionen zu erhalten. Wenn Du Fragen zu einem Bestimmten Beispiel hast oder Fragen wie Du eine bestimmte Konfiguration erreichen kannst freue ich mich über Deinen Kommentar.

logfile

sudo gibt die Log-Informationen an syslog. Es kann nach wunsch aber auch ein eigenes Logfile schreiben.

Defaults        logfile="/var/log/sudo.log"

Die in der Logdatei gespeicherten Daten können den eigenen anforderungen angepasst werden, zum Beispiel so.:

Defaults        log_host, log_year, logfile="/var/log/sudo.log"

lecture

Hinweis bei der Nutzung von sudo anzeigen.

Es gibt 3 mögliche Konfigurationen:

always – bei jedem Aufruf dem Benutzer den Hinweisen zeigen
once – nur bei der ersten Nutzung den Hinweis anzeigen
never – dem Hinweis niemals anzeigen

Defaults        lecture="always"

Zusätzlich kann festgelegt werden in welcher Datei der Text für den Hinweis hinterlegt ist:

Defaults        lecture_file="/path/to/file"

timeout

Zeitspanne in Minuten nach der das Passwort erneut abgefragt werden soll.

Defaults        env_reset,timestamp_timeout=20
Kategorien
Forensik Linux security

auth.log – Das Logging-Verhalten von Debian Jessie

Bei einer Debian 8 minimal Installation, bezeihungsweise einer minimalen Debian Jessie Installationen erscheint im Verzeichnis /var/log in einigen fällen kein auth.log
Das kein auth.log erstellt wird liegt an dem, in der Minimalinstallation, fehlenden Paket: rsyslog.

Sollte ein auth.log erforderlich sein kann das Paket rsyslog sehr einfach mit dem folgenden Befehl nachinstalliert werden.

apt update
apt install rsyslog

Das Paket rsyslog wird auch bei Virtuellen Servern absichtlich nicht installiert, hierdurch gibt es auf dem Virtuellen Maschinen weniger Festplattenzugriffe was alle Virtuellen Server „beschleunigt“.

Solltest du einen Virtuellen Server betreiben entferne das Logging aller Dienste die Du nicht ubedingt benötigst, das Loggin aller Dienste deren Logdaten Du und nicht auswerten musst und auch das Logging aller Dienste die Du nicht auswerten möchtest.

Jede Information die Du keine oder nur ein sehr eingeschrängt schreiben lässt kann auch nicht gestohlen werden und nicht verloren gehen.
Der freiwillige Verzicht die Daten zu schreiben entspricht nicht nur der im deutschen Datenschutz gebotenen Datensparsamkeit, die nicht geschriebenen Daten belegen natürlich auch keinen Speicherplatz auf der Festplatte und ermöglichen zusätzlich bei Virtuellen Servern das trotz geringer IO-Resourcen einen einigermaßen schnelleren Betrieb der eigenen Dienste auf dem virtuellen Server.

Kategorien
Linux

Audiobuch CD in Audiobuch m4b umwandeln

Ich habe einen sehr kurzen und schnellen Weg gefunden Audiobuch CDs in Autobuch .m4b Dateien unter Linux umzuwanden.

Es sind nur 3 Werkzeuge notwendig die Schnell aufgerufen werden können und einfach verfügbar sind.

1.) abcde
abcde Wandelt eine Audio CD in ein beliebiges Format um. Gut, beliebig ist in diesem Fall das klassische Wave Format.
2.) mplayer
mplayer entfernt die Wave Header um eine saubere pcm Datei für faac um.
3.) faac
faac wandelt die pcm-Datei in eine m4b Datei um.

Befehlsfolge:

abcde -1 -M -N -o wav -d /dev/sr0
mplayer -vc null -vo null -ao pcm:nowaveheader:fast:file=temp.pcm Unknown_Artist-Unknown_Album/Unknown_Album.wav
faac -R 44100 -B 16 -C 2 -X -q 80 -o Hoerbuch.m4b temp.pcm
rm -r Unknown_Artist-Unknown_Album
rm temp.pcm

 

Kategorien
Forensik Linux

Server Benchmark Test from Loteks

Ab dem erleben dieser wird es interessant das Ergebnis eines Benchmarks zu haben um belastbare Zahlen zum vergleich zu haben.

Ein Benchmark? Es gibt für Linux unglaublich viele Benchmark Werkzeuge. Ich möchte kein Benchmark Werkzeugs. Ich möchte nichts großes und ich will nicht herausfinden welches Werkzeug den Parameter misst der mich interessiert.

Ich möchte ein einfachen kleinen Hack der Messen kann was mich interessiert!

Zu diesem Zweck dient dieser Artikel

Dieser Artikel ist ein wenig im Fluss und wird je nach vorliegenden Kommentaren angepasst.

Messen der CPU Geschwindigkeit: (Pi bis zur Stelle 5000 berechnen)

time echo "scale=5000; a(1)*4" | bc -l

Messen der Festplatten Schreibrate:

dd if=/dev/zero of=/test.file bs=1024 count=10240

Messen der Festplatten Leserate:

dd if=/test.file of=/dev/null

Messen der Netzwerkgeschwindigkeit:

wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli
./speedtest-cli

Für alle die Virtuelle Server gemietet haben:
Ja, es ist schade das euer VServer wirklich langsam ist. Lebt damit! Ihr teilt euch die CPU, Netzwerkverbindung und die Festplattenzugriffszeiten mit anderen. Seid sozial und übertreibt es nicht mit den Festplattenzugriffen, die anderen wollen auch mal. Lebt mit den 10MByte lese und Schreibrate!
Wenn es darauf ankommt nutzt doch bitte dedizierte Server!

Kategorien
Forensik Linux

Bitte spielt nicht mit den Logdateien

Vor kurzem durfte ich erleben das Festplatten ohne guten grund voll belegt waren, da Administratoren auf die Idee kamen im Log Verzeichnis die Logfiles zu komprimieren.

Bitte ändert die Dateien im LogVerzeichnis nicht! Der Logrotate Dienst wird die Dateien nicht mehr finden und die Datei bleibt für immer dort liegen.

Um Logfiles zu rotieren benutzt logrotate!

Der Aufruf für das rotieren der Logfiles lautet:

logrotate -f /etc/logrotate.conf
Kategorien
Linux

Die Trinität der Mailserver

Ohne diese werden die Server von anderen EMail Servern im Internet nicht akzeptiert.
Es folgend Fehlermeldungen wie
– 550 inconsistent or no DNS PTR record for IP-ADRESSE
– 550 5.7.1 Sorry, your helo has been denied
– 550 Bad DNS PTR resource record

„A – PTR – EHLO“
Der A-Record einer Subdomain muss auf die IP-Adresse des EMail Servers zeigen.

~$ host example.com
~$ dig -t A example.com

Der PTR (DNS Reverse Eintrag) der IP-Adresse des EMail Servers muss auf diese Subdomain zeigen.

~$ host 1.2.3.4
~$ dig ptr 4.3.2.1.in-addr.arpa

Das EHLO (HELO) des EMail Servers muss die oben genutzte Subdomain zurückgeben.

Bei einer Verbindung via Telnet muss dieser PTR Record im EMail-Banner und in der EHLO Antwort vorhanden sein:

~$ telnet example.com. 25
Trying 1.2.3.4...
Connected to example.com.
Escape character is '^]'.
220 example.com ESMTP MAILServerdienst
ehlo test
250-example.com

Bei meinem EMail Server sieht dies dann wie folgend aus:
Der PTR Record:

~$ dig PTR 163.118.214.85.in-addr.arpa

; <<>> DiG 9.3.4-P1.2 <<>> PTR 163.118.214.85.in-addr.arpa
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27856
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;163.118.214.85.in-addr.arpa.   IN      PTR

;; ANSWER SECTION:
163.118.214.85.in-addr.arpa. 1777 IN    PTR     server.angststalt.de.

;; Query time: 1 msec
;; SERVER: 81.169.163.106#53(81.169.163.106)
;; WHEN: Fri Sep  9 11:21:12 2016
;; MSG SIZE  rcvd: 79

Alternativ via host:

~$ host 85.214.118.163
163.118.214.85.in-addr.arpa domain name pointer server.angststalt.de.

Der A-Record:

~$ dig A mail.angststalt.de.

; <<>> DiG 9.3.4-P1.2 <<>> A mail.angststalt.de.
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31184
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mail.angststalt.de.            IN      A

;; ANSWER SECTION:
mail.angststalt.de.     7157    IN      A       85.214.118.163

;; Query time: 1 msec
;; SERVER: 81.169.163.106#53(81.169.163.106)
;; WHEN: Fri Sep  9 11:20:02 2016
;; MSG SIZE  rcvd: 52

und der EHLO Eintrag des EMail Servers:

~$ telnet server.angststalt.de. 25
Trying 85.214.118.163...
Connected to server.angststalt.de.
Escape character is '^]'.
220 server.angststalt.de ESMTP Postfix
ehlo example.com
250-server.angststalt.de
250-PIPELINING
250-SIZE 20480000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.

 

Kategorien
Linux Postfix

Postfix, maximale größe der EMails festlegen

In Postfix kann die maximale Größe von zu verarbeitenden EMails übder die Konfigurationsvariable „message_size_limit“ festgelegt werden.

Postfix wird alle EMails ablehnen die größer als der festgelegte Wert von „message_size_limit“ ist. Der Vorgabewert von message_size_limit ist 10240000 (nahezu 10 Megabyte).

In der Postfix Konfigurationsdatei wird dieses Limit, zumindest unter debian nicht aufgeführt. Es kann direkt in der Datei /etc/postfix/main.cf, oder mit postconf hinzugefügt werden.

Die aktuelle Einstellung von Postfix kann mit dem folgenden Befehl angezeigt werden:

postconf message_size_limit

Mit der Eingabe von „postconf“, ohne zusätzliche Parameter, wird die gesammte Postfix konfiguration ausgegeben werden. Durch den Zusatz des „message_size_limit“ wird nur diese eine Option ausgegeben. Die ausgabe des obig angegebenen Befehl zeigt die folgende Zeile:

message_size_limit = 10240000

Um den zugewiesenen Wert zu Ändern kann mit der folgenden Eingabe ein abweichender Wert zugewiesen werden. Um herauszufinden kann mit dem folgenden Shellscript eine beliebige anzahl MB in Bytes, die Angabe in der Postconf erfolgt in Bytes, umgerechnet werden.

awk '{$1=$1*1024*1024;printf "%.0f\n",$1}'

Nach der Eingabe auf der Shell zum Beispiel 20 eingeben und Enter drücken, als Ausgabe erfolgt 20971520. (Das Script  im Anschluss mit Strg und C abbrechen) Diesen Wert weisen wir jetzt mit postconf dem message_size_limit zu:

postconf message_size_limit=20971520

Hiermit wird in die letzte Zeile der Datei /etc/postfix/main.cf die Zeichenfolge „message_size_limit=20971520“ angefügt und alle eventuell zuvor in der Dastei vorkommenden Zuweisungen „message_size_limit=“ entfernt.

Im Anschluss muss noch der Dienst Postfix die neue Konfiguration lesen. Dies erfolgt durch die eingabe von:

service postfix reload

Im Anschluss gilt die neue Option und entsprechend größere EMails können angenommen werden.

Kategorien
Forensik Linux security

Alle TCP/UDP Ports prüfen

Ich suchte im Netz eine Möglichkeit in einem Fremden Netzwerk die erlaubten offenen Ports zu entdecken, leider fand ich keine „out of the box“ Lösung im Internet und baute mir die hier dokumentierte Lösung.

Der Netzwerk Computer ist in der folgenden Konfiguration mit meinem Testserver verbunden.:
nmap-netzwerk für den Netzwerkscan
Auf der Laptop Seite hinterlege ich einen neuen SSH Private Key übertrage einen zugehörigen Public aus dem Server in die Datei ~/.ssh/authorized_keys:

ssh-keygen -b 4096
scp ~/.ssh/id_rsa.pub root@:
ssh root@
mkdir ~/.ssh
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub
chmod 600 ~/.ssh/authorized_keys

Auf der zu testenden Seite legte ich mir dieses kleine Shellscript ab, das nach und nach Netcat lokal auf verschiedene Ports lauschen lässt und im Anschluss versucht die Ports von der Serverseite aus zu erreichen.:

#!/bin/bash

COMPUTER="85.214.70.215"
ME=$(/usr/bin/curl http://shortip.de/txt) 1>/dev/null 2>/dev/null

for ((PORT=1; PORT< =65535; PORT++)) do /bin/nc -l $PORT 2>/dev/null &
 ssh root@$COMPUTER -t "/bin/netcat -vv -n -z -w 3 $ME $PORT"
done

Um Netcat an UDP-Ports senden, oder auf UDP Ports lauschen zu lassen kann die Option -u mit angegeben werden.

Diese Methode dauert selbstverständlich ewig und ist nur anwendbar wen wenige Ports zu durchsuchen sind und nicht wie im Beispielscript angegeben alle 65535.

Kategorien
Linux

script: Terminal Sessions aufnehmen

Um eine Terminal Session aufzuzeichnen kann das häufig vorinstallierte „typescript“ verwendet werden. Typescript nimmt alles auf das in einer Terminal Sitzung angezeigt wird. Die Befehle script & scriptreplay zeichnen eine Terminalsitzung auf, und spielen sie auch wieder ab.

Besonders zu empfehlen sind diese beiden Befehle zur Dokumentation oder um dritten eine Anleitung zukommen zu lassen.

Eine Aufnamesitzung kann durch eingabe des folgenden Komandos gestartet werden:

script -ttimefile recordfile

Es wird hierbei in zwei Dateien gesichert.

In die Datei recordfile werden alle Steuerzeichen geschrieben, in die Datei timefile wird ein Zeitindex für die Ausgaben gespeichert.

Nach dem Aufruf von script startet es im Hintergrund, ohne eine Ausgabe im Terminal zu verursachen. Alle folgenden Ausgaben werden aufgezeichnet.

Um die Aufname zu beenden und die Ausgabedateien fertigzustellen reicht ein Druck auf die Tasten [Strg] und D.

Um eine Aufnahme zu einem Späteren Zeitpunkt abzuspielen kann diese wiedergabe , wie im folgenden Beispiel, mit scriptreplay gestartet werden:

scriptreplay -ttimefile recordfile

Aufnahmen von Terminalsitzungen können auch mit fortgeschritteneren Werkzeugen wie ttyrecshelr oder timerec angesfertigt werden. Die Anwendung erfolgt ähnlich, jedoch benötigen diese Werkzeige keine Zeitdatei. Sie speichern die Ausgabe jedoch in einer Binärdatei und sind sehr selten bereits vorinstalliert.

Kategorien
Linux

Dateisystem „nachträglich“ in RAID1 wandeln

Ich wurde im Februar 2015 bei einem erfolglosen Bewerbungsgespräch Zeuge, wie auf einem Arbeitsplatz-Computer das Dateisystem, welches ohne RAID-Verbund eingerichtet wurde, das System auf mittels mdadm in ein RAID 1 umgewandelt werden sollte.

Ich fand die Idee einen Arbeitsplatz Computer nachträglich, scheinbar direkt nach der Neuinstallation auf ein RAID zu verschieben überflüssig und umständlich.
Persönlich nutze ich lieber das Backup des Systems welches in jedem Fall vorhanden ist um nach einer Neuinstallation des Computers mit Einrichtung eines RAID Verbundes, zur Wiederherstellung der Daten.

Als Fingerübung fand ich die Idee jedoch interessant.
In meinen eigenen Überlegung gehe ich davon aus das im Notfall eine solche Nachträgliche Verschiebung der Daten in ein RAID die offline-Zeit eines Systems zugunsten einiger Arbeit und der zusätzlichen Chance das das System unerkannte Schäden enthält, reduziert werden. Daher ziehe ich auch in diesen Fällen eine saubere Neuinstallation vor.

Während des Bewerbungsgesprächs hörte ich nur ein paar Fetzen, ein Mitarbeiter fragte tatsächlich den Leiter seiner Abteilung wie mdadm und die Grub Installation erfolgreich durchzuführen seien. (Nein, es war ein fest eingestellter Mitarbeiter in der Administration, kein Azubi)

Nach nur zwei Versuchen, die beide erfolgreich waren, kann ich guten Gewissens berichten das die Umstellung eines Systems in ein RAID 1 ist tatsächlich so kompliziert nicht ist.

1.) Partitionierung klonen

Nach dem Einbau der zweiten Festplatte muss die Partitionierung der ersten Festplatte auf die neue Festplatte übertragen werden.

Auf der ersten Festplatte befinden sich 3 Partitionen, Boot, Swap und die eigentliche Datenpartition.

Der folgende Befehl liest die Partitionierung der Festplatte /dev/sda aus und schreibt diese auf die Festplatte /dev/sdb.

sfdisk -d /dev/sda | sfdisk /dev/sdb

„sfdisk -d“ gibt die aktuelle Partitionstabelle der Festplatte /dev/sda aus und „sfdisk“, ohne Parameter, nimmt diesen Export und schreibt die Partitionen auf die Festplatte /dev/sdb.
Das die Übertragung der Partitionen erfolgreich war prüfe ich vor dem nächsten Schritt mit Hife der Eingabe von „sfdisk -l /dev/sdb“.

Im Anschluss wechseln wir die Partitions-ID von den für das RAID vorgesehenen Partitionen /dev/sdb1 und /dev/sdb3 auf fd (Linux raid autodetect).
Mit fdisk kann dies über das Kommando t, zum ändern der Partitions-ID, gefolgt von der Nummer der gewünschten Partition, zuerst 1 für die erste Partition später 3 für die dritten Partition, und in Folge die Eingabe der Zeichenfolge fd erfolgen.

fdisk /dev/sdb

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): fd

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): fd

Command (m for help): w
The partition table has been altered!

2.) Raid initialisieren

Anschließend erstellen wir das RAID 1 Arrays mit den neuen Partitionen und „mit fehlendem zweiten Datenträger“.
Hierbei ist missing der Platzhalter für die aktuell fehlenden, da „aktiven“ und mit den Daten des Systems belegten Partitionen. „-l 1“ steht für RAID 1, „-n 2“ dafür daß das RAID 1 aus zwei Datenträgern bestehen wird.
(Bei einer minimal-Debian Installation muss mdadm zuvor mit dem Aufruf „apt install mdadm“ installiert werden.)

# mdadm -C /dev/md0 -l 1 -n 2 missing /dev/sdb1 --metadata=0.90
mdadm: array /dev/md0 started

# mdadm -C /dev/md1 -l 1 -n 2 missing /dev/sdb3
mdadm: Note: this array has metadata at the start and
     may not be suitable as a boot device. If you plan to
     store '/boot' on this device please ensure that
     your boot-loader understamds md/v1.x metadata, or use
     --metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
msads: array /dev/md1 started.

3.) Daten übertragen

Nach dem Anlegen der beiden neuen RAID 1 Arrays erzeuge ich ein ext3-Dateisystem auf den neuen Partitionen und erzeuge die neue swap-Partition.:

mkfs.ext3 /dev/md0
mkfs.ext3 /dev/md1
mkswap /dev/sdb2

Nach dem anlegen des Dateisystems können die Datenträger eingehängt werden…

mount /dev/md1 /mnt
mkdir /mnt/boot
mount /dev/md0 /mnt/boot

…und im Anschluss die Daten auf den neuen Datenträger kopieren:

cp --no-dereference --preserve --recursive --one-file-system / /mnt
cp --no-dereference --preserve --recursive --one-file-system /boot/ /mnt/

4.) RAID ergänzen

Wie bereits im ersten Schritt, werden nun die Partitions-IDs angepasst. Diesmal jedoch für die Festplatte /dev/sda auf welcher zuvor noch unsere Nutzdaten gespeichert waren:

fdisk /dev/sda

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): fd

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): fd

Command (m for help): w
The partition table has been altered!

Im Anschluss muss in der Datei /etc/fstab für / den Eintrag /dev/md0 und für /boot den Eintrag /dev/md1 hinerlegt werden.

Anschließend kann der Computer neu gestartet werden.

Sobald der Grub2 Bootloader erscheint mit der Taste e den Editor für den Booteintrag atarten. In dem Booteintarg die Zeile „linux /vmlinux-3.3 root=UUID=“ in das aktuell verwendete „linux /vmlinux-3.3 root=/dev/md1“ korrigieren und im Anschluss mit F10 den Bootvorgang starten.

Das RAID mit den folgenden beiden Befehlen vervollständigen.:

mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda3

Der erste Aufruf fügt dem RAID Array md0 den Fehlenden Datenträger sda1 hinzu. Nicht schwer zu erraten fügt zweite Aufruf den Datenträger sda3 dem RAID md1 hinzu.

5.) Grub für das neue RAID Installieren

Jetzt abschließend den Grub Bootloader für beide Festplatten konfiguriert und auf diese Installieren.

nur noch die Zeile „GRUB_TERMINAL=console“ in der Datei /etc/default/grub auskommentieren und mit den folgenden Befehlen eine neue Grub Konfiguration schreiben.

grub-mkdevicemap -n
update-grub
grub-install /dev/sda
grub-install /dev/sdb

Jetzt kann der Computer auch mit nur einer einzelnen Festplatte, /dev/sda oder /dev/sdb, erfolgreich starten.