1

我有一个需要上传文件的网站(工作历史/简历)。出于安全原因,我想将文件上传到 Web 根目录之外的文件夹。在我的本地开发机器上,它工作正常。但是在我的生产服务器上,我继续收到权限错误。我究竟做错了什么?

在上传 CFC 中,我进行了设置,以便在将文件写入根目录外的文件夹时检测文件扩展名、创建 UUID 并重命名文件。此块设置在 try/catch 块内,并将错误发送回页面,以便我在控制台中读取错误。

这是我得到的 JSON 编码cfcatch.Detail和错误...cfcatch.Message

写入异常此异常的原因是:java.io.FileNotFoundException: /var/www/ftp/uploadfoldername/8915DD79-F7BD-B66E-ACE2FBFE7DBE9006.txt(权限被拒绝)。| 对文件 /var/www/ftp/uploadfoldername/8915DD79-F7BD-B66E-ACE2FBFE7DBE9006.txt 执行文件操作写入时出错。

当我在尝试上传到的文件夹上运行 getfacl 时,它看起来像这样:

# file: uploadfoldername
# owner: root
# group: apache
user::rwx
group::rwx
group:apache:rw-
mask::rwx
other::r-x
4

1 回答 1

3

所以 CF 用户需要访问这些文件夹 - 但显然不是没有人。将用户更改为 Apache 或其他对这些文件夹具有适当权限的用户。

于 2012-04-12T17:53:01.593 回答