CentOS 7 Apache executa/executa solicitação da web como usuário root

CentOS 7 Apache executa/executa solicitação da web como usuário root

Eu tenho um utilitário PHP que aceita solicitação de postagem com arquivo como parâmetro. Agora, quando essa solicitação for recebida, quero executá-la como usuário root. Por exemplo, quando o usuário acessa www.mydomain.com/sendtextfiletoftp.php do carteiro ou qualquer outra ferramenta, ele deve ser executado como usuário root.

Cansei de sudo visudoadicionar as linhas abaixo ao arquivo sudoers, mas ainda assim a solicitação é executada com o usuário apache

www-data ALL=NOPASSWD: /var/www/html/sendtextfiletoftp.php

apache ALL=NOPASSWD: /var/www/html/sendtextfiletoftp.php

O mesmo arquivo quando executado como usuário sudo na linha de comando ( sudo php72 /path/to/file/sendtextfiletoftp.php) funciona bem.

Obrigado pela ajuda.

Responder1

Além de permitir que o usuário do Apache se torne root para um comando, você precisa fazer uma chamada dentro do seu código que inclui 'sudo'. Tipicamente:

No visudo eu colocaria algo como

apache ALL=NOPASSWD: /caminho/meu_root_command

No meu código /var/www/html/sendtextfiletoftp.php, para a parte específica que precisa de acesso root, eu colocaria algo como:

exec("sudo /path/my_root_command");

informação relacionada