ใช้ 'ฉีก' จากบรรทัดคำสั่ง


44

ฉันต้องลบไฟล์บางไฟล์อย่างปลอดภัย ฉันเคยใช้shredกับระบบ linux มาก่อนดังนั้นฉันจึงมองไปรอบ ๆ และพบว่าshredเป็นส่วนหนึ่งของcoreutilsแพ็คเกจใน macports ฉันport install coreutilsติดตั้ง coreutils แล้ว แต่ยังหาไม่เจอshredใน command line

ฉันshredจะทำงานกับบรรทัดคำสั่งของ mac ได้อย่างไร ถ้าเป็นเรื่องสำคัญฉันใช้ Mac OS X 10.7.5 (Lion)


สังเกตshredว่าความปลอดภัยของมันขึ้นอยู่กับระบบไฟล์ที่ใช้ฉันไม่รู้ว่ามันมีประสิทธิภาพแค่ไหนใน HFS
Flimm

1
shred ไม่มีประสิทธิภาพในระบบไฟล์ที่เจอร์นัลซึ่งเป็นสาเหตุที่ไม่พร้อมใช้งาน SRM ก็พบว่าไม่มีประสิทธิภาพ เพียงแค่ลบตามปกติและการอธิษฐานดูเหมือนจะเป็นความหวังเดียวของ hfs + ระบบไฟล์ที่ถูกเจอร์นัล
Kevin Johnson

จริงๆ?! คุณช่วยพูดคุยเกี่ยวกับสาเหตุที่มันไม่ได้ผลได้ไหม
inspectorG4dget

1
ระบบไฟล์ที่เจอร์นัลจะบันทึกการเปลี่ยนแปลงที่จะเกิดขึ้นก่อนการเขียนลงดิสก์ มันสามารถใช้ในการกู้คืนจากความเสียหายของไฟล์หรือกู้คืนข้อมูลที่คุณต้องการได้รับการทำลาย ดูen.wikipedia.org/wiki/Journaling_file_system
Alex Mooney

คำตอบ:


27

port install coreutilsเพิ่มคำนำหน้า ag /opt/local/bin/gshredชื่อของไบนารีเพื่อฉีกมี


8
brew install coreutilsทำให้gshredพร้อมใช้งานสำหรับผู้ที่ใช้ Homebrew
davidjb

59

OSX มีคำสั่งในตัวsrmเพื่อลบไฟล์อย่างปลอดภัย ดูhttps://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/srm.1.html คุณยังสามารถใช้rm -Pเพื่อเขียนทับไฟล์ด้วยลำดับของไบต์สามครั้ง

ด้วยเซียร์ราหรือใหม่กว่า macOS จะไม่รวม srm อีกต่อไป แต่ผู้ใช้สามารถติดตั้งกับ homebrew:

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

1
แน่นอน แต่ฉีกให้ฉันตั้งค่าจำนวนการเขียนทับ เครื่องมือเหล่านี้ทำไม่ได้ มีความคิดเห็นเกี่ยวกับวิธีการใช้ฟังก์ชั่นนั้นบ้างไหม?
inspectorG4dget

2
+1 คำตอบที่ยอดเยี่ยม ฉันไม่รู้ว่าsrmคำสั่งนั้นมีอยู่จริง มันเขียนทับเปลี่ยนชื่อและตัดไฟล์ก่อนที่จะลบมัน นั่นบวกกับ 7 US DoD ที่ผ่านการรับรอง (0xF6, 0x00, 0xFF, สุ่ม, 0x00, 0xFF, สุ่ม) (ตัวเลือก -m) รับประกันไฟล์ไม่สามารถกู้คืนได้
Tulains Córdova

3
ในฐานะของ macOS Sierra srmจะไม่รวมอีกต่อไป
y3sh

1
ผู้ใช้ MacOS สามารถติดตั้งด้วยคำสั่งเบียร์srm brew install homebrew/dupes/srm
hd.deman

1
homebrew/dupesเลิกใช้แล้ว ดูเหมือนว่าจะถูกลบออกและไม่ได้อพยพไปsrm homebrew-core
davidjb

18

คำตอบของ @ user495470 ถูกต้องสำหรับคำถามที่โพสต์ ปัญหาไม่ได้เป็นจริงsrmหรือshredสมเหตุสมผลสำหรับระบบที่ทันสมัย

