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

Oud*_*din 7 wordpress file-permissions apache-2.2

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

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

我的目录设置如下:

/home/user1/public_html
Run Code Online (Sandbox Code Playgroud)

所有 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
Run Code Online (Sandbox Code Playgroud)

我想知道安全方面的安全性如何,如果不安全,最好的解决方案是什么?

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

uka*_*utz 3

在我看来,您是否可以认为这是安全的(不安全),很大程度上取决于您的用例、您的用户和您的环境。让我这么说吧:如果您计划为付费客户提供网络托管,并且不是在封闭的基础设施中或在令人难以置信的复杂WAFIPS后面,您可能会认为这是不安全的。这里我不仅仅指可写目录,而是指使用 mod_php,你似乎就是这么做的。话又说回来,如果您只是为您的朋友和家人建立一个小型虚拟主机,预计每周大约十次点击并且确实没有时间,那么您可能会没事(但是我建议使用一些可用的共享主机,在这种情况下) )。

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

  • suPHP,相当安全,但速度慢如蜗牛邮件。
  • Apache + MPM ITK,设置非常简单,但没有经过广泛测试(与MPM WorkerMPM Prefork相比)。就我个人而言,我不会在生产环境中使用它。
  • FastCGI + PHP 环境,使用mod_fastcgimod_fcgid

根据您的用户/环境/...,我建议锁定您的盒子。在 FastCGI 场景中,您应该使用 chroot,并且可以使用 Linux 安全增强功能(例如123)进一步强化您的系统。

但再说一遍:你真的可以在这上面花很多时间。在将不安全的盒子扔到野外之前,请考虑使用来自优秀托管商的共享托管环境,他们会为您完成此操作。