www usuarios usuario por permisos listar dueƱo directorios directorio defecto data content cambiar php apache

usuarios - Obtener el usuario de apache linux de php



usuario de apache en ubuntu (4)

Estoy en un sistema Linux externo y necesito determinar el usuario en el que apache se ejecuta (y también lo hace php).

El objetivo: necesito obtener el propietario del script (esto no es un problema ya que puedo usar SplFileInfo) y compararlo con el propietario del proceso de apache.

Estoy abierto a cualquier propuesta alternativa.

Saludos, Mario

Editar: información adicional:

El script es un generador de miniaturas, que utiliza un archivo XML para generar pulgares a partir de imágenes más grandes. El script necesita crear carpetas y escribir archivos. Como no puedo influir en la configuración de php y no tengo ningún acceso de shell, esto tiene que hacerse de manera muy silenciosa. El proceso de creación se detiene a través de una excepción y envía un mensaje de error. Como la mayoría de las funciones de php no pueden arrojar excepciones en el error, necesito algunas verificaciones manuales para determinar el entorno en el que me encuentro. Por lo tanto, necesito que el usuario de apache lo compare con algún directorio o propietario de archivos.


Algunas respuestas complicadas aquí.

Esto funciona para mí:

$user = getenv(''APACHE_RUN_USER'');

No estoy seguro de si esto es solo algo nuevo que se ha agregado a apache desde que se hizo esta pregunta, pero definitivamente está ahí ahora.


Puedes llamar a la función php exec para ejecutar whoami :

<?php echo exec(''whoami''); ?>


ver posix_getuid () y posix_getpwuid ()


phpinfo descargará mucha información del sistema. Para las instalaciones de apache2, hay una sección que muestra el usuario de apache y los ID de grupo. Intente crear un script php que solo tenga una línea, una llamada a phpinfo () y ábralo en su navegador web.