【问题标题】:In what way is `fast_abs_path` "dangerous, but potentially faster"?`fast_abs_path` 以何种方式“危险,但可能更快”?
【发布时间】:2012-05-20 06:45:56
【问题描述】:

documentation for the Cwd module 声明fast_abs_path 是“更危险但可能更快的abs_path 版本”。在什么方面是危险的?什么情况下比较快?行为是否因平台而异?

【问题讨论】:

    标签: perl


    【解决方案1】:

    fast_abs_path 调用chdir 让内核解析通向您一次性传递的路径,而不是仔细检查每个组件并逐个构建新路径;问题是权限可能会阻止它在之后chdiring 回到原始目录。 (有些系统可以使用 openfchdir 来解决这个问题,但它并不是在所有运行 Perl 的平台上都可靠可用。)

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

    【讨论】:

      猜你喜欢
      • 2014-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 2017-09-30
      • 1970-01-01
      • 2012-05-10
      相关资源
      最近更新 更多