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 / 问题 / 950516
Accepted
kittygirl
kittygirl
Asked: 2019-01-25 00:02:39 +0800 CST2019-01-25 00:02:39 +0800 CST 2019-01-25 00:02:39 +0800 CST

当我将 `apache` 设置为网站文件和文件夹的唯一所有者时,是否存在任何安全问题?[复制]

  • 772
这个问题在这里已经有了答案:
我的网站文件/文件夹在 Linux 网络服务器上应具有哪些权限? (6 个回答)
3年前关闭。

我的服务器是centos 7, php 5.4, apache 2.4。我的网站位于/var/www.

至于apache只有一个用户读取或写入/var/www,我将所有文件和文件夹的所有者和组设置为apache:

对于文件夹和文件只读:-r------- 1 apache apache 922 Jun 3 2014 connect.php
对于需要写入的文件:-rw------- 1 apache apache 922 Jun 3 2014 connect.php
这意味着只有600或400文件权限。(*.php不需要x权限)
至于文件夹权限,只有500或700。

这应该是最佳做法,因为尽可能少地提供许可。
有什么安全问题吗?

php
  • 1 1 个回答
  • 89 Views

1 个回答

  • Voted
  1. Best Answer
    Dave Sherohman
    2019-01-25T00:28:17+08:002019-01-25T00:28:17+08:00

    不,这不是最佳实践。运行 apache 的用户不应拥有任何文件或目录。这个用户应该只有对任何东西的读取权限,尤其是对可执行文件,例如*.php,除非特定情况下特别需要写入权限,例如上传目录。

    这样做的原因很简单:如果攻击者能够找到允许他们在 Web 服务器进程中执行自己的代码的漏洞,那么他们就能够写入 Web 服务器可以写入的任何文件。如果 Web 服务器对可执行文件具有写入权限,那么这意味着他们可以更改可执行文件以执行攻击者选择的任何操作,只要用户访问相应的 URL。即使他们只有对不可执行文件(例如*.html)的写入权限,这也使他们能够控制发送给您网站用户的内容,包括向他们发送恶意 javascript 或嵌入内容的能力。

    让 Web 服务器用户chmod 400拥有的文件也不是更好,因为拥有文件的用户可以随意更改其权限以赋予自己写访问权限。

    • 6

相关问题

  • 用户特定的 Php.ini 当 php 作为模块运行时?

  • 使 php mail() 函数在 ubuntu-server 上工作的步骤是什么?

  • Web 服务器和数据库服务器位于完全不同的位置

  • PHP 作为 CGI 还是 Apache 模块?

  • 通过 VPN 连接什么是远程服务器 IP?

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