Foros del Web » Programando para Internet » PHP »

ejecutar shell en php?

Estas en el tema de ejecutar shell en php? en el foro de PHP en Foros del Web. Buenas, soy nuevo en el foro y aprobecho este mensaje para presentarme. Os cuento mi historia: Tengo un ordenador actuando de servidor LAMP (Linus, Apache, ...
  #1 (permalink)  
Antiguo 27/04/2008, 20:04
 
Fecha de Ingreso: abril-2008
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 2
ejecutar shell en php?

Buenas, soy nuevo en el foro y aprobecho este mensaje para presentarme.

Os cuento mi historia:
Tengo un ordenador actuando de servidor LAMP (Linus, Apache, Mysql y Php) con debian
En el mismo servidor he conseguido instalar con exito el mldonkey (que es un cliente p2p)
Tambien tiene installado ssh

Bien pues lo que quiero es programar una página php que me permita ejecutar el demonio del mldonkey (mlnet) con un usuario del sistema determinado, lo de que lo ejecute un usuario determinado es muy importante.

Por eso habia pensado hacer una interface en php que se conecte por ssh, pidiendo el correspondiente login y que ejecute el comando mlnet

Navegando encontré en esta misma web esto: http://www.forosdelweb.com/f18/ejecutar-comandos-shell-por-php-82785/, pero sinceramente no lo entiendo. Además no te pide login de usuario.
También encontré esto: http://www.webtaller.com/construccion/lenguajes/php/lecciones/ejecutar-comandos-shell-mediante-php.php, pero tampoco me es de utilidad puesto que tampoco hace el login y cuando lo he probado, no me dejaba verdaderamente ejecutado el mlnet.

Si alguien conoce algún script en php que haga algo cercano a lo que necesito, puede ayudarme o simplemente orientarme, le estaría muy agradecido

DP: Por si no ha quedado claro, ya que soy pésimo esplicandome, busco un script en php (o que se pueda ejecutar desde un navegador) que permita loguearme en el sistema y ejecutar un comando

Última edición por r4mos; 27/04/2008 a las 20:31 Razón: la posdata
  #2 (permalink)  
Antiguo 28/04/2008, 02:43
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 3 meses
Puntos: 102
Re: ejecutar shell en php?

Lo que te dicen los dos sitios que haz encontrado es bastante simple, solo hay que pasar la línea del comando a ejecutar mediante las funciones exec()[1] y system()[2] de PHP. Es así de simple.

Ahora, primero: ¿qué no mlnet implementa ya una interfaz web?; al menos así lo tenía entendido. Segundo: no sé exactamente como se trate la información cuando el comando te espera el infreso de información (como el usuario y contraseña), así que busca si dentro de los parámetros de entrada están el especificar el usuario y contraseña a ser utilizados (seguramente se podrá) y se facilitará la tarea ya que solo construirías la cadena a ejecutarse con dichos parámetros.

Suerte

[1] http://www.php.net/function.exec
[2] http://www.php.net/function.system
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 28/04/2008, 06:54
 
Fecha de Ingreso: abril-2008
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 2
Re: ejecutar shell en php?

Cita:
Iniciado por jam1138 Ver Mensaje
¿qué no mlnet implementa ya una interfaz web?]
Si, la implementa, pero para eso tienes que ejecutar el demonio mlnet. Se podría hacer que cuando se encienda el ordenador se ejecute automaticamente el mlnet, pero eso no me interesa debido a que gastaría mucho ancho de banda y al estar corriendo un servidor apache se notaría mucho

En cuanto a lo de las funciones exec() y system() de PHP estoy en ello. Muchas gracias. Si lo consigo lo haré saber, aunque sigo abierto a sugerencias
  #4 (permalink)  
Antiguo 28/04/2008, 09:42
 
Fecha de Ingreso: abril-2008
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 2
Re: ejecutar shell en php?

No lo consegí a causa de que el usuario que ejecuta los comandos es www-data y sería un grave error de seguridad cambiar la configuración del apache

A alguien se le ocurre algo mas?

Gracias de antemano
  #5 (permalink)  
Antiguo 28/04/2008, 09:50
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 17 años, 4 meses
Puntos: 4
Re: ejecutar shell en php?

Los problemas de seguridad los podrias resolver con SUDO pero depende de que tareas vas a permitir ejecutar .
__________________
Hernando Saenz Sanchez
  #6 (permalink)  
Antiguo 28/04/2008, 10:23
 
Fecha de Ingreso: abril-2008
Mensajes: 12
Antigüedad: 16 años, 6 meses
Puntos: 2
Re: ejecutar shell en php?

recuerdo que es debian, no ubuntu
  #7 (permalink)  
Antiguo 28/04/2008, 12:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: ejecutar shell en php?

Hola r4mos,

Lo que puedes hacer es crear un programa que tenga programado dentro el elevar los permisos con las opciones adecuadas, y que se dedique solamente a esto, a iniciar el proceso de mlnet.

Saludos.
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 22:01.