Es gibt viele Situationen, in denen eine auf Linux basierende System
Rescue CD mit einer guten Auswahl an hilfreichen Tools sehr hilfreich sein
kann, z.B. um ein vorhandenes System zu reparieren oder neu zu
installieren, um etwas an der Partitionierung einer Festplatte zu ändern,
um defekte Dateisysteme zu reparieren oder um Server, die man aus der Ferne
administrieren oder neu aufsetzen möchte, von einer solche CD zu
starten.
Da auf Anhieb keine der üblichen System rescue CDs eine Anmeldung via ssh
mit Passwort als root zulässt, habe ich die recht bekannte System Rescue CD
als Grundlage verwendet, um eine solche CD zu erzeugen. Fertige Versionen der
angepassten System Rescue CD können hier heruntergeladen werden. Wird ein System von der
angepassten System Rescue CD gestartet, so ist eine Anmeldung via ssh mit
den folgenden Benutzerdaten möglich, nachdem man die IP Adresse des von der
CD gestarteten Systems ermittelt hat:
- Benutzername: root
- Passwort: geheim
Die folgende Anleitung beschreibt die Schritte, die für die Anpassung der
System Rescue CD nötig waren, falls z.B. eigene weitere Anpassungen an der
CD vorgenommen werden sollen.
Die System Rescue CD bootet standardmäßig mit gestarteten ssh-Daemon, es
ist allerdings kein Kennwort für den root-Benutzer gesetzt. Dies macht eine
Anmeldung von einem entfernten Rechner aus unmöglich. Es ist jedoch ein
Bootparameter vorhanden, der, wenn er denn gesetzt wurde, ein Kennwort für
den root Benutzer auf einen bekannten Wert festlegt. Es muss also die
Bootkonfiguration der System Rescue CD entsprechend angepasst werden, was
auf einem Linux System folgendermaßen durchgeführt werden kann:
- Herunterladen des aktuellen System Rescue CD Images von https://www.system-rescue.org/Download/.
- Mounten des ISO-files in ein Verzeichnis unterhalb von /mnt:
mkdir /mnt/systemrescuecd mount systemrescue-8.03-amd64.iso /mnt/systemrescuecd/
- Kopieren aller Dateien des gemounteten ISO-files in ein temporäres
Verzeichnis, in dem später dann die Anpassungen vorgenommen werden:cp -a /mnt/systemrescuecd/ systemrescuecd-custom
- Wechseln in das temporäre Verzeichnis:
cd systemrescuecd-custom/
- Anpassen der Bootloaderkonfiguration der CD und festlegen der
Bootparameter, die beim Start der CD dass root-Kennwort setzen und
gleichzeitig alle Firewallregeln stoppen. Bei gestarteten Firewallregeln
ist kein Zugriff via ssh möglich, bei nicht gesetzten Kennwort klappt eine
Anmeldung als root über das Netzwerk nicht.Öffnen der Datei sysresccd/boot/syslinux/sysresccd_sys.cfg mit einem
Editor. In der Datei ist folgende zeile zu finden, ggf. mit einer anderen
Versionsnummer, je nach heruntergeladener Version der System Rescue CD:APPEND archisobasedir=sysresccd archisolabel=RESCUE803
Diese zeile wird folgendermaßen angepasst:
APPEND archisobasedir=sysresccd archisolabel=RESCUE803 nofirewall rootpass=geheim
Der Bootparameter nofirewall sorgt dafür, dass beim Start der CD die
Firewallregeln entladen werden, der eintrag rootpass=geheim setzt
das Kennwort für root automatisch auf den Wert geheim. Natürlich kann
das root-Kennwort auf einen anderen und auch komplexeren Wert gesetzt
werden, vorsichtig sollte man mit bestimmten Sonderzeichen sein und diese
ggf. richtig quoten.Anschließend wird die Datei gespeichert und verlassen.
- Nun kann die geänderte Konfiguration mit Hilfe des Tools
genisoimage in ein neues ISO-File namens
systemrescue-8.03-amd64-custom.iso geschrieben werden. Die Bedeutung der
verschiedenen Parameter sind der Manpage zum Tool zu entnehmen:genisoimage -l -R -J -V "RESCUE803" -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o ../systemrescue-8.03-amd64-custom.iso ./
- Die neue ISO-Datei liegt nun außerhalb des temporären
Arbeitsverzeichnisses und kann verwendet werden. - Abschließend wird das temporäre Arbeitsverzeichnis gelöscht und die
ganz zu Beginn der Arbeiten gemountete originale SystemRescueCD
ausgehängt:cd .. rm -r systemrescuecd-custom umount /mnt/systemrescuecd
Viel Spaß mit der Anleitung und beim Bau eigener angepasster System
Rescue CDs!