一、简述:
chroot 即 change root directory (更改 root 目录) 。在 linux 系统中,系统默认的目录结构都是以 `/`,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为 `/` 位置。
二、为什么要使用chroot
在经过 chroot 之后,系统读取到的目录和文件将不在是真实系统根下的而是新根下(即被指定的新的位置)的目录结构和文件,因此它带来的好处大致有以下3个:
* 增加了系统的安全性,限制了用户的权力;
* 建立一个与原系统隔离的系统目录结构,方便用户的开发;
* 可以限制chroot用户的命令使用
三、目的:可开放chroot帐号供开发人员web服务器查看日志,分析问题等。
四、chroot环境部署
如果是5.5的系统,需要升级openssh,本文是在6.2和5.5中都有使用。
#建立帐号
#下载chroot环境
- useradd rd
- echo "www.elain.org" | passwd --stdin rd
- 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
- cat <<EOF>>/etc/ssh/sshd_config
- #chroot
- Match User rd
- ChrootDirectory /home/chroot
- EOF
- /etc/init.d/sshd restart
#挂载日志目录
使用rd登录测试!!! 五、openssh升级(for centos 5.5) 1.升级sshd前准备
- mount --bind /data/logs /home/chroot/home/rd
#备份现有ssh
- yum -y install gcc* make openssl openssl-devel perl pam pam-devel
- mkdir -p /opt/soft/src && cd /opt/soft/src
- wget http://ftp.bit.nl/mirror/openssh/portable/openssh-5.9p1.tar.gz
2.安装sshd
- mv /etc/ssh/ /etc/ssh.bak
- cp /etc/init.d/sshd /etc/init.d/sshd.bak
#重启sshd.
- 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
升级成功.
- /etc/init.d/sshd restart
转载请注明: 转载自http://www.elain.org
本文链接地址:使用openssh的新特性构建chroot环境