質問
どのように一つの検出にchroot刑務所なroot権限?と標準的なBSD/Linuxシステム。エクスペディアのキャンセたったのinode値は"/"をベースにするか否かを決めることは合理的に低いものの、このクラスは、より正確な方法の検出を行います。
[edit 20080916 142430 EST]
けみのファイルシステムなのに十分ではなく複製物のように/boot/devを馬鹿に投獄されます。
[edit 20080916 142950 EST]
Linuxシステム確認するために、予想外の値を/procは合理的、かつシステムをサポートしないの/procのでしょうか。
解決
のinodeのための男女共同参画の取り組みは常に2人でのルートディレクトリのファイルシステムですchrooted内の全ファイルシステム.だが、chrootなどの仮想化)を走りきることができマウントを搭載ファイルシステムに対す。を検証すべてのマウントポイントinode2.
他のヒント
いただけない場合は、chrootのinodeのための男女共同参画の取り組みは常に2.することを確認用
stat -c %i /
または
ls -id /
Interrestingがしてみましょう索パスのchrootをクリックします。をお願い stat
るデバイス/ホ:
stat -c %04D /
最初のバイトは、主要なデバイスやねのバイトは軽微であります。例えば、0802、主要8,小1.チェックインいただければ/dev、この装置は/dev/sda2.の場合はルートで直接作成するcorrespondong装置おchroot:
mknode /tmp/root_dev b 8 1
現在の世界を探求しましょうinode連chroot.debugfsできるリストの内容のファイルを使用inodeます。のためのexemple, ls -id /
返され923960:
sudo debugfs /tmp/root_dev -R 'ls <923960>'
923960 (12) . 915821 (32) .. 5636100 (12) var
5636319 (12) lib 5636322 (12) usr 5636345 (12) tmp
5636346 (12) sys 5636347 (12) sbin 5636348 (12) run
5636349 (12) root 5636350 (12) proc 5636351 (12) mnt
5636352 (12) home 5636353 (12) dev 5636354 (12) boot
5636355 (12) bin 5636356 (12) etc 5638152 (16) selinux
5769366 (12) srv 5769367 (12) opt 5769375 (3832) media
興味深い情報のinode ..
入場:915821.まだそのコンテンツ:
sudo debugfs /tmp/root_dev -R 'ls <915821>'
915821 (12) . 2 (12) .. 923960 (20) debian-jail
923961 (4052) other-jail
というディレクトリ debian-jail
はinode923960.なので、最後のコンポーネントのchroot dirは debian-jail
.を見てみましょう親ディレクトリ(inode2)現:
sudo debugfs /tmp/root_dev -R 'ls <2>'
2 (12) . 2 (12) .. 11 (20) lost+found 1046529 (12) home
130817 (12) etc 784897 (16) media 3603 (20) initrd.img
261633 (12) var 654081 (12) usr 392449 (12) sys 392450 (12) lib
784898 (12) root 915715 (12) sbin 1046530 (12) tmp
1046531 (12) bin 784899 (12) dev 392451 (12) mnt
915716 (12) run 12 (12) proc 1046532 (12) boot 13 (16) lib64
784945 (12) srv 915821 (12) opt 3604 (3796) vmlinuz
というディレクトリ opt
はinode915821とinode2ルートのファイルシステム.私のchrootディレクトリ /opt/debian-jail
.確かに、 /dev/sda1
が搭載される別のファイルシステム.することを確認用lsofまたは直接ピッキング情報 /proc
).
Linuxにおける根のパーミッション、試験の場合のルートディレクトリは、initプロセスのインストールをクリックします。は /proc/1/root
常にシンボリックリンクを /
, 以下のつの"マスター"ルートディレクトリとしてinitプロセスではないchrooted、そのほとんど。の場合 /proc
ない付きベット使いchroot.
[ "$(stat -c %d:%i /)" != "$(stat -c %d:%i /proc/1/root/.)" ]
# With ash/bash/ksh/zsh
! [ -x /proc/1/root/. ] || [ /proc/1/root/. -ef / ]
これはより精度よ 見 /proc/1/exe
どこが異なる可能性があるためです外chroot場合 init
てキャッシュフロー創出力が最後の起動またはchrootでのrootファイルシステム init
はリンクします。
していない場合はroot権限の楽しみがさらに広がるでしょう /proc/1/mountinfo
や /proc/$$/mountinfo
(簡単に記録され filesystems/proc.txt
をLinuxカーネルの書類).このファイルを世界の読に多く含まれる情報は各マウント-ポイントのプロセスのビューのファイルシステム.のパスがファイルをchroot影響を及ぼすリーダーの過程をいいます。場合に読み /proc/1/mountinfo
はchrootedへのファイルシステムのそれとは異なるグローバルルートを想定pid1のルートは、グローバルルート)を押し付けるのではなく、そのエントリ /
表示され /proc/1/mountinfo
.場合に読み /proc/1/mountinfo
はchrootedるディレクトリのグローバルルートファイルシステムそのもののエントリ /
表示され /proc/1/mountinfo
, が異なるマウントidです。ちなみに、根分野$4
表示の解説文書は、そのマスターファイルシステム.これは特定のプログラムを利用しています。.
[ "$(awk '$5=="/" {print $1}' </proc/1/mountinfo)" != "$(awk '$5=="/" {print $1}' </proc/$$/mountinfo)" ]
防れるというようなのです。の場合はコードのはずなのchrootでセットにフラグで起動します。だが、ハッキングやハック:チェックのためのいくつかの一般的なものに知られる、カウントのファイル/etc、/dev.
にBSDシステム(チェックuname-a),volは常に存在します。チェックの場合はdev/inode一対の/proc/1/exe(statに関する理解が欠かせませんのでなにシンボリックリンクテキストが、元のフックマッチした/sbin/init.
チェックのルートのためのinode#2はもういう要素もあると思います。
ほとんどのその他のシステムrootユーザを見いだすことができるかに高速化を試みることにより、fchdir根本的なリックを達成しています。しばどこでもいchroot刑務所があります。
思いもよるかもしれまでchrootか、するには至っておりdisguisingます。
思を確認/proc、これらのファイルを自動生成システム情報ファイルです。カーネルが読み込みこれらのルートファイルシステムがこれまでポイントの加算、または存在しなのchrootファイルシステム.
場合にはrootファイルシステムの/procがバインドされたあとに/procのchrootでは間にかなりの差異がある情報のchroot環境です。チェック/proc/マウントです。
Similrarly、チェック/sys.
入chrootとschrootを確認することができ、$debian_chroot.
たかったのと同じ情報の刑務所運FreeBSD(Ansibleな検出シナリオ).
はFreeNASの分布FreeBSD11日 /proc
なに搭載のホストでの刑務所があります。るかどうかについても同様のことが正規FreeBSDんだが procfs:っても忘れられない かるのです。は、ほとんどない実装で検出する刑務所の状況とその確信はないとしても使用できます信頼される予測の内の刑務所があります。
も否定用stat on /
として是非FreeNASすべての監獄されて自分のファイルシステム( a ZFSのデータセット びそのために /
ノードをホストとの刑務所とinode4.なることを目標としてい共通FreeBSD11。
でアプローチに着いたのを使った procstat on pid0になります。
[root@host ~]# procstat 0
PID PPID PGID SID TSID THR LOGIN WCHAN EMUL COMM
0 0 0 0 0 1234 - swapin - kernel
[root@host ~]# echo $?
0
[root@host ~]# jexec guest tcsh
root@guest:/ # procstat 0
procstat: sysctl(kern.proc): No such process
procstat: procstat_getprocs()
root@guest:/ # echo $?
1
を作っていると仮定ここでpid0常のカーネルのホストは、ありませんのでpid0内の刑務所があります。