我的印象是,出于安全原因,一个用户不能看到另一个用户运行的进程(及其各自的命令行)。
为什么当我top
在 Linux 2 AMI 上运行时我可以看到root
进程?
答案1
每https://www.cyberciti.biz/faq/linux-hide-processes-from-other-users//proc
允许任何用户查看所有进程和命令行的默认行为:
隐藏ID=0– 旧的行为 – 任何人都可以读取所有全世界可读的 /proc/PID/* 文件(默认)。
隐藏标识=1– 这意味着用户不能访问任何 /proc// 目录,只能访问他们自己的目录。cmdline、sched*、status 等敏感文件现在受到保护,不让其他用户访问。
隐藏标识=2这意味着 hidepid=1 加上所有 /proc/PID/ 对其他用户都是不可见的。它使入侵者收集有关正在运行的进程的信息的任务变得复杂,包括某个守护进程是否以提升的权限运行、另一个用户是否运行某个敏感程序、其他用户是否运行任何程序等。
应该可以重新安装/proc
来hidepid
解决这个问题。
键入以下挂载命令:
# mount -o remount,rw,hidepid=2 /proc
编辑/etc/fstab,输入:
# vi /etc/fstab
更新/附加/修改 proc 条目如下,以便在服务器启动时自动启用保护:
## append the following line ## proc /proc proc defaults,hidepid=2 0 0
保存并关闭文件。