0

所以我正在尝试开发一个脚本,所有用户都可以将图像上传到动态创建的文件夹。

这是我做的线。

$newID = 1
mkdir('uploads/job_images/'.$newID.'/',0755);

这将在“uploads/job_images”中创建一个已经设置好的文件夹。

我的问题是,如果“工作图像”权限设置为 755 或 766,它不会让我创建目录。但是当我尝试将“job_images”权限设置为 777 时,它允许我创建一个目录。但他们说 777 存在安全风险。如果权限设置为 755,您为什么认为我无法在“job_images”内创建文件夹,但如果“job_images”权限设置为 777,则允许我在“job_images”内创建文件夹?

创建的文件夹还将“所有者/组”设置为 99/99(nobody)。楼主组好吗?

问题:

  1. 我可以在不使用 777 到“job_images”文件夹或将其留给 777 的情况下执行此操作吗?
  2. 我需要更改已创建文件夹的所有者吗?我可能有一天需要删除这些文件夹。
  3. 如何默认网站用户创建的文件夹组?
4

2 回答 2

0

尝试使用sudochown将您的目录的所有权更改为 Apache(或运行您的代码的任何软件/服务/守护程序:)。如果您是目录的创建者,则不需要使用 sudo(但在大多数 Unix/Linux 系统中,您也需要拥有目标组权限)。

请阅读有关文件系统权限的数字表示法。前 7 个表示所有者组有权读取、写入和执行您的文件。5 表示 Read & Execute,不写,所以不能新建目录。

于 2013-01-07T04:36:26.220 回答
0

我有同样的问题,PHP限制了一些功能:

受安全模式限制的功能 解决方法是在/etc/php5/apache2/phi.ini 配置文件中设置指令safe_mode_gid=On。

请参阅safe_mode_gid 指令 它适用于我的 LAMP 服务器 Ubuntu 12.04

于 2014-03-15T02:38:40.227 回答