避免 ruby​​ 脚本需要带有 777 的文件夹

避免 ruby​​ 脚本需要带有 777 的文件夹

我正在运行一个 ruby​​ 脚本,其中包含

unless File.writable?(".")
    problems << ["Directory /path/to/htdocs needs write access"]

问题是,只有当我设置

chmod 777 /路径/到/htdocs

它有效,但我读到你实际上不应该 777 任何东西。

那么我该如何解决这个问题,让代码以 755 而不是 777 运行呢?

答案1

永远不需要使用 777。但是,您可以找出问题所在:

  • 如果使用 777 而不是 770 则表示您在环境中使用了未知用户。更改为已知用户,则使用 770 即可正常工作。
  • 如果它适用于 770 而不适用于 700,则您在环境中使用了未知组。同样的解决方法:将环境设置为已知组。

因此,apache2、nginx 或您用来执行脚本的任何程序都会在其配置中设置用户和组。找到使用的用户和组,并将脚本更改为该用户和组,您所需的只是 700 或 750。

相关内容