使用 PAM 在 Linux 上验证用户名

Validate a username on Linux using PAM

我知道有很多关于在 Linux 上使用 PAM 的身份验证方案的问题,我也有一份 username/password 身份验证的工作副本。

我想知道我们是否可以单独验证 "just" 用户名...考虑到我在 Linux 中创建特定用户时甚至没有创建密码。如果是,让我知道如何去做。一些代码片段会非常棒。谢谢!

P.S。现在我通过字符串传递值进行身份验证(每个用于用户名和密码)


这是我想的,很简单的方法,可能和别人的逻辑不一样。

- 仅使用 "username" 并尝试使用 Linux 自己的系统调用创建用户。
- 如果用户创建成功 --> 用户从不存在(它解决了我创建没有密码的用户的问题)。
- 如果用户创建失败 --> 用户已经存在并且不会创建。 系统将 return 这个,您必须获取 return 值才能继续执行程序的下一步)。

让我知道是否可以对此进行改进。

您可以使用 pam_securetty 检查用户 ID 是否为 0,如果用户不存在 - 此检查失败,因此验证用户名。添加到 /etc/pam.d/login auth require pam_securetty.so