linux³£ÓÃcº¯Êý ÎļþȨÏÞ¿ØÖÆÆª
access£¨ÅжÏÊÇ·ñ¾ßÓдæÈ¡ÎļþµÄȨÏÞ£©
¡¡¡¡Ïà¹Øº¯Êý stat£¬open£¬chmod£¬chown£¬setuid£¬setgid
¡¡¡¡±íÍ·Îļþ #include<unistd.h>
¡¡¡¡¶¨Ò庯Êý int access(const char * pathname,int mode);
¡¡¡¡º¯Êý˵Ã÷ access()»á¼ì²éÊÇ·ñ¿ÉÒÔ¶Á/дijһÒÑ´æÔÚµÄÎļþ¡£²ÎÊýmodeÓм¸ÖÖÇé¿ö×éºÏ£¬R_OK£¬W_OK£¬X_OK
ºÍF_OK¡£R_OK£¬W_OKÓëX_OKÓÃÀ´¼ì²éÎļþÊÇ·ñ¾ßÓжÁÈ¡¡¢Ð´ÈëºÍÖ´ÐеÄȨÏÞ¡£F_OKÔòÊÇÓÃÀ´ÅжϸÃÎļþÊÇ·ñ´æÔÚ¡£ÓÉÓÚaccess()Ö»×÷
ȨÏ޵ĺ˲飬²¢²»Àí»áÎļþÐÎ̬»òÎļþÄÚÈÝ£¬Òò´Ë£¬Èç¹ûһĿ¼±íʾΪ“¿ÉдÈ딣¬±íʾ¿ÉÒÔÔÚ¸ÃĿ¼Öн¨Á¢ÐÂÎļþµÈ²Ù×÷£¬¶ø·ÇÒâζ´ËĿ¼¿ÉÒÔ±»µ±×öÎļþ´¦Àí¡£
ÀýÈ磬Äã»á·¢ÏÖDOSµÄÎļþ¶¼¾ßÓГ¿ÉÖ´ÐДȨÏÞ£¬µ«ÓÃexecve()Ö´ÐÐʱÔò»áʧ°Ü¡£
¡¡¡¡·µ»ØÖµ ÈôËùÓÐÓû²éºËµÄȨÏÞ¶¼Í¨¹ýÁ˼ì²éÔò·µ»Ø0Öµ£¬±íʾ³É¹¦£¬Ö»ÒªÓÐһȨÏÞ±»½ûÖ¹Ôò·µ»Ø-1¡£
¡¡¡¡´íÎó´úÂë EACCESS ²ÎÊýpathname ËùÖ¸¶¨µÄÎļþ²»·ûºÏËùÒªÇó²âÊÔµÄȨÏÞ¡£
¡¡¡¡EROFS Óû²âÊÔдÈëȨÏÞµÄÎļþ´æÔÚÓÚÖ»¶ÁÎļþϵͳÄÚ¡£
¡¡¡¡EFAULT ²ÎÊýpathnameÖ¸Õ볬³ö¿É´æÈ¡ÄÚ´æ¿Õ¼ä¡£
¡¡¡¡EINVAL ²ÎÊýmode ²»ÕýÈ·¡£
¡¡¡¡ENAMETOOLONG ²ÎÊýpathnameÌ«³¤¡£
¡¡¡¡ENOTDIR ²ÎÊýpathnameΪһĿ¼¡£
¡¡¡¡ENOMEM ºËÐÄÄÚ´æ²»×ã
¡¡¡¡ELOOP ²ÎÊýpathnameÓйý¶à·ûºÅÁ¬½ÓÎÊÌâ¡£
¡¡¡¡EIO I/O ´æÈ¡´íÎó¡£
¡¡¡¡¸½¼Ó˵Ã÷
ʹÓÃaccess()×÷Óû§ÈÏÖ¤·½ÃæµÄÅжÏÒªÌØ±ðСÐÄ£¬ÀýÈçÔÚaccess()ºóÔÙ×öopen()µÄ¿ÕÎļþ¿ÉÄÜ»áÔì³Éϵͳ°²È«ÉϵÄÎÊÌâ¡£
¡¡¡¡·¶Àý /* ÅжÏÊÇ·ñÔÊÐí¶ÁÈ¡/etc/passwd */
¡¡¡¡#include<unistd.h>
¡¡¡¡int main()
¡¡¡¡{
¡¡¡¡if (access(“/etc/passwd”,R_OK) = =0)
¡¡¡¡printf(“/etc/passwd can be read\n”);
¡¡¡¡}
¡¡¡¡Ö´ÐÐ /etc/passwd can be read
¡¡¡¡alphasort£¨ÒÀ×Öĸ˳ÐòÅÅÐòĿ¼½á¹¹£©
¡¡¡¡Ïà¹Øº¯Êý scandir£¬qsort
¡¡¡¡±íÍ·Îļþ #include<dirent.h>
¡¡¡¡¶¨Ò庯Êý int alphasort(const struct dirent **a,const struct dirent
**b);
¡¡¡¡º¯Êý˵Ã÷
alphasort()Ϊscandir()×îºóµ÷ÓÃqsort()º¯Êýʱ´«¸øqsort()×÷ΪÅжϵĺ¯Êý£¬Ïêϸ˵Ã÷Çë²Î¿¼scandir()¼°
qsort()¡£
¡¡¡¡·µ»ØÖµ ²Î¿¼qsort()¡£
¡¡¡¡·¶Àý /* ¶ÁÈ¡/Ŀ¼ÏÂËùÓеÄĿ¼½á¹¹£¬²¢ÒÀ×Öĸ˳ÐòÅÅÁÐ*/
¡¡¡¡main()
¡¡¡¡{
¡¡¡¡struct d
Ïà¹ØÎĵµ£º
×ÜÀÀ
ÓÃiptables -ADC À´Ö¸¶¨Á´µÄ¹æ
Ôò
£¬-AÌí¼Ó -Dɾ³ý -C ÐÞ¸Ä
iptables - [RI] chain rule num rule-specification[option]
ÓÃiptables - RI ͨ¹ý¹æÔòµÄ˳ÐòÖ¸¶¨
iptables -D chain rule num[option]
ɾ³ýÖ¸¶¨¹æÔò
iptables -[LFZ] [chain][option]
ÓÃiptables -LFZ Á´Ãû [Ñ¡Ïî]
iptables -[NX] chain
ÓÃ -NX ......
ÍøÉÏÒ»µÀ½ðɽµÄÃæÊÔÌ⣺
http://topic.csdn.net/u/20100524/14/0eff992a-2849-4db6-bdaa-d4a200e79b7c.html
Çë·Ö±ðÓÃC++µÄÃæÏò¶ÔÏóºÍ·ºÐÍ»úÖÆ£¬±àдʵÏÖTemplate MethodģʽµÄʾÀý´úÂ룬²¢±È½ÏÁ½ÖÖ·½Ê½¸÷×ÔµÄÓÅȱµã¡£
ÓÃÐ麯ÊýʵÏÖTemplate MethodµÄ·½Ê½¾Í²»¶à˵ÁË¡£Ó÷ºÐ͵ķ½Ê½ÊµÏÖ¶à̬ÔÚATLÀïÃæÓдóÁ¿µÄÓõ½£¡
·ºÐ͵ ......
# uname -a
Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux
(²é¿´µ±Ç°²Ù×÷ϵͳÄÚºËÐÅÏ¢)
# cat /etc/issue | grep Linux
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
(²é¿´µ±Ç°²Ù×÷ϵͳ·¢ÐаæÐÅÏ¢)
# cat /proc/cpuinfo | grep name | cut -f2 -d: ......
LinuxµÄI/O»úÖÆ¾ÀúÁËһϼ¸¸ö½×¶ÎµÄÑݽø£º
1. ͬ²½×èÈûI/O: Óû§½ø³Ì½øÐÐI/O²Ù×÷£¬Ò»Ö±×èÈûµ½I/O²Ù×÷Íê³ÉΪֹ¡£
2. ͬ²½·Ç×èÈûI/O: Óû§³ÌÐò¿ÉÒÔͨ¹ýÉèÖÃÎļþÃèÊö·ûµÄÊôÐÔO_NONBLOCK£¬I/O²Ù×÷¿ÉÒÔÁ¢¼´·µ»Ø£¬µ«ÊDz¢²»±£Ö¤I/O²Ù×÷³É¹¦¡£
3. Ò첽ʼþ×èÈûI/O: Óû§½ø³Ì¿ÉÒÔ¶ÔI/Oʼþ½øÐÐ×èÈû£¬µ«ÊÇI/O²Ù×÷²¢²»×èÈû¡£Í¨¹ýse ......
http://www.askwan.com/post/28/
haproxy+keepalived
LinuxÆóÒµ¼¯Èº
http://book.51cto.com/art/200806/76015.htm#
µÚÒ»²½:rsyncͬ²½webÊý¾Ý£¨²âÊÔͨ¹ý²¢ÇÒ×Ô¼º¼ÓÈëÁËsshµÄRSA keyÑéÖ¤£©
http://www.linuxsir.org/main/?q=node/256 rsync ·þÎñÆ÷¼ÜÉè·½·¨ v0.1b £¨ÕýÔÚÐÞ¶©ÖУ©
µÚ¶þ²½:°²×°heartbeat²¢ÇÒ¿ ......