LinuxÒÁµéÔ°ÂÛ̳'s Archiver

Roc.Ken ·¢±íÓÚ 2005-4-25 21:34

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¿ÉÒԺܺõķÀ·¶Î´ÖªÂ©¶´£¬¼õÉÙ©¶´¶ÔϵͳµÄΣº¦¡£

Roc.Ken ·¢±íÓÚ 2005-4-25 21:45

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]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.