上传文件需要什么权限/所有权?

我试图通过我的Web应用程序上传图像到服务器上。 我发现父目录上的771权限在我的本地机器上是可以接受的。 但是,在Web服务器上,即使是777个目录也不允许我上传图片。

假设代码本身没有缺陷,这里可能会发生什么? 我注意到的一个区别是,即使通过目录层次结构追溯,这些文件在我的本地机器上属于(和部分组)'daniel',而'root'拥有它们在Web服务器上。 否则我看不出有什么不同。

如果需要,我可以填写任何其他细节。

这些查找命令应该做的伎俩:

  1. 假设你的Apache正在作为www-data用户运行。 也可能没有人。 这将解决所有权:

    find / path / to / your / docroot! -user www-data -exec chown www-data:www-data {} \;

  2. 修复目录上的烫发:

    find / path / to / your / docroot -type d! -perm 755 -exec chmod 755 {} \;

  3. 修复文件上的烫发

    find / path / to / your / docroot -type f! -perm 644 -exec chmod 644 {} \;

Apache或httpd也必须是UID或GID。 并具有读取,写入和执行权限。

在Ubuntu上,Apache运行www-data用户/组

所以如果你chown -R www-data pic/dirchgrp -R www-data pic/dir它应该工作。

如果你chgrp一定要在目录上至less使用775 ,而chown你可以在目录上使用755权限。