Estou executando um script Ruby, que contém
unless File.writable?(".")
problems << ["Directory /path/to/htdocs needs write access"]
o problema é que só se eu definir
chmod 777 /caminho/para/htdocs
funciona, mas eu li que você não deveria fazer nada.
Então, como posso contornar esse problema para que o código seja executado com 755 em vez de 777?
Responder1
Nunca há necessidade de usar o 777. No entanto, você pode descobrir qual é o problema:
- se funcionar com 777 e não com 770, você está usando um usuário desconhecido em seu ambiente. Mude para um usuário conhecido e funcionará usando 770.
- se funcionar com 770 e não com 700 você está usando um grupo desconhecido em seu ambiente. Mesma correção: defina o ambiente para um grupo conhecido.
Portanto, apache2, nginx ou o que você usar para executar scripts terá um usuário e um grupo definidos em sua configuração. Encontre o usuário e grupo usado e altere seu script para esse usuário e grupo e tudo que você precisa é 700 ou 750.