确定性方法来查明其他进程是否在 chroot 监狱中以及在哪里?

确定性方法来查明其他进程是否在 chroot 监狱中以及在哪里?

笔记:我很熟悉这个 U&L 问答,标题为:我如何知道我正在 chroot 中运行?这听起来与我要问的相似,但与我要寻找的有细微的差别。那一个专注于进程本身检测它是否处于 chroot 环境中,我问的是一个进程如何发现另一个进程已 chroot。


正在调查一个不熟悉的服务器中的 apache 问题。的输出ps -ef看起来像这样:

[belmin@server131 ~]$ sudo ps -ef | grep httpd
apache   14363 4082  0 14:04 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
apache   14365 4082  0 14:04 ?        00:00:00 /usr/local/apache2/bin/httpd -k start

我查看了/usr/local/apache2/conf配置,考虑到我们所看到的症状,这不是我所期望的。决定仔细检查init脚本并注意到实际进程位于 chroot 监狱中。

chroot为了将来的参考,有没有一种方法可以仅用 来确定进程是否在监狱中PID?我怎样才能找到chroot监狱的路径?

答案1

看着/proc/<pid>/root。这是到进程根目录的符号链接。如果它没有链接到/,则该进程处于 chroot 监狱中。

相关内容