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