通过 Web 浏览器验证用户的 Unix 凭证

通过 Web 浏览器验证用户的 Unix 凭证

谁能给我一些关于如何通过浏览器验证用户的 Unix 凭证的提示?

我基本上是授予某些文件查看的权限,并且我想确保用户已经过身份验证,但不想让他们记住一整套额外的密码和用户名。

答案1

很少有透明的不幸的是,这种方法。

  • 在集中管理的网络中,您可以使用 Kerberos,并在 Web 服务器端使用 mod_auth_gssapi 或 mod_auth_kerb(又称“HTTP 协商”)。Kerberos 非常安全,但配置用于 Web 使用可能很麻烦(并非所有浏览器都支持它,只有一些浏览器默认允许它)。

  • 如果所有计算机都受到信任(即保证用户不会篡改 root 安装的软件),则 Ident 协议(RFC 1413)是可行的,但它提供的身份验证非常弱。

但大多数情况下,您唯一的选择是询问密码。

  • 如果用户在 有账户/etc/passwd,正如您在评论中提到的那样,不幸的是,运行特权程序是仅有的方式来验证收到的密码/etc/shadow

    如果你这样做,不要通过 编写自己的脚本sudo,因为你将要第一次输入验证错误,因为这已经是一个已解决的问题。选择一些众所周知的东西,例如 Cyrus saslauthd(可以在-a pam模式下运行);这样,您的网站除了连接到套接字之外不需要任何特权saslauthd

相关内容