Οριστική-Ασφαλής διαγραφή αρχείων με Shred

12 posts / 0 new
Τελευταία καταχώριση
Εικόνα: rizitis
rizitis
Απουσιάζω!
BabyTuxModerationGnu
Μέλος από: 18 Μαρ 2008
Πόντοι: 2900
Οριστική-Ασφαλής διαγραφή αρχείων με Shred

Στον υπολογιστή μας πολλές φορές υπάρχουν αρχεία τα οποία τα διαγράφουμε αλλά τα περισσότερα μπορούν να ανακτηθούν είτε από εμάς είτε από τρίτους με τις κατάλληλες διεργασίες.
Αν για κάποιο λόγο θέλουμε να διαγράψουμε κάποιο/α αρχεία οριστικά από τον υπολογιστή μας, χωρίς να μπορεί ποτέ κανείς να τα ανακτήσει πια,η rm δεν είναι αρκετή, για αυτήν την δουλειά υπάρχει η εφαρμογή shred.
Υπάρχει σε όλες τις διανομές μια και είναι μέρος του πακέτου coreutils.

Η πρώτη μας δουλειά πριν την χρήση είναι το man shred ;)
Προσωπικά μου κέντρισε το ενδιαφέρον ο έξυπνος τρόπος ο οποίος δουλεύει πάνω στο αρχείο το οποίο θέλουμε να διαγράψουμε.

Η shred πρώτα γράφει μερικές φορές πάνω στο αρχείο, το μετονομάζει μερικές ακόμα και στο τέλος το διαγράφει.
Για να δούμε πως δουλεύει η shred πρώτα δημιουργούμε ένα αρχείο πχ

rizitis@darkstar:~$ echo "1234567890abcd" > arxeio.txt
rizitis@darkstar:~$ cat arxeio.txt 
1234567890abcd
rizitis@darkstar:~$ ls -l arxeio.txt 
-rw-r--r-- 1 rizitis users 15 Μάρ   5 22:05 arxeio.txt

Θα τρέξουμε το shred πάνω στο αρχείο χωρίς να βάλουμε κάποια παράμετρο και μετά θα δούμε τι άλλαξε πάνω στο αρχείο

rizitis@darkstar:~$ shred arxeio.txt 
rizitis@darkstar:~$ cat arxeio.txt 
؅@�f�?$��39$��Qi��
��:���}������ķ�c�ȄVvKZۖUV� YH��V\cg�u���=�h����8\a��&��^�7���l_z�z

Για να διαγράψουμε οριστικά το αρχείο θα βάλουμε την παράμετρο -u επίσης θα βάλουμε και -v για να εμφανίζετε στον τερματικό όλη η διαδικασία μέχρι την οριστική διαγραφή του αρχείου.

rizitis@darkstar:~$ shred -u -v arxeio.txt 
shred: arxeio.txt: πέρασμα 1/3 (random)...
shred: arxeio.txt: πέρασμα 2/3 (random)...
shred: arxeio.txt: πέρασμα 3/3 (random)...
shred: arxeio.txt: διαγράφεται
shred: arxeio.txt: renamed to 0000000000
shred: 0000000000: renamed to 000000000
shred: 000000000: renamed to 00000000
shred: 00000000: renamed to 0000000
shred: 0000000: renamed to 000000
shred: 000000: renamed to 00000
shred: 00000: renamed to 0000
shred: 0000: renamed to 000
shred: 000: renamed to 00
shred: 00: renamed to 0
shred: arxeio.txt: διεγράφει
rizitis@darkstar:~$ 

Παρατηρούμε ότι το αρχείο πρώτα γράφτηκε 3 φορές και μετά μετονομάστηκε 10 φορές ώσπου στο τέλος διαγράφηκε.
Η εφαρμογή με τους κατάλληλους διακόπτες μπορεί να διαγράψει ακόμα και έναν ολόκληρο δίσκο πχ /dev/sda απλά εκτός από τα αρχεία θα καταστρέψει και το file system οπότε ο δίσκος θα χρειαστεί φορμάρισμα ξανά.
Είναι κάπως επικίνδυνη η χρήση της και νομίζω καλό είναι να χρησιμοποιείτε μόνο για αρχεία που περιέχουν πολύ προσωπικά δεδομένα.

Εικόνα: tzimakos13
tzimakos13
Απουσιάζω!
BabyTux
Μέλος από: 1 Ιουλ 2010
Πόντοι: 170

