所有的Linux用户都存在于/etc/passwd文件中吗?

4

有一个名为"user1"的用户,但我在/etc/passwd中找不到该用户,但我可以执行类似于以下命令的命令:

$touch abc
$chown user1 abc
$su user1

这些命令可以正常运行,但如果我试图将文件的所有者改为一个不存在的用户,这些chownsu命令就会失败。

我想知道这个user1是从哪里来的?

1个回答

4
当使用user1登录后(在su user1之后),执行以下操作:
getent passwd $USER

这将在不同数据库之间获取用户密码条目。所有用户不一定是系统用户,他们可能来自LDAP等。 有关getenv的文档,请进行检查。

还要检查您的nsswitch.conf以查看用于获取名称服务信息的所有来源。


1
只是补充一下:nsswitch.conf 通常位于 /etc/nsswitch.conf。 - sk1me

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接