试图用PHP打开另一个系统用户目录的权限被拒绝


Permission denied trying to open directory of another system user with PHP

我在user1的目录中有一个php脚本,当我试图打开另一个用户的目录时,我得到了拒绝的权限。

脚本在

/home/user1/script.php

和我试图打开

/home/user2/uploadedfiles/

这是在CentOS linux中。我用了

chmod -R 777 /home/user2/uploadedfiles/

,并执行ls -l确认权限修改已生效。别担心,我不会把它放在777上,我只是试了试,试图让事情正常工作。

PHP脚本是:

opendir(/home/user2/uploadedfiles/)

返回:

[function.opendir]: failed to open dir: Permission denied

我希望user2能够FTP上传一些文件,但不想让他们访问user1的文件夹,这是网站所在的位置。这就是为什么有两个帐户,user1的脚本试图访问user2上传的文件的原因。也许这部分我说错了?是否有一种更好的方法来创建一个新的linux帐户,将其FTP到user1的目录中的一个文件夹中,但不触及其他任何内容?

谢谢!:)

为了能够对/home/user2/uploadedfiles/做任何事情,user1必须能够首先遍历/home/user2

/home/user2上设置执行位(chmod ..+x)(但不是读位,这将允许列出目录),并删除/home/user2/*的读和写位(当然,没有uploadedfiles)。