为什么sudo在Linux中如此重要以及如何使用它

  • 发布时间:2022-11-28 16:27:30 来源:
标签:
导读 那时,任何需要管理权限的命令都是通过root用户运行的。为此,您要么必须更改为root用户(使用su命令),要么以root用户身份登录。这两种选择

那时,任何需要管理权限的命令都是通过root用户运行的。为此,您要么必须更改为root用户(使用su命令),要么以root用户身份登录。这两种选择最终都被认为是一个安全问题。为什么?如果您以root用户身份登录并离开您的系统,那么任何人都可以为所欲为。同样的事情也适用于更改为root用户并保持终端窗口打开。

当然,它比这复杂得多。能够访问root用户意味着如果黑客获得了对您系统的访问权限,他们就可以更改为root用户并对机器造成严重破坏。

最终,决定必须放弃一些东西。出于这种需要,sudo诞生了。Sudo代表“superuserdo”并有效地为普通用户(属于admin组的用户)提供类似管理员的权限。这解决了两个问题:

root用户可以被停用(因此它不能被轻易利用)。

只有admin组中的用户(稍后会详细介绍)才能运行管理任务。

这是Linux向前迈出的重要一步,它不仅增强了系统的安全性,还让用户更容易使用。

有了sudo,用户不再需要更改为root用户或登录该帐户来运行管理命令(例如安装软件)。用户可以通过sudo运行这些管理活动,其效果与从根用户帐户运行的效果相同。最重要的是,它可以更好地控制谁可以在任何给定系统上做什么。当尝试运行需要管理员权限的命令时,用户只需输入他们的用户密码(也称为他们的sudo密码),命令就会顺利运行(只要它运行正常)。

例如,不必首先使用su更改为root用户,然后在基于Ubuntu的发行版上发出更新/升级命令,您可以简单地发出命令:

通过sudo运行apt-get,用户被授予临时管理员权限并可以成功发出这些命令。

不在admin组中的用户怎么办?

关于使用sudo的基础知识,您想要授予访问该特定权限的任何用户都必须是该分发的管理员组的成员。例如,在基于Ubuntu的发行版中,该组是sudo,而在基于RedHat的发行版中,该组称为wheel。

如果您的用户不是管理员组的成员,当他们尝试使用sudo运行命令时,他们将看到如下内容:

olivia不在sudoers文件中。此事件将被报告。

你如何解决这个问题?您将它们添加到管理员组。因此,对于基于Ubuntu的发行版,将用户添加到管理员组的命令是:

sudousermod-aGsudo用户

其中USER是有问题的用户名。

在基于RedHat的发行版(例如Fedora)上,该命令将是:

sudousermod-aGwheelUSER

其中USER是有问题的用户名。

运行该命令后,用户必须注销并重新登录,或者使用以下命令让系统了解更改:

新组

将用户添加到管理员组后,他们可以使用sudo运行需要管理员权限的命令。

Sudo使Linux不仅更加安全,而且更加用户友好。不再需要更改为(或登录)root用户帐户,避免了许多严重的安全隐患,并允许您管理用户对管理任务的访问。虽然这是对sudo的非常基本的介绍(我们稍后会深入探讨),但您现在应该更好地了解它是什么以及如何使用它。

  • 免责声明:本文由用户上传,如有侵权请联系删除!