为什么某个文件的组显示数字(看起来像 ID),而不是字母字符串?



通常作为'ls -al',文件总是像这样显示:

-rw-r--r-- 1 owner_name group_name size time file_name

但我的一些文件显示:

-rw-r--r-- 1 owner_name 'number' size time file_name

并且"数字"在/etc/group 中不存在

"数字"是什么意思?以及如何解决它?

非常感谢!

数字是组 ID (gid)。*nix 系统中的组和用户数字 ID(uidgid)。在文件系统中,拥有的用户和组将仅按其 ID 存储。

为了显示此内容,将查询用户数据库。使用现代 *nix 系统,这可以是任何东西,例如 LDAP 目录,但经典格式是使用/etc/passwd/etc/group的文件。如果看到的是 ID 而不是名称,则表示系统在用户/组数据库中找不到该条目。对于远程LDAP目录,例如在网络关闭时会发生这种情况。如果您只使用传统的/etc/group文件,则仅在没有条目时发生这种情况。

组被删除,或者有人使用(不存在的)ID 而不是名称更改了文件的组,或者文件是从具有此组的另一个系统复制的,并在复制时保留 ID。

如何修复它取决于你想要什么。您只需将文件chgrp到现有组即可。或者,您可以使用此 ID 创建组。

数字将是组 ID,而不是组名称。要显示没有组名称的组 ID,可以使用 ls -aln。

如果名称中显示数字,这通常是组名称解析的问题,即如果一组文件是从外部源下载的,并且组 ID/名称是"外来的",因此本地系统无法理解。

最新更新