Shred: Güvenli Dosya Silmek
gönderen erdal yazıcıoğlu | kategori linux | tarih 25.06.2010 07:06:12
Bilgisayar üzerinde silinen bilgilerin 3.cü parti yazılımlar sayesinde geri getirilebildiğini çoğumuz tecrğbe etmişizdir. Aslında veri saklamak kadar veri silmek işleminin de ne kadar önemli olduğunun çoğu son kullanıcı farkında değil.
Bilgisarınızda eğer bir Linux işletim sistemi kullanıyorsanız ve dosyalarını kurtarma olasılığı olmadan silmek istiyorsanız shred komutunu kullanabilirsiniz.
Shred komutu, bazı kısıtlamaları olsa dahi, dosyaların işletim sisteminden silenerek birdaha kullanmısını imkansız hale getiren bir linux komutudur. Shred bu işlemi, silinecek dosyanın üzerine birden fazla kez yazarak(geçerli olan 25 ve tüm dosya ile ilgili bilgileri silmek için yeterlidir) gerçekleştirir ve dosyanın bir daha kurtarılmasını olanaksız kılar.
Normalde dosyaların silinmesinde rm komutu kullanılır. Aslında rm komutu dosyaların tamamen cihaz üzerinde silmez. Sadece sistemden silinecek olan dosyanın yer bilgisini tuttuğu index bilgisi siler ve o bölgenin tekrar kullanıma açılmasını sağlar. Bu komut ile silinen dosyaların 3.cü parti yazılımlar ile geri getirilebildiğini çoğumuz biliyoruz(Geçen hafta yanlışlık ile sildiğim 200GB NTFS tabanlı dosyalarımı, Quad Core 4 GB lik bir makine ile yarım günde geri getirdim).
Shred kullanımı:
Birazdan vereceğim komutları lütfen kullanırken dikkatli olun. Sileceğiniz dosyalardaki sorumluluk bana ait değildir.
[root@chveneburi /]# shred -fuvz /test/messages
shred: /test/messages: pass 1/4 (random)...
shred: /test/messages: pass 2/4 (random)...
shred: /test/messages: pass 3/4 (random)...
shred: /test/messages: pass 4/4 (000000)...
shred: /test/messages: removing
shred: /test/messages: renamed to /test/00000000
shred: /test/00000000: renamed to /test/0000000
shred: /test/0000000: renamed to /test/000000
shred: /test/000000: renamed to /test/00000
shred: /test/00000: renamed to /test/0000
shred: /test/0000: renamed to /test/000
shred: /test/000: renamed to /test/00
shred: /test/00: renamed to /test/0
shred: /test/messages: removed
shred ile birden fazla dosya silmek istiyorsanız, rm komutunda olduğu gibi silenecek dosyaları peşpese yazarak silme işlemini gerçekleştiriyoruz.
[root@chveneburi test]# ls
message1 message2 message3
[root@chveneburi test]# shred -fuvz /test/message1 message2 message3
shred: /test/message1: pass 1/4 (random)...
shred: /test/message1: pass 2/4 (random)...
shred: /test/message1: pass 3/4 (random)...
shred: /test/message1: pass 4/4 (000000)...
shred: /test/message1: removing
shred: /test/message1: renamed to /test/00000000
shred: /test/00000000: renamed to /test/0000000
shred: /test/0000000: renamed to /test/000000
shred: /test/000000: renamed to /test/00000
shred: /test/00000: renamed to /test/0000
shred: /test/0000: renamed to /test/000
shred: /test/000: renamed to /test/00
shred: /test/00: renamed to /test/0
shred: /test/message1: removed
shred: message2: pass 1/4 (random)...
shred: message2: pass 2/4 (random)...
shred: message2: pass 3/4 (random)...
shred: message2: pass 4/4 (000000)...
shred: message2: removing
shred: message2: 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: message2: removed
shred: message3: pass 1/4 (random)...
shred: message3: pass 2/4 (random)...
shred: message3: pass 3/4 (random)...
shred: message3: pass 4/4 (000000)...
shred: message3: removing
shred: message3: 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: message3: removed
Bir bölüm yada disk'in shred ile silinmesi
[root@chveneburi /]# shred –verbose /dev/sdb1
Bu işlem sonunda komut sonucu eğer sıfır(0) ise başarılı, değilse başarısızdır.
Shred anahtarları
-f, --force gerektiğinde yazmak için gerekli hakları değiştir.
-n, --iterations=N N kere dosyanın üzerine yaz. Geçerli olan 25
-s, --size=N Dosyayı N adet bytelara parçala.
-u, --remove Dosyayı üzerine yazıldıktan sonra kes ve kaldır.
-v, --verbose İlerlemeyi göster
-x, --exact Bir sonraki dolu blok'a kadar dosya boyutlarını yuvarlama.
-z, --zero Tüm bölümü sıfır ile doldur.
--help Yardım dosyasını görüntüler
--version Sürüm bilgisini görüntüler.
SHRED komutunun kullanılmadığı dosya sistemleri
- Loglama yapan dosya sistemleri JFS,ReiserFS,XFS,Ext3
- RAID tabanlı sistemler
- NFS sistemleri
- Dosya sistemlerini geçici bölgelerde önbellekme yapan sistemler.
- NFS Sürüm 3 istemcileri
- Sıkıştırılmış dosya sistemleri
Yukarıda verilen listeden de anlaşılacağı gibi shred komutunu bir cihaz üzerinde kullanmak, bir dosya üzerinde kullanmaktan daha etkili olduğunu görüyoruz. Sebebi ise, cihaz üzerinde kullanıldığında, cihazın hangi dosya sistemini kullandığı ile shred komutunun ilgilenmemesidir.
Shred'in etkisiz kaldığı diğer bir taraf da HDD üzerinde bulunan arızalı alanlar(bad sectors) içerisindeki bilgileri silememesidir.
En son olarak dikkat edilmesi gereken komu shred komutu -u anahtarı kullanılmadığı sürece üzerine bilgi yazdığı dosyayı silmez. Bu anahtar kullanıldığında ek disk alanı açılır ve silinen dosyanın tekrar kurtarılma olasılığı ortadan kalkar.
Bu konuda daha fazla bilgi için http://www.perpetualpc.net/srtd_shred.html
23.05.2011 22:05:00
ilginc blog icin tesekkur