在一个xubuntu机器上,我有以下脚本让PHP创建由我的用户拥有的目录:
<?php
if(!isset($_REQUEST['path'])) die('No path specified');
$path = $_REQUEST['path'];
$res1 = shell_exec("sudo mkdir -p $path");
$res2 = shell_exec("sudo chown -R majid:majid $path");
var_dump($res1, $res2);
?>
该脚本位于/var/www/path/to/mkdir.php
。
我还将此文件添加到/etc/sudoers.d/grantmkdir
,内容如下:
www-data ALL=(ALL:ALL) NOPASSWD: /var/www/path/to/mkdir.php
我已将文件的chmod
更改为0440
。从浏览器访问mkdir.php时,变量转储的输出为NULL NULL
,并且没有创建任何目录。我做错了什么?
disable_functions
选项中是否禁用了shell_exec
? - FuzzyTree