chroot:将当前的目录作为程序运行的根目录,程序运行和访问的文件,执行的执行
都不能够超过当前的目录,所以对整个系统没有任何的影响。
场景说明:在进入到当前的根文件系统之后,无法解析域名,所以也就不可能
通过域名的方式,访问到yum的安装源仓库repo。刚开始的时候专注于/etc/resolve.d
文件的修改,但是无效化非常明显,甚至一度将当前的根文件系统创建一个网络配置
文件,但是service network restart失败了、
解决方案:
说明:
DNS是一种将域名解析为IP地址的服务.如:www.turbolinux.com.cn通过DNS解析,可以
得到210.77.38.126.
bind是linux的DNS服务器程序.bind-chroot是bind的一个功能,使bind可以在一个
chroot的模式下运行.也就是说,bind运行时的/(根)目录,并不是系统真正的/(根)目录,只是
系统中的一个子目录而已.这样做的目的是为了提高安全性.因为在chroot的模式下,bind可以
访问的范围仅限于这个子目录的范围里,无法进一步提升,进入到系统的其他目录中.
操作步骤:(使用yum对软件进行安装)
1)yum search jail
bind-chroot.x86_64 : A chroot runtime environment for the ISC BIND DNS server,
: named(8)
注释:http://www.linuxidc.com/Linux/2012-11/73867.htm
说明:chroot--change root(改变角色),例如apache服务,这个服务是直接安装到了根目录
下面的所以当ps后看进程信息的时候后面的路径是以系统的“根”开始找的。如果想搭建起来
这个chroot的环境,需要工具--jail.tar.gz,jail(监狱)也就是把自己想让服务更安全,那么
就把服务扔到监狱中去运行,黑客入侵了也只能在监狱中控制,不能跳出监狱进行别的控制
2)yum install bind-chroot.x86_64
Installed:
bind-chroot.x86_64 32:9.8.2-0.23.rc1.el6_5.1
Dependency Installed:
bind.x86_64 32:9.8.2-0.23.rc1.el6_5.1 portreserve.x86_64 0:0.0.4-9.el6
Dependency Updated:
bind-libs.x86_64 32:9.8.2-0.23.rc1.el6_5.1
bind-utils.x86_64 32:9.8.2-0.23.rc1.el6_5.1
3)启动named服务,同时指向chroot之后的目录
[root@localhost ext3fs]# /etc/init.d/named start
Starting named: [ OK ]
[root@localhost network-scripts]# ps -ef |grep named
named 7808 1 0 16:12 ? 00:00:00 /usr/sbin/named -u named -t /var/named/chroot
root 7816 2654 0 16:12 pts/0 00:00:00 grep named
[root@localhost network-scripts]# which named
/usr/sbin/named
4)将chroot之后的根文件系统作为DNS的子集
[root@localhost network-scripts]# /usr/sbin/named -u named -t /mnt/ext3fs/
摘自:http://yhj1065.blog.163.com/blog/static/1980021720106945117402/