Christoph Zurnieden: Festplatten ATA Kommandos senden unter Linux

Beitrag lesen

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