仍然不了解文件上传文件夹权限

时间:2010-06-02 14:23:26

标签: php linux security

我查看了文章和教程。

我不知道如何处理图片上传文件夹的安全性。

这是应该上传到文件夹的分类广告的图片。

这就是我想要的:

 Anybody may upload images to the folder.
 The images will be moved to another folder, by another php-code later on (automatic).
 Only I may manually remove them, as well as another php file on the server which automatically empties the folder after x-days.

我该怎么办?

图像通过php-upload脚本上传。 此脚本检查文件的扩展名是否实际上是有效的图像文件。

当我尝试这个时:

   chmod 755 images

图片不会上传。

但是这样可行:

   chmod 777 images

但是777是安全隐患吗?

请告诉我详细信息......

问题是,如何解决这个问题,不知道有哪些权限等等......

由于

如果您需要更多信息,请告诉我......

4 个答案:

答案 0 :(得分:3)

您必须确保上传文件夹归Apache所有,或者是http服务器启动的用户。

或者,您可以使用UID拥有的775,他们将收集文件,并使用gid作为启动网络服务器的组ID。

这些主题当然有变化。

只要网络服务器用户或网络服务器组有权写入该文件夹,就可以上传。

有各种各样的角柜,但我们需要更多关于您的设置的信息。

答案 1 :(得分:1)

  

0无权限(用户不能   做任何事情)

     

1仅执行(仅限用户)   执行文件)

     

2只写(仅限用户)   写入文件)

     

3写入和执行权限

     

4只读

     

5读取和执行权限

     

6个读写权限

     

7读取,写入和执行权限

第一个数字= OWNER 第二个数字= GROUP 第三个数字=其他用户

答案 2 :(得分:-1)

为什么它只适用于777权限的一种可能性可能是您正在运行SELinux。它可能会阻止写入。我会想到,即使有777的停留,它也会阻止它,但我不是SELinux专家。

答案 3 :(得分:-3)

每个新手都会混淆用户。 :)
您只需区分操作系统用户和网站用户即可 后者与操作系统权限无关。

对于OS用户,您已经提供了2个:

  1. FTP用户,文件所有者,通过FTP上传
  2. 网络服务器用户,通过浏览器上传的文件的所有者。
  3. 网站用户,对任何文件都无法直接访问
  4. 因此,如果这两个用户都相同,您就不用担心了 但通常这些是不同的用户。因此,除非目录有777和文件755,否则无法访问其他文件 这就是你必须为目录设置777的原因 正如我们上面已经了解到网站用户与操作系统权限无关,您不必担心安全性。 777还可以。