その中に多数のサブディレクトリがあるディレクトリがあります。このサブディレクトリはすべて私のもので、権限は777です。
pascal@azazel /box $ ls -al
total 147872
drwxr-xr-x 293 root root 12288 aoû 22 19:44 .
drwxr-xr-x 25 root root 4096 jun 28 18:49 ..
drwxrwxrwx 7 pascal pascal 4096 aoû 4 2010 131082
[...]
ディレクトリ名を変更したい。
pascal@azazel /box $ mv 131073 NewName
mv: impossible de déplacer « 131073 » vers « NewName »: Permission non accordée
メッセージはフランス語で、デフォルトではディレクトリ名を変更または移動する権限がないと言います。
何が問題なの?
答え1
ファイル名を変更することは、(ディレクトリを含むファイルの種類に関係なく)、そのファイルが配置されているディレクトリの名前を変更することを意味します。実際、ファイルシステム内での名前変更と移動は同じことです。ファイルは古い名前から分離され、新しい名前に追加されます。これを行うには、ソースディレクトリとターゲットディレクトリを変更する必要があります(ディレクトリ内の名前を変更するには、ソースディレクトリとターゲットディレクトリは同じです)。その結果、インクルードディレクトリ(/box
例では)への書き込み権限が必要です。
ただし、これらの権限は、ファイルをコピーしてから元のファイルを削除するために必要な権限とまったく同じです。