3

在 Unix 中远程更改用户密码的最佳方法是什么?这必须由用户在 Web 应用程序或 Windows 应用程序中执行,而不使用 SSH 或用户与服务器之间的任何直接连接(不允许直接命令行)。

谢谢


Webmin 似乎是一个很好的应用程序,但我发现很难正确配置它。我的 Unix 用户无法登录到 Webmin 或 Usermin。

你知道 Webmin 和 Usermin 的其他替代品吗?

谢谢

4

4 回答 4

5

使用Webmin(更具体地说是UserMin模块)。

Webmin 提供了一个迷你网络服务器,因此您只需要稍微安装和配置它。您将获得的不仅仅是更改密码,还可以删除您不希望用户拥有的功能。

于 2008-09-30T10:10:20.010 回答
1

@Rich Bradshaw

只要确保不引入安全问题。该解决方案应使用 https 加密(密码不应以明文形式发送)。应该保护它免受外壳注入攻击(从输入中删除任何换行符,正确转义等)。更多细节取决于选择的实现。

于 2008-09-30T10:32:54.667 回答
1

我过去曾这样做过,通过使用用 Expect 编写的脚本一次更改多台服务器上的密码。它非常适合这项工作,但您需要服务器通过 SSH 进行监听。

编写完成后,脚本将在您的本地工作站上执行,并连接到远程主机,进行您编写的交互,然后您就应该是金牌了。一直以来,如果您正在运行 SSH,则使用您已经信任的加密。只是不要将密码保存在脚本中:您应该能够提示自己输入密码(即使通过命令行参数获取密码通常也被认为是不好的做法。)

Expect 也是一门很棒的语言:很有趣!

于 2008-10-02T11:02:02.427 回答
0

您可以编写一个运行 passwd 的服务器端脚本,您可以使用任何允许运行 shell 命令的语言来执行此操作。

于 2008-09-30T10:11:35.187 回答