我正在运行phplibsec以在我的服务器上运行密码更改脚本。我目前有三个需要更改的密码。目前这些是使用由$ ssh-> exec命令运行的bash脚本更改的。然而,由于日益复杂化,我需要单独运行这些中的每一个。
我已经开始努力让这些在phplibsec中运行并且发现一个密码会改变,但脚本将停止,我不知道为什么。
以下是我的工作:
$ssh->enablePTY();
$ssh->exec('htdigest /etc/apache2/.passwd "Authenticated Users" ' . $username);
$ssh->read('password:');
$ssh->write("$newpass\n");
$ssh->read('password:');
$ssh->write("$newpass\n");
但是,当我尝试编写另一个连续命令时,无论命令是什么,它都会失败。
这是我最终需要的:
$ssh->enablePTY();
$ssh->exec('htdigest /etc/apache2/.passwd "Authenticated Users" ' . $username);
$ssh->read('password:');
$ssh->write("$newpass\n");
$ssh->read('password:');
$ssh->write("$newpass\n");
$ssh->exec('htpasswd /etc/squid3/squiddb ' . $username);
$ssh->read('password:');
$ssh->write("$newpass\n");
$ssh->read('password:');
$ssh->write("$newpass\n");
$ssh->exec('passwd ' . $username);
$ssh->read('password:');
$ssh->write("$newpass\n");
$ssh->read('password:');
$ssh->write("$newpass\n");
似乎只要引入读/写,就不可能再运行exec命令了。我不确定,并且仍然无法找到退出此方法的方法,同时仍能执行。
任何建议都将不胜感激。