基于组对其他用户隐藏进程(在 Linux 下)?

基于组对其他用户隐藏进程(在 Linux 下)?

linux系统下是否可以对某些用户组配置进程隐藏?

例如:X 组的用户不应在 ps/top 或 /proc 下看到 Y 组用户拥有的进程。

是否可以使用 SELinux 配置这样的设置?

(我依稀记得有趣的 grsecurity 补丁集中有一个类似的功能 - 但 IIRC,它更通用 - 而且,我想配置一个股票 Linux 发行版,而不必维护自定义内核。)

编辑:为了更好地说明,Solaris 10也有类似的功能。该示例并不那么通用,但可以配置一个用户或某些用户只能在 ps 等中看到自己进程的信息。

答案1

实际上,SELinux似乎允许这样的配置:

从一开始如何:

这次,您将看到系统上的所有进程,无论它们位于哪个域。在 sysadm_t 域中时,您可以访问 user_t 域无法访问的其他域。

从第二个开始如何:

第三行允许 Staff_t 运行 ps 并查看非特权用户域中的进程。 Staff_t 能够运行 ps 并查看 user_t 和其他用户域(如果有)中的所有内容,而 user_t 则不能。

答案2

如果没有 rootkit,或者没有破解内核来专门允许这种行为,就没有任何预先打包的选项。

如果这些进程是从您有权访问的代码启动的,那么您可以在更改传递到程序中的 argv[0] 参数的同时重新编译它。这可以有效地将名称更改为良性名称,从而对任何检查 top 或 ps 等的人“隐藏”它。

相关内容