如何在 *nix 系统上卸载“ps”(进程状态)实用程序?

如何在 *nix 系统上卸载“ps”(进程状态)实用程序?

我听说ps(进程状态)可以存储用户的命令历史记录,就像 shell 历史记录所做的那样。

来源:在 StackOverflow 上发表评论,

请注意,如果目标是在命令行参数中隐藏密码,它们仍然可以通过 ps 看到 – Benitok 2019 年 4 月 27 日 3:50

这似乎存在安全风险。

问题:

  • 是否可以清除ps历史记录,如何清除?

或者,如果那不可能,

  • 我如何卸载、删除或禁用该ps实用程序?

答案1

ps不存储任何内容,但它确实允许您查看系统上所有正在运行的进程,这些进程可以被存储。删除该ps实用程序并不能解决问题,因为数据仍然可以从内核到用户空间使用。

在 Linux 上,此信息是通过虚拟 /proc 文件系统提供的,该文件系统有一个名为 的选项,hidepid该选项允许您阻止用户看到不属于他们的进程。使用 hidepid=2 挂载将允许用户仍然使用ps,但他们将无法看到除自己的进程之外的任何进程。

请参阅此处了解更多详细信息:

https://linux-audit.com/linux-system-hardening-adding-hidepid-to-proc/

NetBSD 有一个名为 的选项security.curtain,它具有类似的效果。在 freebsd 上,可调参数称为security.bsd.see_other_uids

至于安全影响。 UNIX 开发人员被教导不要在进程命令行参数中编码敏感信息,因为其他人可以看到这些信息。然而,隐藏进程信息可能会很烦人,特别是在资源有限且多个用户无法检查谁和什么正在使用所有 cpu/内存的系统上。如果您沿着这条路线走下去,您可能希望为每个用户创建“临时”目录,因为这也可以公开信息。

(好用户名)

相关内容