我正在运行一个 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。