From: SATOH Fumiyasu Date: 2007-08-16T02:09:53+09:00 Subject: [ruby-dev:31430] Re: File exists - /tmp/bootstraptest.tmpwd さとうふみやす @ OSS テクノロジです。 At Thu, 16 Aug 2007 01:47:27 +0900, Tanaka Akira wrote: > というか、FileUtils.rm_rf で /tmp/bootstraptest.tmpwd を消す > のって、セキュリティ的に問題がありますよね。 /tmp/bootstraptest.tmpwd 以下 (/tmp/bootstraptest.tmpwd も含む) に他人 (信頼できないユーザー) が書き込めるディレクトリが なければセキュリティの問題は発生しません。 また、「rm_rf」という名前から想像するに (実装は見てません)、 シンボリックリンクは辿らないのではないかと思えるのですが、 違うのでしょうか? $ cd /tmp $ mkdir test-symlink-target $ touchtest-symlink-target/test-file $ ln -s test-symlink-target test-symlink $ ls test-* test-symlink: test-file test-symlink-target: test-file $ rm -rf test-symlink $ ls test-* test-file > (FileUtils.rm_rf の問題に関しては > http://www.ruby-lang.org/ja/man/?cmd=view;name=fileutils に > いくらか記載があります。) /tmp はふつう sticky bit がついているので、他人の ファイルやディレクトリをリネームしたり削除できないので 安全です。 -- -- Name: SATOH Fumiyasu / fumiyas @ osstech.co.jp -- Business Home: http://www.OSSTech.co.jp -- Personal Home: http://www.SFO.jp/blog/