如何在 PHP 中更改已上传文件的组?

如何在 PHP 中更改已上传文件的组?

收到上传的文件并将其移动到目标目录后,使用 PHPmove_uploaded_file()函数,该文件的所有者和组为“www:wheel”,即 Apache 的所有者和组。我想将组更改为“admin”,但chgrp()系统提示我(或者说 www)无权这样做。有什么聪明的解决方案可以让 admin 组的用户读取这些文件?

我认为将用户“www”设为“admin”组的成员是不安全的,因为这会赋予 Apache 过多权限。真的是这样吗?

Environ 是 Mac OS X Server 上的 Apache 2、PHP5。

答案1

我相信对此的标准响应将是类似 suexec 或 CGI 的东西,以特定帐户(apache 除外)运行你的 PHP。

我本来想建议您能够将特定用户添加到 wheel 组,但我不禁觉得这是一个坏主意 - 如果我没记错的话,“wheel”是 BSD(和 Mac)上的系统管理组。

根据您正在执行的操作,您可能还会将上传的文件视为暂存到该位置,然后使用 cron 运行某些操作来实际重新定位和更新权限。

相关内容