9
Jul/07
5

USB-Drive mit NTFS und Truecrypt unter openSuSE 10.2

Ich habe mir vor ein paar Tagen eine interessante Aufgabe gestellt: Schreibender Zugriff auf NTFS Dateisysteme unter Linux. Okay, im Nachhinein betrachtet war das ganze unspektakulärer, als ich erwartet hatte. Aber fangen wir am Anfang an…

Ich habe eine USB-Festplatte (WD ), die mir unterwegs treue Dienste leistet. Die USB-Festplatte ist mit NTFS formatiert. Auf der Festplatte liegt ein Truecrypt-Container, der diverse vertrauliche Daten enthält. Mit einem kleinen Autoit-Skript versehen wird der Container beim Automount der Festplatte auch gleich via Truecrypt gemountet.

Jetzt soll der Zugriff auch – ohne auf FAT32 umzusteigen – unter Linux möglich sein. Gut, das Automount-Feature ist ein nice-to-have, was ich bis heute unter Linux nicht eingebaut habe. Der Rest ist aber auch interessant genug ;-) .

Also, generell wird für den schreibenden NTFS-Zugriff NTFS-3g benötigt. Ein Howto für openSuSE 10.2 gibts hier.

Ich hänge meine USB-Festplatte an, mein openSuSE 10.2 hängt die automatisch erkannte Festplatte (/dev/sda1) per Automount auch gleich unter /media/ ein. Finde ich etwas unglücklich, da die Datenträgerbezeichnung aktuell Leerzeichen enthält. Ausserdem wird das Laufwerk automatisch als NTFS read only gemountet – das wollen wir ja nicht. Also erst den Automount rückgängig machen. Und dann das ganze nochmal neu. Ich hatte während meinen Tests des öfteren das Problem, dass ntfs-3g den Datenträger nicht mounten wollte, wenn das Volume nicht ordentlich von Windows getrennt wurde. Da schafft das Tool ntfsfix Abhilfe. Selbst, wenn ntfsfix ausgeführt wurde, empfiehlt ntfs-3g oft den Datenträger unter Windows mit chkdsk zu prüfen. Diese Meldung lässt sich mit der Option “force” umgehen. Hier aber jetzt das Mount-Script:

[quickcode:mount-usbdrive.sh]

!/bin/bash

DRIVE=/dev/sda1 VOLUME_MNT=/media/usbdrive CONTAINER_PATH=/Mein-Container CONTAINER_MNT=/data3

dismount automount

umount ${DRIVE}

fix drive to prevent errors

ntfsfix ${DRIVE}

Create mountpoint if not exists

if [ ! -e ${VOLUME_MNT} ]; then mkdir ${VOLUME_MNT} fi

mount with ntfs-3g

mount.ntfs-3g ${DRIVE} ${VOLUME_MNT} -o force,user,users,gid=users,umask=0002

Create mountpoint if not exists

if [ ! -e ${CONTAINER_MNT} ]; then mkdir ${CONTAINER_MNT} fi

mount container

truecrypt –filesystem ntfs-3g -M force,user,users,gid=users,umask=0002 ${VOLUME_MNT}${CONTAINER_PATH} ${CONTAINER_MNT}[/quickcode]

Auf die einzelnen Befehle möchte ich jetzt nicht noch im einzelnen eingehen. Die Mount-Optionen werden in den entsprechenden man-Pages ausreichen erklärt.

Ein unmount-Script ist verhältnismäßig einfach aufgebaut. Wobei man beachten muss, dass Truecrypt erst den Container freigeben muss, bevor man die Festplatte sauber Aushängen kann:

[quickcode:umount-usbdrive.sh]

!/bin/bash

VOLUME_MNT=/media/usbdrive CONTAINER_MNT=/data3

!/bin/bash

dismount container

umount ${CONTAINER_MNT}

close container

truecrypt -d

dismount drive

umount ${VOLUME_MNT}[/quickcode]

Vielleicht hilfts ja jemandem…

Filed under: Open Source
Comments (4) Trackbacks (1)
  1. likeatimNo Gravatar
    10:58 on July 23rd, 2007

    braucht man für das Laufwerk überhaupt Schreibzugriff, wenn ich nur auf den Container schreiben will?

  2. LaMiNo Gravatar
    18:19 on July 23rd, 2007

    Klar. Wenn die Daten im Container verändert werden, wird das ja auch nur in verschlüsselter Form auf dem ursprünglichen Datenträger gespeichert.

  3. likeatimNo Gravatar
    21:46 on July 23rd, 2007

    Der ntfs-3g Treiber unter OpenSuse ist mit altem Kernel ja eher mit Vorsicht zu geniessen….

    Das wäre eine Alternative: Hier wird der Container mit EFS (ext2 oder ext3) formatiert und dann lieber unter Windows der EFS Treiber benutzt. http://www.linux-club.de/faq/F.....ows_nutzen

    Danke aber für Deine Anleitung!

  4. LaMiNo Gravatar
    23:39 on July 23rd, 2007

    Das Problem ist bei mir, dass ich die Festplatte öfter mal zum Datentransfer mit Windows-Rechnern nutze, wo ich nicht mal eben was installieren kann/darf. Aber sieht trotzdem interessant aus, werde ich mir mal genauer anschauen, danke!