Використання `shred` з командного рядка


44

Мені потрібно надійно стерти деякі файли. Раніше я використовував shredу системах Linux, тому я оглянувся і виявив, що shredє частиною coreutilsпакету в макпортах. Я зробив port install coreutilsустановку coreutils, але все ще не можу знайти shredв командному рядку.

Як я можу отримати shredроботу над командним рядком мого Mac? Якщо це має значення, я використовую Mac OS X 10.7.5 (Lion)


Зауважте, що безпека shredзалежить від використовуваної файлової системи, я не знаю, наскільки вона ефективна для HFS.
Flimm

1
shred не є ефективним для файлових систем, що перебувають у перекладі, тому він недоступний. SRM також було виявлено неефективним. Просто видаліть нормально, і молитися, здається, єдина надія на файлових системах hfs + файлів
Кевін Джонсон

Дійсно ?! Скажіть, будь ласка, про те, чому це не ефективно?
inspectorG4dget

1
Журнальовані файлові системи записують зміни, які будуть внесені перед записом на диск. Він може бути використаний для відновлення після пошкодження файлів або відновлення даних, які ви хотіли б подрібнити. Дивіться en.wikipedia.org/wiki/Journaling_file_system
Алекс Муні

Відповіді:


27

port install coreutilsдодає префікс ag до назв бінарних файлів, тому шред є /opt/local/bin/gshred.


9
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три рази перезаписати файли з послідовностями байтів.

З sierra чи пізнішими версіями macOS більше не включає srm. Але користувачі можуть встановити його з домашньою мовою:

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

1
Звичайно, але клаптик дозволяє мені встановити кількість перезаписів. Ці інструменти ні. Будь-які ідеї, як отримати цю функціональність?
inspectorG4dget

2
+1 Відмінна відповідь. Я не знав, що srmкоманда існує. Він перезаписує, перейменовує і скорочує файл перед тим, як видалити його. Це, плюс 7 пропусків, сумісних із DoD США (0xF6, 0x00, 0xFF, випадковий, 0x00, 0xFF, випадковий) (опція -m), гарантують, що файл не може бути відновлений.
Tulains Córdova

3
Станом на macOS Сьєрра srmбільше не входить.
y3sh

1
Користувачі macOS можуть встановлювати за srmдопомогою команди brew 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 /dev/hda? Так, я думаю. Блоки, на які звертається ОС, все ще вилучаються з фізичної пам'яті, але потенційно можуть бути перекомплектовані під час клаптики. Цікаво, чи реалізація будь-якого рівня зносу та резервного простору може спричинити це не завжди.
Molomby

+1 для пояснення того, чому подрібнення безглуздо на SSD-накопичувачах та пропозиція використовувати FileVault. Чи застосовується APFS з перекладом чи ми знаємо, як він обробляє видалення файлів? (Мабуть, має бути окрема тема!)
Стюарт Н

1
Здається, тут існує припущення, що безпечне видалення потрібне лише для "внутрішніх" дисків. Приєднані накопичувачі бувають у всіх формах, а srm буде доречним для деяких з них.
Рондо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.