perl – 以什么方式`fast_abs_path`“危险,但可能更快”?
发布时间:2020-12-15 21:42:18 所属栏目:大数据 来源:网络整理
导读:documentation for the Cwd module声明fast_abs_path是“更危险但可能更快的abs_path版本”.它以什么方式危险?在什么情况下它更快?这种行为会因平台而异吗? 解决方法 fast_abs_path调用chdir让内核解析导致你一次传递它的路径,而不是仔细检查每个组件并逐
documentation for the Cwd module声明fast_abs_path是“更危险但可能更快的abs_path版本”.它以什么方式危险?在什么情况下它更快?这种行为会因平台而异吗?
解决方法
fast_abs_path调用chdir让内核解析导致你一次传递它的路径,而不是仔细检查每个组件并逐个构建新路径;问题是权限可能会阻止它随后回到原始目录. (有些系统可以使用open和fchdir来解决这个问题,但是在Perl运行的所有平台上都无法可靠地使用它.)
是否可能发生这种情况取决于您的脚本是否可以在无法直接访问的目录中执行.在类Unix系统上,这可能发生在setuid包装器chdirs到受限权限区域然后丢弃setuid时. (历史上,受限制的权限位于名为lock的路径组件上;各种邮件和Usenet新闻子系统都使用它来保护其队列目录.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |