CentOS 7 Apache ejecuta/ejecuta solicitud web como usuario root

CentOS 7 Apache ejecuta/ejecuta solicitud web como usuario root

Tengo una utilidad PHP que acepta solicitudes de publicación con un archivo como parámetro. Ahora, cuando se reciba esa solicitud, quiero ejecutarla como usuario root. Por ejemplo, cuando el usuario accede a www.mydomain.com/sendtextfiletoftp.php desde cartero o cualquier otra herramienta, debe ejecutarse como usuario root.

Me cansé de sudo visudoagregar las siguientes líneas al archivo sudoers, pero aún así la solicitud se ejecuta con el usuario de Apache

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

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

El mismo archivo cuando se ejecuta como usuario sudo desde la línea de comando ( sudo php72 /path/to/file/sendtextfiletoftp.php) funciona bien.

Gracias por la ayuda.

Respuesta1

Además de permitir que el usuario de Apache se convierta en root para un comando, debe realizar una llamada dentro de su código que incluya 'sudo'. Típicamente:

En visudo pondría algo como

Apache ALL=NOPASSWD: /ruta/mi_comando_raíz

En mi código /var/www/html/sendtextfiletoftp.php, para la parte específica que necesita acceso root, pondría algo como:

exec("sudo /ruta/mi_comando_raíz");

información relacionada