A configuração padrão é executar todas as páginas PHP (e seus comandos gerados) como www-data
usuário, o que significa que eles só têm acesso às sessões de propriedade de www-data
.
Você precisa executar o script em sua própria conta de usuário, o que pode ser feito por:
-
usando
sudo
; por exemplo, a seguinte entrada sudoers :www-data: ALL=(duke) NOPASSWD: /home/duke/aa/scripts/test.sh
permitirá que você execute
exec("sudo -u duke /home/duke/aa/scripts/test.sh");
-
ou instalando suPHP : o script PHP será executado sob a conta de seu proprietário.
Seu exemplo atual executa o script duas vezes , que pode ter vários efeitos colaterais. Livre-se da segunda chamada exec()
- ou melhor ainda, use system()
ou passthru()
- se quiser exibir a saída do script.