कैसे एक फ़ोल्डर श्रेड करने के लिए?


18

मैं एक फ़ोल्डर / निर्देशिका (जो फ़ोल्डर / निर्देशिका के अंदर हो सकता है) की सामग्री को पूरी तरह से काट देना चाहता हूं। कृपया कमांड भी बताएं।


"श्रेड" को परिभाषित करें। यदि आप अभी मतलब है कि shredकमांड क्या करता है, तो आपका जवाब है।
Psusi

बहुत निकट से संबंधित: askubuntu.com/questions/57572/…
Takkat

@ psusi- श्रेय से मेरा मतलब है कि फ़ाइल को पुनर्प्राप्ति से परे हटाएं। मैं कतरनी कमांड का उपयोग कर रहा था लेकिन जैसा कि केवल उन फाइलों पर लागू होता था जो मैं चाहता था कि उसके भीतर फ़ोल्डर्स और फ़ाइलों को हटाने के लिए एक समान कमांड चाहिए।
आशु

कौन सा काम पूरी तरह से करता है shredया secure-delete?
आशु

1
अन्य उपयोगकर्ताओं के लिए जो यहां ठोकर खाते हैं, shred वे उतने प्रभावी नहीं हैं जितना कि आप सोचते हैं क्योंकि आधुनिक फाइल सिस्टम और हार्डवेयर डेटा को जगह में अधिलेखित नहीं करते हैं, बल्कि परिवर्तनों को जर्नल करते हैं, या इसे पहनने के स्तर के लिए चारों ओर ले जाते हैं। संबंधित: unix.stackexchange.com/questions/27027/…
माइक ओउंसवर्थ 3

जवाबों:


27
  1. पैकेज स्थापित करें secure-delete
  2. srm -r pathnameअपने फ़ोल्डर और फ़ाइलों को हटाने के लिए कमांड का उपयोग करें ।

डिफ़ॉल्ट सेटिंग्स 38 (!!!) ओवरराइट्स से गुजरती हैं जो अत्यधिक ओवरकिल इम्हो है (इसके बारे में अधिक जानकारी यहां देखें )।

मेरे उपयोग के लिए, मुझे केवल यादृच्छिक डेटा का एक ही पास चाहिए ताकि मैं उपयोग करूं srm -rfll pathname

यदि आप फ़ाइलों और फ़ोल्डरों के लिए GUI में राइट-क्लिक का विकल्प बनाना चाहते हैं, तो स्क्रिप्ट को कॉल करने के लिए सूक्ति-क्रियाओं का उपयोग करें:

#!/bin/bash
if dialog=`zenity --window-icon=warning --question --title="Secure Delete" --no-wrap --text="Are you sure you want to securely delete:\n\n     $1\n\nand any other files and folders selected? File data will be overwritten and cannot be recovered."` 
then /usr/bin/srm -fllrv "$@"| zenity --progress --pulsate --text="File deletion in progress..." --title="Secure Delete" --auto-close
fi 

यदि आप चाहते हैं कि अधिक पैराओनॉइड सेटिंग्स उपरोक्त स्क्रिप्ट को संशोधित करना सुनिश्चित करें।


1
-f fast (and insecure mode): no /dev/urandom, no synchronize mode-l lessens the security (use twice for total insecure mode)। क्या आप कृपया इन दो चीजों की व्याख्या कर सकते हैं। 38 ओवरराइट्स डिफ़ॉल्ट हैं, ये '38' मान को कैसे प्रभावित करते हैं। और क्यों lदो बार में-rfll
आशु

2
ठीक है, पूरी डिफ़ॉल्ट प्रक्रिया है: 0xff (एक शून्य वाइप) के साथ 1 पास, 5 रैंडम पास / डेव / यूरीगैम के साथ एक सुरक्षित RNG के लिए उपयोग किया जाता है यदि उपलब्ध हो, तो 27 पास पीटर गुटमन द्वारा परिभाषित विशेष मानों के साथ, एक और 5 रैंडम पास से / dev / यादृच्छिक। फिर फ़ाइल को यादृच्छिक मान में बदलें और फ़ाइल को काटें। IIRC, / dev / random को एक बेहतर यादृच्छिक संख्या पीढ़ी प्रणाली माना जाता है। का उपयोग करते हुए, हम 1 + 5 + 27 + 5 पास छोड़ते हैं और यादृच्छिक डेटा के एक पास के साथ स्थानापन्न करते हैं, संभवतः कम "सही मायने में यादृच्छिक" जनरेटर से।
वीज़ेर

