Shell访问Apache用户在PHP中创建的文件

时间:2012-08-28 15:03:40

标签: php apache shell permissions console

我的网站使用所有者apache创建文件:上传文件时使用apache,如下所示:


drwxr-xr-x    2 apache apache   4096 Aug 28 14:07 .
drwxr-xr-x 9118 apache apache 233472 Aug 28 14:07 ..
-rw-r--r--    1 apache apache  41550 Aug 28 14:07 468075_large.jpg
-rw-r--r--    1 apache apache  26532 Aug 28 14:07 468075_medium.jpg
-rw-r--r--    1 apache apache  50881 Aug 28 14:07 468075_original.jpg
-rw-r--r--    1 apache apache   4316 Aug 28 14:07 468075_small.jpg

现在我正在尝试在Plesk中拥有该域的用户在同一文件夹中创建一个文件,并且我获得了权限被拒绝。

如何让apache和shell用户拥有对该文件的权限?

感谢。

3 个答案:

答案 0 :(得分:1)

您必须创建一个组并将Plesk和Apache用户放入其中。你必须在你的文件上使用chmod -R g + rwX。

并将系统的默认umask设置为002。

答案 1 :(得分:1)

如果该shell用户不是apache但在同一组中,则需要使该文件夹组可写。

chown 755 .

现在它不会允许除apache之外的任何人添加文件夹。 或者,您可以尝试使用php来执行fopen吗?

答案 2 :(得分:0)

感谢您的回答,但我最终决定运行一个cron作业,使用wget从网站上打开一个php脚本。

这样就可以访问已经访问过文件的apache用户了。我这样做基本上是因为我有大量的文件,大约300GB的图像所以我认为应用新的权限会花费很多。