【问题标题】:php shell_exec permission deniedphp shell_exec 权限被拒绝
【发布时间】:2015-08-18 08:00:27
【问题描述】:

shell_exec("touch /Users/Nerses/Downloads/ads.txt 2>&1")

我的 PHP exec(shel_exec) 函数有问题。它说我没有执行命令的权限。

如何打开这些权限?

【问题讨论】:

  • 您能否编辑问题并复制+粘贴确切的错误消息?
  • "触摸:/Users/Nerses/Downloads/ads.txt: 权限被拒绝"
  • 它说您没有编辑文件的权限。此类文件位于“Nerses”的主目录中。我猜你用 Apache 用户或类似的用户运行 PHP——你必须调整文件系统权限(假设 SELinux 或其他一些工具不会阻止进一步的访问)。

标签: php exec shell-exec


【解决方案1】:

您的 PHP 代码正在尝试访问 /Users/Nerses/Downloads/ads.txt,如您所见,该文件夹归名为“Nerses”的用户所有。

他是唯一可以访问它的人(也是 root)(除非您更改对该文件夹的权限)。

通常,执行shell_exec 的用户称为www-data,因此请授予该用户权限,或更改该文件夹中的权限。

其他选项是执行

shell_exec('sudo -S YOUR COMMAND');

您可以通过命令查看您使用的用户

shell_exec('whoami');

【讨论】:

  • 谢谢!我的文件所在的文件夹由 apache 以外的其他用户拥有,因此将父文件夹的所有权更改为 apache 的用户和组为我做了。
猜你喜欢
  • 1970-01-01
  • 2013-07-08
  • 1970-01-01
  • 1970-01-01
  • 2012-07-27
  • 2013-08-07
  • 2018-03-19
  • 2015-07-15
  • 2020-09-30
相关资源
最近更新 更多