chama o shell script do php quando o ubuntu 14.04 (corretamente) desativa o shell para www-data

0

Acabei de migrar de 12.04 para 14.04. 14.04 (sensivelmente) desabilita login / shell para www-data. Mas o meu site php precisa executar alguns scripts de shell para executar coisas como kindlegen, rsyncing arquivos para outro servidor no comando do usuário, etc.

Qual é a melhor maneira (mais segura) de fazer isso?

obrigado

    
por Steve 10.08.2014 / 10:38

1 resposta

0

Parece que você está no modo de segurança. Isso é bom, mas dá a você a opção de permitir certos comandos se eles estiverem definidos em safe_mode_exec_dir . Essa seria a primeira coisa que eu olhei. Crie um diretório, adicione seu script lá, defina safe_mode_exec_dir para esse diretório e veja se ele é executado.

Edit: Hmm, se você estiver no 14.04, provavelmente não é o modo de segurança. Isso foi removido em 5.4 e você deve estar em 5.5

Se isso não funcionar ou não for viável, considere um método não interativo. Faça o seu PHP escrever em um arquivo chamado needstorun e, em seguida, tenha outro script (executado como outro usuário) para verificar esse arquivo regularmente. Eu usaria uma linha cron como essa (execute crontab -e como o usuário que vai rodar como)

*/5 * * * *    [ -f /path/to/needstorun ] && rm /path/to/needstorun && /path/to/script

Isso obviamente só lhe oferecerá uma abordagem escalonada, mas isso pode não ser uma má ideia.

    
por Oli 10.08.2014 / 11:19