2

似乎 htop 向每个用户显示所有正在运行的进程,并且 htop 中的进程名称包含我在命令行中包含的所有文件名。由于我通常使用非常长的文件名,实际上包含有关我的项目的大量详细信息,因此我不希望每个人都可以看到这些信息(但我可以让其他用户看到我正在运行的软件)。

如何隐藏进程名称中的详细信息?

4

1 回答 1

0

如何隐藏进程名称中的详细信息?

从内核 3.3 开始,您可以将procfs选项hidepid设置为1或进行挂载2

内核文档文件proc.txt描述了这个选项:

支持以下挂载选项:

hidepid= 设置 proc 访问模式。

hidepid=0 表示经典模式 - 每个人都可以访问所有 /proc 目录(默认)。

hidepid=1 意味着用户不能访问任何 /proc 目录,但他们自己的。cmdline、sched*、status 等敏感文件现在受到其他用户的保护。这使得无法了解是否有任何用户运行特定程序(假设程序不会通过其行为显示自己)。作为额外的奖励,由于其他用户无法访问 /proc//cmdline,因此通过程序参数传递敏感信息的编写不佳的程序现在可以防止本地窃听者。

hidepid=2 意味着 hidepid=1 加上所有 /proc 将对其他用户完全不可见。这并不意味着它隐藏了一个事实是否存在具有特定 pid 值的进程(它可以通过其他方式获知,例如通过“kill -0 $PID”),但它隐藏了进程的 uid 和 gid,这可能否则通过 stat()'ing /proc// 来学习。它使入侵者收集有关正在运行的进程的信息的任务大大复杂化,某些守护程序是否以提升的权限运行,其他用户是否运行某些敏感程序,其他用户是否运行任何程序等等。

于 2015-10-11T17:21:40.213 回答