正确使用 www-data 安全地添加/编辑/删除

正确使用 www-data 安全地添加/编辑/删除

据我所知,构建 LAMP 堆栈后,会Apache创建一个www-data用户。但您不能直接以用户身份登录www-data(出于安全原因)。相反,如果您想以用户身份执行某些操作,www-data则必须运行以下命令:

su -s /bin/bash www-data

我可以接受。但我有两个问题:

  1. 当您想通过 FTP 上传文件时,您会怎么做?目前,我必须以 root 用户身份访问 FTP,然后在上传后将chown文件返回到。我运行 Magento,并且该设置坚持要求我仅授予权限。否则,我只会授予访问权限。www-dataownerwritewritegroup
  2. 当您想允许非 root 用户以su身份运行 时,您会怎么做www-data?因为如果您su -s /bin/bash www-data以普通用户身份运行,那么他们会看到This account is currently not available

答案1

据我了解,Apache 创建了一个 www-data 用户

不。大多数包管理系统都会在部署软件时创建一个用户。

您无法直接以[该用户]身份登录

是的 - 正如你所说,这通常是出于安全原因。

你必须......su -s /bin/bash www-data

如果系统配置为允许这样做 - 有时甚至会禁用此功能。

当您想通过 FTP 上传文件时,您会怎么做?

你制定了一个权限模型,允许相关用户部署和修改文件,并允许 Web 服务器 uid 读取这些文件。在非常在极少数受控的情况下,您可以配置 Web 服务器 uid 可以写入的文档根目录之外的位置。

在我配置的每个 Web 服务器上,Web 服务器 uid 都是权限最低的帐户,因此我通过“其他”权限槽授予它读取访问权限,例如

  colin@animal /var/www/html $ ls -l
  total 28
  -rw-rw-r-- 1 colin webdev  11321 Dec 27  2016 index.html
  drwxrwsr-x 2 colin webdev   4096 Jan 10  2017 session
  -rw-rw-r-- 1 colin webdev    148 Feb 18  2018 login.php
  drwxrwsr-- 1 colin grafx    4096 Jan  9  2017 images
  -rw-rw-r-- 1 colin grafx    8334 Jul  4 21:59 logo.png

权限是您分享访问,而不是拒绝访问。

允许非 root 用户以 www-data 身份执行 su

我不这么认为。这根本就没有必要。

相关内容