PHP tiene acceso al sistema de archivos: se le deniega el permiso

PHP tiene acceso al sistema de archivos: se le deniega el permiso

Estoy tratando de localizar un problema de PHP con una herramienta que estoy intentando instalar, y creo que lo he rastreado hasta un problema de permisos con el sistema de archivos, creo...

Ahora tengo el siguiente archivo .php simple:

<?php
system("/bin/ls");
?>

Cuando ejecuto esto, veo el siguiente error en /var/log/httpd/error_log:

sh: /bin/ls: Permission denied

Si cambio el php para ejecutar:

<?php
system("/bin/env");
?>

Entonces veo el resultado que esperaba.

Entonces, no es la ejecución la que no tiene permisos, sino lo que el ejecutable intenta leer lo que tiene problemas.

(La herramienta que estoy intentando que funcione aquí es phplicensewatcher, una herramienta para vigilar lo que sucede con varios demonios de administración de licencias)

Gracias

Respuesta1

Las dos primeras cosas que comprobaría:

  • ¿Con qué usuario se ejecuta PHP? Si lo genera Apache, es probable que se ejecute como "nadie", "www" o "apache" según la versión y la configuración.

  • ¿Qué directorio estás intentando incluir? Verifique los permisos en ese directorio. ¿El usuario que ejecuta PHP tiene permiso para acceder a ese directorio?

información relacionada