0

在我的 PHP 类中,我上传文件,然后用防病毒软件扫描它们。上传的文件存储在 /tmp 中,名称类似于 /tmp/phpRANDOM(通常是别名)

但是,当我将此路径传递给 clamav 服务器时,它会返回“拒绝访问”。对于其他文件(不在 /tmp 中),一切正常。原因是 /tmp/php... 文件具有权限 rw------ (仅由所有者读取/写入)。但是 clamav 作为 apache/php 的不同用户工作。

所以,问题。PHP 如何决定使用哪些权限来上传临时文件?我该如何配置?也许这是在用户级别配置的一些 umask?如果我想对 /tmp 文件夹中的文件拥有 rw--r--r-- 权限,是否有任何理由不这样做(安全性)?

4

1 回答 1

1

我找到了解决方案。我只是在将文件发布到 clamav 之前更改文件的权限

它像是

$perm = fileperms($filepath) | 0644;
chmod($filepath, $perm);

它工作正常

于 2018-05-31T09:27:56.080 回答