perl – 以什么方式`fast_abs_path`“危险,但可能更快”?

前端之家收集整理的这篇文章主要介绍了perl – 以什么方式`fast_abs_path`“危险,但可能更快”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
documentation for the Cwd module声明fast_abs_path是“更危险但可能更快的abs_path版本”.它以什么方式危险?在什么情况下它更快?这种行为会因平台而异吗?

解决方法

fast_abs_path调用chdir让内核解析导致你一次传递它的路径,而不是仔细检查每个组件并逐个构建新路径;问题是权限可能会阻止它随后回到原始目录. (有些系统可以使用open和fchdir来解决这个问题,但是在Perl运行的所有平台上都无法可靠地使用它.)

是否可能发生这种情况取决于您的脚本是否可以在无法直接访问的目录中执行.在类Unix系统上,这可能发生在setuid包装器chdirs到受限权限区域然后丢弃setuid时. (历史上,受限制的权限位于名为lock的路径组件上;各种邮件和Usenet新闻子系统都使用它来保护其队列目录.)

猜你在找的Perl相关文章