@ अशु ने srm के लिए मैन पेज (डेबियन जेसी) से छोटा किया; (frist) -l: only two passes, (second) -l: only one pass। दूसरों के लिए, -f: fast (Non-secure random bits)और -r: recursive। मैं भी अत्यधिक सुझाव देता हूं -v: verbose। मैं इसे एक screenउदाहरण में चलाने का सुझाव भी दूंगा , बहुत सारे डेटा पर काफी समय लग सकता है।
थोरसुमोनर

1
मैं जगह ले ली है /usr/bin/srm -fllrvसाथbleachbit -s

8

फ़ाइलों को निर्देशिकाओं के लिए नहीं, यहाँ -exec shred -u {} \;प्रकार के बजाय एक अधिक सरल तरीका है:

cd to your directory.

फिर

find . -type f -print0 | xargs -0 shred -fuzv -n 48

यह वर्तमान निर्देशिका के लिए पुनरावर्ती रूप से 48 पास करता है cd

आशा है कि यह कुछ मदद करता है।


'-प्रिंट0' को खोजने के लिए और '-0' को xargs में जोड़ें? निर्देशिका उनके नाम में व्हाट्सएप हो सकती है।
कमजोर

अच्छा जवाब लेकिन आप xargs का उपयोग क्यों करते हैं ?? मैं xargs नहीं समझता।
चिन्मय बी

1

श्रेड केवल फाइलों पर काम करता है। आपको पहले dir / subdirs में फ़ाइलों को चुराने की आवश्यकता है और फिर निर्देशिकाओं को हटा दें। प्रयत्न

find [PATH_TO_DIR] 

और सुनिश्चित करें कि आप केवल उन फ़ाइलों को देखें जिन्हें आप हटाना चाहते हैं

find [PATH_TO_DIR] -exec shred -u {} \;

उसके बाद डायर को हटा दें

rm -rf [PATH_TO_DIR]

क्या आप समझा सकते हैं {} \;? कहीं न कहीं इल्सी मैंने भी आपकी ही तरह कमांड देखी थी लेकिन दोनों में '{}' \;क्या अंतर था ??
आशु

चूंकि श्रेड निर्देशिकाओं पर काम नहीं करता है, तो खोज कमांड्स में विकल्प-टाइप f जोड़ने के बारे में कैसे?
औरोल

@ @ोल: हाँ, मैं इस बारे में सोच रहा था ..
आशु

1
खिचड़ी भाषा आदमी पृष्ठ .... .... {} और \ _ की तुलना में यह किसी भी बेहतर समझा; खोज के -exec विकल्प का हिस्सा हैं।
२०:०२ पर Riediger

1

आप शायद इसी तरह से कुछ का उपयोग करना चाहते हैं:

find dir -type f -exec shred -fuz {} +
rm -rf dir

पहली कमांड केवल फाइलें ढूंढती है और उन्हें श्रेड के पास भेजती है (जितनी बार संभव हो - हर फाइल जैसे \ _ के लिए एक नया श्रेडर प्रक्रिया शुरू करने की आवश्यकता नहीं है)। अंत में, निर्देशिकाओं को भी हटा दें।


1

sudo apt install wipe

$ wipe -rfi dir/*

जहां झंडे का इस्तेमाल किया: -r – tells wipe to recurse into subdirectories -f – enables forced deletion and disable confirmation query -i – shows progress of deletion process


0

मैंने अपने .bashrc में इस उद्देश्य के लिए निम्नलिखित बैश स्क्रिप्ट सम्मिलित की है

function rm2 {

  for var in $@
  do
  if [ -d $var ]
  then
     nohup $( /usr/bin/find "$var" -type f -exec  shred -n 2 -u -z -x {} \;;/bin/rm -rf "$var" ) & 
  else
    nohup /usr/bin/shred -x -n 2 -u -z "$var" & 
  fi
done
exit
}

-1

जब मुझे कई फ़ाइलों या एक संपूर्ण निर्देशिका को shred -vzn 20 ./shredme/*.*निकालने की आवश्यकता होती है, जिसका मैं केवल उदाहरण के लिए उपयोग करता हूं , जो "shredme" फ़ोल्डर में किसी भी फ़ाइल एक्सटेंशन के साथ सभी फ़ाइलों को ओवरराइट करता है। तब आप मानक rm -rf ./shredme कमांड का उपयोग स्वयं फ़ोल्डर को हटाने के लिए कर सकते हैं (या बस राइट क्लिक करें और फ़ोल्डर को हटा दें) क्योंकि इस उदाहरण के लिए सभी डेटा को 20 बार अधिलेखित किया गया है।

मैंने उदाहरण के रूप में डुप्लिकेट छवियों के एक समूह के साथ इसका एक त्वरित उदाहरण किया।

टर्मिनल स्क्रीनशॉट

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.