Next: Race Conditions with -print and -print0, Previous: Changing the Current Working Directory, Up: Security Considerations for find [Contents][Index]
‘-exec’¥¢¥¯¥·¥ç¥ó¤Ç¤ÏÊÌ¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡¥¤½¤Î»þ¤Ë¥Õ¥¡¥¤¥ë ̾¤òÅϤ·¤Þ¤¹¡¥¤½¤·¤Æ¥×¥í¥°¥é¥à¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹ -Ä̾ï- ¥Õ¥¡¥¤¥ë¤Ë¤Ê¤ó¤é¤« ¤Î¥¢¥¯¥·¥ç¥ó¤ò¼Â»Ü¤·¤Þ¤¹¡¥¤³¤³¤Ç¤â¡¤ÍøÍѲÄǽ¤Ê¶¥¹ç¾õÂÖ¤¬¤¢¤ê¤Þ¤¹¡¥²æ¡¹ ¤Ï¡¤¥³¥Þ¥ó¥ÉÎã¤ò°Ê²¼¤Î¤è¤¦¤Ë»ØÄꤷ¤Þ¤¹¡¥
find /tmp -path /tmp/umsp/passwd -exec /bin/rm
¤³¤Î¸«ËÜÎã¤Ç¤Ï¡¤²æ¡¹¤Ïºï½ü¤¹¤ë°ì¤Ä¤Î¥Õ¥¡¥¤¥ë¤ò¼±Ê̤·¡¤ºï½ü¤¹¤ë¤¿¤á¤Ë
/bin/rm
¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤Þ¤¹¡¥find
¤¬‘-exec’¥¢¥¯¥·¥ç¥ó¤ò
½èÍý¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤ò·èÄꤹ¤ë»þÅÀ¤È¡¤/bin/rm
¥³¥Þ¥ó¥É¤¬¼ÂºÝ¤Ë
unlink()
¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò¼Â»Ü¤¹¤ë»þÅÀ¤Ë»þ´Öº¹¤¬¤¢¤ë¤Î¤Ç¡¤ÌäÂ꤬¸
ºß¤·¤Þ¤¹¡¥¤³¤Î¤È¤¡¤¹¶·â¼Ô¤Ï/tmp/umsp¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤òÊѹ¹¤·¡¤
/etc¤Ø¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ËÃÖ´¹¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥find
¤¬ÁÛÄꤷ¤Æ¤¤¤ë¤Î¤ÈƱ¤¸¥Õ¥¡¥¤¥ë¤Ç¡¤/bin/rm
¤ò¼Â»Ü¤·¤Æ¤¤¤ë¤³¤È¤òÄ´
ºº¤¹¤ëÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó¡¥°ìÅÙ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬ÇÛÃÖ¤µ¤ì¤ë¤È¡¤¼ÂºÝ¤Ë¸Æ
¤Ó½Ð¤·¤¿¥³¥Þ¥ó¥É¤¬°Õ¿Þ¤·¤Æ¤¤¤ë¸ú²Ì¤Ç¤Ï¤Ê¤¯¡¤¹¶·â¼Ô¤Ïfind
¤Ë
/etc/passwd¥Õ¥¡¥¤¥ë¤òºï½ü¤µ¤»¤ë¤è¤¦¤À¤Þ¤¹¤³¤È¤â¤¢¤ê¤Þ¤¹¡¥
¤³¤Î·ÁÂ֤ι¶·â¤«¤é¼é¤ë°ì¤Ä¤Î²ÄǽÀ¤È¤·¤Æ¡¤‘-exec’¤Îưºî¤ò
/bin/rm
¥³¥Þ¥ó¥É¤ò./passwd°ú¿ô¤Ç¡¤Å¬Àڤʥ¥¥ó¥°¥Ç¥£¥ì¥¯
¥È¥ê¤Ç¼Â¹Ô¤¹¤ë¤è¤¦¤Ë¤¹¤ëÊýË¡¤Ç¤¹¡¥¤³¤ì¤Ï¡¤¤³¤Î·Á¼°¤Î¹¶·â¤«¤é¼é¤ë¤¿¤á¤Ë
find
¤¬¼Â¹Ô¤¹¤ë¡¤Ä̾ï¤Î·òÁ´À¤ÎÄ´ºº¤Ç¤â²Äǽ¤Ç¤¹¡¥»Äǰ¤Ê¤¬¤é¡¤¤³¤Î
Àïά¤ÏPOSIXɸ½à¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ëʪ¤Ç¤ÏÍøÍÑÉÔ²Äǽ¤Ç¡¤¤½¤³¤Ç¤Ï
‘-exec’¤Ç¥³¥Þ¥ó¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¥«¥ì¥ó¥È¥ï¡¼¥¥ó¥°¥Ç¥£¥ì¥¯¥È¥ê¤È¡¤
find
¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¥«¥ì¥ó¥È¥ï¡¼¥¥ó¥°¥Ç¥£¥ì¥¯¥È¥ê¤ÏƱ¤¸¤Ë¤¹¤ëɬÍ×
¤¬¤¢¤ê¤Þ¤¹¡¥¤Ä¤Þ¤ê¡¤‘-exec’¥¢¥¯¥·¥ç¥ó¤ÏËܼÁŪ¤Ë¥»¥¥å¥ê¥Æ¥£¤¬Ä㤯¡¤
½¤ÀµÉÔ²Äǽ¤À¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡¥
GNU find
¤Ç¤Ï¡¤‘-exec’¥¢¥¯¥·¥ç¥óÅù¤è¤ê¥»¥¥å¥ê¥Æ¥£¤¬¹â¤¤
‘-execdir’¤ò¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡¥‘-execdir’¥¢¥¯¥·¥ç¥ó¤Ï¡¤¥¿¡¼¥²¥Ã
¥È¥Õ¥¡¥¤¥ë¤ò½èÍý¤¹¤ë¤¿¤á¡¤¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò»²¾È¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ëɬÍפ¬
¤Ê¤¯¤Ê¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡¥¥×¥í¥°¥é¥à¤Î¸Æ¤Ó½Ð¤·¤Ç»ÈÍѤµ¤ì¤ë¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯
¥È¥ê¤¬¡¤½èÍý¤¹¤ë¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸(Îã¤Ç¤Ï
/tmp/umsp)¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¤½èÍý¤¹¤ë¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹Ì¾¤¬¸Æ¤Ó½Ð¤·¥³¥Þ
¥ó¥É¤ËÅϤµ¤ì¡¤¤½¤ì¤Ë¤Ï‘./’¤¬(Îã¤Ç¤Ï./passwd)Á°ÃÖ¤µ¤ì¤Þ¤¹¡¥
‘-execdir’¥¢¥¯¥·¥ç¥ó¤Ï¡¤¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤¬$PATH´Ä¶ÊÑ¿ô ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¤¤¹¤Ù¤Æ¤Îưºî¤òµñÈݤ·¤Þ¤¹¡¥¤³¤ì¤Ï¡¤‘-execdir’¤¬ ¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤Ã¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¥Ç¥£¥ì¥¯¥È¥ê¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹ ¤ë¤Î¤ÇɬÍפˤʤê¤Þ¤¹ – °ìÈÌŪ¤Ë¡¤¤½¤Î¤è¤¦¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤Ï¿®ÍѤǤ¤Ê¤¤ ¥æ¡¼¥¶¤Ï½ñ¤¹þ¤ß¤Þ¤»¤ó¡¥Æ±¤¸¤è¤¦¤ÊÍýͳ¤Ç¡¤‘-execdir’¤Ï¼Â¹Ô¤¹¤ë¥³¥Þ ¥ó¥É̾¤Î‘{}’¤òµö²Ä¤·¤Þ¤»¤ó¡¥