0

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

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

我最近对 ​​Linux 很熟悉,但之前没用过 shell_exec。环顾互联网,听起来我需要解析出 /etc/shadow 来验证密码,这并不难,但我不确定在输入密码上使用什么加密来匹配它与影子。

提前致谢。

4

2 回答 2

1

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

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

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

于 2013-07-02T20:35:50.947 回答
0

您也许可以创建一个 bash 脚本,该脚本使用passwd接受从 Web 表单输入的参数(例如用户名和密码)的命令。这是一个链接,它显示了如何执行此操作的一个示例:

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

于 2013-07-02T20:35:51.463 回答