Apache / PHP写入用户的主文件夹

我在我们的系统上创build了一个SSH用户fred ,其主目录是/home/fred并且在/home/fred/someFolder有一个子目录。 我试图让PHP / Apache,作为nobody运行,能够在fred的someFolder目录内创build一个文件。 无论我尝试什么,我总是得到Warning: file_put_contents(/home/fred/someFolder/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/websiteDir/public_html/test.php on line 1

我已经尝试了几种不同的方法来做到这一点,似乎没有任何工作到目前为止。 试图chmod文件夹到777,666,660等。试图与弗雷德chown:没有人,没有人:弗雷德,没有人:没有人,弗雷德:弗雷德,什么都没有。 尝试添加fred到任何人的小组,尝试添加没有人fred的小组,nada。

对不起,我不是所有伟大的Linux …任何意见,将不胜感激。

/ home / fred / someFolder的所有父目录必须为访问它的用户/组设置执行位。 所以最有可能/ home / fred是缺less这个。 chmod a+x /home/fred

检查SELinux是否在强制模式下运行。 如果是这样,它可能会导致权限问题看起来不被您看到和设置的实际的UNIX文件权限支持。 您可以使用getenforce (至less在Redhat / CentOS上)查看SELinux的状态, setenforce 0以交互方式禁用它。 为了保持这个变化,你需要编辑/etc/selinux/config的SELinuxconfiguration。 希望有所帮助!