什么可以阻止某人设置 root 密码?

什么可以阻止某人设置 root 密码?

据我所知,默认情况下没有为 root 提供密码,并且设置密码并不是一个好主意。

但是,什么可以阻止我或任何其他用户执行sudo passwd root此类操作并为 root 帐户设置密码呢?

Sudo 只需要我们自己的密码,所以理论上没有什么可以阻止任何人这样做?

答案1

这是一个很广泛的话题。

总而言之,没有什么可以阻止您或其他用户设置 root 密码。

这可以通过多种机制实现,包括 sudo、各种漏洞(当您阅读允许用户运行“任意代码”的安全警报时,他们可以运行任何他们想要的命令)、权限升级或其他破解方法,以及物理访问,无论是启动到救援模式还是使用实时 usb/cd 或其他技术。

解决或防止这种情况可能会是一场漫长的讨论。

  • 限制谁有 sudo 访问权限。
  • 如果您设置了 root 密码,Ubuntu 将在启动到恢复模式时要求输入 root 密码。
  • “BIOS” 或 UEFI 密码 - 请小心,它可以重置。
  • 限制物理访问。
  • 使用全盘加密,尽管 /boot 未加密。

答案2

普通用户无法成功运行sudo passwd root或他们使用 选择的任何其他命令sudo。只有管理员可以执行此操作。加入该sudo组意味着可以执行任何行动以 root 身份sudo波尔基特,即一个单独的机制这并不涉及sudo。不要把这种权力交给你不信任的人。

这就是说没有被授予以 root 身份运行命令的权限可以阻止人们未经授权执行管理任务,包括设置 root 密码。您授予的人管理系统的权力可以设置 root 密码。如果您信任这些人,请告诉他们不要设置 root 密码(并且您自己也不要设置),如果您不想设置的话。如果您不信任他们,那么问题不在于他们可能会设置 root 密码,而是他们已经有权对您的系统做任何他们想做的事情!

要清楚的是,信任不是二元的。你可以信任某些人,但不能信任其他人,这甚至反映在安全模型中,用户可以使用系统,但并不具备所有可能的能力。但那些可以以 root 身份运行任何命令的人sudo 当他们选择时,他们拥有所有可能的功能。这就是为什么当新手用户询问如何为 root 帐户设置密码以便他们能够以 root 身份登录时,我们敦促他们考虑不这样做。这样做不会赋予用户任何他们尚未拥有的权力。我们并不是想阻止他们获得权力。他们已经拥有了这种权力。

存在风险与设置 root 用户密码并启用 root 登录相关,以及避免它的好处。除非有明确的理由,否则我建议您避免这样做。(但请注意,在某些情况下这样做是合理的,以及设计良好的操作系统(如 OpenBSD 和 Fedora),其中 root 登录默认情况下启用。)但启用它本身并不具有破坏性。相反,您和您允许管理系统的任何其他用户已经可以通过运行命令来执行极具破坏性的操作sudo,无论root账户是否设置了密码。

您是该组的成员sudo。您可以删除系统上的所有文件。您可以将原始数据写入硬盘,不可恢复地覆盖硬盘上的内容。您可以访问其他用户的文件,即使他们设置了限制性权限。您可以将新固件安装到物理设备上。您可以从影子数据库中转储用户的密码并尝试破解它们,或者只是重置它们。您可以安装侵犯用户隐私或破坏数据的恶意软件,包括键盘记录器和勒索软件。您可以使用网络接口做一些非常奇怪的事情。您可以让系统误导用户有关其通信安全性的信息。您可以掩盖你的踪迹。你可以把所有这些权力,以及我没有列出的其他权力,交给那些会用它们作恶的人。当谈到滥用sudo或 Polkit 时,那些这些都是你应该关心的事情。

确实,你不应该让不受信任的人在无人看管的情况下进入你的房子,但原因并不在于他们可以从里面打开门锁进入。*

答案3

它不是设置 root 密码这是一个坏主意,它以 root 身份登录或运行,而没有 sudo 提供的内置保护(要求每隔几分钟重新输入密码、要求sudo在每个命令前面添加前缀等),这些保护可以提醒你错误的威力。如果你设置了 root 密码,并使用su启动 root shell(或者,同样,以 身份登录 GUI root),那么你将重新安装并可能销毁计算机上存储的任何数据,因为你忘记你给了自己绝对的权威

Ubuntu 选择默认不允许 root 登录,这特别是为了避免让自己太容易被坑。设置 root 密码会鼓励您以 root 身份登录和运行,这就是为什么不建议这样做的原因。

相关内容