构建 LAMP 堆栈后,我的理解是Apache
创建www-data
用户。但是你不能直接以身份登录www-data
(安全原因)。相反,如果你想做一些事情,www-data
那么你必须运行这个:
su -s /bin/bash www-data
我可以忍受这一点。但我有两个问题:
- 当您想通过 FTP 上传文件时,您会怎么做?目前,我必须以 root 用户身份进行 FTP,然后在上传后将
chown
文件返回www-data
。我运行 Magento,并且该设置坚持我只owner
授予write
. 否则,我只会write
允许访问group
. - 当您想允许非 root 用户
su
as时,您会怎么做www-data
?因为如果您su -s /bin/bash www-data
以普通用户身份运行,那么他们会看到This account is currently not available
.
不会。大多数包管理系统会在部署软件时创建一个用户。
是的-正如您所说,出于安全原因,这通常是这样做的。
如果系统配置为允许这样做 - 有时甚至会被禁用。
您制定了一个权限模型,该模型允许相关用户部署和修改文件,并且网络服务器 uid 可以读取这些文件。在非常罕见且受控的情况下,您可以配置 webserver uid 可以写入的文档根目录之外的位置。
在我配置的每个网络服务器上,网络服务器 uid 是特权最少的帐户,所以我通过“其他”权限槽授予它读取访问权限,例如
权限是您共享访问而不是拒绝访问的方式。
我不。它不应该是必要的。