我正在使用我的一个系统,并将其设置为隔离用户及其进程。例如:
[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 的许多服务失效,但在服务器上却运行良好。