Ich wüsste gerne wie ich ein Skript anlege welches ich zur Benutzung nur noch ausführen muss.
Es soll shred mit den Optionen -z und -u in einem immer gleichbleibenden Ordner durchgeführt werden. So das die von mir festgelegten Dateitypen nach Ausführung des Skripts überschrieben und gelöscht werden. Das wären Beispielsweise *.txt, *.jpg etc.
Shred-Skript
Anmeldungsdatum: Beiträge: 246 |
|
![]() Anmeldungsdatum: Beiträge: 1101 Wohnort: Bonn |
Erstellen: shred -u -z /pfad/der/dateien/*.endung hab mir nur kurz die manpage angeschaut, kannte es vorher nicht.Wenn du alles in dem Ordner Löschen willst mach einfach em Ende * chmod +x shred.sh ; Beispielname
sudo mv shred.sh /usr/bin/shred.sh ;Beispiel
|
Anmeldungsdatum: Beiträge: Zähle... Wohnort: Groningen, Nederlands |
hi mfg, |
Ehemalige
![]() Anmeldungsdatum: Beiträge: 4686 Wohnort: Berlin |
Es versucht eine Datei mehrfach mit "Datenmüll" zu überschreiben und dann erst zu löschen. Ich sage absichtlich "versucht" weil man sich da bei modernen Dateisystemen nicht unbedingt drauf verlassen kann. Wenn man Daten in eine Datei schreibt, ist nicht unbedingt garantiert, dass die in dem selben Block auf der Platte landen, in dem auch die alten Daten gestanden haben. |
![]() Anmeldungsdatum: Beiträge: 17620 Wohnort: Berlin |
Marc 'BlackJack' Rintsch hat geschrieben:
Oh - ich glaube, wenn es richtig programmiert ist, kann man sich darauf schon verlassen. Die meisten Programmiersprachen bieten an, eine Datei im rw-Modus zu öffnen, und mit seek(position) darin rumzunavigieren. Einmal überschreiben reicht aber - mehrfach überschreiben ist Humbug, wenn man keine uralte MFM-Platte benutzt, und selbst dann wird sich kaum jmd. die Rekonstruktion leisten können. |
Ehemalige
![]() Anmeldungsdatum: Beiträge: 4686 Wohnort: Berlin |
Wie wäre es damit: Geänderte Daten werden in neue Blöcke geschrieben und erst bei einem flush() oder close() werden die Blockzeiger umgesetzt und die alten Blöcke freigegeben um zu verhindern, dass bei einem Programm- oder Computerabsturz eine "halb" geänderte Datei liegen bleibt. Journaling-Dateisysteme wie ReiserFS oder ext3 unterstützen doch so etwas ähnliches wie Transaktionen in Datenbanken. Die Manpage von shred enthält dazu auch eine Warnung, dass es auf vielen modernen Dateisystemen nicht zuverlässig ist. |
(Themenstarter)
Anmeldungsdatum: Beiträge: 246 |
Wie man shred anwendet weiss ich ja bereits ich bräuchte aber ein Icon zum doppelklicken welches mit meine vordefinierten Endungen überschreibt. Da ich bisher garkeine Ahnung von Linuxscripten habe frage ich hier wie ich eins erstelle. |
![]() Anmeldungsdatum: Beiträge: 1101 Wohnort: Bonn |
Warnung: |
(Themenstarter)
Anmeldungsdatum: Beiträge: 246 |
Ich soll also ne Datei mit obigen Inhalt erstellen und sie irgendwas.sh nennen? |
![]() Anmeldungsdatum: Beiträge: 17620 Wohnort: Berlin |
Marc 'BlackJack' Rintsch hat geschrieben:
Ja. Angor hat geschrieben:
|
Ehemalige
![]() Anmeldungsdatum: Beiträge: 4686 Wohnort: Berlin |
Die Inode-Nummer sagt nur, dass die Metainformation bzw. der Einstieg dazu, an der gleichen Stelle geblieben ist. Zumindest beim klassischen UNIX Dateisystem. Grundsätzlich muss die Inode-Nummer nicht einmal das garantieren. Kleines (Gegen)Beispiel für klassisches Dateisystem: Ich habe eine Datei die x Blöcke auf der Platte belegt und benutze truncate() um die Datei auf weniger Blöcke zu kürzen. Wenn ich jetzt wieder Daten in die Datei schreibe, gibt es keinen Grund zu erwarten, dass die in den selben Blöcken auf der Platte landen, in denen die alten Daten gestanden haben. Die Inode-Nummer bleibt aber gleich. |
![]() Anmeldungsdatum: Beiträge: 1101 Wohnort: Bonn |
@user unknown: danke:) |
(Themenstarter)
Anmeldungsdatum: Beiträge: 246 |
Danke funktioniert das "#! /usr/bin/bash" braucht man nicht habe ich festgestellt. |
![]() Anmeldungsdatum: Beiträge: 17620 Wohnort: Berlin |
Falls Du Nautilus benutzt - der besitzt eine eigene Technik, um Scripte auf markierte Dateien auszuführen. Jetzt hab' ich doch nachgeschaut - hier ist es: |
![]() Anmeldungsdatum: Beiträge: 1101 Wohnort: Bonn |
Shadow27374 hat geschrieben:
Musst du auch bestätigen wenn du am Anfang "#! /usr/bin/bash" oder "#! /usr/bin/sh" hast? |