使用AppArmor将当前用户限制在/ usr / bin / top

是否可以在Linux上使用AppArmor限制/usr/bin/top ,以便仅显示当前用户的进程? 除此之外, /bin/ls /proc不能显示属于其他用户的任何PID。

简短的回答

不,这不是用AppArmor轻松完成的。 要修改top和ls并不难,但绕过这些修改是微不足道的(滚动你自己的ls和top)。 修改对/ proc文件系统的访问可能会破坏许多应用程序。

长答案

据我所知,Linux没有内置这个function。 你将不得不修改内核,以确保没有系统调用可以泄漏有关其他用户正在运行的进程的信息,但这是一个大项目。 问题依然存在…为什么? 如果用户在你的服务器上有访问权限,用户可以做很多令人讨厌的事情。 如果你想限制一个用户,所以他不能与服务器的其他部分进行交互,你应该把他放入某种容器中。 虚拟机非常好。

唯一的方法是安装一个内核补丁。 我build议grSecurity 。 这只会显示在ps中的用户进程,也应该通过顶部限制。 如果这样做不是最好的事情

 chmod 700 /usr/bin/top 

所以只有root可以运行它。 大多数shell用户甚至不需要top