无法重命名我拥有的目录

无法重命名我拥有的目录

我有一个目录,里面有大量子目录。这些子目录都是我的,权限都是 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在您的示例中)。

顺便说一下,这些权限与复制文件然后删除原始文件所需的权限完全相同。

相关内容