使用Openssh的新特性构建chroot环境

一、简述:
chroot 即 change root directory (更改 root 目录) 。在 linux 系统中,系统默认的目录结构都是以 /,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为 / 位置。

二、为什么要使用chroot

在经过 chroot 之后,系统读取到的目录和文件将不在是真实系统根下的而是新根下(即被指定的新的位置)的目录结构和文件,因此它带来的好处大致有以下3个:

  • 增加了系统的安全性,限制了用户的权力;
  • 建立一个与原系统隔离的系统目录结构,方便用户的开发;
  • 可以限制chroot用户的命令使用

三、目的:可开放chroot帐号供开发人员web服务器上查看日志,分析问题等。

四、chroot环境部署

如果是5.5的系统,需要升级openssh,本文是在6.2和5.5中都有使用。

#建立帐号

1
2
useradd rd
echo "www.elain.org" | passwd --stdin rd

#下载chroot环境

1
2
3
4
5
cd /home
wget http://ebook.elain.org/tools/chroot_v1.0.tar.gz
tar zxvf chroot_v1.0.tar.gz
chown rd.rd /home/chroot/home/rd
rm -rf chroot_v1.0.tar.gz

#注:以上是我做好的chroot环境,大家可以直接下载使用,也可以自己去做。

#启用ssh 的chroot

1
2
3
4
5
6
7
8
9
10


cat  <<EOF>>/etc/ssh/sshd_config

#chroot
Match User rd
ChrootDirectory   /home/chroot
EOF

/etc/init.d/sshd restart

#挂载日志目录

1
mount --bind /data/logs /home/chroot/home/rd

使用rd登录测试!!!

五、openssh升级(for centos 5.5)
1.升级sshd前准备

1
2
3
4
yum -y install gcc* make openssl openssl-devel perl pam pam-devel

mkdir -p /opt/soft/src &amp;&amp; cd /opt/soft/src
wget http://ftp.bit.nl/mirror/openssh/portable/openssh-5.9p1.tar.gz

#备份现有ssh

1
2
mv /etc/ssh/ /etc/ssh.bak
cp /etc/init.d/sshd /etc/init.d/sshd.bak

2.安装sshd

1
2
3
4
5
6
7
8
9
10
11
12
cd /opt/soft/src
tar zxf openssh-5.9p1.tar.gz
cd openssh-5.9p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords
make
rpm -e --nodeps openssh-server-4.3p2-41.el5
rpm -e --nodeps openssh-4.3p2-41.el5
make install
mv /etc/init.d/sshd.bak /etc/init.d/sshd
touch /etc/ssh/ssh_host_ecdsa_key
touch /etc/ssh/ssh_host_ecdsa_key.pub
mkdir -p /var/empty/sshd/etc

#重启sshd.

1
/etc/init.d/sshd restart

升级成功.

文章目录
,