トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

ssh で chroot

http://ja.528p.com/linux/centos/SE006-chroot-login.html
http://ja.528p.com/linux/centos/SE005-chrootssh.html
http://www.sssg.org/blogs/hiro345/archives/9147.html

sftp で chroot

 chroot 先のディレクトリ作成

所有者がrootで、755 のディレクトリを作成

 /etc/ssh/sshd_config 編集

例1
sftponly というグループを作成して
Match Group sftponly

   ForceCommand internal-sftp
   ChrootDirectory /home/%u

例2
ユーザを指定
Match user centos

   ForceCommand internal-sftp
   ChrootDirectory /home/%u


sshログインでchroot

OpenSSH 4.7以上で対応された

ChrootDirectory

を使う。

 必要なコマンドだけを使う場合

chroot先を作成して、必要なディレクトリを作成する

mkdir /opt/chroot_SSH
mkdir /opt/chroot_SSH/bin
mkdir /opt/chroot_SSH/home
mkdir /opt/chroot_SSH/lib
mkdir /opt/chroot_SSH/lib64

コマンドに必要なライブラリとコマンドをコピー

コマンドに必要なライブラリを ldd コマンドで調べて、ライブラリを/opt/chroot_SSH/以下にコピーする

例:ls コマンド

ldd /bin/ls

       linux-vdso.so.1 =>  (0x00007fff53b03000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00000038e8c00000)
librt.so.1 => /lib64/librt.so.1 (0x00007f7c057d1000)
libcap.so.2 => /lib64/libcap.so.2 (0x00000038eb000000)
libacl.so.1 => /lib64/libacl.so.1 (0x00000038f1c00000)
libc.so.6 => /lib64/libc.so.6 (0x00007f7c0543d000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f7c05238000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7c059eb000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7c0501b000)
libattr.so.1 => /lib64/libattr.so.1 (0x00000038f7c00000)
cp  /lib64/libselinux.so.1 /opt/chroot_SSH/lib64
cp /lib64/librt.so.1 /opt/chroot_SSH/lib64
....(以下続く)

cp /bin/ls /opt/chroot_SSH/bin


 手っ取り早く使いたい場合

mount --bind を使って、ひと通りの機能を開放する。
chrootの意味を考えつつ、慎重にやったほうが良い。

chroot先を作成して、必要なディレクトリを作成する

mkdir /opt/chroot_SSH
mkdir /opt/chroot_SSH/bin
mkdir /opt/chroot_SSH/home
mkdir /opt/chroot_SSH/lib
mkdir /opt/chroot_SSH/lib64
mkdir /opt/chroot_SSH/usr

あとは状況に応じて、 etc、var とか。

マウントする

シンボリックリンクだとchroot後はリンクできないが、mount --bind なら問題ない。

mount --bind /bin /opt/chroot_SSH/bin
mount --bind /home /opt/chroot_SSH/home
mount --bind /lib /opt/chroot_SSH/lib
mount --bind /lib64 /opt/chroot_SSH/lib64
mount --bind /usr /opt/chroot_SSH/usr

再起動後に自動的にマウントする場合

fstab にマウント情報を書く

/bin                    /opt/chroot_SSH/bin     none    bind            0 0
/home                   /opt/chroot_SSH/home    none    bind            0 0
/lib                    /opt/chroot_SSH/lib     none    bind            0 0
/lib64                  /opt/chroot_SSH/lib64   none    bind            0 0
/usr                    /opt/chroot_SSH/usr     none    bind            0 0

[カテゴリ: OS > Linux]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2013年09月09日 23時34分15秒