我正在重命名文件,但错误地移动了一个目录。当我将其移回其原始名称时,所有文件信息均未设置。它看起来像这样:
theserver:/web % ls -l site
total 0
?--------- ? ? ? ? ? admin
?--------- ? ? ? ? ? ajax
?--------- ? ? ? ? ? common
?--------- ? ? ? ? ? contacts.php
?--------- ? ? ? ? ? css
?--------- ? ? ? ? ? error
?--------- ? ? ? ? ? error.php
?--------- ? ? ? ? ? forms
?--------- ? ? ? ? ? images
这几乎让我心脏病发作!幸运的是,如果我这样做,它似乎可以自行修复chmod 755 site
。因此,为了了解发生了什么:
- 为什么文件系统好像丢失了信息的踪迹?
- 为什么当父目录权限重置后,一切又会恢复?
- 当我以普通用户身份登录时,如何能够更改所有权不明的文件的权限?
谢谢
答案1
如果您对目录具有读取权限,则可以看到条目名称。其他元数据(类型、大小、所有者、权限等)只有对目录具有执行权限的用户才可读。如果您ls -l site
以 root 身份执行,则将收到正常的目录列表。
换句话说:文件系统并没有丢失任何记录。它只是拒绝向您提供该信息。