我正在使用 Centos,并且我对其中一个目录执行了 ll 命令。目录中文件的所有者是一些数字而不是用户名。你能解释一下这是为什么吗?
如果您看到下面的内容,而不是 root 作为所有者,则显示 600 作为所有者。而且没有叫600的用户,这是为什么呢?
-rw-rw-r-x. 1 600 root 1696 Jun 27 2016 abc.txt
-rw-rw-r-x. 1 600 root 1696 Jun 27 2016 xyz.txt
-rw-rw-r-x. 1 600 root 1692 Jun 27 2016 hagts.txt
答案1
我的第一个假设是您或某人以 root 身份尝试使用以下内容更改目录或其中文件的权限
# chmod 600 *
但错误地输入为
# chown 600 *
这会将所有者更改为600
.即使系统上没有这样的用户,这也是有效的操作。这些文件将归 UID 600(可能未分配)所有。
要将它们改回来,请使用
# chown dave *
以 root 身份(替换dave
为您的用户名)。
*
如果您不想影响所有文件和目录,您可能需要选择特定的文件和目录名称。您还应该通过查看 shell 历史记录来追溯您的步骤,看看您做了什么实际上确实改变了所有权(如果是你的话)。
另一种可能性是文件及其所有权是从 UID 600 的另一台计算机转移的是有效用户。如果文件驻留在网络共享上并且当前计算机上的用户未以任何方式与创建文件的计算机同步,则很容易发生这种情况。
您仍然可以以 root 身份更改所有权chown
。