如果您是 Linux 新手,您会想知道 sudo 是什么以及它是如何使用的。
当我第一次开始使用 Linux 时,事情要复杂得多。这些发行版远没有那么成熟,但它们还需要使用特定的系统帐户才能完成某些事情。该帐户是 root 帐户,有了它,您就可以无限地控制您的操作系统。
为了展示 root 的力量,你可以一直对毫无戒心的用户使用的一个技巧是告诉他们使用命令 su 更改为 root 用户,然后让他们发出以下命令:
rm -rf /
rm 命令用于删除文件和文件夹。结合 r(递归)和 f(强制),您将从根文件夹 (/) 中删除所有内容,从而使您的系统无法使用。
那时,任何需要管理权限的命令都是通过 root 用户运行的。为此,您必须更改为 root 用户(使用 su 命令)或以 root 用户身份登录。这两个选项最终都被认为是一个安全问题。为什么?如果您以 root 用户身份登录并离开您的系统,那么任何人都可以为所欲为。更改为 root 用户并打开终端窗口也是如此。
当然,它比这复杂得多。访问 root 用户意味着如果黑客获得了对您系统的访问权限,他们可以更改为 root 用户并在机器上造成严重破坏。
最终,决定必须付出一些代价。出于这种需要,sudo 应运而生。Sudo 代表“超级用户执行”,并有效地赋予普通用户(属于 admin 组的用户)访问类似管理员的权限。这解决了两个问题:
root 用户可以被停用(因此它不能被轻易利用)。
只有 admin 组中的用户(稍后会详细介绍)可以运行管理任务。
这是 Linux 向前迈出的重要一步,它不仅增强了系统的安全性,而且使用户更容易使用。
使用 sudo 后,用户不再需要更改为 root 用户或登录该帐户来运行管理命令(例如安装软件)。用户可以通过 sudo 运行这些管理活动,其效果与从 root 用户帐户运行的效果相同。最重要的是,它可以更好地控制谁可以在任何给定系统上做什么。当尝试运行需要管理员权限的命令时,用户只需要输入他们的用户密码(也称为他们的 sudo 密码)并且命令会顺利执行(只要它运行正确)。
例如,不必首先使用 su 更改为 root 用户,然后在基于 Ubuntu 的发行版上发出更新/升级命令,您可以简单地发出命令:
sudo apt-get update sudo apt-get upgrade -y
通过 sudo 运行 apt-get,用户被授予临时管理员权限并可以成功发出这些命令。
不在管理员组中的用户怎么办?
关于使用 sudo 的基础知识,您想要授予访问该特定权力的任何用户都必须是该发行版的管理员组的成员。例如,在基于 Ubuntu 的发行版上,该组是 sudo,而在基于 Red Hat 的发行版上,该组称为 wheel。
如果您的用户在尝试使用 sudo 运行命令时不是 admin 组的成员,他们将看到如下内容:
olivia is not in the sudoers file. This incident will be reported.
你如何解决这个问题?您将它们添加到管理员组。因此,对于基于 Ubuntu 的发行版,将用户添加到 admin 组的命令是:
sudo usermod -aG sudo USER
其中 USER 是相关的用户名。
在基于 Red Hat 的发行版(例如 Fedora)上,该命令将是:
sudo usermod -aG wheel USER
其中 USER 是相关的用户名。
运行命令后,用户要么必须注销并重新登录,要么使用命令让系统知道更改:
newgrp
将用户添加到管理员组后,他们可以使用 sudo 运行需要管理员权限的命令。
Sudo 使 Linux 不仅更加安全,而且更加用户友好。不再需要更改(或登录)root 用户帐户,避免了许多严重的安全隐患,并允许您管理用户对管理任务的访问。尽管这是对 sudo 的一个非常基本的介绍(稍后我们将深入探讨),但您现在应该对它是什么以及如何使用它有一个更好的了解。
网友评论文明上网理性发言 已有0人参与
发表评论: