ページ更新: 2004-02-25 (水) (7034日前)

chrootssh。sshで接続したらchrootに閉じこめるもの、らしい。

[編集]

情報源 #

[編集]

メモ #

[編集]

RedHat 9 にて #

RedHat9 (on VMware 4 for Windows) で試してみる。

(もっとハデに、ということなら User Mode Linux など。Knoppixに設定済みのなら割と簡単に試せそうではある)

[編集]

最初に #

まずは、chrootssh を使わずに、自前でchrootしても動く環境を作ってみる。 ようするに、tradissionalなftpでanonymous ftpさせるのと同じ (……とわけわからん言葉でごまかす)

$ ssh judecca@hogehoge
password: *****
$ chroot ~/
(このあとにそれなりにマトモに動く環境を用意する)
[編集]

chroot環境の用意 #

めんどうなので、各種コマンドの代わりにbusyboxを使う。 (apt入れてあるので、入手はapt-get busyboxするだけ) busyboxだと強力すぎるかもしれないが、まあいいや。

# useradd judecca
# passwd judecca
# su - judecca

$ mkdir dev etc lib bin sbin
# cd dev
# mknod zero c 13 12
# mknod null c 13 2
  
$ touch etc/passwd
$ touch etc/group

$ cp /bin/bash bin/
$ cd bin
$ ln -s bash sh
$ ldd bash
       libtermcap.so.2 => /lib/libtermcap.so.2 (0x4002b000)
       libdl.so.2 => /lib/libdl.so.2 (0x4002f000)
       libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
       /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$ cp /lib/libtermcap.so.2 ../lib
$ cp /lib/libdl.so.2 ../lib

$ cp /sbin/busybox sbin/
$ ldd sbin/busybox 
       libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
       /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$ cp /lib/tls/libc.so.6 lib/
$ cp /lib/ld-linux.so.2 lib/
 
$ cd bin
$ ln -s ../sbin/busybox adjtimex
$ ln -s ../sbin/busybox ar
$ ln -s ../sbin/busybox basename
$ ln -s ../sbin/busybox cat
$ ln -s ../sbin/busybox chgrp
$ ln -s ../sbin/busybox chmod
$ ln -s ../sbin/busybox chown
$ ln -s ../sbin/busybox chroot
    : (略)

(以後、気が向いたら)