Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > fileutilsライブラリ > FileUtilsモジュール > remove_entry_secure

module function FileUtils.#remove_entry_secure

remove_entry_secure(path, force = false) -> ()[permalink][rdoc]

ファイル path を削除します。path がディレクトリなら再帰的に削除します。

FileUtils.#rm_r および FileUtils.#remove_entry には TOCTTOU (time-of-check to time-of-use)脆弱性が存在します。 このメソッドはそれを防ぐために新設されました。 FileUtils.#rm_r および FileUtils.#remove_entry は以下の条件が 満たされるときにはセキュリティホールになりえます。

この脆弱性を防ぐため、remove_entry_secure は削除前に path 以下の ディレクトリのオーナーとパーミッションを変更し、上記の条件を回避します。 ただし remove_entry_secure は親ディレクトリが以下の条件を満たすことを 仮定しています。

この条件が満たされない場合 remove_entry_secure は安全ではありません。

[PARAM] path:
削除するパス。
[PARAM] force:
真のときは削除中に発生した StandardError を無視します。