Ben*_*Ben 7 linux security users permissions
为什么在 SVN、Apache 和许多其他程序中,管理员必须创建一个新用户才能供服务器使用?
Fli*_*mzy 10
如果我正确理解你的问题,你会问为什么必须为 svn 创建一个 svn 用户,为 apache 创建一个 www-data 用户,等等。正确吗?
原因是为了安全。起作用的基本概念称为“隔离”,是一种常见做法。主要的基本思想是,如果每个服务都以自己的用户身份运行,那么如果在程序中发现安全漏洞或错误,则该漏洞只能在该用户允许的范围内被利用。
例如,假设有人想出了如何入侵 SVN 并删除您的所有文件。(这不是一个真正的安全漏洞,可能永远不会,但只是假设,为了争论)......如果你以“root”用户身份运行 SVN 服务,那么这个理论上的黑客可以开始删除所有的你的文件。另一方面,如果 SVN 需要自己的用户,那么这个理论上的黑客只能删除 SVN 用户拥有的文件。
我希望这能解决您的问题......如果没有,请澄清,我会再试一次。
编辑:要回答您的评论...
通常/总是可以以 root 身份运行任何程序。但通常不建议这样做,除非确实有必要。处理此类事情的一种非常常见的方法是以最少的必要权限运行每个程序。这也有助于防止程序中的错误无意中导致其他程序出现问题(安全隔离的另一个原因,我之前没有提到)。
然而,有时程序必须以 root 身份运行,因为它根本无法以任何其他方式完成它需要做的事情。一些需要 root 权限的常见任务,因此不作为单独用户运行是合理的:
即使在这些(和其他)类别中,通常也有办法避免必须以 root 身份运行。例如,许多网络程序(例如 Apache)将作为 root 用户启动,然后绑定到端口 80,然后将用户更改为 www-data 以执行其余的操作。因此,即使存在需要 root 访问权限的特定情况,通常也会采取措施来绕过该要求,以便该进程可以以较低特权的用户身份运行。
| 归档时间: |
|
| 查看次数: |
417 次 |
| 最近记录: |