/ / Permissões para executar um script python com PHP exec () - php, permissões

Permissões para executar um script python com PHP exec () - php, permissões

Eu estou tentando executar os seguintes comandos no PHP:

<?php exec("xdg-open file") ?>
<?php exec("python file.py") ?>

Todos os arquivos estão em /var/www/html.

Outros comandos mais simples parecem estar funcionando. Por exemplo:

<?php exec("touch file.txt") ?>
<?php echo exec("ls") ?>
<?php echo exec("whoami") ?>

Eu só quero ser capaz de executar qualquer comando Python / shell usando PHP (sem os que precisam de sudo). É um problema de permissão? Se sim, o que posso fazer?

Respostas:

0 para resposta № 1

Para executar um arquivo, verifique se o arquivo tem permissões executáveis.

chmod +x file.py

Em um ambiente de servidor, se executado por outro processo, por exemplo, PHP por meio do Apache / nginX, essas permissões devem ser associadas ao usuário que está executando esse processo do servidor.

Por exemplo, digamos que seu nome de arquivo seja file.py

As permissões do fily.py devem ser configuradas para que o proprietário seja o mesmo que o servidor da Web e esse proprietário tenha permissões executáveis.

com chown podemos alterar o proprietário, digamos que nosso servidor da Web seja executado como o usuário http e o grupo http:

chown http:http file.py

chmod o+x file.py

Se o processo não for o proprietário, mas no mesmo grupo:

chmod g+x file.py

ou nem:

chmod o+x file.py