親ディレクトリの所有者が同じユーザーではない場合、子ディレクトリの名前を変更できないのはなぜですか?

親ディレクトリの所有者が同じユーザーではない場合、子ディレクトリの名前を変更できないのはなぜですか?

重複の可能性:
私が所有しているディレクトリの名前を変更することはできません。

ユーザーAがディレクトリXを所有している場合、その親ディレクトリがユーザーBが所有していると名前を変更できない理由を理解したいと思います。誰でもこれを説明できますか?

$ls -l ~
drwxr-xr-x 11 root root   4096 Jan 31 09:43 mymedia

~/mymedia$ ls -l
drwxr-xr-x  6 rag rag  4096 Jan 31 08:34 Entertainment

~/mymedia$ mv  Entertainment/ entertainment
mv: cannot move `Entertainment/' to `entertainment': Permission denied

ベストアンサー1

ファイル名を変更すると、ファイルが変更されるのではなく、対応する親ディレクトリが変更されます。ファイル名はディレクトリのエントリです。電話帳を考えると、電話帳の電話番号に関連付けられている名前を変更するには、電話回線ではなくディレクトリを変更する必要があります。この名前はこのディレクトリの電話回線にのみ接続されます。電話番号は別の名前の別のディレクトリにあります(ハードリンク)。

ただし、ディレクトリの名前を変更するときに注意する必要があるのは、ディレクトリにその親エントリ..(対応するエントリ)への参照が含まれているためです。ディレクトリを移動するには、古い親ディレクトリ(アイテムの削除)と新しい親ディレクトリ(新しいエントリの追加)に対する書き込み権限を持つだけでは十分ではなく、エントリを更新するにはディレクトリ自体に対する書き込み権限も必要です。..(古いものと新しいものの親が異なる場合)。

おすすめ記事