我可以使用带有644文件权限的php的fwrite吗?

时间:2010-05-19 20:35:17

标签: php .htaccess file-permissions fwrite

我正在尝试设置自动.htaccess更新。这显然需要尽可能安全,但是现在我可以做的最好的文件许可是666.

如何设置我的服务器或php代码,以便我的脚本fwrite()命令可以使用644或更高版本?例如,有没有办法设置我的脚本作为所有者运行?

修改
我意识到我实际上只有一个权限问题,你应该能够使用fwrite没有问题的644权限。请参阅下面的答案。

3 个答案:

答案 0 :(得分:2)

apache进程应始终以apache:apache运行 - 如果必须在可执行(即DocumentRoot)目录中启用写权限,则创建组,添加apache并设置组写权限(所以{{1 }})。

最好通过cron脚本更新来自数据库的配置数据来更新664,因为如果代码中的漏洞允许恶意用户编写新文件,则不鼓励对可执行目录授予apache写入权限到那些目录。

答案 1 :(得分:0)

您无法更改进程的所有者。如果您在共享服务器上,请查看他们是否有suPHP作为选项。

答案 2 :(得分:0)

这些建议很棒,但我最终意识到我的问题的答案是是 - 你根本不需要做任何事...... 只要所有者您尝试写入的文件/目录的用户与脚本运行的用户相同。我的错误是我不小心让我的文件所有权出了问题因此需要更高的权限666和777才能写入到我的文件。这是有道理的,因为Wordpress可以使用标准权限写入.htaccess。

现在我已经设置了以user1运行的文件正在写入user1:user1所拥有的文件,并且没有任何问题。目录设置为755,.htaccess文件设置为644。