質問

どのように一つの検出に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内の刑務所があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top