Foros del Web » Administración de Sistemas » Cloud Computing »

Ejecutar system() o exec() y permisos

Estas en el tema de Ejecutar system() o exec() y permisos en el foro de Cloud Computing en Foros del Web. Buenas, Estoy intentando hacer unos paneles en PHP para gobernar segun que programas desde web. Entonces, las funciones basicas que me interesarian seria el de ...
  #1 (permalink)  
Antiguo 18/09/2007, 08:49
 
Fecha de Ingreso: octubre-2006
Ubicación: Barcelona
Mensajes: 94
Antigüedad: 18 años
Puntos: 0
Ejecutar system() o exec() y permisos

Buenas,
Estoy intentando hacer unos paneles en PHP para gobernar segun que programas desde web. Entonces, las funciones basicas que me interesarian seria el de encender y apagar de los programas, en un servidor dedicado lo que diriamos que es ./PROGRAMA . Desde PHP podemos hacerlo con la funcion system() o exec() .

Entonces mi pregunta es, yo el script de PHP donde lo hago lo meto en /var/www para que apache lo ejecute y yo desde una URL pueda controlarlo remotamente desde donde quiera. Pero ese Script se ejecuta como root? o con que permisos ejecuta ese comando en cocnreto? ( En el caso de que ese programa que quiera ejecutar este en /home/programa)

Lo que quiero saber con esto hasta que punto puede ser perjudicial para mi seguridad, y si tengo que poner algun tipo de permisos especiales para poderlo ejecutar ya que hasta la fecha no se me ejecuta jeje.
  #2 (permalink)  
Antiguo 18/09/2007, 08:59
Avatar de MinervaH
Colaborador
 
Fecha de Ingreso: mayo-2004
Mensajes: 2.189
Antigüedad: 20 años, 5 meses
Puntos: 23
Re: Ejecutar system() o exec() y permisos

Cita:
Iniciado por CodesMaster Ver Mensaje
...yo el script de PHP donde lo hago lo meto en /var/www para que apache lo ejecute...
Entonces se ejecutará con el usuario con el que corra Apache tus scripts PHP, que puede ser nobody o tu usuario si está instalado PHPSuexec o similares en el servidor.
__________________
Minerva Hosting - Obsesionados con la calidad
Elegidos mejor web de hosting de 2005 y 2006
Hosting • Dominios • Backup remoto • Telefonía IP
  #3 (permalink)  
Antiguo 18/09/2007, 09:30
 
Fecha de Ingreso: octubre-2006
Ubicación: Barcelona
Mensajes: 94
Antigüedad: 18 años
Puntos: 0
Re: Ejecutar system() o exec() y permisos

Entonces para poder utilizar esas funciones necesito PHPSuexec instalado en el servidor? ( el problema que probandolo no se me ejecuta ni me hace ls por eso lo decia)

Otra cuestion que queria saber es a cuanto seguridad...que opinas? pero relamente si quieres dar un servicios mas grafico creando tus propios paneles para algun tipo de servicio debes correr el riesgo no? de todas formas, el instalar ese componente haria que cualquier persona con un hosting en el dedicado pueda ejecutar algun tipo de programa del dedicado ,no? se ejecutaria como nobody como dices y tendria acceso, luego puede sacar el resultado en una variable y mostrarla con un simple echo.

Claro es que que me puedan ejecutar un cat ARCHIVO por ejemplo no me interesa jejej. Bueno espero soluciones o sugerencias en cuanto seguridad.

Gracias :D
  #4 (permalink)  
Antiguo 18/09/2007, 11:28
Avatar de MinervaH
Colaborador
 
Fecha de Ingreso: mayo-2004
Mensajes: 2.189
Antigüedad: 20 años, 5 meses
Puntos: 23
Re: Ejecutar system() o exec() y permisos

No, no hace falta instalarlo. Si PHPSuexec está instalado, o lo instalas, tus scripts correrán con tu usuario, si no lo está con el usuario con el que esté instalado Apache, nobody o httpd, depende de la distribución de Linux o del panel de control que tengas.

Si tus scripts están bien programados no deberían suponer un riesgo de seguridad, procura hacerlos lo más seguros posible, busca en Internet información sobre PHP y seguridad, hay mucha información. Aquí también hay un subforo sobre PHP, puedes mirar si se ha tratado este tema antes o publicar allí un mensaje pidiendo opiniones.

También deberías comprobar que las funciones que necesites usar, system() o exec() no estén deshabilitadas en la configuración de PHP en el servidor. Por tu mensaje no me queda claro si tienes tu propio servidor o hosting en algún proveedor de hosting.
__________________
Minerva Hosting - Obsesionados con la calidad
Elegidos mejor web de hosting de 2005 y 2006
Hosting • Dominios • Backup remoto • Telefonía IP
  #5 (permalink)  
Antiguo 18/09/2007, 13:11
Avatar de WebTech
Hosting Moderator
 
Fecha de Ingreso: octubre-2005
Ubicación: East Coast
Mensajes: 5.399
Antigüedad: 19 años, 1 mes
Puntos: 162
Re: Ejecutar system() o exec() y permisos

Siempre se recomienda tener esas (además de otras) funciones deshabilitadas, claro que hay ciertos casos como este en que debes usarlas, pero siempre hay alternativas para tratar de evitar el uso de funciones peligrosas.

Como comentó MinervaH, corren como el usuario, o como nobody, no hay más vueltas

Saludos,
__________________
Infranetworking.com - Expertos en Hosting Multidominio, Cloud Hosting, Servidores Dedicados y Administración de Servidores Linux
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:14.