Next: , Previous: Levels of Risk, Up: Security Considerations   [Contents][Index]


8.2 find¤Î¥»¥­¥å¥ê¥Æ¥£¤Î¹Íθ

find¤Î¥¢¥¯¥·¥ç¥ó¤Ë¤Ï¡¤Ä¾ÀܱƶÁ¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡¥¤³¤ì¤Ë¤Ï -exec¤È-delete¤¬´Þ¤Þ¤ì¤Þ¤¹¡¥¤·¤«¤·¡¤-print¤ÎÌÀ¼¨Åª ¤Þ¤¿¤Ï°ÅÌۤλÈÍѤâ°ìÈÌŪ¤Ç¡¤find¤Ï´Ö°ã¤Ã¤¿¥Õ¥¡¥¤¥ë̾¤Î¥ê¥¹¥È¤òÀ¸ À®¤·¡¤¥»¥­¥å¥ê¥Æ¥£¤ÎÌäÂê¤Ë¤Ê¤êÆÀ¤Þ¤¹¡¥Î㤨¤Ð¡¤¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¤¿¤á¤Ë find¤¬À¸À®¤·¤¿¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡¥

²æ¡¹¤ÏÄ̾find¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ï¥Õ¥¡¥¤¥ë¤ÎÁªÂò¤Î´ð½à¤È¡¤¥æ¡¼¥¶ ¤¬¹Í¤¨¤Æ¤¤¤ë¥¢¥¯¥·¥ç¥ó¤òɽ¸½¤·¤Æ¤¤¤ë¤È²¾Äꤷ¤Þ¤¹ – ¤Ä¤Þ¤ê¡¤¥³¥Þ¥ó¥É¥é ¥¤¥ó¤Ï“¿®ÍѤǤ­¤ë”¥Ç¡¼¥¿¤À¤È¤¤¤¦¤³¤È¤Ç¤¹¡¥

¥»¥­¥å¥ê¥Æ¥£¤ÎʬÀϤδÑÅÀ¤«¤é¡¤find¤Î³°Éô¤ÏÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡¥¤Ä¤Þ ¤ê¡¤½ÐÎϤˤϥ桼¥¶¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤¿´ð½à¤Ë¥Þ¥Ã¥Á¤·¤¿¥Õ¥¡¥¤¥ë¤Î ̾Á°¤À¤±¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤Ù¤­¤Ç¤¹¡¥¤³¤ì¤ò¡¤-exec¤È-delete¥¢ ¥¯¥·¥ç¥ó¤ËŬÍѤ·¤Þ¤¹¡¥¤³¤ì¤é¤â½ÐÎϤΰìÉô¤À¤È¹Í¤¨¤ë¿Í¤â¤¤¤Þ¤¹¡¥

°ìÊý¡¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÆâÍÆ¤Ï¾¤Î¿Í¤âÁàºî²Äǽ¤Ê¤Î¤Ç¡¤²æ¡¹¤Ï¤³¤ì¤ò“¿® ÍѤǤ­¤Ê¤¤”¥Ç¡¼¥¿¤À¤È¤ß¤Ê¤·¤Þ¤¹¡¥¤Ä¤Þ¤ê¡¤find¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ï¡¤ ¿®ÍѤǤ­¤Ê¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÆâÍÆ¤ò¡¤½ÐÎÏ¥Õ¥¡¥¤¥ë¤ÎÀµ¤·¤¤¥ê¥¹¥È¤ËÊÑ´¹ ¤¹¤ë¥Õ¥£¥ë¥¿¤Ç¤¢¤ë¤³¤È¤ò°Å¼¨¤·¤Æ¤¤¤Þ¤¹¡¥

¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¤°ìÈÌŪ¤Ë¡¤find¤Î¸¡º÷Ãæ¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡¥¼ÂºÝ¤Ë¡¤ find¤¬¥»¥­¥å¥ê¥Æ¥£¤ÎÌäÂê¤È¤Ê¤ë²ÄǽÀ­¤Î¤Û¤È¤ó¤É¤Ï¡¤¤³¤ÎÌäÂê¤Ë¤¢¤ë ÄøÅÙ´ØÏ¢¤·¤Þ¤¹¡¥

¶¥¹ç¾õÂ֤ϡ¤(Î㤨¤Ð) find¤ËÅϤµ¤ì¤ë¥¢¥¯¥·¥ç¥ó¤Î½çÈ֤˴ØÏ¢¤¹¤ë¥» ¥­¥å¥ê¥Æ¥£¤ÎÌäÂê¤ËʬÎव¤ì¡¤¤½¤ì°Ê³°¤¬½ÅÍפǤ¹3¡¥

°ìÈÌŪ¤Ë¡¤ÉáÄ̤ϱƶÁ¤¹¤ë¤Ï¤º¤¬¤Ê¤¤¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¡¤¹¶·â¼Ô¤¬´üÂÔ¤¹¤ë¥¢ ¥¯¥·¥ç¥ó¤Ç¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤Î°Üư¤äºï½ü¤ò¹Ô¤¤¤Þ¤¹¡¥¤Þ¤¿¡¤¤³¤Î¤è¤¦ ¤Ê¤Î¹¶·â¤Ï¡¤find¤Ë¡¤ÉáÄ̤ϸ¡º÷¤µ¤ì¤Ê¤¤(Î㤨¤Ð¡¤-prune¥¢¥¯ ¥·¥ç¥ó¤ÇÍÞ»ß)¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î°ìÉô¤ò¸¡º÷¤¹¤ë¤è¤¦¤Ë¤·¤à¤±¤Þ¤¹¡¥


Footnotes

(3)

¤³¤ì¤Ï¡¤ÍÑ¸ì “¶¥¹ç¾õÂÖ(race condition)”¤Î¤À¤¤¤¿¤¤¤ÎÄêµÁ¤Ë¤Ê¤ê¤Þ¤¹