Como dar direitos “apache” para executar “svn update”

1

Eu quero disparar o comando "svn update" de um script php, cujo usuário é o "apache". Como posso atribuir permissões ao usuário do apache para executar o "svn update"?

    
por Sourabh 15.03.2010 / 17:39

1 resposta

3

Eu criaria um comando no arquivo sudoers e usaria sudo -u user-who-owns-svn-repo svn update em seu script PHP.

As alterações em /etc/sudores seriam semelhantes a:

Cmnd_Alias      SVN = /usr/local/bin/svn
apache          ALL=(ALL,!root,!#0) NOPASSWD: SVN

Consulte o manual do Sudoers para obter mais informações.

Se você quiser controles mais rígidos, faça scripts de shell que tenham os comandos SVN específicos e permita apenas o acesso do Apache a eles. Por exemplo:

Arquivo /path/to/my/project/update.sh :

#!/bin/bash
svn update /path/to/my/project/svn-files

Arquivo /etc/sudores :

Cmnd_Alias      SVN = /path/to/my/project/update.sh
apache          ALL=(ALL,!root,!#0) NOPASSWD: SVN

(e não se esqueça de chmod +x path/to/my/project/update.sh )

    
por 15.03.2010 / 17:43