目前正在运行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上,cfdirectory action =&#34; list&#34;不会在模式列中返回任何信息。
另外
使用权限为644,777,111的重命名文件夹似乎不会影响我可以在FileZilla中查看的文件夹的权限。
这是否意味着CF首先无法更改文件夹权限?
答案 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