Modo seguro para o servidor da web gravar arquivos

3

Eu criei um webhook no github que chama meu servidor para atualizar arquivos na raiz da web. Eu assegurei a parte de envio usando um token no github para que apenas solicitações do github possam executar o script. Minha pergunta é que o script irá rodar como o servidor web (www-data), qual é a melhor maneira de dar permissões de gravação para o webroot. Dar às permissões de gravação do usuário do servidor web na webroot uma boa ideia? Quais são as alternativas?

    
por Ravi 21.12.2017 / 09:13

1 resposta

1

Primeiro, escreva um script que execute as etapas exatas de implantação necessárias. Então dê www-data os direitos para rodar aquele script específico via sudo. Por exemplo, usando a seguinte regra de sudoers:

www-data ALL=(someuser) /path/to/deploy.sh

(Substitua "someuser" pela conta que realmente possui os arquivos da webapp.)

O manipulador do webhook seria então executado:

sudo -u someuser /path/to/deploy.sh

Dessa forma, seu servidor da Web pode executar atualizações exatamente como em script , mas ainda não tem acesso desnecessário para excluir arquivos ou instalar malware no site.

    
por 21.12.2017 / 09:58