即使已完成 NOPASSWD 设置,从 PHP 运行 SSH 命令也会出现 sudo: no tty present and no Askpass program specified 错误

即使已完成 NOPASSWD 设置,从 PHP 运行 SSH 命令也会出现 sudo: no tty present and no Askpass program specified 错误

我正在使用 LAMPP 来运行 apache 服务器。我正在从 php 文件执行一个 python 脚本,该脚本执行ssh,scp命令。但我收到错误:

sudo: no tty present and no askpass program specified

我查找了此错误,并根据建议在sudoers文件中创建了轮组,如下所示:

%wheel  ALL=(ALL)       NOPASSWD:ALL

在我已经更改的httpd.conf文件中user=apache

Group=wheel

但我仍然遇到上述错误,不知道为什么。当我exec(whoami)在 php 文件中执行此操作时,它会打印出来daemon,因此不确定我的 php 正在由哪个用户执行。

答案1

你必须tty在你的sudoers

Defaults    !requiretty

相关内容