นี่เป็นสาเหตุหลักมาจาก SSD ไม่เหมือนกับดิสก์แม่เหล็กดิสก์ที่เปิดใช้งาน TRIM รุ่นใหม่จะล้างข้อมูลที่ถูกลบในพื้นหลังโดยอัตโนมัติ

SSD ยังทำการปรับระดับการสึกหรอ สิ่งนี้ทำให้ความพยายามในการ "เขียนทับ" ไฟล์ทั้งสองไร้ประโยชน์ (คุณจะต้องเขียนไปยังตำแหน่งทางกายภาพที่แตกต่างกัน) และไม่พึงประสงค์

Mac ทั้งหมดที่มาพร้อมกับ SSD เปิดใช้งาน TRIM

ปัญหาอื่น ๆ ของระบบไฟล์คือระบบไฟล์ที่เจอร์นัลโดยเฉพาะซึ่งสามารถเก็บสำเนาของข้อมูลไว้ที่อื่นก่อนที่จะเขียนออกมา

แม้แต่ในสื่อแม่เหล็กสิ่งนี้อาจทำให้เกิดปัญหากับทั้งคู่srm:

ผู้ใช้ทุกคน [.. ] ควรทราบว่า srm จะทำงานกับระบบไฟล์ที่เขียนทับบล็อกเท่านั้น โดยเฉพาะอย่างยิ่งมันจะไม่ทำงานกับ [.. ] ระบบไฟล์ที่เจอร์นัลส่วนใหญ่

และshred:

[.. ] shred อาศัยสมมติฐานที่สำคัญมาก: ระบบไฟล์จะเขียนทับข้อมูลที่มีอยู่ [.. ] การออกแบบระบบไฟล์ที่ทันสมัยจำนวนมากไม่เป็นไปตามสมมติฐานนี้ ข้อยกเว้นรวมถึง: ระบบไฟล์บันทึกโครงสร้างหรือเจอร์นัล [.. ]

ไดรฟ์ข้อมูล HFS Plus ถูกเจอร์นัลเป็นค่าเริ่มต้นตั้งแต่ Mac OS X v10.3

วันนี้วิธีที่ดีที่สุดในการ "ลบ" ไฟล์อย่างปลอดภัยคือการเปิดใช้งาน FileVault (ดังนั้นพวกเขาจะไม่เขียนดิสก์ที่ไม่เข้ารหัสในตอนแรก) จากนั้นเพียงแค่ลบไฟล์เหล่านั้นและปล่อยให้ TRIM เรียงลำดับ

หากคุณโชคร้ายในสื่อแม่เหล็กได้ปิดใช้งานการบันทึกรายวันและด้วยเหตุผลบางประการไม่สามารถเข้ารหัสดิสก์คุณมีตัวเลือกดังนี้:


แต่ฉันเดาว่า shred ยังคงใช้ได้ถ้าคุณฉีกทั้งพาร์ติชันหรือดิสก์ทั้งหมด
Konstantin

คุณหมายถึงshred /dev/hdaอะไร ใช่ฉันเดาเช่นนั้น บล็อกที่ได้รับการแก้ไขโดยระบบปฏิบัติการยังคงถูกแยกออกจากหน่วยความจำกายภาพแม้ว่าและอาจถูกแมปใหม่ระหว่างการทำลาย ผมสงสัยว่าถ้ามีการปรับระดับการสึกหรอและการสำรองพื้นที่การใช้งานที่อาจก่อให้เกิดนี้จะไม่ทำงานเสมอ ..
Molomby

+1 สำหรับคำอธิบายเกี่ยวกับสาเหตุที่การทำลายเอกสารไม่มีจุดหมายบน SSD และคำแนะนำในการใช้ FileVault APFS ถูกเจอร์นัลหรือไม่หรือเรารู้วิธีจัดการกับการลบไฟล์หรือไม่? (น่าจะเป็นกระทู้แยกต่างหาก!)
Stuart H

1
ดูเหมือนจะมีข้อสันนิษฐานที่นี่ว่าการลบที่ปลอดภัยจำเป็นสำหรับไดรฟ์ 'ภายใน' เท่านั้น ไดรฟ์ที่แนบมาในทุกรูปแบบและ srm จะเหมาะสมสำหรับบางคน
Rondo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.