【问题标题】:Still don't understand file upload-folder permissions还是不明白文件上传-文件夹权限
【发布时间】:2010-06-02 14:23:26
【问题描述】:

我查看了文章和教程。

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

是分类的图片,应该上传到文件夹中。

这就是我想要的:

 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 存在安全风险对吗?

请给我详细的资料...

问题是,如何解决这个问题,而不是关于有什么权限等的信息......

谢谢

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

【问题讨论】:

标签: php linux security


【解决方案1】:

您必须确保上传文件夹归 apache 或任何启动 http 服务器的用户所有。

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

这些主题当然有不同的变化。

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

有各种各样的极端情况,但我们需要有关您的设置的更多信息。

【讨论】:

  • 如何查看哪个用户是哪个http服务器启动的? Apache2.conf?
  • @Camran: 是的,apache2.confhttpd.conf 中的某处应该有一个 User(可能还有一个 Group)条目
  • 好的。现在检查一下,它是正确的用户...那很好...但是我仍然必须将文件夹的权限设置为 777 才能上传图像。否则不会工作......
  • 确实,所有权是人们上传文件的主要问题。没有该上下文,文件夹的权限就没有任何意义。
  • 如果 FTP 帐户也需要访问文件怎么办?最好的方法是让用户拥有上传文件夹,比如 user1.user1,并将 Apache 帐户添加到组 user1,然后写入组?
【解决方案2】:

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

1 只执行(用户只能 执行文件)

2 只写(用户只能 写入文件)

3 写入和执行权限

4 只读

5 读取和执行权限

6 读写权限

7 读取、写入和执行权限

第一个数字 = 所有者 第二个数字 = GROUP 第三个数字 = 其他用户

【讨论】:

  • 请注意,对目录的“执行”权限意味着可以 cd 进入该目录。 “写”权限允许您在其中创建删除文件。
【解决方案3】:

它仅适用于 777 权限的一种可能性可能是您正在运行 SELinux。它可能正在阻止写入。我会认为即使使用 777 权限它也会阻止它,但我不是 SELinux 专家。

【讨论】:

  • 当然这个答案可能是错误的,但至少是一次尝试。真的应该投反对票(匿名)而不是不投票吗?
【解决方案4】:

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

对于您给其中 2 个的操作系统用户:

  1. FTP 用户,文件所有者,通过 FTP 上传
  2. 网络服务器用户,通过浏览器上传的文件的所有者。
  3. 网站用户,他们无法直接访问任何文件。

因此,如果这两个用户相同,您不必担心。
但通常这些是不同的用户。因此,除非目录有 777 和文件 755,否则一个人无法访问其他人的文件。
这就是为什么您必须为目录设置 777。
正如我们在上面了解到的,网站用户与操作系统权限无关,您不必担心安全性。 777没问题。

【讨论】:

  • @Troubadour 有方案吗?还是只是祈祷?
  • 不确定我是否理解为什么为目录设置 777 是可以的。文件的 755 是有道理的,因为这意味着恶意用户无法修改服务器上现有的文件,但是使用 777 的目录,这是否使某人可以将恶意文件上传到目录然后执行它。
  • @BugMagnet 定义“恶意用户”
  • @CommonSense 有人喜欢你吗? :-)
猜你喜欢
  • 2013-02-14
  • 2019-04-11
  • 1970-01-01
  • 1970-01-01
  • 2012-09-19
  • 2012-12-31
  • 2013-03-20
  • 2018-12-28
  • 1970-01-01
相关资源
最近更新 更多