用户/所有者 24561 是什么?

用户/所有者 24561 是什么?

所以,我刚刚从 nodejs.org 安装了 node.js 包,然后四处查看它安装了什么。/usr/local/bin我看到了这个所有者 24561。我也在其他几个地方看到了它。这是什么?这是什么意思?它应该root像其他东西一样吗?

lrwxr-xr-x  1 root              wheel        66 Jun 23 13:02 mate -> /Applications/TextMate.app/Contents/SharedSupport/Support/bin/mate
-rwxr-xr-x  1 24561             wheel  18865984 Jun 29 09:32 node
-rwxr-xr-x  1 24561             wheel       355 Jun 29 09:32 node-waf
lrwxr-xr-x  1 root              wheel        38 Jul  3 12:15 npm -> ../lib/node_modules/npm/bin/npm-cli.js

奇怪的是,我通过谷歌搜索找不到关于此用户的任何其他信息。使用安装了 Xcode 的 OS X Lion 10.7.4 看看是否有区别。

答案1

最有可能的是,node.js 安装程序被设计为创建一个由用户 24561“拥有”的文件。您的机器会查找/etc/passwd用户 24561,如果不存在,它只会显示数字。这通常在解压 tarball 时发现,以及在您的情况下,当安装程序试图将所有者分配给您没有的用户时。这就是为什么它在任何机器上分配相同的数字的原因。

很可能是一个简单的chown root node并且chown root node-waf会起作用。

答案2

这里是 isaacs,他是构建大多数节点二进制文件的人。

可能并非巧合:

$ whoami
isaacs

$ id
uid=24561(isaacs) gid=20(staff)

因此,看起来构建 pkg 的东西正在将我的 uid 保存在 pkg/tar 中,并且当你安装它时,它会保留该字段。

最好不要这样做,但我不知道如何配置包生成器以使其表现不同。如果这是一个问题,请发布错误或发送拉取请求,我们可以进一步调查https://github.com/joyent/node/issues

编辑:

看起来已经存在一个问题:https://github.com/joyent/node/issues/2427

答案3

如果您在该位置看到的是用户 ID(即数字)而不是用户名,则最可能的原因是该用户已被删除(但其某些文件/目录并未被删除)。由于用户已被删除,系统无法再分辨其名称,因为所有权是通过用户 ID 保留的。

相关内容