タグ

ブックマーク / tociyuki.hatenablog.jp (1)

  • kernel 2.6.23 の chroot を深追い - Tociyuki::Diary

    実効ユーザ ID が root ならば、chroot(2) システムコールを使うことで、設定済の chroot を無効にできることは chroot(2) の man ページに明記されています。chroot(2) がカレント・ディレクトリを変更しないため、特定の状況下で相対パスで chroot したディレクトリの外をアクセスできることを短い sh の実証スクリプト付きで説明されています。では、カーネル内部ではどのようなことが生じているのでしょうか。だいたい想像はできるのですが、ソースコードを読み込んでみました。 読み込みは chroot システムコールを処理する sys_chroot 関数から始めました。この関数は、__user_walk 関数を使って、パス名を格納した文字列を元に nameidata 構造体 nd に vfsmount 構造体へのポインタを nd.mnt と、dentry

    kernel 2.6.23 の chroot を深追い - Tociyuki::Diary
  • 1