PHP使用sudo执行bash脚本不起作用

时间:2018-11-16 05:24:51

标签: php bash centos centos7

我无法在PHP中使用带有shell_exec()函数的sudo运行bash脚本。我收到一条错误消息:

  

抱歉,用户apache不能以root用户身份在test.server.com上执行'/ bin / bash /var/www/html/private/createFTP.sh'。

PHP:

shell_exec('sudo bash /var/www/html/private/createFTP.sh 2>&1');

Visudo:

apache ALL=NOPASSWD: /var/www/html/private/createFTP.sh

1 个答案:

答案 0 :(得分:0)

如果您的Web服务器在chroot监狱中,则将导致此类错误。如果您正在运行chroot服务器,请确保也将/ etc / sudoers文件镜像到jail文件系统,并在设置sudoers文件时调整chroot目录结构,并且一旦进入chroot,脚本也会移动。还要检查jail文件系统中是否也有sudo库和可执行文件。