file upload文件夹权限fastCGI – 如何使其可写?

我正在使用cPanel WHM运行fastcgi / suEXEC的centos 5.7

我正在尝试使一个特定的文件夹可写,以允许脚本上传文件,但似乎有问题。

我想要写入的文件夹(和所有recursion文件夹)是:

/home/mydomain/public_html/uploads 

而且我只想让用户“songbanc”运行的脚本能够写入这个目录。

我已经尝试了以下内容:

 chown -R songbanc /home/mydomain/public_html/uploads chmod -R 755 /home/mydomain/public_html/uploads 

但它似乎仍然没有工作。

如果我通过FTP客户端手动设置权限到777,脚本将只上传文件。

我假设我误解了如何为fastcgi用户设置权限,希望有人可以帮助我。

提前致谢

编辑:在其中一个脚本或文件夹上运行getfacl给出以下内容:

 # file: home/mydomain/public_html/ripples/1.jpg # owner: songbanc # group: songbanc 

所以看起来主人是正确的? 我现在完全困惑!

编辑2:

情节变厚… lsattr和chattr正在返回不适当的设备的ioctl当阅读标志…

首先, suEXEC是一个Apache 1.x模块。 由于各种原因和支持问题,使用suPHP升级到Apache 2.x是正确的path。 看到我以前的post在这里如何升级。

可能发生的事情是我会简单介绍的一些事情,但是升级到suPHP很可能会解决这个问题。 需要注意的是,将PHP 5 Handler改为suPHP是这里的重要部分。

原因:

  1. 您没有运行suEXEC ,实际上脚本没有在用户名下执行。 您可以执行top -u username -d 1 ,其中用户名是帐户的用户名。 你应该注意到,每次运行的时候,php文件都会显示在屏幕上。

  2. 父文件夹没有正确的权限。 如果你正在运行一个较旧版本的Apache,并且我怀疑是因为你提到了suEXEC那么你可以逃脱这个。 如果你正在运行suPHP,这不会是一个问题,因为它会抓住它。 所以确保父文件夹有正确的权限。

  3. 您没有运行PHP。 suPHP或者suEXEC只适用于PHP脚本。 如果你正在运行其他任何东西,它们可能会也可能不会在该用户下运行,具体取决于你如何安装Apache。 大部分他们应该,但是谁知道!

拿走:用suPHP升级到Apache 2.x,你应该被覆盖。 只要确保您将PHP处理程序更改为suPHP,如我所发布的链接所述。