Next: , Previous: Security Considerations for find, Up: Security Considerations   [Contents][Index]


8.3 xargs¤Î¥»¥­¥å¥ê¥Æ¥£¤Î¸¡Æ¤

find¤Î‘-print’¤Ë¤è¤ë¶¥¹ç¾õÂ֤αƶÁ¤Îµ­½Ò¤Ï¡¤find¤Î³« »Ï¸å¤«¤Äxargs¤¬¤¹¤Ù¤Æ¤Î¥¢¥¯¥·¥ç¥ó¤ò´°Î»¤¹¤ëÁ°¤Ë¹¶·â¼Ô¤¬¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òÊѹ¹¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¾ì¹ç¡¤xargs¤Ç¥»¥­¥å¥ê¥Æ¥£¤ò¹â¤¯¤¹ ¤ë¤³¤È¤¬ÉÔ²Äǽ¤Ê¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡¥

¤·¤«¤·¡¤¹¶·â¼Ô¤¬¥ê¥¢¥ë¥¿¥¤¥à¤Ç¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¾ì¹ç¤Ç ¤µ¤¨¤â¡¤¥»¥­¥å¥ê¥Æ¥£¤ÎÌäÂ꤬¾¤Ë¤â¸ºß¤·¤Æ¤¤¤Þ¤¹¡¥Âè°ì¤Ë¡¤¹¶·â¼Ô¤¬¥Õ¥¡ ¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¡¤¼«Ê¬¤¬Áª¤ó¤À̾Á°¤Ç¥Õ¥¡¥¤¥ë¤òºîÀ®²Äǽ¤Ê¾ì¹ç¡¤ xargs¤Ï‘-0’¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¸Â¤ê¥»¥­¥å¥ê¥Æ¥£¤¬Ä㤯¤Ê¤ê ¤Þ¤¹¡¥/home/someuser/foo/bar\n/etc/passwd¤È¤¤¤¦¥Õ¥¡¥¤¥ë̾¤¬Â¸ºß ¤¹¤ë¾ì¹ç(‘\n’¤¬²þ¹Ôʸ»ú¤ò°ÕÌ£¤¹¤ë¤È²¾Äꤷ¤Þ¤¹)¡¤find ... -print¤Ç¤Ï¡¤´Ö°ã¤Ã¤Æ»°¹Ô¤Ëʬ³ä¤·¤¿¹Ô¤ò½ÐÎϤ¹¤ë¤Ï¤º¤Ç¤¹¡¥

/home/someuser/foo/bar

/etc/passwd

ÆþÎϤ˲þ¹Ô¤¬¤¢¤ë¾ì¹ç¡¤xargs¤Ï¤½¤ì¤ò̵»ë¤·¤Þ¤¹¡¥¤³¤Î¤¿¤á¡¤¤³¤Î¥Õ¥¡ ¥¤¥ë¥ê¥¹¥È¤ò¸µ¤Ë¼Â»Ü¤µ¤ì¤ë¥¢¥¯¥·¥ç¥ó¤Ë¤Ï¡¤¤³¤ì¤¬find¤ò¼Â¹Ô¤· ¤Æ¤¤¤ë¿Í¤¬´üÂÔ¤·¤Æ¤¤¤Ê¤¤/etc/passwd¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡¥¹¶·â¼Ô ¤¬¤³¤ÎÍ¥°ÌÀ­¤ò»ÈÍѲÄǽ¤Ê¾õ¶·¤â¸ºß¤·¤Þ¤¹¡¥Æ±¤¸¾õ¶·¤Ï¡¤¥Õ¥¡¥¤¥ë̾¤Ë²þ¹Ô ¤Ç¤Ï¤Ê¤¯ÉáÄ̤ζõ¹Ô¤¬Â¸ºß¤¹¤ë¾ì¹ç¤â¸ºß¤·¡¤¤â¤Á¤í¤ó¡¤¥Õ¥¡¥¤¥ë̾¤Î¥ê¥¹¥È ¤Ë¤Ï“;ʬ¤Ê”²þ¹Ô¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡¥

¤³¤ÎÌäÂê¤Ï¡¤xargs¥³¥Þ¥ó¥É¤Î¥Ç¥Õ¥©¥ë¥È¤Îưºî¡¤¤Ä¤Þ¤êPOSIXɸ½à¤Ç»Ø Äꤵ¤ì¤¿Æ°ºî¤Î·ë²Ì¤«¤é²óÈò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡¥¤³¤ÎÌäÂê¤òÈò¤±¤ëÊýË¡¤Ï¡¤ xargs¤Î»ÈÍѤòÈò¤±¡¤¤è¤ê¹¥¤Þ¤·¤¤‘find -exec’¤ä(ÍøÍѲÄǽ¤Ç¤¢ ¤ì¤Ð)‘find -execdir’¤ò»ÈÍѤ·¤¿¤ê¡¤xargs¤Ë¥Õ¥¡¥¤¥ë̾¤¬¶õÇò¤Ç ¤Ï¤Ê¤¯ASCII¤ÎNULʸ»ú¤ÇʬΥ¤·¤Æ¤¤¤ë¤ÈÍý²ò¤µ¤»¤ë‘-0’¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ ¤¹¤ë¤³¤È¤À¤±¤Ç¤¹¡¥¤·¤«¤·¡¤¤³¤Î¥ª¥×¥·¥ç¥ó¤ÏÌò¤ËΩ¤Á¤Þ¤¹¤¬¡¤POSIX¤Îɸ½à¤Ç ¤Ïɬ¿Ü¤È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡¥