~]# mount -o remount,hidepid=2 /proc
~]# mount | grep proc
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime,hidepid=2)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=33,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=15040)
这条命令用于重新挂载 /proc
文件系统,并应用 hidepid
选项,隐藏进程的 PID 信息。让我们来详细解释这条命令的各个部分:
mount
mount
命令用于将文件系统挂载到 Linux 系统中的某个目录上。通常用于挂载分区、USB 设备或网络文件系统等。
-o remount
-o remount
选项表示重新挂载一个已经挂载的文件系统。这意味着 mount
命令不是用于挂载新的文件系统,而是更改一个已经存在的挂载点的属性。
hidepid=2
hidepid
选项用于隐藏进程的 PID 信息。hidepid
选项有两个级别:
-
hidepid=0
: 这是默认值,表示不隐藏任何进程的PID信息。 -
hidepid=1
: 隐藏进程的 PID,但仍然可以看到进程的父 PID 和子 PID。 -
hidepid=2
: 隐藏进程的 PID 和其父 PID 和子 PID,使得进程的父子关系不可见。
这个选项在 /proc
文件系统中特别有用,因为它控制着进程信息的可见性。通过设置 hidepid=2
,可以增加系统的安全性,防止非特权用户查看到其他进程的详细信息。
/proc
/proc
是一个特殊的文件系统,用于提供正在运行的进程和系统信息。它是虚拟的,意味着它并不是物理上的文件系统,而是由内核动态生成的。
配置后效果
-
隐藏进程 PID:
-
非特权用户无法查看其他进程的 PID 信息。
-
这意味着在
/proc
目录下,只有当前用户的进程信息是可见的。
-
-
隐藏父子关系:
-
即使是父子进程,也无法查看彼此的 PID 信息。
-
注意事项
-
权限:
-
只有 root 用户或具有相应权限的用户才能执行这条命令。
-
如果您不是 root 用户,您可能需要使用
sudo
来运行这条命令。
-
-
安全性:
-
使用
hidepid=2
可以增加系统的安全性,但也可能影响到某些依赖于完整进程信息的应用程序或服务。 -
在生产环境中使用时,请确保了解其影响。
-