Jail¼òµ¥´òÔ찲ȫFreeBSDϵͳ
¡ï¼«ö¦»¢»¢¡ï & dahubaobao·¢±íÓÚ2005-3-9 17:35:38 [URL=http://hackvip.cn/more.asp?name=dahubaobao&id=960]µã»÷·ÃÎÊÔÌû[/URL]Jail¼òµ¥´òÔ찲ȫFreeBSDϵͳ
ǰÑÔ
¶ÔLinuxϵͳÓÐÁ˽âµÄÅóÓÑ£¬Ó¦¸ÃʹÓùý£¨Ìý˵¹ý£©Chroot£¬ËüÔÚLinuxϵͳÖаçÑÝ×Å¡°¼àÀΡ±µÄ½ÇÉ«¡£¶øFreeBSD×÷Ϊһ¿îUnixÀà²Ù×÷ϵͳ£¨È·ÇеÄ˵ÊÇBSD·ç¸ñµÄUnix£©£¬ÒÔÆäÒ×ÓÃÐÔºÍÎȶ¨ÐÔÓ®µÃÁËÖÚ¶àÓû§µÄÇàÃÁ£¬ÔÚInternetÕ¼¾Ý×Åһϯ֮µØ¡£Í¬Ñù£¬ËüÒ²¾ßÓÐͬChrootÏàͬ¹¦ÄܵijÌÐò----Jail£¬¶øÇÒJailÓÐһЩChrootûÓеÄÌØÐÔ¡£Jail¿ÉÒÔÓ¦ÓÃÓÚ¸÷ÖÖ·þÎñ£¬°üÀ¨³£¼ûµÄWeb/Mail/DNSµÈ£¬ÏÞÓÚÆª·ù£¬±¾ÎÄÒÔWeb·þÎñÆ÷ΪÀý½øÐÐ˵Ã÷¡£Æäʵ£¬±¾ÎĵÄÄ¿µÄÊÇ˵Ã÷JailµÄʹÓ÷½·¨£¬Ö»²»¹ýÊÇÒÔWeb·þÎñÆ÷ΪÀý£¬Èç¹ûÄãÄÜÕÆÎÕʹÓÃJail¹¹½¨Web·þÎñÆ÷µÄ·½·¨£¬ÆäËû·þÎñÊǾø¶Ô¿ÉÒÔ´¥ÀàÅÔͨµÄ£¬²»ÐÅ£¿Çë½Ó×ÅÍùÏ¿´¡¡
Ò»£¬Ç°ÐøÖªÊ¶
1£¬FreeBSDĿ¼½á¹¹
ÄÜ·ñÊìÁ·Ê¹ÓÃJail£¬ºÜ´óǰÌáÊÇÄãÊÇ·ñÊìϤFreeBSDĿ¼½á¹¹£¨Îļþ²¼¾Ö£©¡£Èç¹ûÄã֮ǰʹÓùýLinux»òÕ߯äËûUnix£¬ÄǾͻá¶ÔFreeBSDµÄĿ¼½á¹¹²»»áÌ«¹ýÓÚİÉú£¨Èçͼ1£©¡£ÎÒÃÇÀ´¾ßÌå·ÖÎöһϣº
[code]
Bin/ ϵͳÖлù±¾µÄ¾²Ì¬Á´½Ó¿â
Boot/ ϵͳÆô¶¯Ê±ËùÐèµÄÅäÖÃÎļþºÍ¿ÉÖ´ÐгÌÐò
Compat@ Ò»¸öÖ¸ÏòUsr/CompatµÄ·ûºÅÁ¬½Ó£¬ÓÃÓÚÓëÆäËûϵͳµÄ¼æÈÝ
Dev/ ÌØÊâµÄÎļþÀàÐÍ£¬ÓÃÓÚÓëϵͳÖеÄÉ豸Á¬½ÓÆðÀ´
Etc/ ±£´æÏµÍ³¼¶ºÍÓû§¼¶µÄÅäÖÃÎļþ£¨°üÀ¨¡°Ãô¸Ð¡±ÐÅÏ¢£©
Home@ Ò»¸öÖ¸ÏòUsr/HomeµÄ·ûºÅÁ¬½Ó£¬ËùÓÐÆÕͨÓû§µÄÖ÷Ŀ¼
Modules/ ¿É×°ÈëµÄÄÚºËÄ£¿é±£´æÔÚ¸ÃĿ¼ÏÂ
Proc/ ³ÆÎª½ø³ÌÎļþϵͳ£¬ËüÊǽø³Ì±íµÄÒ»¸ö½Ó¿Ú
Sbin/ ¾²Ì¬Á´½ÓµÄϵͳ¶þ½øÖÆÎļþ
Stand/ °üº¬Ò»×éÓ²Á´½Ó³ÌÐò£¬ÖµµÃ¹ØÐĵľÍÊÇSysinstall
Sys@ Ò»¸öÖ¸ÏòUsr/Src/SysµÄ·ûºÅÁ¬½Ó£¬ÄÚºËÔ´Îļþ¶¼ÔÚ´Ë
Usr/ °üº¬¶¯Ì¬Á´½Ó¿â¡¢Óû§ÎļþºÍÒѰ²×°µÄ³ÌÐò£¬ÉÔºóÏêÊö
Var/ ϵͳÖеÄһЩ¡°¿É±ä¶¯¡±µÄÎļþ£¬±ÈÈçÈÕÖ¾
[/code]
[------------------------------FreeBSDĿ¼½á¹¹¹Ø¼üÔªËØ-----------------------------------]
FreeBSD¶ÔĿ¼½á¹¹ÒªÇóºÜÑϸñ£¬ÆäÖÐ×îΪÃ÷È·µÄÔÔòÊÇ£º¹ÜÀíÔ±°²×°µÄÈκγÌÐò¶¼±»±£´æÔÚ/usr/localĿ¼Ï¡£¾¡¹ÜÒ»¸ö³ÌÐò»á°Ñ×Ô¼ºµÄ¿âÎļþ°²×°ÔÚ/var/libĿ¼Ï£¬°ÑÅäÖÃÎļþ°²×°ÔÚ/etcĿ¼Ï¡£µ«FreeBSD»¹ÊÇ»áÐ޸ݲװ½Å±¾£¨Makefile£©£¬Ê¹µÃ¿âÎļþ±»±£´æÔÚ/usr/local/lib¡¢/usr/local/libexec¡¢/usr/local/libdataĿ¼ÖУ»¶þ½øÖÆÎļþ·Åµ½/usr/local/bin¡¢/usr/local/sbinĿ¼ÖУ»ÅäÖÃÎļþ·Åµ½/usr/local/etcĿ¼Ï¡£Èç¹û³ÌÐò¸½´øÁËÆô¶¯½Å±¾£¬ÄÇôËü½«±»±£´æµ½/usr/local/etc/rc.dĿ¼ÖУ¬ÏµÍ³Æô¶¯Ê±£¬/etc/rc£¨»ù´¡ÏµÍ³µÄÆô¶¯½Å±¾£©ÏµĽű¾ÔËÐÐÖ®ºó£¬/usr/local/etc/rc.dĿ¼ÏµÄÈκÎÎļþ¶¼½«±»ÔËÐС£ÕâÖÖ¾«Ï¸µÄ¿ØÖÆÊǷdz£ÈÝÒ×ά»¤µÄ£¬ÓÈÆäÊÇÔÚлúÆ÷ÉÏÖØ½¨ÏµÍ³Ê±£¬ÒòΪ¿ÉÒÔÔÚ²»ÐÞ¸ÄϵͳµÄÇé¿öÏ£¬½«/usr/localĿ¼ÏµÄ×ÓĿ¼ºÍËùÓÐÎļþÖ±½Ó¸´ÖƵ½ÁíÒ»¸öÐÂϵͳ£¬¶ø°²×°¹ýµÄÈí¼þ´ó²¿·Ö¶¼¿ÉÒÔÔËÐС£
ÕÆÎÕÒÔÉÏÕâЩÄÚÈÝ£¬¾Í¿ÉʹÓÃJailÁË£¬¹ØÓÚFreeBSDÎļþ²¼¾ÖµÄ¾ßÌåÏêÇ飬¿Éͨ¹ýÔĶÁMan HierÊÖ²áÒ³»ñµÃ¡£
2£¬Jail¼ò½é
JailÃüÁîÔÚFreeBSD 4.0ÖÐÊ״γöÏÖ¡£ÓÃÓÚ¿ØÖƽø³ÌÒÔ¼°ÆäÅÉÉúµÄ×Ó½ø³Ì¡£¼ÙÈçijһ¸öÓ¦ÓóÌÐòÔÚϵͳÖÐÔËÐУ¬Ò»¶Îʱ¼äºóÓ¦ÓóÌÐò±»·¢ÏÖ°üº¬ÑÏÖØµÄ°²È«Â©¶´£¬¹¥»÷ÕßÉõÖÁ¿ÉÒÔ»ñµÃRootȨÏÞ£¬´Ó¶ø¶ÔϵͳÔì³ÉÍþвºÍÆÆ»µ¡£µ«ÊÇ£¬Èç¹ûÕâ¸öÓ¦ÓóÌÐòÔËÐÐÔÚJail»·¾³ÖУ¬¼´Ê¹¹¥»÷Õß»ñµÃÁËRootȨÏÞ£¬ËûÒ²²»¿ÉÄÜ·ÃÎʵ½JailÒÔÍâµÄ×ÊÔ´£¬ÒòΪӦÓóÌÐòÒѾ±»Jail¡°¼à½û¡±ÆðÀ´ÁË£¬³ýÁËÔÚ±¾ÉíµÄ»·¾³ÄÚ£¬ÏµÍ³ÆäËû×ÊÔ´Ò»ÂÉÎÞ·¨·ÃÎÊ¡£Óɴ˿ɼû£¬Ê¹ÓÃJail¿ÉÒԺܺõķÀ·¶Î´ÖªÂ©¶´£¬¼õÉÙ©¶´¶ÔϵͳµÄΣº¦¡£ Jailͨ³£ÓÐÁ½ÖÖÓ¦Ó÷½Ïò£º
1£¬¶ÔÓ¦ÓóÌÐò½øÐÐÏÞÖÆ
ʹÓÃJail¿ÉÒÔ¶Ô´ó¶àÊýÓ¦ÓóÌÐò½øÐÐÏÞÖÆ¡£±ÈÈçFTP·þÎñÆ÷£¬DNS·þÎñÆ÷£¬ÏñWu-FTP¡¢BINDÑùһЩ¸ôÈý²íÎå¾Í»á±¬³ö©¶´µÄ¡°ÖøÃû¡±Èí¼þ·Åµ½Jail»·¾³ÀïÃæ»á¸ü¼Ó°²È«£¬Í¬Ê±Ò²»áÈÃÈ˸ü¼Ó·ÅÐÄ¡£Õâ¿ÉÒÔ˵ÊÇJailµÄ³õ¼¶Ó¦Óá£
2£¬¹¹½¨ÊÜ¿ØÖÆÖ÷»ú
ijЩʱºò£¬ÏµÍ³ÐèÒª¶ÔÍâÌṩһЩ¶îÍâµÄ¹ÜÀíȨÏÞ£¬±ÈÈçÐéÄâÖ÷»ú·þÎñÉÌÐèҪΪ¿Í»§Ìṩ¶îÍâµÄ·ÃÎÊȨÏÞ£¨¿ÉÒÔÊÇÒ»°ãȨÏÞµÄShell£¬ÉõÖÁÊÇRootȨÏÞ£©£¬Õâ¾ÍÐèҪʹÓÃJail¼ÜÉèÊÜ¿ØÖÆÖ÷»ú£¬Ê¹¿Í»§Ö»ÄÜ¿ØÖÆJail»·¾³ÄÚËùÓÐËûÐèÒªµÄ×ÊÔ´£¬¼´±ãÊǸø¿Í»§RootȨÏÞ£¡ÆäʵÕâ²ÅÊÇJail×îÃÔÈ˵ĵط½£¬Í¬ÑùÒ²ÊÇJailµÄ¸ß¼¶Ó¦Óá£
JailÔÚĬÈϵÄϵͳÖÐÒѾ°²×°ÁË£¬Ö±½ÓÖ´ÐÐJail»á·µ»Ø°ïÖúÐÅÏ¢¡£
#jail
Usage£ºjail [-u username] path hostname ip-number command ...
-u username //Ö¸¶¨Ò»¸öÔËÐÐJailµÄÓû§
Path //Ö¸¶¨Ê¹ÓÃJailµÄλÖã¬ÀýÈç/var/jail
Hostname //¸øJail»·¾³ËùÆðµÄÖ÷»úÃû
ip-number //¸øJail»·¾³ËùÖ¸¶¨µÄIPµØÖ·
command //ʹÓÃJailÏÞÖÆµÄÓ¦ÓóÌÐò¼°Æä²ÎÊý
¹ØÓÚÇ°ÐøÖªÊ¶¾ÍÕâô¶à£¬ÔÚϱߵÄÎÄÕÂÖУ¬ÎÒ»á·ÖΪÁ½²¿·Ö½éÉÜJail£¬ÎÒÏë´ÏÃ÷µÄÄãÒѾ²Âµ½ÊÇÄÄÁ½²¿·ÖÁË£¬ºÃÁË£¬¼ÌÐø¿´Ï±ߵÄÎÄÕ°ɣ¡
¶þ£¬³õ¼¶Ó¦ÓÃ
²âÊÔ»·¾³£¨Èçͼ2£©£º
ϵͳ£ºFreeBSD 4.9 STABLE
Web£ºApache 1.3.x+mod_ssl+PHP 4.x.x
1£¬×¼±¸¹¤×÷
Ê×ÏÈÊǰ²×°ApacheºÍPHP£¬²»¹ýÔÚÕâ֮ǰÏȸüÐÂÒ»ÏÂProtsÊ÷¡£
#mkdir /root/ports_update
#cd /usr/share/examples/cvsup
#cp ports-supfile /root/ports_update
#cd /;cd /root/ports_update
#vi ports-supfile
//Ð޸ġ°default host=¡±ÎªÄãÏëʹÓõķþÎñÆ÷£¬±ÈÈçÎÒÊÇ£ºcvsup.freebsdchina.org
#cvsup ?g ?L 2 ports-supfile
//¸üÐÂPorts£¬´ó¸Å10-20·ÖÖÓÖ®¼ä£¬ÊÓÍøÂçËٶȶø¶¨¡£ÔÙÀ´°²×°Èí¼þ°ü¡£
#cd /usr/ports/www/apache13-modssl
#make install clean
//°²×°Apache
#cd /usr/ports/www/mod-php4
#make install
#cp /work/php-4.3.4/php.ini-dist /usr/local/etc/php.ini
#make clean
//°²×°PHP
ÒÔÉϰ²×°¶¼ÎªÄ¬ÈÏ£¬Èç¹ûÒªÐ޸IJÎÊý£¬¿ÉÒÔÔÚPortsĿ¼ÀïÐ޸ݲװ½Å±¾Makefile¡£ApacheµÄÄ£¿é·Ç³£¶à£¬Èç¹û»¹Ïë°²×°ÆäËûÄ£¿é£¬Çë²Î¿¼ApacheÎĵµ¡£¹ØÓÚApache ¡ï¼«ö¦»¢»¢¡ï ·¢±íÓÚ 2005-3-9 17:34:06
¹ØÓÚApacheºÍPHPµÄ°²È«ÅäÖþͲ»ÔÚ´ËÐðÊöÁË£¬´ó¼Ò¿ÉÒԲο¼ºÚ·ÀµÚ1ÆÚµÄApacheרÌ⣬ºÜÈ«Ãæ¡£
2£¬Ó¦ÓÃJail
Apache¶ÔÓ¦µÄ½ø³ÌÊÇHTTPD£¬Î»ÓÚ/usr/local/sbin/httpd¡£ÏÖÔÚÐèÒªÊÕ¼¯HTTPDÔËÐÐʱËùÒÀÀµµÄÎļþ£¬È»ºó½«Æäͨͨ·Å½øJailÀ×îºóʹÓÃJailÃüÁîÖ´ÐÐÒ»´Î¾Í¿ÉÒÔÁË¡£»ñµÃHTTPDÔËÐÐʱËùÒÀÀµµÄÎļþ¿ÉÒÔʹÓÃlddÃüÁҲ¿ÉÒÔʹÓõÚÈý·½¹¤¾ß¡£ÔÚ±¾ÎÄÖÐÎÒÑ¡ÔñµÚÈý·½¹¤¾ßStrace£¬ÐèÒªÔÚPortsÖа²×°Ëü¡£
#cd /usr/ports/devel/strace
#make install clean
°²×°Íê³ÉÖ®ºó£¬¾Í¿ÉÒÔʹÓÃËüÀ´²é¿´HTTPDÔËÐÐʱËùÒÀÀµµÄÎļþÁË¡£
#strace ?o /root/strace /usr/local/sbin/httpd
//½«½á¹û±£´æµ½/root/straceÎļþ
ÏÂÃæÀ´½¨Á¢Ò»¸öJailÔËÐÐʱµÄĿ¼£¬ÎÒÃÇÐèÒª½«HTTPDÔËÐÐʱËùÒÀÀµµÄÎļþ¶¼·Åµ½Õâ¸öĿ¼Àï¡£ÈçºÎÖªµÀÕâЩÎļþÇë×ÔÐвο¼StraceÎļþ¡££¨Èç¹ûÀÁµÄ°²×°£¬Ö±½ÓÓÃldd°É£¬ºÇºÇ£©
#mkdir /var/web_jail
#mkdir -p /var/web_jail/{etc,bin,tmp,var/log,var/run,dev,libexec,sbin}
#mkdir ?p /var/web_jail/
{usr/local/etc/apache,usr/local/lib,/usr/local/libexec/apache,/usr/local/sbin,/usr/local/www/data,/usr/libexec,/usr/lib,/usr/bin}
//½¨Á¢ËùÓÐÏà¹ØµÄĿ¼
#ln ?s /var/web_jail /web_jail
//ÔÙ×öÒ»¸öÓ²Á´½Ó
#cp /dev/null /web_jail/dev/null
#cp /usr/local/sbin/httpd /web_jail/usr/local/sbin/httpd
#cp /usr/local/sbin/apachectl /web_jail/usr/local/sbin/apachectl
//¸´ÖÆHTTPDÏà¹ØÎļþµ½Jail»·¾³ÄÚ¡£ApachectlÊÇÒ»¸öShell½Å±¾£¬Í¨¹ýÊÇLessÃüÁî²é¿´ºóµÃÖªËüÒÀÀµÓëShºÍLimits£¬ËùÒÔÒ²Òª°ÑËüÃǸ´ÖƵ½Jail»·¾³ÄÚ¡£
#cp /bin/sh /web_jail/bin/sh
#cp /usr/bin/limits /web_jail/usr/bin/limits
//¸´ÖÆShºÍLimitsµ½Jail»·¾³ÄÚ
#cp ?Rf /usr/local/etc/apache /web_jail/usr/local/etc/apache
#cp ?Rf /usr/local/libexec/apache /web_jail/usr/local/libexec/apache
//¸´ÖÆÅäÖÃÎļþµ½Jail»·¾³ÄÚ
#cp /usr/lib/libcrypt.so.2 /web_jail/usr/lib/libcrypt.so.2
#cp /usr/lib/libc.so.4 /web_jail/usr/lib/libc.so.4
#cp /usr/lib/libmm.so.13 /web_jail/usr/lib/ libmm.so.13
#cp /usr/libexec/ld-slf.so.1 /web_jail/usr/libexec/ld-slf.so.1
#cp /usr/local/lib/libmm.so.13 /web_jail/usr/local/lib/libmm.so.13
//¸´ÖÆÄ£¿éÎļþµ½Jail»·¾³ÄÚ
#chmod 777 /web_jail/var/run /web_jail/var/log /web_jail/tmp /web_jail/dev/null
//ÉèÖÃһЩĿ¼µÄȨÏÞ¡£ËùÓÐÓû§¿É¶Á¿Éд¿ÉÖ´ÐÐ
#grep root /etc/master.passwd > /web_jail/etc/master.passwd
#grep www /etc/master.passwd >> /web_jail/etc/master.passwd
#grep root /etc/group > /web_jail/etc/group
#grep www /etc/group >> /web_jail/etc/group
//ÌáÈ¡Root¡¢WwwÓû§ºÍRoot¡¢Www×飬²¢½«Æä·Åµ½Jail»·¾³ÄÚ
#pwd_mkdb ?d /web_jail/etc /web_jail/etc/master.passwd
//Éú³ÉÕÊ»§Êý¾Ý¿â¡£Èç¹û³É¹¦£¬»áÔÚ/web_jail/etcĿ¼ÏÂÉú³É4¸öÎļþ
#ls /web_jail/etc
Group master.passwd pwd.db spwd.db
//Õâ¾ÍÖ¤Ã÷Éú³ÉÕÊ»§Êý¾Ý¿â³É¹¦
#jail ?u root /web_jail [url]www.ringz.org[/url] 192.168.0.20 /usr/local/sbin/apachectl start
//Æô¶¯Jail
#ps ?aux | grep httpd
654 ?? SJ 0:00:06 /usr/local/sbin/httpd
//Æô¶¯Jail³É¹¦£¬ÒòΪÕâ¸öHTTPD½ø³ÌÓÐÒ»¸ö¡°J¡±±êÖ¾£¬ÏÖÔÚHTTPDÊÇÔËÐÐÔÚJail»·¾³Ïµģ¬»¶ºô°É£¡
µ½´ËΪֹ£¬Ò»¸öÔËÐÐÔÚJail»·¾³ÄÚµÄWeb·þÎñÆ÷¾Í¼ÜÉèÍê±ÏÁË¡£ÔÙ´ÎÌáÐÑ£¬±¾ÎÄÖв¢Ã»ÓжÔApacheºÍPHPµÄ°²È«ÅäÖã¬Èç¹ûÔÚÏÖʵÖУ¬Ò»¶¨Òª¶ÔHttp.confºÍphp.iniºÃºÃÅäÖÃÒ»·£¬ÒÔÃâ¸øÈëÇÖÕßÁôÏ¿Õ×Ó¡£ÎÒÃÇÔÚÀ´¿´¿´JailµÄ¸ß¼¶Ó¦Óá£
Èý£¬¸ß¼¶Ó¦ÓÃ
ÏÖÔÚ²ÅÊÇJail×îÓÐȤµÄµØ·½---¹¹½¨ÊÜ¿ØÖÆÖ÷»ú¡£Óöµ½ÕâÖÖÇé¿ö£¬Ê×ÏÈÎÒÃÇÐèÒª×öÒ»¸öµ±Ç°ÏµÍ³µÄÍêÕû¾µÏñ£¬È»ºó½«Æäͳͳ·Åµ½Jail»·¾³ÄÚ¡£ÎÒÃÇ¿ÉÒÔÓÃÒ»¶ÎShell½Å±¾À´Íê³ÉÕâ¸ö¹¤×÷¡£
dahubaobao#vi makejail.sh
#!/bin/sh
Jhome=$1
echo "Jail Home:$Jhome"
echo "Start Make World"
cd /usr/src
mkdir -p $Jhoem
make world DESTDIR=$Jhome
cd etc
make distribution DESTDIR=$Jhome -DNO_MAKEDEV_RUN
cd $Jhome/dev
sh MAKEDEV jail
cd $Jhome
ln -sf dev/null kernel
echo "Make World End"
dahubaobao#chmod +x makejail.sh
dahubaobao#./makejail.sh /var/jail
......
//×îºó»áÔÚÄãÖ¸¶¨µÄĿ¼ÏÂÃæ»ñµÃÒ»¸öÍêÕûµÄ¸ù¾Ýµ±Ç°Ô´ÂëÊ÷±àÒëµÃÀ´µÄJailĿ¼Ê÷¡£Ð¡Ìáʾ£º$1¡¢$2......Ï൱ÓÚ»ñÈ¡Óû§µÄÊäÈ룬ËüºÍÅú´¦Àí£¨BAT£©ÖеÄ%1¡¢%2......ÊÇÒ»¸öµÀÀí¡£»¹ÓÐÈç$0£¬Ëü±£´æµÄÊdzÌÐòµÄ×ÔÉíµÄÃû×Ö£»$@ÔòÊDZ£´æËùÓеIJÎÊý£»×îºó$#ÊDZ£´æ¸ø³ÌÐò´«µÝµÄ²ÎÊýµÄÊýÄ¿¡£
½ÓÏÂÀ´¾Í¿ÉÒÔÏòJail»·¾³ÄÚÌí¼Ó³ÌÐòÁË£¬±ÈÈ罫Sysinstall¸´ÖƵ½Jail»·¾³ÄÚ£¬ÆäÄ¿µÄÊÇΪÁ˶ÔJailϵͳ½øÐлù±¾µÄÉèÖã¬ÀýÈçTime¡¢DNSµÈ¡£
dahubaobao#vi AddJail.sh
#!/bin/sh
Jhome=$1
mkdir $Jhome/stand
cp /stand/sysinstall $Jhome/stand
......
#ºó±ßµÄ¿ÉÒÔËæ±ãд£¬Ïë¸´ÖÆÊ²Ã´¶¼¿ÉÒÔ¡£Ð´ÍêÖ®ºó¼ÇµÃÒª¸³ÓèÕâ¸öShell½Å±¾µÄ¿ÉÖ´ÐÐȨÏÞ£¨#chmod +x AddJail.sh£©¡£
Èç¹ûÄã¶Ôϵͳ·Ç³£ÊìϤ£¬Ò²¿ÉÒÔÊÖ¹¤À´½â¾öÕâ¸öÎÊÌâ¡£±ÈÈç¸´ÖÆ/etc/localtimeµ½Jail»·¾³ÄÚ£¬¿ÉÒÔʹjail»·¾³ÏµÄÓ¦ÓóÌÐò¿ÉÒԵõ½ÕýÈ·µÄʱ¼ä£»¸´ÖÆ/etc/resolv.confµ½Jail»·¾³ÄÚʹjailÏÂÃæ¿ÉÒÔÕýÈ·½âÊÍÓòÃû¡£
dahubaobao#vi DiyJail.sh
#!/bin/sh
Dir=$1
DirBin=$2
Jhome=$3
echo "Copy $DirBin ===> $Jhome$Dir"
mkdir $Jhome$Dir
cp $DirBin $Jhome$Dir
dahubaobao#chmod +x DiyJail.sh
dahubaobao#./DiyJail.sh /etc /etc/resvlo.conf /var/jail
µ±È»£¬ÕâÖ»ÊǼòµ¥µÄ¿ò¼Ü£¬¸öÈË»¹ÊÇÍÆ¼öʹÓÃSysinstallÅäÖÃϵͳ±È½Ï·½±ã¡£
Èç¹ûҪʹÓÃInetd£¬ÔòÐèÒªÐ޸IJÎÊý£¬¼ÓÉÏ¡°-a IP Address¡±£¬ÒòΪJail×Ô¼ºÎÞ·¨»ñµÃIPµØÖ·£¬ËùÒÔÐèÒªÖ¸¶¨Ò»¸ö£»½«ÏµÍ³±¾ÉíµÄSyslogdÔËÐмÓÉÏ¡°-ss¡±Ñ¡Ï±ÜÃâÕâ¸öSyslogÆô¶¯¼àÌý¶Ë¿Ú£»ÔÙÎªÍø¿¨°ó¶¨Ò»¸öIPµØÖ·£¬ÓÃÓÚʵ¼ÊÔËÐÐJail¡£´ò¿ª/etc/rc.confÎļþ£¬¼ÓÈëÈçÏÂÓï¾ä£º
inetd_flags="-wW -a 192.168.0.123"
syslogd_flags="-ss"
ifconfig lnc0 192.168.0.30 netmask 0xffffff00 alias
ÔÚËùÓеŤ×÷¶¼Íê³ÉÖ®ºó£¬¾Í¿ÉÒÔ°ÑJailϵͳÆô¶¯ÆðÀ´£¬·½·¨ÓÐÁ½ÖÖ£¬Ò»¸öÊǰÑJailϵͳÔÚÍâ±ßÆô¶¯£¬ÁíÒ»¸öÔòÊÇÖ»Æô¶¯Telnet/Ssh·þÎñ£¬È»ºó´ÓÍâÃæµÇ¼ϵͳ£¬ÔËÐС¢ÅäÖÃJailϵͳ»·¾³£¬»òÕßÊÖ¹¤Æô¶¯ÐèÒªµÄÓ¦Ó÷þÎñ¡£
Èç¹û²ÉÓõÚÒ»ÖÖ·½·¨£¬¿ÉÒÔ½«Æô¶¯JailµÄÃüÁîдµ½Ò»ShÎļþÖУ¬²¢·Åµ½/usr/local/etc/rc.dĿ¼ÖУ¬Èç¹û²ÉÓõڶþÖÖ·½·¨£¬ÔòÐèҪʹÓÃInetd¡£ËûÃǵÄÐÎʽÈçÏ£º
#jail $Jhome $Jname $JIPaddr /bin/sh $Jhome/etc/rc
//ÕâÊǵÚÒ»ÖÖ·½·¨
#jail $Jhome $Jname $JIPaddr /bin/sh $Jhome/bin/inetd -wW -a $JIPaddr
//ÕâÊǵڶþÖÖ·½·¨
ÏÂÃæÊÇÎÒµÄÒ»¸öShell½Å±¾£¬Ä¿µÄÊÇÓÃÓÚʵÏִ˹¦ÄÜ
dahubaobao#vi StartJail.sh
#!/bin/sh
Jhome=$1
Jname=$2
JIPaddr=$3
One=1
Two=2
echo -n "Input 1 or 2:"
read name
echo
if [ $name -eq $One ]
then
echo "The first method"
echo "Jail Starting......"
/usr/sbin/jail $Jhome $Jname $JIPaddr /bin/sh $Jhome/etc/rc
echo "Start Success"
elif [ $name -eq $Two ]
then
echo "The second method"
echo "Jail Starting......"
/usr/sbin/jail $Jhome $Jname $JIPaddr /bin/sh $Jhome/bin/inetd -wW -a $JIPaddr
echo "Start Success"
else
echo "Error,Input 1 or 2"
fi
echo "End"
dahubaobao#chmod +x StartJail.sh
dahubaobao#./StartJail.sh /var/jail dahubaobao 192.168.0.30
......
ÕâÑùÒ»¸öJailϵͳ¾ÍËã¹¹ÔìÍê³É²¢ÇÒ¿ÉÒÔÕý³£ÔË×÷£¬¼ÓÉÏÔÚʵ¼Ê»·¾³ÀïÃæ¶¨ÆÚµÄ±¸·Ý£¬°²È«¼ì²éµÈ£¬¾Í¿ÉÒԵõ½Ò»¸öºÜ²»´íµÄ°²È«ÏµÍ³¡£
ËÄ£¬×¢ÒâÊÂÏî
1£¬Jail»·¾³ÄÚµÄÕʺš¢ÃÜÂëÊǸúʵ¼Êϵͳ²»Í¬µÄ£¬µ«ÊÇÔÚJail»·¾³Äڲ鿴Îļþʱ£¬JailÄÚ²¿ÎļþµÄUid»á±»¿´³ÉÍⲿµÄUid£¬ËùÒÔ×îºÃ°ÑJail»·¾³ÄÚµÄ/etc/adduser.conf½øÐÐÐ޸쬰ÑËûÃǵÄUidÆðʼºÅÂë·Å´ó£¬±ÈÈ磺uid_start="5000"£¬ÕâÑùµ±ÄãÔÚJailÍⲿ½øÐÐÎļþ¡¢½ø³Ì¹ÜÀíµÄʱºò²»ÖÁÓÚÎó»áÎļþ»òÕß½ø³ÌµÄËÞÖ÷¡£
2£¬ÓÐÁ½ÖÖ·½Ê½¿ÉÒԹرÕJailϵͳ¡£Ê×ÏÈÊÇÔ¶³Ì¹ØÏµ£¬ÔÚ½øÈëJailÖ®ºó£¬Ê¹Óá°Kill -TERM -1¡±»ò¡°Kill -KILL -1¡±ÃüÁÕâÑù¾Í»áÏòJailÄڵĽø³Ì·¢ËÍSIGTERM»òSIGKILLÐźţ»¶þÊÇ¿ÉÒÔÔÚJailÀïÃæÔËÐÐ/etc/rc.shutdownÃüÁËüͬÑù¿ÉÒԹرÕJail¡£Èç¹ûÊDZ¾µØÏëÒª¹Ø±ÕJail£¬Ö»Òª°ÑËùÓдøÓÐJ±ê¼ÇµÄ½ø³Ì¸Éµô¾Í¿ÉÒÔÁË¡£
3£¬Jail»·¾³ÄÚµÄËùÓÐÓ¦ÓóÌÐòÓ¦¸ÃÓëÍⲿʵ¼Êϵͳ±£³ÖÒ»Ö¡£µ±Íâ²¿ÏµÍ³ÖØÐÂ×ö¹ýMake WorldÖ®ºó£¬ÍƼöÒ²ÖØÐÂÉú³ÉÒ»´ÎJail£¬ÒÔ±ÜÃâijЩDZÔÚµÄÎÊÌâ¡£
4£¬Ò»¸öϵͳ¿ÉÒÔÔËÐжà¸öjail£¬¸÷¸öjailÖ®¼äÎÞ·¨»¥Ïà¸ÉÉæ¡£±ÈÈçÊ×ÏÈÔËÐÐÒ»¸öÓ¦ÓóÌÐòµÄJial£¬ÔÙÔËÐÐÒ»¸ö»ñµÃShellµÄJail£¬µ«ÏÖÔÚÈç¹ûÄãÏëÓÃJailÄÚµÄShellÀ´¹ÜÀíJailÄÚµÄÓ¦ÓóÌÐò½«»áʧ°Ü£¬ÒòΪÕâʱÊÇÁ½¸ö¸÷×Ô¶ÀÁ¢µÄJail£¬»¥Ï಻ÄܸÉÉæ¡£
ºó¼Ç
±¾ÎÄͨ¹ýÁ½¸ö·½ÃæµÄÄÚÈݽéÉÜÈçºÎʹÓÃJail¡£¶ÔÓÚµÚÒ»²¿·Ö£¬¼¸ºõËùÓеķþÎñ¶¼¿ÉÒÔʹÓÃJail£¬²¢²»½öÏÖÓÚWeb·þÎñ£»¶ÔÓÚµÚ¶þ²¿·Ö£¬ÔòʹÓõķ½·¨¾ÍÁé»îºÜ¶àÁË£¬ÐèÒª¾ßÌåÇé¿ö£¬¾ßÌå·ÖÎö£¬²»ÄÜÒ»¸Å¶øÂÛ¡£ÔÚµÚÒ»²¿·ÖÖУ¬ÎÒÊÇÒ»²½Ò»²½½éÉÜʹÓò½ÖèµÄ£¬ÔÚµÚ¶þ²¿·ÖÖУ¬ÎÒÊÇÒÔShell½Å±¾µÄ·½Ê½½éÉÜʹÓò½ÖèµÄ£¬Ä¿µÄÊÇÏ£Íû´ó¼Ò¶ÔÁ½ÖÖÐÎʽ¶¼ÓÐËùÁ˽⡣ΪÁ˸üºÃµÄ·þÎñ¶ÁÕߣ¬ÕâÁ½²¿·ÖµÄÄÚÈÝÎÒ¶¼Ð´ÁËÏà¹ØµÄShell½Å±¾£¬·Ö±ðΪ£ºOneJail.shºÍTwoJail.sh£¬´ó¼Ò¿ÉÒÔȥѹËõ°üÖвéÕÒ¡£ÎÄÕÂÈçÓдíÎ󣬻¹Çë¶à¶à°üº¡£
Ò³:
[1]