Linux上的Coldfusion - 无法更改文件的权限

时间:2011-03-01 19:40:12

标签: coldfusion cffile

我一直在撞墙挡在头上。我有一个允许用户将zip文件FTP到服务器的系统。然后在管理员中,他们可以告诉应用程序该文件的位置,以便可以对文件执行一组操作。

  1. 将文件移出网络根目录
  2. 解压缩文件
  3. 列出内容并将数据插入数据库
  4. 问题是,上传的文件并不总是具有适当的权限。我尝试用以下内容更改它们:

    <cfscript>
        FileSetAccessMode(myFile, "777");
    </cfscript>
    

    <cffile action="rename" mode="777" source="#myFile#" destination="#myFile#">        
    

        <cffile action="move" mode="777" source="#myFile#" destination="#myFile#">      
    
      

    但是没有什么会改变这个zip文件的权限。请注意,如果我对图像(.jpg)执行上述任何操作,它可以正常工作。我错过了什么吗?

2 个答案:

答案 0 :(得分:4)

FTP'd文件不太可能归Web服务器进程所有,除非您使用与运行的网络服务器相同的凭据进行FTP。除非网络服务器拥有这些文件,否则它将无法更改它们的权限。

答案 1 :(得分:1)

如果Web服务器/ ColdFusion服务器可以读取该文件,请将其复制到暂存区域,然后删除原始文件。如果CF对FOLDER具有写入(和可能的执行)权限,它应该能够删除原始文件,无论谁拥有它,即使它被设置为模式000(任何人都无法访问)。

将上传文件放在沙盒中,然后移动到服务器所需的位置,无论如何都是一种很好的安全措施。