【发布时间】:2012-05-20 06:45:56
【问题描述】:
documentation for the Cwd module 声明fast_abs_path 是“更危险但可能更快的abs_path 版本”。在什么方面是危险的?什么情况下比较快?行为是否因平台而异?
【问题讨论】:
标签: perl
documentation for the Cwd module 声明fast_abs_path 是“更危险但可能更快的abs_path 版本”。在什么方面是危险的?什么情况下比较快?行为是否因平台而异?
【问题讨论】:
标签: perl
fast_abs_path 调用chdir 让内核解析通向您一次性传递的路径,而不是仔细检查每个组件并逐个构建新路径;问题是权限可能会阻止它在之后chdiring 回到原始目录。 (有些系统可以使用 open 和 fchdir 来解决这个问题,但它并不是在所有运行 Perl 的平台上都可靠可用。)
这是否会发生取决于您的脚本是否可以在无法直接访问的目录中执行。在类 Unix 系统上,当 setuid 包装器 chdirs 到受限权限区域然后删除 setuid 时,可能会发生这种情况。 (历史上,受限权限位于名为 lock 的路径组件上;各种邮件和 Usenet 新闻子系统都使用它来保护他们的队列目录。)
【讨论】: