sudo 的替代品

Alw*_*ner 5 linux sudo su

我知道我们可以使用sudo命令以超级用户/其他用户的身份执行命令/脚本。但是是否有可能sudo用户不可用/删除该实用程序本身。如果是这样,sudo除了 之外还有什么替代方案su?另外,做sudosu服务于相同的目的吗?

iga*_*gal 10

似乎没有人回答过除了 su 之外是否存在 sudo 替代品的问题,所以你可能有兴趣知道 sudo 网站实际上维护了一份 sudo 替代品列表:

http://www.sudo.ws/other.html

该列表包括开源软件和商业软件。以下是目前列出的开源 sudo 替代方案:

也就是说,我从未使用过任何这些替代方案,也从未在任何其他上下文中看到或听说过它们。似乎至少其中一些是实验性的、已失效的或不受支持的。我得到的印象是,sudosu在镇上唯一的真正的游戏。


小智 7

'sudo' 允许您以任何用户身份启动任何程序。它是“setuid root”,因为程序本身需要 root 权限才能执行此操作。sudo 的强大之处在于您可以轻松配置谁可以做什么。您可以允许用户使用 sudo 执行 nmap(并且只能执行 nmap)。

'su' 允许您以任何用户身份启动 shell。当您启动 shell 时,您显然可以启动任何其他程序。因此更危险;在管理良好的系统上,su访问通常是禁用的,但sudo可能可用于不同的程序。

使用上述两个程序的原因是问责制。Sudo 记录所有发出的请求。因此,管理员可以很容易地跟踪用户使用 root 权限所做的事情。如果您授予对 shell 的访问权限,则用户可以为所欲为(这是一个“黑洞”)。(当然,内核级别的高级日志会阻止这一点)。

当然,这些程序也可以被标记setuid。这会在执行时更改二进制文件所有者的权限。如果您设法激活setuideg 上的位/bin/bash并将其所有者设置/bin/bashroot,则每次执行时您都是 root 用户/bin/bash

最后,对机器的物理访问将允许您做任何您喜欢的事情。您可以从闪存驱动器启动并访问本地文件系统。您甚至可以将引导加载程序配置为使用不同的init进程,该进程会立即以单用户模式启动 shell(无需输入密码)。