我正在开发一个在 Apache 服务器上运行的 PHP 应用程序(使用微软XAMPP)。我有一个.public_data
文件夹,里面有包含一些用户数据的子文件夹。这些子文件夹及其中的文件由 PHP 脚本动态创建。
.public_data
及其子文件夹的所有者是www-data
。然而,奇怪的是,子文件夹中的文件不知何故归daemon
- 所有,而包含这些文件的所有文件夹均归www-data
- 我已经厌倦了徒劳地尝试互联网上的解决方案。
为了使事情更清楚,想象一下这个文件:
.public_data/userA1/.details.dat
拥有者:
- .公共数据 (预先存在的文件夹): www-数据
- 用户A1 (动态创建): www-数据
- 详细信息.dat (动态创建):守护进程
我可以使用命令将所有权更改为daemon
,也可以通过 GUI 使用命令,但 PHP 脚本无法删除这些文件。 www-data
sudo chmod
sudo -i nautilus
有两个疑问让我抓狂:
- 为什么即使我手动更改文件所有权后 PHP 脚本仍无法删除文件?
- 我的动机是构建一个可以在运行时执行所有命令的系统,因此手动更改文件的所有权不是一个解决方案。我需要文件继承所有权。为什么这些文件归守护进程所有?
为了进一步澄清,我寻求以下答案:为什么/何时文件会被守护进程所拥有,我该如何防止这种情况发生?