我们有许多 Linux 服务器专门用来执行某些任务。
我们需要定期运行某些需要 root 访问权限的命令。
因此我们开发了一个 Web 面板,可以从中完成这些管理。现在的问题是我们需要将用户名/密码提供给 Web 应用程序的开发人员,这让我们感到很不舒服。
因此,我们正在寻找一种解决方案,通过第三方身份验证方案进行身份验证。这样我们就可以控制这个第三方。并且 Web 应用程序将能够在需要 root 访问权限的服务器上运行命令。
我们需要一个非常简单的解决方案,而不是一个完全臃肿的东西。
答案1
我们不希望 Web 面板的开发人员登录系统。此外,我们认为在源代码中硬编码“裸”密码不是一个好主意
您不应该使用“裸”密码 - 它们应该是加密的。
开发人员只需要有加密的密码,因此请他们为您提供一个可以完成此操作的工具。然后,您为 $user 生成一个密码,通过他们的工具运行该密码,并将用户名和加密的密码发送给他们。
如果将密码以未加密的形式发送到应用程序进行比较,开发人员就可以轻松读取密码。
您确实应该让客户端进行加密并将结果发送到服务器进行比较,并且整个过程应该通过 SSL 安全连接进行。