ת×Ô£ºhttp://www.linuxdiyf.com/bbs/viewthread.php?tid=106169
LinuxϽ¨ÒéʹÓÃvsftp£¬°²È«¼òµ¥ÊµÓÃ
vsftp¼´Very Security FTP£¬¹ËÃû˼Ò壬·Ç³£°²È«µÄFTP·þÎñÆ÷¡£
Ŀ¼
1 vsFTP·þÎñÆ÷µÄ°²×°
1.1 ÄäÃû·þÎñÆ÷µÄÁ¬½Ó£¨¶ÀÁ¢µÄ·þÎñÆ÷£©
1.2 ¿ªÆôÄäÃûFTP·þÎñÆ÷ÉÏ´«È¨ÏÞ
1.3 ¿ªÆôÄäÃû·þÎñÆ÷Ï´«µÄȨÏÞ
1.4 ÆÕͨÓû§FTP·þÎñÆ÷µÄÁ¬½Ó£¨¶ÀÁ¢·þÎñÆ÷£©
1.5 Óû§µÇ½ÏÞÖÆ½øÆäËüµÄĿ¼£¬Ö»ÄܽøËüµÄÖ÷Ŀ¼
1.6 ÏÞÖÆ±¾µØÓû§·ÃÎÊFTP
1.7 °²È«Ñ¡Ïî
1.8 ²é¿´ËµÇ½ÁËFTP,²¢É±ËÀËüµÄ½ø³Ì
2 vsFTP·þÎñÆ÷µÄÅäÖÃ
2.1 ÅäÖñ¾µØ×é·ÃÎʵÄFTP
2.2 ÅäÖöÀÁ¢FTPµÄ·þÎñÆ÷µÄ·Ç¶Ë¿Ú±ê׼ģʽ½øÐÐÊý¾ÝÁ¬½Ó
2.3 ÅäÖõ¥¶ÀµÄÐéÄâFTP£¬Ê¹ÓÃÐéÄâFTPÓû§£¬²¢Ê¹½¨Á¢µÄËĸöÕÊ»§ÖÐÓв»Í¬µÄȨÏÞ
2.3.1 A£ºÅäÖÃÍø¿¨
2.3.2 B£ºÐ´Èë/etc/sysconfigÖУ¨ÎªÁËÖØÆðºóIPµØÖ·²»»á¶ªÊ§£©
2.3.3 C£º½øÈëvsftpd.confËùÔÚµÄÎļþ¼Ð
2.3.4 D£º½¨Á¢logins.txt
2.3.5 E£º½¨Á¢·ÃÎÊÕߵĿÚÁî¿âÎļþ,È»ºóÐÞ¸ÄÆäȨÏÞ
2.3.6 F£º½øÈç/etc/pam.d/Öд´½¨ftp.vu
2.3.7 G£ºÔÚ/var/ftp/´´½¨Ä¿Â¼²¢¸Ä±äÆäÊôÐÔºÍËüµÄÊôÖ÷
2.3.8 H£º½øÈëvsftpd2.confÐÞ¸ÄÆäÖеÄÐÅÏ¢
2.3.9 I£ºÔÚvsftpd.comfËùÔÚµÄĿ¼Öд´½¨virtaul ......
Ò»¡¢rpm°ü°²×°·½Ê½²½Ö裺
1¡¢ÕÒµ½ÏàÓ¦µÄÈí¼þ°ü£¬±ÈÈçsoft.version.rpm£¬ÏÂÔØµ½±¾»úij¸öĿ¼£»
2¡¢´ò¿ªÒ»¸öÖÕ¶Ë£¬su -³ÉrootÓû§£»
3¡¢cd soft.version.rpmËùÔÚµÄĿ¼£»
4¡¢ÊäÈërpm -ivh soft.version.rpm
¶þ¡¢deb°ü°²×°·½Ê½²½Ö裺
1¡¢ÕÒµ½ÏàÓ¦µÄÈí¼þ°ü£¬±ÈÈçsoft.version.deb£¬ÏÂÔØµ½±¾»úij¸öĿ¼£»
2¡¢´ò¿ªÒ»¸öÖÕ¶Ë£¬su -³ÉrootÓû§£»
3¡¢cd soft.version.debËùÔÚµÄĿ¼£»
4¡¢ÊäÈëdpkg -i soft.version.deb
Èý¡¢tar.gzÔ´´úÂë°ü°²×°·½Ê½£º
1¡¢ÕÒµ½ÏàÓ¦µÄÈí¼þ°ü£¬±ÈÈçsoft.tar.gz£¬ÏÂÔØµ½±¾»úij¸öĿ¼£»
2¡¢´ò¿ªÒ»¸öÖÕ¶Ë£¬su -³ÉrootÓû§£»
3¡¢cd soft.tar.gzËùÔÚµÄĿ¼£»
4¡¢tar -xzvf soft.tar.gz //Ò»°ã»áÉú³ÉÒ»¸ösoftĿ¼
5¡¢cd soft
6¡¢./configure
7¡¢make
8¡¢make install
ËÄ¡¢tar.bz2Ô´´úÂë°ü°²×°·½Ê½£º
1¡¢ÕÒµ½ÏàÓ¦µÄÈí¼þ°ü£¬±ÈÈçsoft.tar.bz2£¬ÏÂÔØµ½±¾»úij¸öĿ¼£»
2¡¢´ò¿ªÒ»¸öÖÕ¶Ë£¬su -³ÉrootÓû§£»
3¡¢cd soft.tar.bz2ËùÔÚµÄĿ¼£»
4¡¢tar -xjvf soft.tar.bz2 //Ò»°ã»áÉú³ÉÒ»¸ösoftĿ¼
5¡¢cd soft
6¡¢./configure
7¡¢mak ......
Ïà¹Øº¯Êý
fork£¬execve£¬waitpid£¬popen
±íÍ·Îļþ
££i nclude<stdlib.h>
¶¨Ò庯Êý
int system(const char * string);
º¯Êý˵Ã÷
system()
»áµ÷ÓÃfork()²úÉú×Ó½ø³Ì£¬ÓÉ×Ó½ø³ÌÀ´µ÷ÓÃ/bin/sh-c
stringÀ´Ö´ÐвÎÊýstring×Ö·û´®Ëù´ú±íµÄÃüÁ´ËÃü>ÁîÖ´ÐÐÍêºóËæ¼´·µ»ØÔµ÷ÓõĽø³Ì¡£ÔÚµ÷ÓÃsystem()ÆÚ¼äSIGCHLD
ÐźŻᱻÔÝʱ¸éÖã¬SIGINTºÍSIGQUIT ÐźÅÔò»á±»ºöÂÔ¡£
·µ»ØÖµ
=-1:³öÏÖ´íÎó
=0:µ÷Óóɹ¦µ«ÊÇûÓгöÏÖ×Ó½ø³Ì
>0:³É¹¦Í˳öµÄ×Ó½ø³ÌµÄid
Èç
¹ûsystem()ÔÚµ÷ÓÃ/bin/shʱʧ°ÜÔò·µ»Ø127£¬ÆäËûʧ°ÜÔÒò·µ»Ø-1¡£Èô²ÎÊýstringΪ¿ÕÖ¸Õë(NULL)£¬Ôò·µ»Ø·ÇÁãÖµ>¡£
Èç¹ûsystem()µ÷Óóɹ¦Ôò×îºó»á·µ»ØÖ´ÐÐshellÃüÁîºóµÄ·µ»ØÖµ£¬µ«ÊÇ´Ë·µ»ØÖµÒ²ÓпÉÄÜΪ
system()µ÷ÓÃ/bin/shʧ°ÜËù·µ»ØµÄ127£¬Òò´Ë×îºÃÄÜÔÙ¼ì²éerrno À´È·ÈÏÖ´Ðгɹ¦¡£
¸½¼Ó˵Ã÷
ÔÚ±àд¾ßÓÐSUID/SGIDȨÏ޵ijÌÐòʱÇëÎðʹÓÃsystem()£¬system()»á¼Ì³Ð»·¾³±äÁ¿£¬Í¨¹ý»·¾³±äÁ¿¿ÉÄÜ»áÔì³Éϵͳ°²È«µÄÎÊÌâ¡£
·¶Àý
££i nclude<stdlib.h>
main()
{
system(“ls -al /etc/passwd /etc/shadow”);
}
Ö´Ðнá¹û£º
-rw-r--r-- 1 root root 705 Sep 3 ......
1 ¡¢Ç°ÑÔ
¡¡¡¡×Ô´Óµ®ÉúÒÔÀ´£¬Linux ¾Í±»²»¶ÏÍêÉÆºÍÆÕ¼°£¬Ä¿Ç°ËüÒѾ³ÉΪÖ÷Á÷ͨÓòÙ×÷ϵͳ֮һ£¬Ê¹Óõ÷dz£¹ã·º£¬ËüÓë Windows¡¢UNIX Ò»ÆðÕ¼¾ÝÁ˲Ù×÷ϵͳÁìÓò¼¸ºõËùÓеÄÊг¡·Ý¶î¡£ÌرðÊÇÔÚ¸ßÐÔÄܼÆËãÁìÓò£¬Linux ÒѾ³ÉΪһ¸öÕ¼Ö÷µ¼µØÎ»µÄ²Ù×÷ϵͳ£¬ÔÚ2005Äê6ÔÂÈ«ÇòTOP500 ¼ÆËã»úÖУ¬ÓÐ 301 ̨²¿ÊðµÄÊÇ Linux ²Ù×÷ϵͳ¡£Òò´Ë£¬Ñо¿ºÍʹÓà Linux ÒѾ³ÉΪ¿ª·¢ÕߵIJ»¿É»Ø±ÜµÄÎÊÌâÁË¡£
¡¡¡¡ÏÂÃæÎÒÃǽéÉÜһϠLinux ÄÚºËÖÐÎļþ Cache ¹ÜÀíµÄ»úÖÆ¡£±¾ÎÄÒÔ 2.6 ϵÁÐÄÚºËΪ»ù×¼£¬Ö÷Òª½²Êö¹¤×÷ÔÀí¡¢Êý¾Ý½á¹¹ºÍËã·¨£¬²»Éæ¼°¾ßÌå´úÂë¡£
¡¡¡¡2 ²Ù×÷ϵͳºÍÎļþ Cache ¹ÜÀí
¡¡¡¡²Ù×÷ϵͳÊǼÆËã»úÉÏ×îÖØÒªµÄϵͳÈí¼þ£¬Ëü¸ºÔð¹ÜÀí¸÷ÖÖÎïÀí×ÊÔ´£¬²¢ÏòÓ¦ÓóÌÐòÌṩ¸÷ÖÖ³éÏó½Ó¿ÚÒÔ±ãÆäʹÓÃÕâЩÎïÀí×ÊÔ´¡£´ÓÓ¦ÓóÌÐòµÄ½Ç¶È¿´£¬²Ù×÷ϵͳÌṩÁËÒ»¸öͳһµÄÐéÄâ»ú£¬ÔÚ¸ÃÐéÄâ»úÖÐûÓи÷ÖÖ»úÆ÷µÄ¾ßÌåϸ½Ú£¬Ö»Óнø³Ì¡¢Îļþ¡¢µØÖ·¿Õ¼äÒÔ¼°½ø³Ì¼äͨÐŵÈÂß¼¸ÅÄî¡£ÕâÖÖ³éÏóÐéÄâ»úʹµÃÓ¦ÓóÌÐòµÄ¿ª·¢±äµÃÏà¶ÔÈÝÒ×£º¿ª·¢ÕßÖ»ÐèÓëÐéÄâ»úÖеĸ÷ÖÖÂß¼¶ÔÏó½»»¥£¬¶ø²»ÐèÒªÁ˽â¸÷ÖÖ»úÆ÷µÄ¾ßÌåϸ½Ú¡£´ËÍ⣬ÕâЩ³éÏóµÄÂß¼¶ÔÏóʹµÃ²Ù×÷ϵͳÄܹ»ºÜÈÝÒ׸ôÀë²¢±£»¤¸÷¸öÓ¦ÓóÌÐò¡£
¡¡¡¡¶ÔÓÚ´æ´¢É豸ÉϵÄÊý¾Ý£¬² ......
1.»ù´¡ÖªÊ¶
Ò»¸ö²Ù×÷ϵͳ¿ÉÒÔ¼òµ¥µÄ³éÏóΪ£¬Òýµ¼³ÌÐò ÄÚºË Îļþϵͳ¡£
vmlinuzÊÇLinux Äں˵ľµÏñÎļþ,¿ÉÒÔ±»Òýµ¼³ÌÐò¼ÓÔØ,´Ó¶øÆô¶¯Linuxϵͳ¡£
initrdµÄÈ«³ÆÊÇboot loader initialized RAM disk£¬ËüÊÇϵͳÆô¶¯Ê±ËùʹÓõĸùÎļþϵͳӳÏñÎļþ£¬Õâ¸öÎļþϵͳÖаüº¬¼¸¸öÇý¶¯Ä£¿é£¬ÓÃÀ´×°ÔØÊµ¼ÊµÄ¸ùÎļþϵͳ£¬±ÈÈçÒ»¸öIDE»òSCSIÓ²Å̵ÄÇý¶¯Ä£¿é£¬ÄÚºË×°ÈëÕâ¸öÄ£¿éÖ®ºóÓÃËüÀ´Çý¶¯Ó²ÅÌ£¬¹Ò½ÓÓ²Å̵½ramdiskµÄij¸ö×ÓĿ¼£¬È»ºóÔÙÓÃÆäÖеÄpivot_rootÃüÁ½«Ó²ÅÌÎļþϵͳ±ä³É¸ùÎļþϵͳ£¬²¢¿ªÊ¼Ö´ÐÐinit½ø³Ì£¬´Ëʱinit ram disk±»umount£¬ÊÙÖÕÕýÇÞ¡£
Óɴ˿ɼû£¬ÎÒÃÇ¿ÉÒÔÓÃvmlinuz initrd.img×öÒ»¸öÎļþϵͬ³¤×¤ÄÚ´æµÄÃÔÄãLinux¡£
ÏÖÔÚ½øÈëÕýÌâÁË£º
2.±àÒëÄÚºË
cd /usr/src/....----½øÈëÄÚºËÔ´´úÂëĿ¼£¬Ã»ÓеĻ°È¥¹Ù·½ÍøÕ¾£¬Ëæ±ãÏÂ
make menuconfig-----ÅäÖñàÒëÑ¡ÏîÇë×¢ÒâÒ»¶¨¼ÓÈëRAM disk support ºÍinitial RAM disk
(initrd) support µÄÖ§³Ö(ÔÚblock deviceÖÐ)¡£ÁíÍâ×îºÃ½«ext3Îļþϵͳ±àÈëÄںˣ¬²»Òª±à³ÉÄ£¿é¡£ÅäÖÃÍê±Ïºó±£´æÎª.config(ĬÈÏ)
make bzImage----±àÒë
ÔÚÐí¶àÄں˱àÒë²Î¿¼Öл¹ÓÐ
make modules
make modules_installÁ½²½
µ«ÎÒÃÇÕâÀïûÓмÓÈë¶ÔmodulesµÄÖ§ ......
¼ò¶øÑÔÖ®,²úÉú¶Î´íÎó¾ÍÊÇ·ÃÎÊÁË´íÎóµÄÄÚ´æ¶Î£¬Ò»°ãÊÇÄãûÓÐȨÏÞ£¬»òÕ߸ù±¾¾Í²»´æÔÚ¶ÔÓ¦µÄÎïÀíÄÚ´æ,ÓÈÆä³£¼ûµÄÊÇ·ÃÎÊ0µØÖ·.
Ò»°ãÀ´Ëµ,¶Î´íÎó¾ÍÊÇÖ¸·ÃÎʵÄÄڴ泬³öÁËϵͳËù¸øÕâ¸ö³ÌÐòµÄÄÚ´æ¿Õ¼ä£¬Í¨³£Õâ¸öÖµÊÇÓÉgdtrÀ´±£´æµÄ£¬ËûÊÇÒ»¸ö48λµÄ¼Ä´æÆ÷£¬ÆäÖеÄ32λÊDZ£´æÓÉËüÖ¸ÏòµÄgdt±í£¬ºó13λ±£´æÏàÓ¦ÓÚgdtµÄϱ꣬×îºó3λ°üÀ¨Á˳ÌÐòÊÇ·ñÔÚÄÚ´æÖÐÒÔ¼°³ÌÐòµÄÔÚcpuÖеÄÔËÐм¶±ð,Ö¸ÏòµÄgdtÊÇÓÉÒÔ64λΪһ¸öµ¥Î»µÄ±í£¬ÔÚÕâÕűíÖоͱ£´æ×ųÌÐòÔËÐеĴúÂë¶ÎÒÔ¼°Êý¾Ý¶ÎµÄÆðʼµØÖ·ÒÔ¼°Óë´ËÏàÓ¦µÄ¶ÎÏÞºÍÒ³Ãæ½»»»»¹ÓгÌÐòÔËÐм¶±ð»¹ÓÐÄÚ´æÁ£¶ÈµÈµÈµÄÐÅÏ¢¡£Ò»µ©Ò»¸ö³ÌÐò·¢ÉúÁËÔ½½ç·ÃÎÊ£¬cpu¾Í»á²úÉúÏàÓ¦µÄÒì³£±£»¤£¬ÓÚÊÇsegmentation fault¾Í³öÏÖÁË.
ÔÚ±à³ÌÖÐÒÔϼ¸Àà×ö·¨ÈÝÒ×µ¼Ö¶δíÎó,»ù±¾ÊÇÊÇ´íÎóµØÊ¹ÓÃÖ¸ÕëÒýÆðµÄ
1)·ÃÎÊϵͳÊý¾ÝÇø£¬ÓÈÆäÊÇÍù ϵͳ±£»¤µÄÄÚ´æµØÖ·Ð´Êý¾Ý
×î³£¼û¾ÍÊǸøÒ»¸öÖ¸ÕëÒÔ0µØÖ·
2)ÄÚ´æÔ½½ç(Êý×éÔ½½ç£¬±äÁ¿ÀàÐͲ»Ò»ÖµÈ) ·ÃÎʵ½²»ÊôÓÚÄãµÄÄÚ´æÇøÓò
½â¾ö·½·¨
ÎÒÃÇÔÚÓÃC/C++ÓïÑÔд³ÌÐòµÄʱºî£¬ÄÚ´æ¹ÜÀíµÄ¾ø´ó²¿·Ö¹¤×÷¶¼ÊÇÐèÒªÎÒÃÇÀ´×öµÄ¡£Êµ¼ÊÉÏ£¬ÄÚ´æ¹ÜÀíÊÇÒ»¸ö±È½Ï·±ËöµÄ¹¤×÷£¬ÎÞÂÛÄã¶à¸ßÃ÷£¬¾Ñé¶à·á¸»£¬ÄÑ Ãâ»áÔÚ´Ë´¦·¸Ð©Ð¡´íÎ󣬶øÍ¨ ......