ColdFusion文件夹权限变为只读

时间:2014-08-12 14:19:07

标签: coldfusion file-permissions coldfusion-10 cffile

目前正在运行ColdFusion 10,但多年来这一直是一个持续存在的问题,也许是整个CF6 / 7。

作为CMS的一部分,部分验证是将图像上传到目录,例如

<cffile action="UPLOAD" filefield="image" destination="media/img/" nameconflict="MAKEUNIQUE" accept="image/jpeg,image/gif,image/pjpeg" mode="644">

然后由检查尺寸的脚本读取它们。

如果一切都通过,则流程脚本会将其移动到目标目录,例如

<cffile action="MOVE" source="media/img/imagename" destination="media/img/#hexdir#/imagename" mode="644">

如果失败,则应将其删除。

<cffile action="DELETE" file="media/img/imagename">

每隔一段时间/ img /目录变为只读,就无法写入文件。但我无法确定原因。

是否有我不知道的错误?任何想法?

由于

其他信息

我考虑使用CFDirectory更改脚本中的文件夹权限,因此如果再次发生,可以快速解决。

我发现了两个问题

  

在UNIX和Linux上,cfdi​​rectory action =&#34; list&#34;不会在模式列中返回任何信息。

另外

使用权限为644,777,111的重命名文件夹似乎不会影响我可以在FileZilla中查看的文件夹的权限。

这是否意味着CF首先无法更改文件夹权限?

1 个答案:

答案 0 :(得分:2)

听起来你在Linux服务器上运行ColdFusion。为此,我建议您阅读auditd工具并使用它来查看您的目录以查看导致更改的原因。它将为您提供导致更改的过程,但如果是ColdFusion,您仍然需要跟踪导致更改的CFM / CFC。

如果您经常将文件移入和移出目录,请注意您的审核日志可能会产生噪音。

假设您的img目录类似于/mnt/media/img,只需将规则添加到/etc/audit/audit.rules,如下所示,然后重新启动守护程序:

-w /mnt/media/img

然后你应该能够清除(或设置)该文件夹的只读位并看到它出现在日志中(可能是:/var/log/audit/audit.log)

type=SYSCALL msg=audit(1407866490.247:114): arch=c000003e syscall=268 success=yes exit=0 a0=ffffffffffffff9c a1=17be0f0 a2=1ff a3=4000 items=1 ppid=2859 pid=3069 auid=1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=2 comm="chmod" exe="/usr/bin/chmod" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)
type=CWD msg=audit(1407866490.247:114):  cwd="/root"
type=PATH msg=audit(1407866490.247:114): item=0 name="/media/mnt/img" inode=6171184 dev=fd:00 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=unconfined_u:object_r:httpd_sys_content_t:s0