我读过无数关于如何设置 Web 服务器所有权、目录和文件权限的帖子。
我听说用root。不要使用root,使用www-data。不要使用它,为每个网站使用不同的用户。雅达,雅达,雅达。
我决定使用 root 而不是 www-data。我知道其中的风险。我通过只允许从我的 IP 进行 shell 访问来限制它们,并且我的密码需要很长时间才能破解。我做了更多的事情,但这不是这里的问题。
我想向您展示我目前的树结构。我的所有托管域都使用类似的格式。我稍后会问一个问题,但请看一下:
├── [drwxr-xr-x www-data www-data] www.website.com
│ ├── [drwxr-xr-x root root ] css
│ │ ├── [drwxr-xr-x root root ] font
域下的所有内容都归根所有。让我困惑的是该文件夹的 www-data 所有权。
问题:域行权限是否允许某人覆盖该行以下文件的根所有权?域线应该设置为root root吗?
答案1
不要使用
root
,使用www-data
。
这是正确的做法。让特权用户拥有公共网页是危险的。
不要使用它,为每个网站使用不同的用户。
从来没有听说过这个建议。
我通过只允许来自我的 IP 的 shell 访问来限制它们
root
如果攻击者能够从您的网络内容中弹出外壳(由于所有权,该外壳将具有无限制的访问权限),这将无济于事。
我有一个需要很长时间才能破解的密码。
相同的。那根本没有帮助。此外,您应该完全禁用 root shell 访问,并为非特权用户设置 pubkey 身份验证,然后您可以从该用户 sudo root
。
域行权限是否允许某人覆盖
root
该行以下文件的所有权?
您应该定义“覆盖”,但它是无关紧要的,因为域目录和所有子目录都具有“其他”的读取和执行权限,因此任何用户都可以导航这些目录。
域线应该设置为
root
root
吗?
不,最好将 Webroot 下所有其他文件的所有权设置为www-data
Web 服务器内容的默认非特权用户。