1¡£»ù´¡ÖªÊ¶
linuxÌṩ·þÎñÊÇÓÉÔËÐÐÔÚºǫ́µÄÊØ»¤³ÌÐò£¨daemon£©À´Ö´Ðеġ£
ÊØ»¤½ø³ÌµÄ¹¤×÷¾ÍÊÇ´ò¿ª1¸ö¶Ë¿Ú£¨port£©£¬µÈ´ý£¨listen£©½øÈëµÄÁ¬½Ó¡£
ÔÚC/SģʽÖУ¬Èç¹û¿Í»§ÌáÇëÁË1¸öÁ¬½Ó£¬ÊØ»¤½ø³Ì¾Í´´½¨£¨fork£©×Ó½ø³ÌÀ´ÏìÓ¦Õâ¸öÁ¬½Ó£¬¶ø¸¸½ø³Ì¼ÌÐø¼àÌýÆäËû·þÎñµÄÇëÇó¡£
µ«ÊÇ£¬¶ÔÓÚϵͳËùÌṩµÄÿ1¸ö·þÎñ£¬Èç¹û¶¼±ØÐëÔËÐÐ1¸ö¼àÌýij¸ö¶Ë¿ÚÁ¬½Ó·¢ÉúµÄÊØ»¤³ÌÐò£¬ÄÇôͨ³£Òâζ×Åϵͳ×ÊÔ´µÄÀË·Ñ¡£
Ϊ´Ë£¬ÒýÈë“À©Õ¹µÄÍøÂçÊØ»¤½ø³Ì·þÎñ³ÌÐò”xinetd£¨xinetd internet daemon£©¡£telnet·þÎñÒ²ÊÇÓÉxinetdÊØ»¤µÄ¡£
2¡£¼ì²âtelnet¡¢telnet-serverµÄrpm°üÊÇ·ñ°²×°
[root@localhost ~]# rpm -qa telnet
telnet-0.17-39.el5
//telnet*.rpmÊÇĬÈϰ²×°µÄ//
[root@localhost root]#rpm -qa telnet-server
¿Õ
//telnet*.rpmÊÇĬÈÏûÓа²×°µÄ//
3¡£°²×°telnet-server
[root@localhost ~]# rpm -qa telnet-server
[root@localhost ......
Ò»£®Ç°ÑÔ
¡¡¡¡LinuxÓµÓзḻ¸÷ÖÖÔ´´úÂë×ÊÔ´,µ«ÊǴ󲿷ִúÂëÔÚWindowsƽ̨Çé¿öÊÇÎÞ·¨Õý³£±àÒëµÄ¡£Windowsƽ̨¸ù±¾ÎÞ·¨Ö±½ÓÀûÓÃÕâЩԴ´úÂë×ÊÔ´¡£Èç¹ûÏëҪʹÓÃÍêÕûµÄ´úÂ룬¾ÍÒª×öÒÆÖ²¹¤×÷¡£ÒòΪC/C++ LibraryµÄ²»Í¬ºÍÆäËûµÄһЩÔÒò£¬ÒÆÖ²C/C++´úÂëÊÇÒ»ÏîÀ§ÄѵŤ×÷¡£±¾ÎĽ«ÒÔÒ»¸öʵ¼ÊµÄÀý×Ó£¨Tar£©À´ËµÃ÷ÈçºÎ°ÑLinux´úÂëÒÆÖ²µ½Windowsƽ̨ÉÏ¡£ÒÆÖ²¹ý³Ì½«¾¡Á¿ÉÙÐ޸ĴúÂë,ÒÔ±ã´úÂëµÄÔËÐÐÂß¼²»»á·¢ÉúÈκα䶯¡£±£Áô¾ø´ó²¿·ÖÈí¼þÖ÷Òª¹¦ÄÜ¡£
¡¡¡¡¶þ£®×¼±¸¹¤×÷
¡¡¡¡TarÊÇLinuxƽ̨ÏÂÃæÒ»¸ö´ò°ü¹¤¾ß¡£ÒÆÖ²ÕâÑùÒ»¸ö³ÌÐòµ½windowsƽ̨ÐèÒª×öÄÇЩ¹¤×÷ÄØ£¿
¡¡¡¡Ê×ÏÈÊÇһЩ׼±¸¹¤×÷£¬ÔÚWindowsƽ̨ÉÏÃæ°²×°ÉÏCygwinµÄ×îа汾£¬ÔÚCygwinÖа²×°ºÃGCCµÈ¿ª·¢¹¤¾ß¡£ ͬÑùÒ²ÐèÒªÒ»¸öWindows¿ª·¢»·¾³¡£¿ÉÒÔʹÓÃ×îа汾Visual Studio, Microsoft Visual Studio .NET 2003¡£´Ówww.gnu.orgÉÏÈ¡µÃTarµÄ×îÐÂÔ´´úÂ룬°æ±¾ÊÇ1.13¡£ÔÚCygwinÏÂÃæ½â¿ªtar-1.13.tar.gz.Ô´´úÂë°ü¡£×¢ÒâÇë²»ÒªÔÚWindowsÏÂÃæÊ¹ÓÃWINRAR»òÕßWINZIPÀ´½âѹËõ¡£ WINRARºÍWINZIPÔÚ½âѹËõijЩtar.gz°üµÄʱºò»áÓÐÎÊÌ⡣ʹµÃ½â°üÖ®ºóµÄĿ¼ºÍÎļþ³öÏÖÒì³£¡£Èç¹ûÊÇÔ´´úÂë°ü½«ÓпÉÄܲ»ÄÜÔÚCygwinÏÂÃæÕýÈ·±àÒë¡£½â¿ªÑ¹Ëõ°üÖ®ºó£¬½øÈë ......
Linux NetfilterʵÏÖ»úÖÆºÍÀ©Õ¹¼¼Êõ
¼¶±ð£º ³õ¼¶
ÑîɳÖÞ
(pubb@163.net
)¹ú·À¿Æ¼¼´óѧ¼ÆËã»úѧԺ
2003 Äê 3 ÔÂ 01 ÈÕ
http://www.ibm.com/developerworks/cn/linux/l-ntflt/
2.4.xµÄÄÚºËÏà¶ÔÓÚ2.2.xÔÚIPÐÒéÕ»²¿·ÖÓбȽϴóµÄ¸Ä¶¯£¬
Netfilter-iptables¸üÊÇÆäÒ»´óÌØÉ«£¬ÓÉÓÚËü¹¦ÄÜÇ¿´ó£¬²¢ÇÒÓëÄÚºËÍêÃÀ½áºÏ£¬Òò´ËѸËÙ³ÉΪLinuxƽ̨ϽøÐÐÍøÂçÓ¦ÓÃÀ©Õ¹µÄÖ÷ÒªÀûÆ÷£¬
ÕâЩÀ©Õ¹²»½ö°üÀ¨·À»ðǽµÄʵÏÖ--ÕâÖ»ÊÇNetfilter-iptablesµÄ»ù±¾¹¦ÄÜ--»¹°üÀ¨¸÷ÖÖ±¨ÎÄ´¦Àí¹¤×÷£¨È籨ÎļÓÃÜ¡¢±¨ÎÄ·ÖÀàͳ¼ÆµÈ£©£¬Éõ
ÖÁ»¹¿ÉÒÔ½èÖúNetfilter-iptables»úÖÆÀ´ÊµÏÖÐéÄâרÓÃÍø£¨VPN£©¡£±¾ÎĽ«ÖÂÁ¦ÓÚÉîÈëÆÊÎöNetfilter-iptablesµÄ×éÖ¯½á
¹¹£¬²¢Ïêϸ½éÉÜÈçºÎ¶ÔÆä½øÐÐÀ©Õ¹¡£NetfilterĿǰÒÑÔÚARP¡¢IPv4ºÍIPv6ÖÐʵÏÖ£¬¿¼Âǵ½IPv4ÊÇÄ¿Ç°ÍøÂçÓ¦ÓõÄÖ÷Á÷£¬±¾ÎĽö¾ÍIPv4
µÄNetfilterʵÏÖ½øÐзÖÎö¡£
ÒªÏëÀí½âNetfilterµÄ¹¤×÷ÔÀí£¬±ØÐë´Ó¶ÔLinux IP±¨ÎÄ´¦ÀíÁ÷³ÌµÄ·ÖÎö¿ªÊ¼£¬NetfilterÕýÊǽ«×Ô¼º½ôÃܵع¹½¨ÔÚÕâÒ»Á÷³ÌÖ®Öеġ£
1£® IP Packet Flowing
IP
ÐÒéÕ»ÊÇLinux²Ù×÷ϵͳµÄÖ÷Òª×é³É²¿·Ö£¬Ò²ÊÇLinuxµÄÌØÉ«Ö®Ò»£¬ËØÒÔ¸ßЧÎȶ¨Öø³Æ¡£NetfilterÓëIPÐÒéÕ»ÊÇÃÜÇнáºÏÔÚÒ»Æðµ ......
linux¿âÎļþ±àдÈëÃÅ
Ò»¡¢ÎªÊ²Ã´ÒªÊ¹ÓÿâÎļþ
ÎÒÃÇÔÚʵ¼Ê±à³Ì¹¤×÷Öп϶¨»áÓöµ½ÕâÖÖÇé¿ö£ºÓм¸¸öÏîÄ¿ÀïÓÐһЩº¯ÊýÄ£¿éµÄ¹¦ÄÜÏàͬ£¬
ʵÏÖ´úÂëÒ²Ïàͬ£¬Ò²ÊÇÎÒÃÇËù˵µÄÖØ¸´´úÂë¡£±ÈÈ磬ºÜ¶àÏîÄ¿Àï¶¼ÓÐÒ»¸öÓû§ÑéÖ¤µÄ¹¦ÄÜ¡£
´úÂë¶ÎÈçÏ£º
//UserLogin.hÎļþ£¬Ìṩº¯ÊýÉùÃ÷
int IsValidUser(char* username, int namelen);
//UserLogin.cÎļþ£¬ÊµÏÖ¶ÔÓû§ÐÅÏ¢µÄÑéÖ¤
int IsValidUser(char* username, int namelen)
{
int IsValid = 0;
/*ÏÂÃæÊǾßÌåµÄ´¦Àí´úÂ룬ÂÔÈ¥*/
return IsValid
}
Èç¹ûÿ¸öÏîÄ¿¶¼±£´æ×ÅÕâÁ½¸öUserLogin.hºÍUserLogin.cÎļþ£¬»áÓÐÒÔϼ¸¸ö±×¶Ë:
1¡¢Ã¿¸öÏîÄ¿Àï¶¼ÓÐÖØ¸´µÄÄ£¿é£¬Ôì³É´úÂëÖØ¸´¡£
2¡¢´úÂëµÄÖØÓÃÐÔ²»ºÃ£¬Ò»µ©IsValidUserµÄ´úÂë·¢ÉúÁ˱仯£¬ÎªÁ˱£³ÖÉè¼ÆµÄÒ»ÖÂÐÔ£¬ÎÒÃÇ»¹ÒªÊÖ¹¤ÐÞ¸ÄÆäËûÏîÄ¿ÀïµÄUserLogin.cÎļþ£¬¼È·ÑʱÓÖ·ÑÁ¦£¬»¹ÈÝÒ׳ö´í¡£
¿âÎļþ¾ÍÊǶԹ«¹²´úÂëµÄÒ»ÖÖ×éÖ¯ÐÎʽ¡£
& ......
Linux initial RAM disk (initrd) overview
Learn about its anatomy, creation, and use in the Linux boot process
M. Tim Jones
(mtj@mtjones.com
), Consultant Engineer, Emulex
M. Tim Jones is an embedded software architect and the author of GNU/Linux Application Programming
, AI Application Programming
, and BSD Sockets Programming from a Multilanguage Perspective
.
His engineering background ranges from the development of kernels for
geosynchronous spacecraft to embedded systems architecture and
networking protocols development. Tim is a Consultant Engineer for
Emulex Corp. in Longmont, Colorado.
Summary:
The Linux® initial RAM disk (initrd) is a temporary
root file system that is mounted during system boot to support the
two-state boot process. The initrd contains various executables and
drivers that permit the real root file system to be mounted, after
which the initrd RAM disk is unmounted and its memory freed. In many
embedded Linux systems, the initrd ......
[ת]linuxÆô¶¯Ê±¹ÒÔØrootfsµÄ¼¸ÖÖ·½Ê½
Ò»Ö±¶ÔlinuxÆô¶¯Ê±¹ÒÔØ¸ùÎļþϵͳµÄ¹ý³Ì´æÔÚןܶàÒÉÎÊ£¬½ñÌìÔÚˮľ¾«»ªÇøÕÒµ½ÁËÓÐÓõÄ×ÊÁÏ£¬ÕªÂ¼ÈçÏ£º
1¡£linuxÆô¶¯Ê±£¬¾¹ýһϵÁгõʼ»¯Ö®ºó£¬ÐèÒªmount ¸ùÎļþϵͳ£¬Îª×îºóÔËÐÐinit½ø³ÌµÈ×ö×¼±¸£¬mount
¸ùÎļþϵͳÓÐÕâô¼¸ÖÖ·½Ê½£º
1£©ÎļþϵͳÒѾ´æÔÚÓÚÓ²ÅÌ£¨»òÕßÀàËÆµÄÉ豸£©µÄij¸ö·ÖÇøÉÏÁË£¬kernel¸ù¾ÝÆô¶¯µÄÃüÁîÐвÎÊý£¨root£½/dev/xxx),Ö±½Ó½øÐÐmount¡£
ÕâÀïÓÐÒ»¸öÎÊÌ⣬ÔÚrootÎļþϵͳ±¾Éí»¹²»´æÔÚµÄÇé¿öÏ£¬kernelÈç
ºÎ¸ù¾Ý/dev/xxxÀ´ÕÒµ½¶ÔÓ¦µÄÉè±¸ÄØ£¿×¢Ò⣺¸ùÎļþϵͳºÍÆäËûÎļþϵͳµÄmount·½Ê½ÊDz»Ò»ÑùµÄ£¬kernelͨ¹ýÖ±½Ó½âÎöÉ豸µÄÃû³ÆÀ´»ñµÃÉ豸
µÄÖ÷¡¢´ÓÉ豸ºÅ£¬È»ºó¾Í¿ÉÒÔ·ÃÎʶÔÓ¦µÄÉ豸Çý¶¯
ÁË¡£ËùÒÔÔÚinit/main.cÖÐÓкܳ¤Ò»´®µÄroot_dev_names£¨Èç
hda,hdab,sda,sdb,nfs,ram,mtdblock……£©£¬Í¨¹ýÕâ¸ö±í¾Í¿ÉÒÔ¸ù¾ÝÉ豸Ãû³ÆµÃµ½É豸ºÅ¡£×¢Ò⣬bootloader»òÄÚ
ºËÖÐÉ趨µÄÆô¶¯²ÎÊý£¨root£½/dev/xxx)Ö»ÊÇÒ»¸ö´úºÅ£¬Êµ¼ÊµÄ¸ùÎļþϵͳÖв»Ò»¶¨´æÔÚÕâ¸öÉ豸Îļþ£¡
2£©´ÓÈíÇýµÈ±È½ÏÂýµÄÉ豸ÉÏ×°ÔØ¸ùÎļþϵͳ£¬Èç¹ûkernelÖ§³Öramdisk£¬ÔÚ×°ÔØrootÎļþϵͳʱ£¬ÄÚºËÅжϵ½ÐèÒª´ÓÈíÅÌ
£¨fdx£©mount(ro ......