php脚本写入非世界可写文件

php脚本写入非世界可写文件,php,permissions,Php,Permissions,如何允许PHP脚本写入具有高安全性限制的文件,例如仅允许单个用户写入 困难似乎在于PHP脚本是以低权限用户(可能是apache、www或nobody?)的身份运行的,即使Ichownapache是可写的文件,它所在的目录对于低级别用户来说也可能不可写。一般来说,PHP可以以安全的方式处理本地文件的通常方式是什么?当然,chgrp apache可写的\u文件和chmod g+w可写的\u文件。之后,只有您的安全用户和apache用户才能写入该文件。由于apache用户通常被禁止登录,因此您只需担心

如何允许PHP脚本写入具有高安全性限制的文件,例如仅允许单个用户写入


困难似乎在于PHP脚本是以低权限用户(可能是apache、www或nobody?)的身份运行的,即使I
chown
apache是可写的文件,它所在的目录对于低级别用户来说也可能不可写。一般来说,PHP可以以安全的方式处理本地文件的通常方式是什么?

当然,
chgrp apache可写的\u文件
chmod g+w可写的\u文件
。之后,只有您的安全用户和apache用户才能写入该文件。由于apache用户通常被禁止登录,因此您只需担心web用户通过http守护进程写入您的安全文件。

不幸的是,在使用mod_php的共享主机中,无法限制访问以保护web应用程序和登录用户的文件

解决方案是以登录用户身份运行web应用程序。当您这样做时,UNIX文件权限可以正确地将其他所有人锁定在外。有几种方法可以实现这一点,包括,或使用或运行带有FastCGI的PHP。FastCGI是我最喜欢的方式


另一种解决方案是使用专用主机或虚拟专用服务器。

所有包含文件夹的文件夹都需要具有执行权限

例如,如果文件位于
/foo/bar/可写\u文件中,则目录“foo”和“bar”都需要具有可执行权限才能访问可写\u文件,即使它们没有读/写权限