使用web表单(PHP)重置Linux密码


Reset Linux password using web form (PHP)

我有一台Linux服务器(Fedora 18,Linux内核3.6.10),上面运行着VSFTP和Apache,我的朋友有时会用它来托管文件。我正在尝试制作一个PHP表单,他们可以使用它来更改密码,而无需使用SSH或其他方式登录到实际的服务器。

我有一个表格,要求您输入用户名、当前密码、新密码和重新键入新密码,但我不知道该调用什么来验证用户名/密码组合,或者实际更改密码。

我最近开始熟悉Linux,但以前没有使用过shell_exec。环顾互联网,听起来我需要解析/etc/shadow来验证密码,这并不难,但我不确定在输入密码上使用什么加密来将其与shadow匹配。

提前谢谢。

创建一个shell脚本来处理密码验证和更改,然后使用PHP调用该shell脚本。

密码以md5sum的形式存储在/etc/shadow中。您必须对该条目进行md5sum运算,并将其与/etc/shadow中的相应条目进行比较以进行验证。

示例实现可以在这里找到。

您可以创建一个使用passwd命令的bash脚本,该命令接受从web表单输入的参数,如用户名和密码。这里有一个链接,展示了如何做到这一点的一个例子:

http://www.cyberciti.biz/tips/change-linux-or-unix-system-password-using-php-script.html