php会话 - 是否可以触发由不同于www-data的用户执行的服务器脚本?

时间:2013-02-06 14:44:49

标签: apache php

我在灯ubuntu云服务器(amazon ec2)上运行php + mysql站点。我使用php会话。

对于每个会话(SID),我需要创建一个临时文件夹,该文件夹是www的子目录,并且会话ID为其名称(不可预测,因此无法预先创建)。例如:/ var / www / fileStore / s35S10nT3Mp /.

我稍后将从javascript(客户端)函数访问这些文件夹中的文件。

我的工作假设是:

  1. php代码执行(或调用)的任何内容都将在用户www-data(apache php user)下运行
  2. 客户端javascript无法访问子目录OUTSIDE www(例如:/ var / outsideFileStore / s35S10nT3Mp /,其中webroot = public_html = / var / www)
  3. 我在www的子目录中提供用户www-data写权限时遇到安全问题,因为这会使服务器和这些文件夹中的数据过于暴露。

    我想知道一个php会话是否可以触发(或调用)在另一个用户下运行的服务器脚本/进程(谁将在/ var / www / fileStore /中接收写权限),而不是www-data。然后,此过程将创建(并垃圾收集)这些临时文件夹。

    推论:万一这不能在apache下完成,tomcat会不会有帮助(如果我在java下运行php而不是http_server)?

1 个答案:

答案 0 :(得分:0)

您可以使用此备用用户拥有的标识位编译可执行文件。 PHP脚本将执行此程序,而该程序又可以简单地运行您选择的实际PHP脚本。

该程序也可以用Perl编写 - 它是Linux系统允许拥有标识位的唯一脚本语言。