2010-04-15 10 views
0

J'écris un script bash qui crypte les données d'un dossier ou un fichierComment écraser les données dans un fichier avec bash

#!/bin/bash 

file_name=$1 
tmp_file=/tmp/tmpfile.tar 

# tar compress file 
tar -cf $tmp_file $file_name; 

# encrypt file 
gpg -c $tmp_file 

# remove temp file 
rm -rf $tmp_file $file_name 

# mv encrypted file to orignal place 
mv ${tmp_file}.gpg $file_name 

mais les données seront toujours récupérables en utilisant photorec ou similaire méthodes ...

Y at-il un moyen d'assurer la suppression absolue du fichier d'origine dans bash?

Répondre

0

Pouvez-vous créer un disque virtuel pour créer le fichier temp? Sinon, si les données sont si sensibles, vous devriez peut-être utiliser un système de fichiers crypté?

+0

Hey, si quelqu'un va voter contre ce au moins dire pourquoi! – vickirk

2

Je suppose qu'il est impossible de simplement placer le fichier dans gpg, comme vous l'auriez déjà essayé?

+0

Excellent point, gpg supporte la lecture de stdin. – vickirk

+0

sûr, ce serait la meilleure solution, mais je suis plus préoccupé par la destruction du fichier original. – Stefan

+0

Mais au moins cela permettrait d'éviter le fichier temporaire. Un fichier à effacer est préférable à l'effacement de deux. – ndim

1

Cela devrait également travailler:

rm -Pf file