Answers:
对于组定义,可能存在替代位置,如中所述 nsswitch.conf
:
文件系统对象可能属于尚未定义的UID或GID /etc/passwd
, /etc/groups
或通过任何替代名称服务。就内核而言,这是完全可以接受的,因为它是用户空间,无论如何都提供了人类可读名称的映射。在这种情况下,用户空间工具通常会显示数字ID而不是名称。
另一方面,虽然完全有可能,但是具有无效UID或GID的对象通常表示存在某些重要性的问题 - 通常情况下,如果用户没有正确处理其文件而被删除。在大多数情况下,这种情况是不可接受的,因为如果有问题的UID / GID被重新用于现在发现自己拥有来自过去用户的多个文件的新用户/组,则它允许信息泄露的可能性。 ..
如果您提到实际问题,我们可能会提供更多帮助......
可能有一个GID未在组中列出的文件,如果从另一台机器导入文件(例如tar-ball),这种情况经常发生。然后该小组显示 ls
例如一个数字,例如4000.例如
-rw-r--r-- 1 root 4000 0 Dec 24 11:04 foo.foo
(我是这样做的 touch foo.foo; chgrp 4000 foo.foo
)
组名文件在名称方面简单方便,当然也可以定义哪些用户属于哪个组。
同样,你可以 /etc/passwd
设置用户 fred
将组4000作为数字。
我不确定你是否可以拥有一个空的组名 /etc/groups
[正如larsmans指出的那样,NIS也可能会影响用户和群组的名称]
我希望这回答了你的问题。