关于 sudo 你可能不知道的

觉得你已经了解了 sudo 的所有知识了吗?再想想。

觉得你已经了解了 sudo 的所有知识了吗?再想想。

关于 sudo 你可能不知道的

大家都知道 sudo,对吗?默认情况下,该工具已安装在大多数 Linux 系统上,并且可用于大多数 BSD 和商业 Unix 变体。不过,在与数百名 sudo 用户交谈之后,我得到的最常见的答案是 sudo 是一个使生活复杂化的工具。

有 root 用户和 su 命令,那么为什么还要使用另一个工具呢?对于许多人来说,sudo 只是管理命令的前缀。只有极少数人提到,当你在同一个系统上有多个管理员时,可以使用 sudo 日志查看谁做了什么。

那么,sudo 是什么? 根据 sudo 网站

“sudo 允许系统管理员通过授予某些用户以 root 用户或其他用户身份运行某些命令的能力,同时提供命令及其参数的审核记录,从而委派权限。”

默认情况下,sudo 只有简单的配置,一条规则允许一个用户或一组用户执行几乎所有操作(在本文后面的配置文件中有更多信息):


%wheel ALL=(ALL) ALL

在此示例中,参数表示以下含义:

  • 第一个参数(%wheel)定义组的成员。
  • 第二个参数(ALL)定义组成员可以在其上运行命令的主机。
  • 第三个参数((ALL))定义了可以执行命令的用户名。
  • 最后一个参数(ALL)定义可以运行的应用程序。

因此,在此示例中,wheel 组的成员可以以所有主机上的所有用户身份运行所有应用程序。但即使是这个一切允许的规则也很有用,因为它会记录谁在计算机上做了什么。

别名

当然,它不仅可以让你和你最好的朋友管理一个共享机器,你还可以微调权限。你可以将以上配置中的项目替换为列表:用户列表、命令列表等。多数情况下,你可能会复制并粘贴配置中的一些列表。

在这种情况下,别名可以派上用场。在多个位置维护相同的列表容易出错。你可以定义一次别名,然后可以多次使用。因此,当你对一位管理员不再信任时,将其从别名中删除就行了。使用多个列表而不是别名,很容易忘记从具有较高特权的列表之一中删除用户。

为特定组的用户启用功能

sudo 命令带有大量默认设置。不过,在某些情况下,你想覆盖其中的一些情况,这时你可以在配置中使用 Defaults 语句。通常,对每个用户都强制使用这些默认值,但是你可以根据主机、用户名等将设置缩小到一部分用户。这里有个我那一代的系统管理员都喜欢玩的一个示例:“羞辱”。这些只不过是一些有人输入错误密码时的有趣信息:

“`
czanik@linux-mewy:~> sudo ls
[sudo] password for root:
Hold it up to the light

via: https://opensource.com/article/19/10/know-about-sudo

作者:Peter Czanik 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

主题测试文章,只做测试使用。发布者:eason,转转请注明出处:https://aicodev.cn/2019/11/20/%e5%85%b3%e4%ba%8e-sudo-%e4%bd%a0%e5%8f%af%e8%83%bd%e4%b8%8d%e7%9f%a5%e9%81%93%e7%9a%84/

Like (0)
eason的头像eason
Previous 2019年11月20日
Next 2019年11月21日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信