Πολυ ωραίος οδηγός για το shred και τον παράξενο τρόπο διαγραφής...
Τώρα πες μας για την ανάκτηση δεδομένων!

Εικόνα: rizitis
rizitis
Απουσιάζω!
BabyTuxModerationGnu
Μέλος από: 18 Μαρ 2008
Πόντοι: 2900

αν έχεις άμεσο πρόβλημα δοκίμασε το extundelete ή foremost ή το testdisk και ότι βρεις βρήκες
Και μετά φτιάξε και ένα οδηγό εδώ ;)

Εικόνα: tzimakos13
tzimakos13
Απουσιάζω!
BabyTux
Μέλος από: 1 Ιουλ 2010
Πόντοι: 170

Όχι δεν έχω πρόβλημα απλά θέλω να μάθω Tongue out

Εικόνα: nuclear
nuclear
Απουσιάζω!
BabyTux
Μέλος από: 15 Νοε 2008
Πόντοι: 280

Sta perisotera moderna filesystems to shred den kanei tipota ousiastiko se epipedo arxeiou. Xrisimo einai mono gia tin pliri diagrafi enos oliklirou filesystem, diladi me parametro kapoio device file.
Px einai poly kali idea na kaneis shred olo ton disko prin ton pouliseis se kapoion sto ebay :)

__________________

--
John Tsiombikas
http://nuclear.mutantstargoat.com/

__________________

--
John Tsiombikas
http://nuclear.mutantstargoat.com/

Εικόνα: dsyrmalis
dsyrmalis
Απουσιάζω!
BabyTuxModerationGnu
Μέλος από: 1 Ιαν 1970
Πόντοι: 3770

Η διαδικασία σε περιβάλλον Gnome μπορεί να γίνει ευκολότερη αν εγκαταστήσουμε το πακέτο nautilus-actions.
Στη συνέχεια πάμε: Σύστημα-->Προτιμήσεις-->Διαχείριση Ενεργειών Ναυτίλου.
Δημιουργούμε ένα νέο Nautilus Action. Στο Command-->Path γράφουμε shred και στο Parameters ότι επιθυμούμε. Πχ -f -u -z -v.  Στη συνέχεια πάμε στο conditions και επιλέγουμε both.  Σώζουμε το Action και του δίνουμε το όνομα που επιθυμούμε.  Δίνουμε απο το τερματικό nautilus -q και στη συνέχεια πάμε σε ένα αρχείο.
Με δεξί κλίκ θα μας εμφανίζεται η επιλογή shred με τa switch που επιλέξαμε πριν.

Εικόνα: rizitis
rizitis
Απουσιάζω!
BabyTuxModerationGnu
Μέλος από: 18 Μαρ 2008
Πόντοι: 2900
Παράθεση από nuclear:

Sta perisotera moderna filesystems to shred den kanei tipota ousiastiko se epipedo arxeiou. Xrisimo einai mono gia tin pliri diagrafi enos oliklirou filesystem, diladi me parametro kapoio device file.
Px einai poly kali idea na kaneis shred olo ton disko prin ton pouliseis se kapoion sto ebay :)

αν έχω καταλάβει καλά έτσι και αλλιώς από ext3 και μετά η rm γράφει μερικά μηδενικά πάνω στο αρχείο πριν διαγραφεί;
Είναι σωστό αυτό που λέω; Αυτό εννοείς; :)

Εικόνα: gnu_labis
gnu_labis
Απουσιάζω!
BabyTuxModerationGnu
Μέλος από: 29 Ιαν 2008
Πόντοι: 4955
Παράθεση από rizitis:
Παράθεση από nuclear:

Sta perisotera moderna filesystems to shred den kanei tipota ousiastiko se epipedo arxeiou. Xrisimo einai mono gia tin pliri diagrafi enos oliklirou filesystem, diladi me parametro kapoio device file.
Px einai poly kali idea na kaneis shred olo ton disko prin ton pouliseis se kapoion sto ebay :)

αν έχω καταλάβει καλά έτσι και αλλιώς από ext3 και μετά η rm γράφει μερικά μηδενικά πάνω στο αρχείο πριν διαγραφεί;
Είναι σωστό αυτό που λέω; Αυτό εννοείς; :)

Ναι κ εγώ το έχω απορία τί εννοεί ακριβώς ο nuclear κ θα ήθελα να μάθω παραπάνω. Αν ισχύει αυτό όμως, γιατί μπορούμε (να προσπαθήσουμε) να κάνουμε undelete/recover αρχεία σε ext3; Δε θα έπρεπε να είναι αδύνατον;

__________________

-- gnu_labis

Το Linux ΔΕΝ είναι Windows!!!

__________________

-- gnu_labis

Το Linux ΔΕΝ είναι Windows!!!

Εικόνα: dsyrmalis
dsyrmalis
Απουσιάζω!
BabyTuxModerationGnu
Μέλος από: 1 Ιαν 1970
Πόντοι: 3770

Μάλλον το ότι αν σβήσουμε ένα μεμονωμένο αρχείο μπορούμε και πάλι να το επανακτήσουμε. Δεν σβήνεται οριστικά δηλαδή. Εκτός αν εφαρμόσουμε το shred σε ολόκληρο το δίσκο. Μάλλον αυτό εννοεί. 

Εικόνα: gnu_labis
gnu_labis
Απουσιάζω!
BabyTuxModerationGnu
Μέλος από: 29 Ιαν 2008
Πόντοι: 4955

Χμμ, ναι, έτσι όπως το λες το καταλαβαίνω καλύτερα (αν βέβαια είναι αυτό το νόημα). Ήταν λίγο διφορούμενη η πρόταση του Nuclear κ το πήρα “ανάποδα”. (Ότι δηλαδή ένα σύγχρονο filesystem κάνει ούτως ή άλλως κάποιου είδους shred όταν σβήνεται μεμονωμένο αρχείο, οπότε η εφαρμογή που συζητάμε είναι άχρηστη σε τέτοιες περιπτώσεις).

Αν είναι έτσι όμως, το επόμενο ερώτημα που μου γεννιέται είναι: σε ένα τέτοιο filesystem, πώς μπορείς να καταστρέψεις ολοκληρωτικά τα ίχνη ενός μεμονωμένου αρχείου, χωρίς να χρειαστεί να γράψεις μηδενικά σε όλο το partition;

Κ επίσης, για ποια filesystems μιλάμε αλήθεια όταν λέμε “σύγχρονα”; Ό,τι έχει βγει τα τελευταία 5-10 χρόνια; Λιγότερο; περισσότερο; Εξαιρέσεις; Ξέρει κανείς;

Ή ακόμα καλύτερα, για να μη κουράζω κ το κόσμο, κάνα καλό λινκ προς ανάγνωση;

__________________

-- gnu_labis

Το Linux ΔΕΝ είναι Windows!!!

__________________

-- gnu_labis

Το Linux ΔΕΝ είναι Windows!!!

Εικόνα: bat12
bat12
Απουσιάζω!
BabyTux
Μέλος από: 25 Φεβ 2009
Πόντοι: 420

Πάντως εδώ ότι αρχείο έχω διαγράψει με shred -u τα foremost, testdisk και κάποιο άλλο που αυτή την στιγμή μου διαφεύγει το όνομά του, δεν κατάφεραν να το ανακτήσουν.
Και κάτι άλλο πληροφοριακά όσο πιο «βαρύ» είναι το αρχείο τόσο πιο πολύ διαρκεί η διαδικασία. Λέγοντας βαρύ εννοώ πχ αρχεία ήχου ή εικόνας. 

__________________

Arch linux (kde, openbox, enlightenment, xfce)

__________________

Arch linux (kde, openbox, enlightenment, xfce)

Εικόνα: nuclear
nuclear
Απουσιάζω!
BabyTux
Μέλος από: 15 Νοε 2008
Πόντοι: 280

Nai enoo oti den einai eggyimeno oti tha kanei douleia to shred. Ta manpages yparxoun gia na ta diabazoume, oriste to sxetiko apospasma apo to man shred:

CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place.  This is the traditional way  to  do  things, but  many  modern file system designs do not satisfy this assumption.  The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes:
  * log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)
  * file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems
  * file systems that make snapshots, such as Network Appliance's NFS server
  * file systems that cache in temporary locations, such as NFS version 3 clients
  * compressed file systems

In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which  journals  file data in addition to just metadata.  In both the data=ordered (default) and data=writeback modes, shred works as usual.  Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented  in  the  mount  man  page  (man mount).

__________________

--
John Tsiombikas
http://nuclear.mutantstargoat.com/

__________________

--
John Tsiombikas
http://nuclear.mutantstargoat.com/