具有根所有者的PHP如何访问会话目录?

时间:2019-02-08 09:51:50

标签: php apache session cron directory-permissions

我很好奇

  

为什么在Ubuntu中使用cron清理会话文件?

我对此进行了研究,发现有两个链接,说

  为了安全起见,

”会话保留在root权限下。   因此,PHP垃圾收集器无法清理   过期的会话文件。为了清理此类文件,php具有cron作业,   每30分钟运行一次。”

1. Why does Debian clean php sessions with a cron job instead of using php's built-in garbage collector?

2. Debian Bug report logs - #267720

Apache有www-data用户,所以我认为PHP模块也正在为www-data用户运行(不确定)。

  

在这种情况下,PHP如何访问会话目录   哪个拥有root所有者来创建/读取会话文件?

     

即使apache具有www-data,PHP是否也可以root权限运行   用户?如果PHP以root权限运行,则GC如何无法读取   具有根所有者的会话目录中的会话文件。

     

或者GC是否以www-data用户运行,PHP是否以root用户运行?

附加内容:

我已经在/ var / lib / php / sessions中检查了创建文件的用户和所有者,并显示了创建会话文件的www-data:www-data。

/ var / lib / php / sessions的权限为 drwx-wx-wt

即它有粘性的“ t”

  

粘性位:

     

sticky位是用于保护文件的权限位   在目录中。如果目录设置了粘性位,则文件   只能由文件的所有者(文件的所有者)删除   目录或根目录。此特殊权限可防止用户   删除其他用户的文件。   reference

现在,问题是在哪个用户GC下运行?如果它在www-data下运行,为什么它不能删除会话文件?

0 个答案:

没有答案