कमांड लाइन से `श्रेड` का उपयोग करना


44

मुझे कुछ फ़ाइलों को सुरक्षित रूप से मिटाने की आवश्यकता है। मैंने shredपहले लिनक्स सिस्टम पर उपयोग किया है , इसलिए मैंने चारों ओर देखा और पाया कि shredयह coreutilsमैकपोर्ट में पैकेज का हिस्सा है । मैंने port install coreutilsकोरुटिल स्थापित करने के लिए किया था , लेकिन मैं अभी भी shredकमांड लाइन में नहीं मिल सकता ।

मैं shredअपने मैक की कमांड लाइन पर कैसे काम कर सकता हूं ? अगर यह मायने रखता है, तो मैं मैक ओएस एक्स 10.7.5 (शेर) का उपयोग कर रहा हूं


नोट shredकिया जा रहा है कि फाइल सिस्टम पर निर्भर करता है की सुरक्षा पर ध्यान दें , मुझे नहीं पता कि यह एचएफएस पर कितना प्रभावी है।
फ्लिम

1
shred जर्नलेड फ़ाइल सिस्टम पर प्रभावी नहीं है, इसीलिए यह उपलब्ध नहीं है। एसआरएम भी प्रभावी नहीं पाया गया। बस सामान्य रूप से हटाएं और प्रार्थना करें hfs + journaled filesystems पर एकमात्र आशा प्रतीत होती है
केविन जॉनसन

वास्तव में?! क्या आप इस बारे में बात कर सकते हैं कि यह प्रभावी क्यों नहीं है?
इंस्पेक्टरगैजेट 20

1
जर्नलेड फ़ाइल सिस्टम डिस्क में लिखने से पहले किए गए परिवर्तनों को रिकॉर्ड करता है। इसका उपयोग फ़ाइल भ्रष्टाचार से उबरने, या आपके इच्छित डेटा को पुनर्प्राप्त करने के लिए किया जा सकता है। देखें en.wikipedia.org/wiki/Journaling_file_system
एलेक्स मूनी

जवाबों:


27

port install coreutilsबायनेरिज़ के नामों में ag प्रीफ़िक्स जोड़ता है, इसलिए श्रेड है /opt/local/bin/gshred


9
brew install coreutilsबनाता है gshredHomebrew का उपयोग करने वालों के लिए उपलब्ध।
davidjb

59

OSX में srmफ़ाइलों को सुरक्षित रूप से हटाने के लिए एक अंतर्निहित कमांड है। Https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/srm.1.html देखें । आप rm -Pतीन बार बाइट्स के दृश्यों के साथ फ़ाइलों को अधिलेखित करने के लिए भी उपयोग कर सकते हैं ।

सिएरा या बाद में, macOS में अब srm शामिल नहीं है। लेकिन उपयोगकर्ता इसे होमब्रे के साथ इंस्टॉल कर सकते हैं:

brew install homebrew/dupes/srm && brew link --force homebrew/dupes/srm

1
ज़रूर, लेकिन श्रेड मुझे ओवरराइट की संख्या निर्धारित करने देता है। ये उपकरण नहीं हैं। उस कार्यक्षमता को प्राप्त करने के बारे में कोई विचार?
इंस्पेक्टरगैजेट

2
+1 उत्कृष्ट उत्तर। मुझे नहीं पता था कि srmकमांड मौजूद है। यह फ़ाइल को हटाने से पहले फ़ाइल को अधिलेखित कर देता है, नाम बदल देता है और मिटा देता है। कि, प्लस 7 यूएस DoD शिकायत पास (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) (-m विकल्प) गारंटी फ़ाइल अपरिवर्तनीय है।
ट्यूलेंस कोर्डोवा

3
MacOS सिएरा के रूप में, srmअब शामिल नहीं है।
y3sh

1
macOS उपयोगकर्ता srmकाढ़ा आदेश के साथ स्थापित कर सकते हैं brew install homebrew/dupes/srm
hd.deman

1
homebrew/dupesअब पदावनत हो गया है। ऐसा लगता है कि srmहटा दिया गया था और माइग्रेट नहीं किया गया था homebrew-core
davidjb

18

