php - 使用 Web 表单 (PHP) 重置 Linux 密码

标签 php linux forms passwords reset

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

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

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

提前致谢。

最佳答案

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

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

可以找到示例实现 here .

关于php - 使用 Web 表单 (PHP) 重置 Linux 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17435286/

相关文章:

java - 如何在 Ajax 表单提交后将用户重定向到另一个页面?

php ADODB 在连接到 MySQL 之前调用 mysql_options()

php - 此 mySQL 查询出现问题 : (using WHERE with AS clause)

php - 如何制作像gmail 和facebook 那样的交互式 uploader ?

linux - 如何在命令行中使用 `find` 删除文件名的扩展名(和前缀)?

java - 使用两个不同的 servlet 但使用单个提交按钮处理两个不同的作业

javascript - 让 Javascript/jQuery 和 PHP 协同工作

php - 从 WP_Query 中排除没有评论的 WooCommerce 产品

linux - 在多台服务器上远程运行 shell 命令?

linux - 如何从 linux 终端发送电子邮件,将多个文件的内容作为邮件正文?