我知道在Linux上使用PAM的身份验证方案存在很多问题,我也有一个用户名/密码身份验证的工作副本。
我想知道我们是否可以验证"只是"单独使用用户名...因为我在Linux中创建特定用户时甚至不创建密码。如果是,请告诉我如何解决这个问题。一些代码片段真的很棒。谢谢!
P.S。现在我通过字符串传递值进行身份验证(每个用户名和密码都是
)答案 0 :(得分:0)
这就是我想的,一个简单的方法,它可能与其他任何人的逻辑不同。
- 取用"用户名"仅尝试使用Linux自己的系统调用创建用户。
- 如果用户创建成功 - >用户从未存在(它解决了我在没有密码的情况下创建用户的问题)。
- 如果用户创建失败 - >用户已存在且无法创建。
系统将返回此值,您必须获取返回值以继续执行程序的下一步)。
让我知道这是否可以更精致。
答案 1 :(得分:0)
您可以使用pam_securetty来检查用户ID是否为0,如果该用户不存在-该检查失败,因此验证用户名。添加到/etc/pam.d/login
auth require pam_securetty.so