AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 402186
Accepted
Oudin
Oudin
Asked: 2012-06-26 17:09:45 +0800 CST2012-06-26 17:09:45 +0800 CST 2012-06-26 17:09:45 +0800 CST

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

  • 772

我目前正在 Ubuntu 服务器 12 上设置 WordPress,一切运行良好,但在通过 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

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

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

apache-2.2 wordpress file-permissions
  • 4 4 个回答
  • 2515 Views

4 个回答

  • Voted
  1. Zoredache
    2012-06-26T17:35:36+08:002012-06-26T17:35:36+08:00

    我几乎可以肯定我之前已经回答过这个问题,但我找不到要链接的问题。

    你不应该问如果你这样做 nnn 是否安全。安全性从来都不是二进制值,您几乎总是需要应用更详细的分析。你应该问的问题是做 nnn 比替代方案更安全或更不安全。

    是的,更改文件的所有权以便 Apache 可以写入文件确实会增加出现问题的可能性,但这并不是唯一的因素。

    如果您不更改所有权,一个更大的问题是您是否愿意努力保持网络应用程序的更新和修补。如果您没有工具或能力使其保持最新并仅使用 CLI 进行修补,那么这可能是一个更大的安全问题,那么由于更宽松的文件系统权限,您可能会遇到这些问题.

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

    理想情况下,如果您需要极强的偏执安全性,您将拥有极其锁定的权限和最新的应用程序,但如果我必须选择一个,我通常会尝试安装所有补丁。

    您当然需要根据潜在风险做出明智的决定,并切实了解您将如何更新和维护系统。

    • 3
  2. Best Answer
    ukautz
    2012-06-27T01:03:24+08:002012-06-27T01:03:24+08:00

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

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

    • suPHP,这是相当安全的,但像蜗牛邮件一样慢。
    • Apache + MPM ITK,它设置起来非常简单但没有经过广泛测试(与MPM Worker或MPM Prefork 相比)。就个人而言,我不会在生产环境中使用它。
    • 带有mod_fastcgi或mod_fcgid的 FastCGI + PHP 环境。

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

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

    • 3
  3. Buttle Butkus
    2012-06-29T00:56:09+08:002012-06-29T00:56:09+08:00

    编辑:删除了每个人都说“不好”的解决方案。

    留下这个,每个人都选择忽略,因为他们无法阅读前五行:

    这是我目前正在试验的替代方案:

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

    这赋予所有者(someuser)和“其他用户”组的所有成员(“someuser”决定授予权限的任何人)读/写/执行权限。对文件执行 chmod 660。

    • 0
  4. tquang
    2012-08-11T20:11:37+08:002012-08-11T20:11:37+08:00

    因为你配置运行在mod_php下。您必须每 1 分钟通过 cron 更改一次用户。

    但是,您必须针对您的问题配置在 suphp 下运行

    • -2

相关问题

  • Apache Django Mod_Wsgi - 自动重新加载应用程序

  • Apache:对多个虚拟主机使用相同的目录指令

  • Apache 上的子域不工作 - 找不到服务器

  • PHP 作为 CGI 还是 Apache 模块?

  • 避免将某些丢失的文件记录到 Apache2 错误日志中

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve