Next: , Previous: Changing the Current Working Directory, Up: Security Considerations for find   [Contents][Index]


8.2.2 -exec¤Ç¤Î¶¥¹ç¾õÂÖ

-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’¤Ï¼Â¹Ô¤¹¤ë¥³¥Þ ¥ó¥É̾¤Î‘{}’¤òµö²Ä¤·¤Þ¤»¤ó¡¥