如何让非 sudo 用户访问 top 的所有进程?

如何让非 sudo 用户访问 top 的所有进程?

我使用 Ubuntu Server 10.04。我有一些用户通常无权访问 sudo。当此用户使用 top 命令时,他只能看到当前用户的进程。我添加了一行到/etc/sudoers

user ALL = NOPASSWD: /usr/bin/top

但是现在我们不仅可以访问系统进程列表,还可以终止它们,这是我们所不希望的。

还有其他方法可以做到这一点吗?

答案1

您可以允许用户只运行“top -s”,这是安全模式,并禁用杀死东西的能力。

user ALL = NOPASSWD: /usr/bin/top -s

答案2

通常 top 会显示系统上的所有进程。如果你的 top 没有显示,则表明已采取某些措施对其进行了限制 - 有内核补丁添加此功能。您需要找出已添加到系统中的内容。

答案3

bofh ALL=(root) NOPASSWD: /usr/bin/top

对我来说工作正常,我只能使用 sudo top;也许您还有其他 sudo 规则可以帮助您终止 procs?

如果你说的是使用 top 终止进程的权限,这很正常;top 在内部使用 kill() 来终止请求的进程;一旦你以 root 用户身份执行 top,你也会以 root 用户身份执行相关的系统调用

相关内容