创造"虚拟系统"中的"/var"目录,以放置系统记录档。
mkdir /vs/var
mkdir /vs/var/adm
(3) "虚拟系统"中的"/usr"目录
创造"虚拟系统"中的"/var"目录,以放置系统程式及程式库。
mkdir /vs/usr
mkdir /vs/usr/bin
mkdir /vs/usr/sbin
mkdir /vs/usr/lib
从"/usr/lib"拷贝下列档案至"/vs/usr/lib"
ld.so.1
libauth.so.1
libbsm.so.1
libc.so.1
libcmd.so.1
libcrypt_i.so.1
libdl.so.1
libgen.so.1
libmp.so.1
libmp.so.2
libnsl.so.1
libsocket.so.1
nss_files.so.1
从"/usr/bin"拷贝下列档案至"/vs/usr/bin"
*ls
从"/usr/sbin"拷贝下列档案至"/vs/usr/sbin"
*in.ftpd (FTP伺服器程式)
*inetd (Internet Super Daemon)
(4)"虚拟系统"中的"/dev"与"/devices"目录
作"/dev"、"/devices"的tar档。
tar -cf /dev.tar /dev /devices
将tar档解至"/vs"目录下。
tar -xf /dev.tar /vs
删除tar档
rm /dev.tar
(5)启动服务
chroot /vs /usr/sbin/inetd -s
此步骤须注意是否关闭原始系统中inetd.conf的ftp选项,否则无法正常启动。
4、结语
有人或许会问,anonymous ftp本身就有做chroot的动作,为何还要自己做一个虚拟系统呢? 事实上,FTP服务若有漏洞,入侵者可透过漏洞取得root权限,此时anonymous ftp的chroot未必会被执行,若未执行chroot,那整个系统就暴露在入侵者眼前,但若你做了虚拟系统,将强制使用者连线时已在虚拟系统中,即使入侵者透过漏洞取得root权限,亦会被限制於虚拟系统中,将难以破坏原本的系统,如此可将系统损害降低。
标签: