我是服务器学习的新手,刚开始使用 AWS VPC。所以我一直在阅读的阅读材料主要来自AWS。
我无法理解删除 root 并创建另一个具有与 root 相同权限的用户的概念。
- 为什么我们不能保持 root 为 root?
- root和具有root权限的用户不是都以类似的方式登录吗?并不是他们使用不同的方法登录,可以访问不同的文件部分……等等。那么为什么保持root访问会被认为是不安全的呢?
我是服务器学习的新手,刚开始使用 AWS VPC。所以我一直在阅读的阅读材料主要来自AWS。
我无法理解删除 root 并创建另一个具有与 root 相同权限的用户的概念。
通常,能够以 root 身份运行命令的用户需要通过使用
sudo
. 以 root 身份运行不需要以 root 身份运行的命令可能非常危险,因为 root 具有管理系统文件、安装/卸载软件包、访问(散列)用户密码/etc/shadow
以及在系统上执行几乎所有操作的能力。但是,正如您所说,root 没有被“删除”,但访问被禁用,可能通过PermitRootLogin
选项通过 ssh。此外,如果您正在运行的软件中存在漏洞,例如,允许在您的计算机上访问远程 shell。如果它以 root 身份运行,它将能够在您的计算机上不受限制地执行任何操作。但作为普通用户,它什么也做不了,因为
sudo
默认情况下需要密码才能以 root 身份运行命令。有一些保护措施可以防止您不自觉地完全破坏您的计算机,例如
rm -rf /
要求--no-preserve-root
. 但是这些都不是万无一失的措施,如果你以root身份运行,不小心切换到/
目录并运行rm -rf *
,你就有麻烦了。而另一方面,用户帐户通常只有对其主文件夹的写入权限,让您有时间退出命令并保留文件。尽管@gnuu 说的是正确的,但我会以不同的方式回答。我要给出的理由是
如果超过一个人有权访问系统,迫使他们使用其他帐户登录,那么“root”有助于审计和问责(这假设非恶意 root 用户或网络身份验证和/或外部日志记录)
它强制执行最佳实践——例如最少访问原则——这将用户重点放在与使用其 root 权限相关的风险上。它还鼓励像 sudo 这样可以设置的系统执行有限的根活动子集以降低风险。
它鼓励 - 尽可能 - 将服务设置为不以 root 身份运行,这是一个安全的胜利。
它可能会挫败针对 root 帐户的蛮力尝试。
(完全有可能建立一个具有 root 访问权限的系统来避免所有这些陷阱)