在Unix中远程更改用户密码的最佳方法是什么?

在Unix中远程更改用户密码的最佳方法是什么?,unix,change-password,Unix,Change Password,在Unix中远程更改用户密码的最佳方法是什么? 这必须由用户在Web应用程序或Windows应用程序中执行,而不使用SSH或用户与服务器之间的任何直接连接(不允许使用直接命令行) 谢谢 Webmin似乎是一个很好的应用程序,但我发现要正确配置它非常困难。我的Unix用户无法登录到Webmin或Usermin 你知道Webmin和Usermin的其他替代方案吗 感谢使用(更具体地说是模块) Webmin提供了一个小型Web服务器,所以您只需稍微安装和配置它。您将得到的不仅仅是更改密码,还可以删除

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

谢谢


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

你知道Webmin和Usermin的其他替代方案吗

感谢使用(更具体地说是模块)


Webmin提供了一个小型Web服务器,所以您只需稍微安装和配置它。您将得到的不仅仅是更改密码,还可以删除您不希望用户拥有的功能

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

@Rich Bradshaw


只需确保不会引入安全问题。解决方案应使用https加密(密码不应以明文形式发送)。应该防止shell注入攻击(从输入中删除任何换行符,正确地转义等等)。更多详细信息取决于choosen实现。

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

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


Expect也是一种很棒的语言:非常有趣

客户端和服务器之间没有直接连接?但您仍然希望客户端更改服务器上的某些内容?那怎么办?修好了。抱歉,有任何误解;)如果您编写一个脚本在远程主机上运行passwd,那么您也可以在其上执行passwd:您没有解决“远程”问题。此外,通过其他服务(如HTTPS)公开您建议的脚本似乎是一种安全风险。任何服务器端脚本语言也可以与Apache一起使用,如果编码正确,则不会比Webmin更具安全风险。PHP、Ruby、Perl