@ user495470 का उत्तर प्रश्न के लिए सही है। समस्या न तो है srmया shredवास्तव में आधुनिक प्रणालियों के लिए समझ में आता है।

यह ज्यादातर SSDs के कारण होता है। चुंबकीय डिस्क के विपरीत, आधुनिक TRIM- सक्षम डिस्क पृष्ठभूमि में स्वचालित रूप से हटाए गए डेटा को साफ़ करता है।

SSD पहनने की लेवलिंग भी करता है। यह एक फ़ाइल को निरर्थक (आप एक अलग भौतिक स्थान पर लिख रहे हैं) और अवांछनीय (यह डिस्क पहनने में योगदान देता है) दोनों को "ओवर-राइट" करने का प्रयास करता है।

SSDs के साथ आने वाले सभी Mac में TRIM सक्षम है।

फ़ाइल सिस्टम की अन्य समस्या, विशेष रूप से जर्नल की गई फ़ाइल सिस्टम, जो डेटा की एक प्रति कहीं और रख सकती है, इसे लिखे जाने से पहले।

चुंबकीय मीडिया पर भी यह दोनों के लिए समस्या पैदा कर सकता है srm:

सभी उपयोगकर्ताओं [..] को पता होना चाहिए कि srm केवल फाइल सिस्टम पर काम करेगा जो जगह में ब्लॉक को अधिलेखित करता है। विशेष रूप से, यह जर्नल फ़ाइल सिस्टम के विशाल बहुमत [..] पर काम नहीं करेगा ।

और shred:

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

मैक ओएस एक्स v10.3 के बाद से एचएफएस प्लस वॉल्यूम डिफ़ॉल्ट रूप से जर्नल किए जाते हैं।

इन दिनों, सुरक्षित रूप से "हटाई गई" फ़ाइलों का सबसे अच्छा तरीका फ़ाइल वॉल्ट को सक्षम करना है (इसलिए वे डिस्क को कभी भी पहले से अनएन्क्रिप्टेड नहीं लिखते हैं) फिर उन्हें हटा दें और टीआरआईएम को छाँटने दें।

यदि, दुर्भाग्य के झटके से, आप एक चुंबकीय माध्यम पर हैं, तो अक्षम अक्षम कर दिया है और किसी कारण से, डिस्क को एन्क्रिप्ट नहीं कर सकते हैं, आप विकल्प हैं:

  • का उपयोग करें, rm -Pजो फ़ाइलों के साथ 0xff, फिर 0x00, और फिर 0xffसे अधिलेखित करता है
  • (यानी। ) के coreutilsलिए स्थापित करेंgshredbrew install coreutils && gshred secrets.txt
  • srmसे निकाला जा चुका है homebrew-dupesऔर homebrew-coreलेकिन किसी के यहाँ एक नल प्रकाशित कि काम करता है (यानी। brew install khell/homebrew-srm/srm && srm secrets.txt)
  • माध्यम का भौतिक विनाश :)

लेकिन मुझे लगता है कि यदि आप पूरे विभाजन या पूरे डिस्क को काटते हैं तो श्रेड अभी भी ठीक है।
कॉन्सटेंटिन

आपका मतलब है shred /dev/hda? हां मेरा अनुमान है कि। OS द्वारा संबोधित किए जा रहे ब्लॉक अभी भी भौतिक मेमोरी से अलग हैं और संभवतः श्रेड के दौरान रीमेक किए जा रहे हैं । मुझे आश्चर्य है कि अगर कोई भी लेवलिंग और रिज़र्व स्पेस लागू करता है, तो इससे हमेशा काम नहीं हो सकता है ..
मोलोमबी

+1 के बारे में स्पष्टीकरण के लिए क्यों श्रेडिंग SSDs पर व्यर्थ है और FileVault का उपयोग करने का सुझाव है। क्या APFS जर्नल है या हमें पता है कि यह फ़ाइल हटाने का काम कैसे करता है? (शायद एक अलग धागा होना चाहिए!)
स्टुअर्ट एच

1
यहाँ यह धारणा प्रतीत होती है कि सुरक्षित हटाने की आवश्यकता केवल 'आंतरिक' ड्राइव के लिए है। संलग्न ड्राइव सभी रूपों में आते हैं और उनमें से कुछ के लिए srm उपयुक्त होगा।
रोंडा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.