如何在 Linux 上隔离用户及其进程

如何在 Linux 上隔离用户及其进程

我正在使用我的一个系统,并将其设置为隔离用户及其进程。例如:

[user@server] $ ps aux

仅显示该用户启动的进程,不是系统上的每个进程。

[root@server] # ps aux

展现一切。

它运行良好,但不幸的是我没有记下我做了什么,现在不记得如何在新服务器上重现它 - 这不是 Debian 或 RH 上的默认行为。有人能给我指出正确的方向吗?

答案1

主要ps信息来源是 /proc 文件系统。它有一个hidepid=mount 选项,可使其他用户的进程不可见,还有一个gid=选项,可豁免指定组的成员。

通常,procfs 由 init 系统使用硬编码选项挂载,但在 /etc/fstab 文件中添加 /proc 的条目将导致它使用指定的选项重新挂载。

请注意,hidepid= 可能会导致某些系统服务出现问题,例如 systemd-journald 或 systemd-logind。请始终结合使用 gid= 选项,并将这些服务添加到“允许组”。

答案2

在 /etc/fstab 中设置:

proc /proc proc defaults,hidepid=2 0 0  

出现此行为,但我没有遇到任何服务问题。感谢您的快速回复。

添加:这似乎会使笔记本电脑上的 KDE 的许多服务失效,但在服务器上却运行良好。

相关内容