我的 AWS 实例上的 mysql 用户的所有者已从用户名更改为数字。该数字未在 passwd、group、shadow 或 gshadow 中列出。它似乎与已安装的 perl 模块 Devel-CheckLib-1.16 相关联。
这些数字代表什么?为什么 /home 中的用户名文件夹会被更改为由“1002”所拥有?
乔·怀特
答案1
类似这样的数字1002
表示拥有该文件的用户的用户 ID。它显示为 ID 而不是用户名的原因通常是因为系统无法将其解析为passwd
、shadow
、group
等中的现有用户。您还可以使用类似ls -n
这样的命令列出所有具有 ID 而不是名称的文件。
这种情况通常发生在用户帐户被删除或重新创建(使用新 ID)时,或者该文件由另一个系统上具有该 ID 的用户创建时。
在 Linux 中,新创建的用户分配的 ID 从 500 开始(OS X、RHEL),其他用户从 1000 开始(openSUSE、Debian)。您的用户1002
可能是系统上创建的第三个用户,但这取决于用户来自哪里。
答案2
当拥有文件或目录的用户在系统中不存在时,就会发生这种情况。您运行了一些更改此目录所有权的操作。因此,请返回并使用以下命令更改所有权:
chown -R user:group /home/path
另一种方法是用这个 ID 创建新用户(在本例中为 1002)
useradd -u 1002 mysql
(例如)