これがこれを達成するための最良の方法ではないと思う理由をお聞きしてもよろしいですか? ファイルの内容を取り返しのつかないほど破壊することが本当に必要な場合、これは良い解決策のように思えます。
この方法の利点は次のとおりです。
- プログラムは既に存在します (そのため、開発が速くなります)。と
- プログラムはすでに信頼されています。
2つ目は重要なポイントです。ファイルを精巧にスクラブする必要性を誇張することは可能です (Peter Gutmann は、関連するウィキペディアのページで引用された発言の中で、彼の方法のいくつかの使用法を「ブードゥー」と説明しています)。しかし、それは問題ではありません。既存のツールは、ほとんどの場合、自家製のものを使用するよりも防御可能です。
を使用してあなたの現在のアプローチについて私がする唯一の批判については、でプログラムをsystem(3)
検索するため、原則として、誰かがそれでゲームをプレイしていたずらをする可能性があるということです。しかし、これは簡単に対処できます。フル パスを使用して特定のバイナリを呼び出すには、andを使用します。shred
PATH
fork(2)
execve(2)
とはいえ、これが片付けの影響の少ないビットである場合はmmap
、ファイルを単純にして、ゼロをすばやく書き込む方がさらに簡単かもしれません。