Dan*_*ook 5 coldfusion file-permissions cffile coldfusion-10
目前运行ColdFusion 10,但这可能是多年来一直存在的问题,也许是整个CF6/7.
作为CMS的一部分,验证的一部分是将图像上载到目录,例如
<cffile action="UPLOAD" filefield="image" destination="media/img/" nameconflict="MAKEUNIQUE" accept="image/jpeg,image/gif,image/pjpeg" mode="644">
Run Code Online (Sandbox Code Playgroud)
然后通过检查尺寸的脚本读取它们.
如果一切都通过,则进程脚本将其移动到其目标目录,例如
<cffile action="MOVE" source="media/img/imagename" destination="media/img/#hexdir#/imagename" mode="644">
Run Code Online (Sandbox Code Playgroud)
如果失败则应删除.
<cffile action="DELETE" file="media/img/imagename">
Run Code Online (Sandbox Code Playgroud)
每隔一段时间/ img /目录变为只读,就无法写入该文件.但我无法确定原因.
有没有我不知道的错误?有任何想法吗?
谢谢
附加信息
我考虑过使用CFDirectory来更改脚本中的文件夹权限,因此如果再次发生,可以快速解决.
我发现了两个问题
在UNIX和Linux上,cfdirectory action ="list"不会返回mode列中的任何信息.
也
使用权限为644,777,111的重命名文件夹似乎不会影响我可以在FileZilla中查看的文件夹的权限.
这是否意味着CF首先无法更改文件夹权限?
听起来您正在 Linux 服务器上运行 ColdFusion。为此,我建议您阅读auditd工具并使用它来观察您的目录以查看导致更改的原因。它将为您提供导致更改的进程,但如果是 ColdFusion,您仍然必须追踪导致该更改的 CFM/CFC。
请注意,如果您不断地将文件移入和移出目录,您的审核日志可能会变得嘈杂。
假设您的 img 目录类似于/mnt/media/img,只需向 /etc/audit/audit.rules 添加一条规则,如下所示,然后重新启动守护进程:
-w /mnt/media/img
Run Code Online (Sandbox Code Playgroud)
然后您应该能够清除(或设置)该文件夹的只读位并看到它显示在日志中(可能是:/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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
694 次 |
| 最近记录: |