php-proc_open(或者其他有效的函数)

时间:2020-03-06 14:42:45  来源:igfitidea点击:

我需要通过浏览器执行一些命令行。
我需要在命令行中执行的操作是:

$login
<login name>
<password>
$passwd
<old password>
<new password>
<retype new password>

那么,如何使用proc_open函数呢?
还是我应该使用其他功能来做到这一点?

亚当·赖特(Adam Wright),我已经尝试过示例,但是我无法更改用户密码。
我需要在脚本中执行其他任何操作(除了定义$ user,$ userPassword和$ newPassword之外)?

谢谢

解决方案

我们无需发出登录名即可更改用户密码,只需将用户名指定为passwd。使用popen(因为我们不需要在这个小例子中阅读),类似

$pp = popen("passwd ${user}", "w");
fwrite($pp, $oldPassword . '\n');
fwrite($pp, $newPassword . '\n');
fwrite($pp, $newPassword . '\n');
pclose($pp);

如果我们想读取响应,请使用proc_open,然后从给出的stdout句柄中读取。

我希望这一切都很好,并希望我们对用户名进行很多检查。

我们可以使用http://pecl.php.net/package/PAM。
它具有一个功能`bool pam_chpass(s​​tring $ username,string $ oldpassword,string $ newpassword [,string&$ error])。
但是我从来没有使用过它。

在Internet上使用PHP脚本找到了此Change Linux或者UNIX系统密码。

关于如何创建网站的详细说明,用户可以在其中更改自己的系统密码。