使用 ubuntu 用户作为网站登录系统

使用 ubuntu 用户作为网站登录系统

我想知道是否有人可以给我指明正确的方向。我想创建一个登录系统,提取服务器上已创建的用户。(使用 Ubuntu 16.04)。我相信一个示例系统应该像 squirrelmail。谢谢!

答案1

有很多方法可以做到这一点,但没有一种是通用的 - 因此我将在最常见的情况下泛泛地讲一讲。

Linux 通常将密码以加密形式保存在 /etc/shadow 中。此文件(通常只有 root 可读)将用户名作为第一个参数,将密码作为第二个参数。您可以导入用户名和加密密码,然后使用某种机制来验证解密的密码。您可以使用 PHP 调用“密码验证”导入后获取散列密码。

如果 Squirelmail 允许您访问服务器,则它很可能使用 IMAP 或 POP3。您可以(尽管速度会受到影响)使用 POP3 或 IMAP 库来检查用户是否可以登录,然后关闭它。看看https://www.php.net/manual/en/function.imap-open.php

另一种可能性是使用 PAM - 这是 Linux 版本和身份验证之间的通用抽象接口。我发现了一个(未维护的)PAM PHP 模块,它应该允许您使用 PHP 进行身份验证 - 当然,您需要确保启用了 PAM 并忍受未维护的代码 - 请查看http://svn.php.net/viewvc/pecl/pam/trunk/README?view=markup

相关内容