Linux sudo 命令的安全问题?

Geo*_*ge2 7 security linux permissions sudo

  1. 我使用的是 Red Hat Enterprise 5 Linux 机器。我发现如果一个用户在/etc/sudoers文件中,那么如果用户用sudo运行命令,用户将以root权限运行这个命令(在不知道root密码的情况下,用户运行sudo只需在其中输入用户自己的密码即可)以使用 sudo 运行命令)。这是正确的理解吗?

    1. 如果是,那么它是一个安全漏洞吗?因为 root 以外的用户可以以 root 权限运行?

提前致谢,乔治

ere*_*eOn 19

这不是一个安全漏洞,至少不是su

sudo 这只是管理员在不使用 root shell(这可能很危险)的情况下快速访问 root 的一种方式。

sudo只需要用户输入他自己的密码,并且确实会给他 root 访问权限(尝试$ sudo whoami)。但是,并不是每个人都应该在/etc/sudoers文件中。

如果您查看sudo联机帮助页,您会发现如何限制sudo为一些简单的命令。

例如,您可以只允许用户bob执行$ sudo poweroff而不允许他执行$ sudo cat /etc/shadow

所以不,如果您正确配置和使用它,这不是安全漏洞。如果您不希望您的用户拥有 root shell,请考虑禁止诸如$ sudo su.

  • @George2:是也不是。出现在 `sudoers` 中的所有用户(或属于在 `sudoers` 中列出的组)都可以使用 `sudo`。正如我所说,您可以限制他们可能使用 sudo 的命令。简而言之:**所有需要以提升的权限执行至少一个命令的用户都应该在`/etc/sudoers`中。**这些人是否被称为 *admins* 取决于你;) (6认同)

小智 11

如果这是一个安全漏洞,sudo 早就被删除了。这是有意的,您可以将其配置为需要用户密码、root 密码或根本不需要密码。

因为无论如何只有 root 可以配置它,所以没有安全漏洞。root 为每个用户、每个组配置谁可以访问它,谁必须输入哪个密码。

另外,关于最后一部分:“因为 root 以外的用户可以以 root 权限运行”:这就是 sudo 程序的全部意义所在。

  • @George2:如果黑客对你的服务器有 root 访问权限(使用 `sudo` 或其他任何东西,没关系)它已经*游戏结束* **无论如何**。 (15认同)
  • 如果黑客获得了具有完全 sudo 权限的用户的密码,那么他们就可以成为 root。因此,只向您信任的用户授予 sudo 权限以安全地处理他们的帐户。例如,我们只允许使用证书登录的管理员使用 sudo。 (5认同)