在 Unix 中远程更改用户密码的最佳方法是什么?这必须由用户在 Web 应用程序或 Windows 应用程序中执行,而不使用 SSH 或用户与服务器之间的任何直接连接(不允许直接命令行)。
谢谢
Webmin 似乎是一个很好的应用程序,但我发现很难正确配置它。我的 Unix 用户无法登录到 Webmin 或 Usermin。
你知道 Webmin 和 Usermin 的其他替代品吗?
谢谢
在 Unix 中远程更改用户密码的最佳方法是什么?这必须由用户在 Web 应用程序或 Windows 应用程序中执行,而不使用 SSH 或用户与服务器之间的任何直接连接(不允许直接命令行)。
谢谢
Webmin 似乎是一个很好的应用程序,但我发现很难正确配置它。我的 Unix 用户无法登录到 Webmin 或 Usermin。
你知道 Webmin 和 Usermin 的其他替代品吗?
谢谢
@Rich Bradshaw
只要确保不引入安全问题。该解决方案应使用 https 加密(密码不应以明文形式发送)。应该保护它免受外壳注入攻击(从输入中删除任何换行符,正确转义等)。更多细节取决于选择的实现。
我过去曾这样做过,通过使用用 Expect 编写的脚本一次更改多台服务器上的密码。它非常适合这项工作,但您需要服务器通过 SSH 进行监听。
编写完成后,脚本将在您的本地工作站上执行,并连接到远程主机,进行您编写的交互,然后您就应该是金牌了。一直以来,如果您正在运行 SSH,则使用您已经信任的加密。只是不要将密码保存在脚本中:您应该能够提示自己输入密码(即使通过命令行参数获取密码通常也被认为是不好的做法。)
Expect 也是一门很棒的语言:很有趣!
您可以编写一个运行 passwd 的服务器端脚本,您可以使用任何允许运行 shell 命令的语言来执行此操作。