无法重命名我拥有的目录

Joh*_*ny5 7 permissions directory rename files

我有一个包含大量子目录的目录。都是我的,权限都是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
[...]
Run Code Online (Sandbox Code Playgroud)

我想重命名目录:

pascal@azazel /box $ mv 131073 NewName
mv: impossible de déplacer « 131073 » vers « NewName »: Permission non accordée
Run Code Online (Sandbox Code Playgroud)

该消息是法语,基本上是说我没有重命名(移动)目录的权限。

怎么了?

Gil*_*il' 11

重命名文件(无论其类型如何,包括目录)意味着在其所在目录中更改其名称。实际上,在文件系统内部重命名和移动是相同的操作;该文件与其旧名称分离并附加到其新名称,这需要修改源目录和目标目录(在一个目录内重命名,源目录和目标目录相同)。结果是您需要对包含目录的写权限,/box在您的示例中。

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