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

Dan*_*Dan 1 php linux

我在user1的目录中有一个php脚本,我在尝试打开另一个用户的目录时被拒绝.

所以剧本就在

/home/user1/script.php
Run Code Online (Sandbox Code Playgroud)

而我正试图打开

/home/user2/uploadedfiles/
Run Code Online (Sandbox Code Playgroud)

这是在CentOS linux中.我用过

chmod -R 777 /home/user2/uploadedfiles/
Run Code Online (Sandbox Code Playgroud)

并确认权限更改已通过运行ls -l生效.别担心我不会把它留在777上,我只是试图让它工作起来.

PHP脚本是:

opendir(/home/user2/uploadedfiles/)
Run Code Online (Sandbox Code Playgroud)

哪个回报:

[function.opendir]: failed to open dir: Permission denied
Run Code Online (Sandbox Code Playgroud)

我希望user2能够FTP一些文件,但不想让他们访问user1的文件夹,这是该网站的位置.这就是为什么有两个帐户,而user1的脚本正试图访问上传的user2文件.也许我有这个部分错了?有没有更好的方法来创建一个新的Linux帐户到FTP到user1的目录中的文件夹,但没有触及其他任何东西?

谢谢!:)

phi*_*hag 5

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

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