From: Takahiro Kambe Date: 2000-08-09T11:42:21+09:00 Subject: [ruby-list:24143] Re: File.rename error message In message on Wed, 9 Aug 2000 11:24:18 +0900, Tanaka Akira wrote: > > なぜ、それが例外なのでしょうか??? ファイルが属するディレクトリ、属す > > ることになるディレクトリのアクセス権が問題であって、ファイル自身のアク > > セス権は無関係です。 > > あぁ、動かされるディレクトリという表現はあいまいでしたね。動くディレク > トリという表現の方が良かったかな? あ、なるほど。 > ファイルが属するディレクトリ a も属することになるディレクトリ b のアク > セス権も問題ありませんが mv は失敗します。ファイル c 自身のアクセス権 > が関係しているからです。 確かにそうですね。ディレクトリは自分自身(.)と親(..)を表す名前を含んで いますから、ディレクトリ自身も修正できなければならないわけです。 UNIXのファイルシステム特有な性質ですね。 o 対象となるファイルがディレクトリ以外の場合、その移動や削除において ファイル自身のアクセス権は関係しない。 o 対象となるファイルがディレクトリの場合、その移動や削除においてディレ クトリ自身のアクセス権も関係する。 o いずれの場合でもファイルが属するディレクトリ、移動する場合はその先の ディレクトリのアクセス権も関係する。 といったあたりがまとめでしょう。 -- 神戸 隆博(かんべ たかひろ) at 仕事場