Ubuntu, apache - sudoers problem

0

Eu preciso executar um script via php (php5.xx), servidor executando o apache2 (Ubuntu 10.04). O script precisa ser executado como outro usuário.

Eu adicionei as seguintes linhas ao arquivo /etc/sudoers :

Cmnd_Alias SECURE_SVN_UPDATE = /path_to_script/just_svn_update.sh
#www-data ALL=(ALL,!root,!#0) NOPASSWD: SECURE_SVN_UPDATE
www-data ALL=(ALL) NOPASSWD: SECURE_SVN_UPDATE

(eu tentei as duas linhas)

E no PHP, eu chamo

exec("sudo -u theuser SECURE_SVN_UPDATE")

Eu recebo o erro

sudo: no tty present and no askpass program specified

Eu tentei definir

Defaults visiblepw

no arquivo sudoers , mas depois disso, executar o comando do PHP dá erro:

sudo: 3 incorrect password attempts .

Alguém por favor pode me dizer como corrigir isso OU um método para alcançá-lo sem comprometer a segurança. (Eu quero que o apache seja capaz de executar apenas aquele script como outro usuário, nada mais).

    
por tanon 31.08.2011 / 10:09

1 resposta

0

Em vez de tentar sudo executar um arquivo, por que não ter um apache sendo executado para um host virtual em particular como um usuário que você deseja ter o privilégio de atualizar o código-fonte que está tentando extrair?

Este link refere-se à maneira de definir o usuário link

Em segundo lugar, se eu entendi corretamente o que você está tentando fazer é: Você tem um servidor web remotamente. Você deseja fazer login e fazer com que ele retire o código atualizado do SVN. Normalmente, os métodos de implantação exigem uma abordagem mais prática, como rsync, FTP ou SFTP / SCP push.

    
por 01.12.2011 / 19:14