Este é um problema com o arquivo / etc / sudoers, onde tem a seguinte entrada:
Defaults requiretty
Ele está detalhado em ESTE POST
Existem duas opções, comente a configuração Defaults requiretty
do / etc / sudoers ou use o argumento de alocação pseudo-tty ( -t
) para ssh
.
Tente o seguinte no seu script de pós-recebimento:
ssh -t 127.0.0.1 "sudo chown user /path/to/pushfile"
Embora você tenha que ter ssh
chaves pré-compartilhadas configuradas para você mesmo e executá-las uma vez manualmente para adicionar uma entrada a hosts conhecidos (ou encontrar o argumento para ignorar isso).