Bio: Festplatten ATA Kommandos senden unter Linux

Sup!

Aus ganz bestimmten Gründen würde ich gerne ein paar ATA-Kommandos an eine Festplatte von mir senden. Wie geht das? Im Internet finde ich irgendwie nix... es versteckt sich...

Gruesse,

Bio

  1. Hallo,

    Aus ganz bestimmten Gründen würde ich gerne ein paar ATA-Kommandos an eine Festplatte von mir senden. Wie geht das? Im Internet finde ich irgendwie nix... es versteckt sich...

    ... im Kernel ;-)

    Am frühem Sonntagmorgen schon derartige Probleme?
    Oder etwa immer noch? ;-)))

    Da Du nicht verrätst, welche Kommandos Du senden möchtest, rate ich einfach einmal wild drauflos und empfehle zunächst 'hdparm', da ist schon sehr viel versammmelt.

    Wenn das nicht reicht steht in den Quellen von 'hdparm' schon mal die grundsätzliche Vorgehensweise.
    "See the source, Luke!" ;-)

    Dann geht natürlich auch noch 'echo', aber das auch meist in's Auge.

    Also: sei mal bitte so nett und verrate, was Du genau machen möchtest, mit etwas Glück kann ich dann etwas Simples empfehlen.

    so short

    Christoph Zurnieden

    1. Sup!

      Tja... also im Endeffekt will ich http://www.storage.ibm.com/hdd/support/dtla/dtlacom.htm
      Security Set Password (Befehl F1) an die Platte senden - und evtl. noch mehr potentiell gefährlichen Unsinn... how about "security erase unit"?

      Wenn die Bullen kommen und meinen Rechner mitnehmen, hilft das sicher eine Menge... die müssen dann tausende Euro ausgeben, um rauszufinden, daß nur Linux auf der Platte war.

      Was die Sache mit dem Zugriff auf Festplatten abwehren angeht, habe ich schon einen sehr dreckigen Hack gebastelt, der funktionieren sollte. Bisher habe ich nur getestet, daß mir jeder Schreibzugriff gemeldet wird - das umzubauen, daß der Schreibzugriff abgewürgt wird, sollte einfach sein.

      Vielleicht muß ich mal den Source gucken - may the source be with me?

      Gruesse,

      Bio

      1. Hi Bio,

        Tja... also im Endeffekt will ich http://www.storage.ibm.com/hdd/support/dtla/dtlacom.htm
        Security Set Password (Befehl F1) an die Platte senden - und evtl. noch mehr potentiell gefährlichen Unsinn... how about "security erase unit"?

        Aha ;-)
        Dann dürfte der direkte Zugriff via ioctl() passend sein.

        ----snip----
        /* Die brauchst Du nicht alle, habe nur C&P gemacht ;-) */
        #include <unistd.h>
        #include <string.h>
        #include <stdlib.h>
        #include <stdio.h>
        #include <fcntl.h>
        #include <errno.h>
        #include <ctype.h>
        #include <endian.h>
        #include <sys/ioctl.h>
        #include <sys/shm.h>
        #include <sys/stat.h>
        #include <sys/sysmacros.h>
        #include <sys/time.h>
        #include <sys/times.h>
        #include <sys/types.h>
        #include <linux/hdreg.h>
        #include <linux/major.h>
        #include <sys/mount.h>

        int main (int argc, char **argv){

        /* Argumente verarbeiten,
            HD checken usw
            siehe auch hdparm.c für weiteres */

        if (ioctl(fd, HDIO_DRIVE_CMD, arg)){
          perror("HDIO_DRIVE_CMD(arg) failed");
          exit(EXIT_FAILURE);}
         exit(EXIT_SUCCESS);
        }

        ----snap----

        Auch $KERNELSRC/drivers/block/* sollte da von Interesse sein. Ich habe hier nur einen recht alten Kernel offen und leider keine Platz einen der Neuen auszupacken (Hier liegt ein Scheiß rum, ich sag Dir ;-)
        Mit etwas Glück ist das da schon vorgesehen.

        Wenn die Bullen kommen und meinen Rechner mitnehmen, hilft das sicher eine Menge... die müssen dann tausende Euro ausgeben, um rauszufinden, daß nur Linux auf der Platte war.

        Hey, _das_ ist aber gemein! >;->

        Was die Sache mit dem Zugriff auf Festplatten abwehren angeht, habe ich schon einen sehr dreckigen Hack gebastelt, der funktionieren sollte. Bisher habe ich nur getestet, daß mir jeder Schreibzugriff gemeldet wird - das umzubauen, daß der Schreibzugriff abgewürgt wird, sollte einfach sein.

        Wenn Du kernelseitig den I/O gewrapped hast, ja.

        Vielleicht muß ich mal den Source gucken - may the source be with me?

        Aber immer doch! :-)

        so short

        Christoph Zurnieden

        PS:
        Bevor das hier noch Ärger gibt: Bei Schwierigkeiten dann doch besser per PM weiter ;-)
        CZ

      2. Moin,

        Wenn die Bullen kommen und meinen Rechner mitnehmen, hilft das sicher eine Menge... die müssen dann tausende Euro ausgeben, um rauszufinden, daß nur Linux auf der Platte war.

        Hmm, vielleicht möchtest du dir dafür lieber ein verschlüsselndes Dateisystem/loop-device anschauen? Das geht mit etwas Anstrengung auch für das Root-Device und sollte um einiges schwieriger auszuhebeln sein als ein einfaches Password da die Daten dann auch wirklich verschlüsselt physikalisch gespeichert sind.

        --
        Henryk Plötz
        Grüße aus Berlin