From: "mame (Yusuke Endoh)" Date: 2013-02-02T13:12:43+09:00 Subject: [ruby-dev:46906] [ruby-trunk - Bug #6756][Open] FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない Issue #6756 has been updated by mame (Yusuke Endoh). Status changed from Assigned to Open Assignee deleted (mame (Yusuke Endoh)) Target version set to next minor まあ一応反対が出たのでコミットしません。 内容的には小崎さんに全面賛成で、「あの環境でできないから」とか言ってたら File/FileUtils 関係はほとんど何も出来なくなるんじゃないかと思いますが、 まあ今から議論するのは 2.0.0 には遅いので next minor にします。 あと自分で判断できる内容じゃない気がするので担当ははずれておきます。 対応が遅くなってすみません。 -- Yusuke Endoh ---------------------------------------- Bug #6756: FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない https://bugs.ruby-lang.org/issues/6756#change-35778 Author: fumiyas (Fumiyasu SATOH) Status: Open Priority: Normal Assignee: Category: lib Target version: next minor ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] =begin UNIX の rm コマンドは、(({rm -rf dir})) でアクセス権がない空ディレクトリを 削除しますが、(({FileUtils.rm_rf("dir")})) は削除してくれません。 $ mkdir -m 0 empty-noperm-dir $ sudo ls -la empty-noperm-dir 合計 8 d--------- 2 fumiyas fumiyas 4096 7月 20 01:10 . drwxrwxr-x 11 fumiyas fumiyas 4096 7月 20 01:10 .. $ ruby -v -rfileutils -e 'FileUtils.rm_rf("empty-noperm-dir")' ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] $ sudo ls -la empty-noperm-dir 合計 8 d--------- 2 fumiyas fumiyas 4096 7月 20 01:10 . drwxrwxr-x 11 fumiyas fumiyas 4096 7月 20 01:10 .. $ rm -rf empty-noperm-dir $ sudo ls -la empty-noperm-dir ls: empty-noperm-dir にアクセスできません: そのようなファイルやディレクトリはありません この例では指定したディレクトリがアクセス権がない空ディレクトリですが、 サブディレクトリの場合も同じ問題が発生します。 Windows ならしょうがない(私の知る限りアクセス権のないファイルは 削除不可なので)と思うのですが、少なくとも UNIX 系の OS では rm -rf と 同じく削除して欲しいです。 =end -- http://bugs.ruby-lang.org/