可能的重复:
无法重命名我拥有的目录
我试图理解为什么当用户 A 拥有目录 X 时,当 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
重命名文件时,您不会更改该文件,而是更改其父目录。文件名是目录中的一个条目。想想电话目录,要更改目录中与电话号码关联的名称,您需要修改目录,而不是电话线路。该名称仅与该目录中的电话线路相关联。该电话号码可能位于另一个目录中,且名称不同(硬链接)。
但重命名目录有一个警告,因为目录包含对其父级(其..
条目)的引用。为了能够移动目录,仅对旧父目录(以删除条目)和新父目录(以添加新条目)具有写权限是不够的,您还需要对目录本身具有写权限才能更新条目..
(如果旧的和新的父项不同)。