授予Apache用户对WordPress目录和文件的所有权是否安全?

我目前正在Ubuntu服务器上设置WordPress,12一切运行正常,但是在通过WP自动更新和上传媒体时存在问题,因为Apache“www-data”用户没有权限写入目录。 “user1”具有完全的权限

我所有的目录都有权限0755和文件644

我的目录设置如下:

/home/user1/public_html 

所有的WP文件和目录都在“public_html”

为了解决自动更新和上传媒体,我已经授予Apache用户所有权到以下目录

 sudo chown www-data:www-data wp-content -R sudo chown www-data:www-data wp-includes -R sudo chown www-data:www-data wp-admin -R 

我想知道安全明智有多安全,如果不安全,最好的解决scheme是什么?

这将允许我保留user1拥有的所有文件和目录,并仍然允许wp能够自动更新和上传媒体

在我看来,你是否可以认为这个安全(不安全),很大程度上取决于你的用例,你的用户和你的环境。 让我这样说:如果您打算为付费客户提供虚拟主机,而不是恰好处于closures的基础架构中,或者在令人难以置信的复杂WAF或IPS背后,那么您可能会认为这是不安全的。 在这里,我不只是指可写目录,而是使用mod_php,你似乎这样做。 然后,如果你只是为你的朋友和家人build立一个小型的虚拟主机,那么你希望每周有十次点击,没有时间,你可能会很好(但是我build议使用一些可用的共享主机,在这种情况下)。

更安全的替代scheme在他自己的用户权限下运行每个用户的PHP执行。 最常见的例子是:

  • suPHP ,这是相当安全的,但作为蜗牛邮件缓慢。
  • Apache + MPM ITK ,安装非常简单,但是没有经过广泛的testing(与MPM Worker或MPM Prefork相比 )。 就个人而言,我不会在生产环境中使用它。
  • FastCGI + PHP环境,使用mod_fastcgi或mod_fcgid 。

根据你的用户/环境/ …,我会build议locking你的盒子。 在FastCGI场景中,您应该使用chroot,并可以使用Linux安全性增强(例如1,2,3 )来进一步强化您的系统。

但是再一次:你真的可以花很多时间在这个上面。 考虑使用一个好的托pipe商的共享托pipe环境,这个托pipe者会在你把一个不安全的盒子放在外面的时候为你做这个。

我几乎肯定我已经回答了这个问题,但我找不到要连接的问题。

如果你做nnn,你不应该问这是否安全。 安全从来就不是二元的价值,你几乎总是需要应用更详细的分析。 你应该问的问题是做或多或less安全的select。

是的,更改文件的所有权,以便Apache可以写入文件增加了潜在的问题,但这并不是唯一的因素。

如果你不改变所有权,那么更大的担忧是你愿意花时间去更新和修补networking应用程序。 如果您没有工具或能力使其保持最新并仅使用CLI进行修补,那么这是一个潜在的更大的安全问题,那么由于更宽松的文件系统权限。

我没有链接/引用,但是我相信我在某处读了很多东西都被破坏了,因为已知漏洞的补丁没有及时应用。 OTOH,弱文件系统权限通常只能在Web应用程序中由于错误/问题而发挥作用。

理想情况下,如果你对极端偏执的安全性有要求,那么你将拥有非常locking的权限,并且应用程序是最新的,但是如果我必须select一个,我通常会尝试安装所有的修补程序。

您当然需要根据潜在的风险做出决定,并对您将如何更新和维护系统有一个现实的理解。

编辑:删除解决scheme,大家都说是“坏”。

离开这一个,每个人都select忽略,因为他们不能读过前五行:

这是我目前正在试验的另一种方法:

 $ chown someuser:other-users somefolder $ chmod 770 somefolder 

这使得所有者(某些用户)和组“其他用户”(“某些用户”决定给予权限的人)的所有成员读取/写入/执行权限。 为文件做chmod 660。

因为你configuration在mod_php下运行。 你必须每隔1分钟由cron发送用户。

不过,你必须在suphp下configuration你的问题