PHP更改linux用户密码(passwd)

时间:2016-10-08 19:07:31

标签: php linux

我想通过我的api更改用户密码,但我当前的代码无效。

也许有人可以帮助我。

$cmd1 = "passwd ".$info['instanceFtpUser'];
$ssh->exec($cmd1."\n");
$ssh->exec($newpass."\n");
$ssh->exec($newpass."\n");
$ssh->disconnect();

顺便说一下,我正在使用phpseclib

2 个答案:

答案 0 :(得分:0)

您的用例是phpseclib文档的示例: http://phpseclib.sourceforge.net/ssh/pty.html

正如您在上面看到的那样,您应该使用SELECT PAC.PACKAGED_ITEM_GID FROM SHIPMENT SH, ORDER_MOVEMENT OM, ORDER_MOVEMENT_D OMD, S_SHIP_UNIT SSU, S_SHIP_UNIT_LINE SUL, PACKAGED_ITEM PAC WHERE OM.SHIPMENT_GID = SH.SHIPMENT_GID AND OM.ORDER_MOVEMENT_GID = OMD.ORDER_MOVEMENT_GID AND OMD.S_SHIP_UNIT_GID = SSU.S_SHIP_UNIT_GID AND SSU.S_SHIP_UNIT_GID=SUL.S_SHIP_UNIT_GID AND SUL.PACKAGED_ITEM_GID = PAC.PACKAGED_ITEM_GID AND SH.SHIPMENT_GID = 'ULA/SAO.5000070143' 输出到PTY,而不是write

exec

答案 1 :(得分:0)

您还可以使用sshpass(https://sourceforge.net/projects/sshpass/),它可以让您在不需要密码的情况下ssh到远程服务器。您可以创建一个ssh到远程服务器的脚本并设置新密码。然后,您可以使用php exec函数调用此脚本。