GPG के साथ एन्क्रिप्ट करने के बाद मूल फ़ाइलों को स्वचालित रूप से कैसे हटाएं?


5

मुझे बहुत सारे फ़ाइलों और सबफ़ोल्डरों के साथ एक फ़ोल्डर पर जीपीजी का उपयोग करने की आवश्यकता है। मैं उसके लिए "खोज" + "gpg" का उपयोग कर सकता हूं और मैं सभी फाइलों को एन्क्रिप्ट कर सकता हूं लेकिन मेरा मुद्दा यह है कि जीपीजी सफल एन्क्रिप्शन के बाद मूल फाइल को डिलीट नहीं करता है।

GPG को ठीक से एन्क्रिप्शन करने के बाद मूल फ़ाइल को हटाने के लिए सबसे अच्छा और सबसे सुरक्षित तरीका क्या है? मैं अपनी फ़ाइलों को समय से पहले डिलीट नहीं करना चाहता और मैं अनुचित तरीके से अनपेक्षित फ़ाइलों (जीपीजी ऑपरेशन के साथ त्रुटि, अनुमति आदि मुद्दों के कारण) को हटाना नहीं चाहता।

धन्यवाद

जवाबों:


4

shred फ़ाइलों को सुरक्षित रूप से हटाने के लिए अपनी पसंद के हथियार की तरह लगता है, लेकिन फ़ाइल सिस्टम सीमाओं के लिए नीचे देखें।

और अगर आप टर्मिनल का उपयोग कर रहे हैं, तो कुछ बैश / श स्क्रिप्टिंग उपयोगी हो सकती है। यदि आप एक पंक्ति में एक त्रुटि-जाँच का उपयोग करना चाहते हैं? यदि इसे सही तरीके से एन्क्रिप्ट किया गया है, तो किसी फ़ाइल को स्थानांतरित करने के लिए, और यदि यह नहीं था तो एक संदेश प्रिंट करें?

gpg --encrypt <options> "$file" && mv "$file" todel-folder || echo "Error, $file did not encrypt"

या आप कुछ घुंघराले कोष्ठक का उपयोग करते हुए "बहुफलता" यदि "सफलता" और "विफल रहे तो" आइटम को एक साथ रख सकते हैं।

gpg --encrypt <options> "$file" && {
  echo "gpg on $file successful" >> logfile
  mv "$file" todel-folder
  } || {
  echo "Error, $file did not encrypt" >> logfile
}

और फिर उसके बाद, आप shredफ़ाइलों को सुरक्षित रूप से हटा सकते हैं / मिटा सकते हैं todel-folder, या उपयोग करने के बजाय तुरंत उन्हें निकाल सकते हैं mv:

gpg --encrypt <options> "$file" && {
    echo "gpg on $file successful" >> logfile
    shred "$file" && { 
        echo "shred on $file successful" >> logfile
        } ||  {
        echo "shred on $file successful" >> logfile
        }
    } || {
    echo "Error, $file did not encrypt" >> logfile
}

man shredकुछ विकल्पों और चेतावनियों के लिए देखें :

shred - overwrite a file to hide its contents, and optionally delete it

चेतावनी: ध्यान दें कि श्रेड एक बहुत महत्वपूर्ण धारणा पर निर्भर करता है: यह कि फाइल सिस्टम डेटा को जगह में अधिलेखित कर देता है। यह चीजों को करने का पारंपरिक तरीका है, लेकिन कई आधुनिक फाइल सिस्टम डिजाइन इस धारणा को पूरा नहीं करते हैं। फ़ाइल सिस्टम के उदाहरण निम्न हैं, जिस पर श्रेड प्रभावी नहीं है, या सभी फ़ाइल सिस्टम मोड में प्रभावी होने की गारंटी नहीं है:

  • लॉग-संरचित या जर्नल फ़ाइल सिस्टम, जैसे कि AIX और Solaris (और JFS, ReiserFS, XFS, Ext3, आदि) के साथ आपूर्ति की गई।

  • फ़ाइल सिस्टम जो अनावश्यक डेटा लिखता है और भले ही कुछ लिखने में विफल रहता है, जैसे कि RAID-आधारित फ़ाइल सिस्टम

  • फाइल सिस्टम जो स्नैपशॉट बनाते हैं, जैसे कि नेटवर्क उपकरण का एनएफएस सर्वर

  • फ़ाइल सिस्टम जो अस्थायी स्थानों में कैश करते हैं, जैसे कि एनएफएस संस्करण 3 क्लाइंट

  • संकुचित फ़ाइल सिस्टम

एक्सट 3 फाइल सिस्टम के मामले में, उपरोक्त डिस्क्लेमर केवल डेटा = जर्नल मोड में लागू होता है (और श्रेड इस प्रकार सीमित प्रभावशीलता का है), जो केवल मेटाडेटा के अलावा डेटा फाइल करता है। दोनों डेटा = ऑर्डर किए गए (डिफ़ॉल्ट) और डेटा = राइटबैक मोड्स में, श्रेड हमेशा की तरह काम करता है। Ext3 जर्नलिंग मोड डेटा को जोड़कर
/ a / etc / fstab फ़ाइल में किसी विशेष फ़ाइल सिस्टम के लिए माउंट विकल्प में कुछ विकल्प जोड़कर माउंट मैन पेज (मैन माउंट) में प्रलेखित किया जा सकता है।


अच्छी बात यह है कि मैं फाइलों को इधर-उधर नहीं करना चाहता क्योंकि यह बहुत जटिल हो सकती है अगर कुछ गलत हो जाता है, जैसे किसी समस्या के मामले में इसे वापस लाना। नहीं ?
यारुन

अगर gpg सफल था, और अपरिवर्तनीय टुकड़े से पहले एहतियात के रूप में वहाँ कदम ही निष्पादित किया जाता है। लेकिन आप shredइसके बजाय कर सकते हैं mvऔर ठीक हो गया? मैं लॉगिंग के लिए कुछ संभवतः उपयोगी बहु-लाइन सामान
जोड़ूंगा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.