Sudo como www-data, incapaz de cd

0

Eu tenho uma configuração .procmailrc que canaliza emails para um script. O núcleo do meu problema é que o e-mail é recebido como usuário 'mágico', e o script que eu preciso para processar o e-mail precisa ser executado como www-data.

O e-mail é recebido como usuário 'magic' e o .procmailrc o canaliza para:

/home/magic/email_reader_passthru

Dentro deste arquivo eu tenho o seguinte comando:

sudo -u www-data -s "cd /var/www/live/app && Console/cake emailReader"

Eu também dei a 'mágica' a habilidade de sudo como 'www-data' em / etc / sudoers

magic   ALL = (www-data) NOPASSWD:ALL

No entanto, sempre acabo com a mensagem de erro:

/bin/bash: cd /var/www/live/app && Console/cake emailReader: No such file or directory

No teste, se eu estiver logado no ssh como usuário mágico e eu tento executar:

sudo -u www-data -s 'cd /var/www/live/app'

Eu tenho o mesmo problema e não tenho certeza do porquê. Parece que não consigo executar cd dentro de um comando sudo -s?

    
por user984976 09.06.2014 / 12:01

1 resposta

0

Parece-me que o comportamento -s não está bem definido em diferentes distribuições de sudo. Você provavelmente deve especificar um determinado shell como sh desta maneira:

sudo -u www-data sh -c "cd /var/www/live/app && Console/cake emailReader"

Explicação: o comando acima invoca o sudo, que invoca o shell sh , que analisa estes comandos: cd /var/www/live/app && Console/cake emailReader

    
por 09.06.2014 / 12:32