chmod e chown não funcionam no sudo chamado script

chmod e chown não funcionam no sudo chamado script

Com base nissoPergunta de falha do servidor, meu usuário git tem permissão em sudoers para executar um script wrapper para mover arquivos para meu webroot com git.

Tudo está funcionando bem, exceto as linhas chmod e chown. Após a execução do script, os arquivos ainda serão root:root em vez de apache:apache.

#!/bin/sh

echo
echo "**** Pulling changes into Prime [Hub's post-update hook]"
echo
cd /usr/local/apache/htdocs || exit
unset GIT_DIR
git pull hub master
exec /usr/libexec/git-core/git-update-server-info
chmod -R 0644 /usr/local/apache/htdocs
chown -R apache:apache /usr/local/apache/htdocs

Como o script está sendo executado como root, por que os comandos chmod e chown não funcionariam?

Responder1

A linha chmod nunca é alcançada, pois você pode verificar facilmente inserindo-a touch /root/checkfilediretamente acima. execnão retorna ao script. Devo ser o último comando em um script (ou ramificação do script).

informação relacionada