我正在尝试设置自动 .htaccess 更新。这显然需要尽可能安全,但是现在我能做的最好的文件权限是 666。
我可以做些什么来设置我的服务器或 php 代码,以便我的脚本fwrite()
命令可以使用 644 或更好?例如,有没有办法将我的脚本设置为以所有者身份运行?
编辑:
我意识到我实际上只是有一个权限问题,你应该可以使用fwrite
644 权限没有问题。请看下面我的回答。
我正在尝试设置自动 .htaccess 更新。这显然需要尽可能安全,但是现在我能做的最好的文件权限是 666。
我可以做些什么来设置我的服务器或 php 代码,以便我的脚本fwrite()
命令可以使用 644 或更好?例如,有没有办法将我的脚本设置为以所有者身份运行?
编辑:
我意识到我实际上只是有一个权限问题,你应该可以使用fwrite
644 权限没有问题。请看下面我的回答。
该apache
进程应始终运行为apache:apache
- 如果您必须在可执行(即 DocumentRoot)目录中启用写权限,创建一个组,添加 apache 并设置组写权限(so 664
)。
最好.htaccess
通过从数据库读取配置数据的 cron 脚本进行更新,因为如果您的代码中的漏洞允许恶意用户将新文件写入这些目录,则不赞成授予 apache 对可执行目录的写入权限。
您不能更改进程的所有者。如果您在共享服务器上,请查看他们是否有 suPHP 作为选项。
这些建议很棒,但是我最终意识到我的问题的答案是肯定的——而且你根本不需要做任何事情...... 只要你试图写入的文件/目录的所有者用户是与脚本运行的用户相同。我的错误是我不小心让我的文件所有权不正常,因此需要更高的权限 666 和 777 才能写入我的文件。这是有道理的,因为 Wordpress 可以使用标准权限写入 .htaccess。
现在我已经完成了设置,其中运行的文件正在user1
写入由 拥有的文件user1:user1
,并且没有任何问题。目录设置为 755,.htaccess
文件设置为 644。