Startseite
Datenbanken (mySQL, SQL, etc.)
Mailserver
Shell
Archivierung (tar) und Komprimierung (compress, gzip)
Daten per SSH versenden
grub - Der neue Bootloader
Konfiguration des Bootloaders GRUB Gentoo Linux
Spiegeln von Internetseiten - wget
Sicherheit
Verschiedenes
Webserver
Suche



Ausdruck von: fsub.schule.de/wissen/programm/ggrub.htm

grub__-__Der_neue_Bootloader_-_fsub.schule.de.pdf   49 K

grub - Der neue Bootloader

Zitat von http://fsub.schule.de/wissen/programm/ggrub.htm

Die offizielle Anleitung zu grub (info grub) ist sehr ausführlich, setzt aber ein Grundverständnis der Materie voraus. Wer in der Materie steckt und für die anderen schreibt, merkt oft nicht, dass kleine aber entscheidende Angaben fehlen. Zum Beispiel, mit welcher Taste man beim Start vom grub-Menü (=Auswahlmöglichkeiten) zur leistungsstarken grub-Kommandozeile (=Eingabemöglichkeit) wechseln kann.
Diese Zeilen sind nur ein kleiner Einstieg, geboren aus dem Kampf, DOS - das auf der dritten Festplatte lag - aus dem grub-Menü heraus starten zu können. Die von yast2 eingerichtete Lösung funktionierte nicht. Die weiteren Hinweise in den Anleitungen (LILO nach Maß (AdminHandbuch 8.1, S.100) und info grub (Booting: ->OS-specific_Issues: ->DOS/Windows)) führten nicht zum gewünschten Erfolg.
Hinweis: Ein Linkliste zu grub finden Sie auf unserem Server unter
InternetFundstellen (Links) ->Systemsoftware ->grub
Grundsätzliches zum Start eines Betriebssystems
Um einen Computer in Betrieb zu nehmen, muss ein Betriebssystem geladen werden. Diese Aufgabe übernehmt ein Ladeprogramm, das man Bootloader nennt.
Da Betriebssysteme unterschiedlich sind, benötigt jedes Betriebssystem ein eigenes Ladeprogramm. Aus diesem und aus anderen Gründen kann man einen Computer nicht so konstruieren, das mit dem Einschalten ein bestimmtes Ladeprogramm aktiv wird.
Das erste Programm, das beim Einschalten des Rechners aktiv wird, ist das sogenannte Basic Input-Output-System, kurz BIOS genannt.
Das BIOS erwartet im ersten Sektor eines Speichermediums (Diskette, CD-ROM oder Festplatte) ein Ladeprogramm.
Im Umgebungsspeicher des BIOS kann eingestellt werden, in welcher Reihenfolge die Speichermedien angesprochen werden sollen.
Das Hauptproblem beim Laden eines Betriebssystems ist, dass das Ladeprogramm wissen muss, wie bei einem speziellen Betriebssystem die Speicherung der Dateien organisiert (= Typ des Dateisystems).
Grundsätzliches zu grub
grub ist ein internationales Projekt, dass die Voraussetzungen dafür schaffen will, dass in Zukunft mit einem Bootloader wie grub alle Betriebssysteme direkt, ohne eigenes Ladeprogramm geladen und gestartet werden können.
grub muss daher lernen, wie die Dateisysteme der unterschiedlichen Betriebssysteme organisiert sind.
Für die Fälle, in denen grup (noch) Nichts über den speziellen Dateityp eines Betriebssystem weiß, muss grub in der Lage sein, den speziellen Bootloader dieses Betriebssystems zu laden, damit dieser Bootloader dann die Arbeit übernehmen kann, das gewünschte Betriebssystem zu laden.
Wenn ein Bootloader einen weiteren Bootloader lädt, dann spricht man vom "Ketten-Laden", chain-loading.
Zur Zeit (SuSE-Linux 9.0) kennt grub folgende Dateisysteme:
...
Oben wurde bereits erwähnt, dass das BIOS im ersten Sektor eines Speichermediums ein Ladeprogramm erwartet. Für ein leistungsfähiges Ladeprogramm ist dieser Platz viel zu klein, zumal am Ende dieses Sektors auch noch die Partitionstabelle und die beiden BootPartitionsBytes (BPB) untergebracht sind. (Die BootPartitionsBytes "55 AA" identifizieren diesen Sektor als vom Typ "Bootsektor".) Aber es gibt eine einfache Lösung:
grub besteht aus zwei Teilen, stage1 und stage2.
stage1 wird in diesen ersten Sektor des ersten Zylinders hineingeschrieben und
stage2 dann in die weiteren Sektoren dieses ersten Zylinders eines Speichermediums. (Diese weiteren Sektoren werden traditionell von Betriebssystemen nicht genutzt.)
Der Ablauf ist nun ganz einfach:
Das BIOS lädt und startet stage1.
Und stage1 sorgt dann dafür, dass das eigentliche grub, nämlich stage2 geladen und gestartet wird.
Nun haben Sie grub zur Verfügung, ein sehr flexibles Programm mit einer Vielfalt von Befehlen, um das gewünschte Betriebssystem so zu starten, wie Sie es für nötig halten.
Zum besseren Verständnis: Wenn Sie es gewohnt sind, dass Sie den Rechner einschalten und er lädt und startet so ganz automatisch ohne weiteres Zutun das Betriebssystem, dann hatten Sie bis jetzt nur ein Betriebssystem.
Wenn aber das eine oder das andere oder gar noch ein drittes Betriebssystem, vielleicht von der Diskette oder von der dritten Festplatte geladen werden soll, dann sind mehrere Maßnahmen notwendig. Deshalb ist grub ein Programm, das selber wieder über Kommandos gesteuert werden kann.
Der Umgang mit grub
Um ein Betriebssystem mit Hilfe von grub zu starten, sind also im allgemeinen mehrere Befehle notwendig:
  • Sie können diese Befehle einzeln von Hand über die grub-Kommandozeile eingeben.
  • Im allgemeinen werden Sie aber das grub-Menü benutzen, dass Sie sich allerdings erst einmal selbst zurecht zimmern müssen.
    Für jedes Betriebssystem, dass Sie laden können möchten, muss es einen MenüEintrag geben.
    Unter diesem MenüEintrag sind die Kommandos hinterlegt, die notwendig sind, um das gewünschte Betriebssystem zu laden und zu starten.
    Bei dieser Arbeit hilft Ihnen zum Beispiel yast2 von SuSE. Das Ergebnis dieser Bemühungen ist die Datei menu.lst, die Sie dann im Verzeichnis /boot/grub finden.
    Sie können die Datei menu.lst auch von Hand editieren. Manchmal müssen Sie dies sogar.
    Und Sie können die hinterlegten Kommandos auch beim Start noch - vor der eigentlichen Ausführung - editieren. Das gibt Ihnen die Möglichkeit zu experimentieren, wenn einmal etwas nicht klappt.
  • Bei der Installation von grub im Startbereich des von Ihnen gewünschten Mediums (Diskette oder Festplatte), wird unter anderem angegeben, wo die Datei menu.lst zu finden ist.
    Mit welchen Optionen und Informationen grub installiert wurde, können Sie in der Datei /etc/grub.config finden:
    root (hd0,1)
    install --stage2=/boot/grub/stage2 /boot/grub/stage1 d (fd0) /boot/grub/stage2 0x8000 (hd0,1)/boot/grub/menu.lst
    quit

    Sie können erkennen,
    dass das Stammverzeichnis root auf der ersten Festplatte (hd0) in der zweiten Partition (hd0,1) zu finden ist. (Die erste Partition ist (hd0,0).)
    dass grub auf der Diskette installiert werden soll [d (fd0)] und
    dass grub beim Start des Rechners die Datei menu.lst auf der ersten Festplatte in der zweiten Partition im Verzeichnis /boot/grub suchen soll [(hd0,1)/boot/grub/menu.lst].
    Wichtig zu wissen: grub richtet sich in der Bezeichnung der Festplatten nach der Reihenfolge, die das BIOS setzt. Und das BIOS richtet sich nach der Boot-Reihenfolge, nicht nach der physikalischen.
    Wenn Sie also Ihre Slave-Festplatte zum Boot-Laufwerk machen, dann ist das - in der BIOS-Sprechweise - 0x80 (0x = hexadezimal 80) und somit in grub hd0.
    Das heißt:
    Wenn Sie Ihre Bootreihenfolge ändern, dann müssen Sie eine neue grub-Bootdiskette erstellen.
    Auch etwas überraschend vielleicht hd steht bei grub für HardDisk, ganz gleich ob es eine SCSI-Festplatte (sonst: sda, sdb, ... ) ist oder eine IDE-Festplatte (sonst: hda, hdb, ... )
    Einzelne Problem beim Start mit grub
  • Um zwischen grub-Menü und grub-Kommandozeile hin- und herzuschalten, drücken Sie die Taste .
  • Das System bleibt hängen und nur der Text GRUB ist auf dem Bildschirm zu sehen, wenn die in meinem BIOS eingestellte Bootreihenfolge nicht stimmt:
    Wenn grub auf der Diskette für (hd0) eingerichtet, dann muss im BIOS diese Festplatte auch die erste sein (0x80).
    Vertauschen Sie die Bootreihenfolge entsprechend, zum Beispiel die IDE-Festplatten vor den SCSI-Festplatten.
  • Der von yast (SuSE-Linux 8.1) erzeugte Menüpunkt für DOS sieht folgendermaßen aus:
        title dos
    root (hd2,0)
    makeactive
    chainloader +1

    Dieses Abfolge von Kommandos führt nicht zum Laden von DOS. Die im Vorspann erwähnten Hinweise, woran das liegen könnte, führen auch nicht zum Erfolg. Man experimentiert und erhält alle möglichen Fehlermeldungen, die aber für die Lösung des Problems nicht hilfreich sind. Die Lösung, die funktioniert, ist einfach:
        title dos
    map (hd2) (hd0)
    root (hd2,0)
    makeactive
    chainloader +1

    Diese und nur diese zusätzliche Zeile: map (hd2) (hd0) bringt den Erfolg.
    Man darf weder die Reihenfolge dieser beiden Festplattenangaben verändern,
    noch die zweite Zeile map (hd0)(hd2) hinzufügen, wie in den Anleitungen angegeben.
    Auch darf man root (hd2,0) nicht verändern zu root (hd0,0), wie in den Anleitungen vermerkt.
    DOS will glauben, dass die Festplatte, von der es gebootet wird, die erste ist. Das erreicht man scheinbar durch das Kommando map (hd2) (hd0). Das heißt aber nicht, so muss man annehmen, dass die Zuordnung der Festplatten wirklich vertauscht worden ist.
  • grub einrichten
    grub lässt sich sowohl im Startbereich einer Festplatte als auch im Startbereich einer Diskette einrichten. Das Booten von Diskette ist unwesentlich langsamer. Um auf der sicheren Seite zu sein, empfiehlt es sich daher, Bootdisketten zu verwenden.
    Für das Erstellen von Bootdisketten gibt es mehrere Möglichkeiten
  • Sie benutzen yast2 und lassen sich führen. Hierbei wird grub so eingerichtet, dass sowohl stage2 als auch das Menü von der Festplatte geholt werden. Der Start ist praktisch genauso schnell als wenn grub im Bootsektor einer Festplatte eingerichtet worden wäre.
  • Der angeblich einfachste Weg, um eine Bootdiskette mit Menü zu erstellen, wird unter info grub: ->FAQ: ->How to create a GRUB boot floppy with the menu interface? beschrieben.
    Sie müssen aber vorher die Menü-Datei erstellen. Vielleicht gehen Sie erst den Weg über yast2 und erstellen danach mit Hilfe der nun bereits verhandenen menu.lst diese Diskette als zweite, die auch dann noch funktioniert, wenn Sie zum Beispiel auf (hd0,1) nicht mehr zugreifen können, wo ja die menu.lst der ersten Lösung liegt.
  • Oder Sie wählen den Weg, der unter info grub: ->Installation: ->Creating a GRUB boot floppy beschrieben ist. Das dort genannte Verzeichnis /usr/share/grub/i386-pc heißt unter SuSE-Linux 8.1 /usr/lib/grub.
    Sie erzeugen damit eine reine Bootdiskette ohne Menü. Die Kommandos müssen daher von Hand eingegeben werden.

  •  

    Linkliste

    Zitat von http://www.linuxforen.de/forums/showthread.php?t=136651


    Diese FAQ soll einen groben Überblick über die Seiten und Projekte geben, welche sich mit der Sicherheit unter Linux auseinander setzen.
    Im Idealfall lassen sich Fragen direkt auf diesen Seiten klären, so dass unnötiges Fragen im Forum vermieden werden kann.


    Ursprünglich wurde diese FAQ von cane erstellt, an dieser Stelle ein großes DANKESCHÖN an ihn!


    Vorschläge für neue Links bzw. Anregungen, Meldung toter Verweise etc. bitte als Antwort posten, ich werde diese Vorschläge prüfen und ggf. übernehmen. Die Posts werden dann wieder gelöscht.

    Thomas.



    Allgemeine Informationen
    Allgemeine Informationen, HOWTOs und Anleitungen rund ums Thema Sicherheit.

    Informiert sein
    Sich über aktuelle Sicherheitslücken und neue Angriffstechniken zu informieren ist Pflicht, wenn man sich um die Sicherheit seines Systems sorgt.
    Online-Bücher / Tutorials
    Firewall
    Eine Firewall schützt das System oder ganze Netze vor ungewollten Zugriffen und stellt im Falle von IPTables umfangreiche Möglichkeiten zur Regelung der Zugriffe auf ein System/Netzwerk und viele weitere Optionen zur Verfügung.
    Virenscanner / Rootkit-Erkennung
    Zwar gibt es bisher kaum Viren, welche unter Linux lauffähig sind, jedoch kann ein Scan nie verkehrt sein. Ausserdem lassen sich so wunderbar Windows-Partitionen oder Samba-Shares auf Windows-Viren und -Würmer untersuchen.
    • chkrootkit - Durchsucht das System nach Rootkits.
    • Rootkit Hunter - Sucht nicht nur nach Rootkits auf dem System, sondern auch nach Backdoors und lokalen Sicherheitslücken durch diverse Tests (für nähere Informationen zu den Tests siehe die Projekt-Seite).
    • Was ist ein Rootkit?
    • antivir - Für Workstations sowie Mailserver. Bei privater Nutzung kostenfrei.
    • f-prot - Für Workstations. Bei privater Nutzung kostenfrei.
    • BitDefender - Für Workstations. Bei privater Nutzung als Freeware verfügbar.
    • AVG Antivirus für Linux - Für EMail- und File-Server. Kostenloses Testen ist über eine einmonatige Freischaltung möglich.

    Sicherheitsscanner
    Sicherheitsscanner werden dazu verwendet, Sicherheitslücken im eigenen System zu lokalisieren um sie dann zu schließen. Unterschieden wird zwischen Portscannern und Scannern, welche auch nach bekannten Sicherheitslücken suchen.
    • nmap - Der wohl bekannteste Portscanner.
    • Nessus - Sicherheits-Scanner, sucht nach Schwachstellen auf entfernten Systemen.
    • HOWTO zu Nessus
    • Saint - Sicherheits-Scanner, sucht nach Schwachstellen auf entfernten Systemen.
    • Nikto - Tool zu Scannen von Webserver auf Sicherheitslöcher

    HIDS (Host-based Intrusion Detection System)
    Ein HIDS überwacht die Dateien eines Systems mittels Checksums und warnt den Systemverwalter, wenn Änderungen vorgenommen werden. So lässt sich ein Einbruch zwar nicht verhindern, aber er wird mit hoher Sicherheit erkannt, wenn z.B. Binaries ausgetauscht oder Log-Dateien manipuliert werden.
    NIDS (Network-based Intrusion Detection System)
    Ein NIDS befindet sich entweder auf dem zu überwachenden System oder, was der Regelfall ist, zwischen einem lokalen Netz und einer Verbindung an ein anderes Netz. Alle ankommenden Pakete werden untersucht und ausgewertet. So können korrupte Pakete, Shellcode und bekannte Exploits erkannt und eine Warnung an den Systemverwalter gesendet werden.
    Achtung: NIDS erkennen Angriffe zwar, verhindern diese jedoch nicht! (siehe hierzu IPS)
    IPS (Intrusion Prevention System)
    Ein IPS ist generell das selbe wie ein NIDS, jedoch besitzt es die Fähigkeit, erkannte Angriffe abzuwehren.
    HyIDS (Hybrid Intrusion Detection System)
    Ein HyDS ist eine Kombination von HIDS und NIDS. Durch die vielseitigen Überwachungsmöglichkeiten wird ein hohes Sicherheitsniveau gewährleistet.
    • Prelude - Ein System, weches modular, verteilt, ausgesprochen stabil und performant aufgebaut ist. Es besitzt die Fähigkeit seine Informationen aus vielen Quellen zu beziehen (Snort, honeyd, Nessus Vulnerability Scanner, Samhain, über 30 verschiedene Logs, und viele weitere), was Prelude besonders zuverlässig und flexibel in der Angriffserkennung macht.

    VPN
    Es gibt verschiedene VPN-Lösungen für Linux:
    Verschlüsselung
    Wer sensible Daten speichern oder über unsichere Kanäle austauschen will, sollte seine Daten verschlüsseln, um sie vor ungewollten Blicken zu schützen.
    Sicheres Löschen
    Dass Dateien, wenn sie mittels rm gelöscht werden, noch immer auf der Festlatte liegen und ohne großen Aufwand auszulesen sind, ist mittlerweile den meisten bekannt. Mit Hilfe kleiner Tools ist es jedoch möglich, diese Dateien nicht nur zu löschen, sondern es auch nahezu unmöglich machen, die gelöschten Daten wiederherzustellen.
    • shred - shred ist in den coreutils enthalten
    • wipe

    Schutz vor Spam
    Wer kennt das nicht: Die Mailbox ist voll, jedoch ist keine einzige Mail erwünscht, alles nur Werbung für Potenzpillen. Zwar haben die meisten Mail-Provider einen eigenen Spamschutz, doch auch dort schlüpft die ein oder andere Mail durch. Zeit, sich um eine eigene Lösung zu kümmern.
    Digitale Forensic
    Was tun wen auf dem eigenen Rechner eingebrochen wurde? Digital Forensic Tools erlauben es die Wege des Angreifers nachzuvollziehen und die ausgenutzte Sicherheitslücke offenzulegen.
    Nützliche Helferlein
    Dinge, die einem das Leben leichter machen.
    Linux Distributionen die speziell auf Sicherheit ausgerichtet sind
    Wenn man einen Server betreibt, der stark Angriff-gefährdet ist oder man auch einfach nur auf hohe Sicherheit Wert legt, sollte man keine gewöhnliche Linux-Distribution verwenden, sondern eine für die speziellen Bedürfnisse angepasste und gehärtete Distribution.
    • SmoothWall - Eine Firewall-Distribution, basiert auf GNU/Linux, Besonderheit: Kann auch ohne Linux-Kenntnisse über eine WEB-GUI konfiguriert werden
    • IPCop - Eine Firewall-Distribution
    • Forum zu IPCop
    • Devil Linux - Ausgelegt für Firewalls, Router, Gateways und Server
    • SELinux - Von der NSA entwickelt und in jeglicher Hinsicht auf Sicherheit getrimmt
    • adamantix - Früher Trusted Debian, stammt von Debian an, auf maximale Sicherheit ausgerichtet
    • trustix - Sehr klein und sehr leicht up-zu-daten
    • m0n0wall - Eine Firewall-Distribution, basiert auf FreeBSD, enthält einen Webserver und weitere Utilities

    Systemerweiterungen, die Linux besser absichern
    Diese Systemerweiterungen sind meist Kernel-Patches, welche die Systemsicherheit erhöhen und eine genauere Kontrolle über die Vorgänge im System bieten.
    • rsbac - "rule set based access control" Kernel Erweiterung
    • Openwall
    • grsecurity - Ein komplettes Sicherheitssystem, welches viele Angriffstechniken aushebelt und dem Systemverwalter genaue Kontrolle darüber gibt, wer was darf und welche Resourcen von welchem Prozess benutzt werden dürfen.
    • PAX - Modifiziert die Speicherverwaltung in soweit, dass die meisten Overflow Techniken, jedoch nicht alle, unwirksam werden.


    An dieser FAQ haben mitgewirkt:
    cane, cytrox, RapidMax, m2k1, Thomas Engelke, Spike05, DarkSorcerer, king_of_R&R, Sandmann_32, psy, langalaxy, Andislack, BSM, Nazgul, Hadsche

    Diese FAQ wird verwaltet von:
    Thomas

    Geändert von Thomas (24.01.05 um 20:48 Uhr).