Alexander (HH): auf /dev/sdb1 wechseln?

Beitrag lesen

Moin Moin!

also habe ich mit cp das ext3 geschrottet???

Ja, vielleicht. e2fsck -f /dev/sdb1 wird es Dir verraten.

ext2/ext3 ist aber deutlich anders strukturiert als FAT, und so weit ich mich erinnere, ist am Anfang des Filesystems noch etwas "Luft", z.B. um dort einen Bootloader wie Grub oder LILO unterzubringen.

Außerdem sind kritische Strukturen (Superblock) bei ext2/ext3 mehrfach auf der Platte verteilt, so dass der Dateisystem-Treiber bei einem Fehler einfach auf einen anderen Superblock wechseln kann.

Merkwürdig. Ich hab doch nur versucht logisch vorzugehen um mir nicht anhören zu müssen ich hätte nichts probiert.

Naja, logisch finde ich das nur sehr bedingt. Ein Blick in die Doku wäre vielleicht hilfreich gewesen.

Mein Problem ist, dass mount -t ext3 /dev/sdb1 /mnt/daten keinerlei Fehlermeldung abgibt.

Nö, weil der Kernel das Dateisystem vermutlich fehlerfrei mounten kann. Vielleicht steht im Kernel-Log ein Hinweis auf einen defekten Superblock am Anfang des Dateisystems. Probier mal dmesg | less direkt nach dem mount-Kommando.

Es ist alles so, wie wenn es funktioniert blos, dass in mnt kein Link auftaucht.

Warum soll da ein Link auftauchen? Und was für einer?

/mnt/daten ist ein Verzeichnis. Mountest Du dort ein Dateisystem, z.B. /dev/sdb1, sind alle bisherigen Inhalte von /mnt/daten (das typischerweise leer ist) nicht mehr erreichbar, stattdessen findest Du dort alle Inhalte des frisch gemounteten Dateisystems, mit der obersten Verzeichnisebene des frisch gemounteten Dateisystems direkt unter /mnt/daten.

Nimm spaßeshalber mal eine Floppy, auf der ein paar nicht zwingend benötigte Dateien drauf sind. mount -t vfat /dev/fd0 /mnt/floppy, dann ls /mnt/floppy, und Du siehst die Daten, die auf der Floppy sind. umount /mnt/floppy und noch einmal ls /mnt/floppy und Du siehst wieder nichts. Noch einmal mount -t vfat /dev/fd0 /mnt/floppy und die Dateien sind wieder da. Dann cp /etc/networks /mnt/floppy/networks.txt, umount /mnt/floppy, warten bis das Laufwerk ruhig ist. Steck die Floppy in einen anderen Rechner oder starte den Rechner mit dem kommerziellen Betriebssystem aus Redmond neu, und bewundere die neue Datei auf der Floppy. Und dann zurück zum Linux, Floppy reinstecken, KEIN mount, sondern stumpf cp /etc/networks /dev/fd0. Warten bis das Laufwerk ruhig ist, Floppy in eine Windows-Kiste stecken und feststellen, dass Windows mit dem Inhalt der Floppy nichts mehr anfangen kann, die Floppy formatieren will. Dateisystem geschrottet.

Wie gesagt, FAT ist sehr anfällig für überschriebene oder defekte Datenblöcke. Mit ausreichend vielen Daten kannst Du auf diese Art aber auch ein ext2/ext3-Dateisystem komplett demolieren.

Übrigens sind normalerweise alle Block-Devices nur für root und die Gruppe disk schreibbar, der Rest der Welt darf sie nicht einmal lesen. Und das, wie Du gerade siehst, aus gutem Grund. Der Grund, warum der Rest der Welt die Block-Devices nicht einmal lesen darf, ist auch ganz einfach. Es ist überhaupt kein Problem, im "User Space" ein Programm zu haben, das ein Dateisystem lesen kann. Und natürlich ist es auch überhaupt kein Problem, in diesem Programm die normalerweise wirksamen Datei- und Verzeichnisattribute komplett zu ignorieren. Schon kann jeder User jede Datei lesen, inklusive /etc/shadow und privaten Dateien anderer User.

Wenn ein Dateisystem aber ganz normal per mount eingehängt wird, gelten die Datei- und Verzeichnisattribute ganz normal, und niemand kann Dinge sehen, die er nicht sehen darf.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".