Atualmente este provedor só gera arquivos com as permissões 0777
.
Existe uma maneira de parametrizar isso, talvez? Parece um pouco estranho tornar os arquivos executáveis por padrão.
Olá @brett-richardson!
No momento, as opções para este recurso são bastante limitadas para mantê-lo simples. Ser capaz de definir permissões parece razoável, e espero que não tenhamos feito isso apenas porque isso introduz algumas considerações específicas da plataforma - o Terraform é executado no Windows e as permissões não funcionam da mesma maneira lá.
Talvez possamos contornar isso não generalizando demais e apenas abordando diretamente sua preocupação aqui, com um novo atributo executable
que pode ser definido como false
. Esse sinalizador provavelmente não faria absolutamente nada no Windows, já que o Windows convencionalmente não faz essa distinção (ou melhor, faz isso por meio de convenções de nome de arquivo), mas em sistemas do tipo POSIX poderia definir apenas permissões de leitura/gravação, em vez de leitura/gravação /executar. (Ele ainda deve respeitar o ativo umask
do processo, então, na prática, o arquivo no disco geralmente _não_ será gravável em todo o mundo, mesmo que o modo aqui sugira isso.)
Isso faz muito sentido. Vou ver se consigo montar um PR quando tiver tempo.
@brett-richardson @apparentlymart enviou uma possível resolução para isso com #12. Eu permiti a configuração das permissões do arquivo em vez de um booleano executável. Deixou o comportamento atual intacto.
Isso é semelhante ao nº 19, então darei a mesma sugestão.
Embora não tenhamos um recurso multiplataforma, estou usando a seguinte solução alternativa...
resource "local_file" "foo" {
content = "contents"
filename = "foo.txt"
provisioner "local-exec" {
command = "chmod 644 foo.txt"
}
Espero que ajude!
Comentários muito úteis
@brett-richardson @apparentlymart enviou uma possível resolução para isso com #12. Eu permiti a configuração das permissões do arquivo em vez de um booleano executável. Deixou o comportamento atual intacto.