我有一个需要上传文件的网站(工作经历/简历)。出于安全原因,我想将文件上传到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
答案 0 :(得分:3)
因此CF用户需要访问这些文件夹 - 但显然不是没有人。将用户更改为具有对这些文件夹具有适当权限的Apache或其他用户。