linux - 从内部检测 chroot jail

标签 linux unix posix bsd chroot

如果没有 root 权限,如何检测是否处于 chroot jail 中?假设一个标准的 BSD 或 Linux 系统。我想到的最好办法是查看“/”的 inode 值并考虑它是否相当低,但我想要一种更准确的检测方法。

[edit 20080916 142430 EST] 仅仅查看文件系统是不够的,因为复制/boot 和/dev 之类的东西来欺骗 jailed 用户并不难。

[edit 20080916 142950 EST] 对于 Linux 系统,检查/proc 中的意外值是合理的,但是对于一开始就不支持/proc 的系统呢?

最佳答案

如果/是 ext2/ext3/ext4 文件系统的根目录,/的 inode 将始终为 2,但您可能会在完整的文件系统中进行 chroot。如果它只是 chroot(而不是其他虚拟化),您可以运行 mount 并将安装的文件系统与您看到的进行比较。验证每个挂载点都有 inode 2。

关于linux - 从内部检测 chroot jail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75182/

相关文章:

linux - 如果终端关闭则继续操作

c - 如何在不截断任何单词的情况下使用缓冲区正确读取 stdin 的输入?

linux - 这个命令 ls 的作用是什么。 | xargs -i -t cp ./{} $1

python - 如何在 python 脚本的终端之间切换脚本的执行 Action ?

unix - 为什么基础图像上有这么多层? docker

linux - `Find` 重复输出

c - 非缓冲标准输入读取

python - 拆分一个fasta文件并在第一行的基础上重命名

php - mod_fcgid + PHP + apache 锁定

linux - LD_PRELOAD 未加载到 systemd