On 06/27/2012 06:53 PM, Marco González Luengo wrote: > El 27 de junio de 2012 18:39, Hector Gatica > <hector.gat...@opensynapse.cl>escribió: > >> On Wed, 27 Jun 2012 18:34:06 -0400, Waldo Morales >> <waldo.mora...@gmail.com> wrote: >>> On 06/27/2012 06:23 PM, Hector Gatica wrote: >>>> Si tienes safe_mode apagado , haz intentado con exec ? >>>> >>>> Saludos. >>>> >>>> On Wed, 27 Jun 2012 18:02:47 -0400, Marco González Luengo >>>> <noquierou...@gmail.com> wrote: >>>>> El 27 de junio de 2012 17:53, jmvidal...@gmail.com >>>>> <jmvidal...@gmail.com>escribió: >>>>> >>>>>> Y porque no puedes tirar un cron? No me quedo claro >>>>>> >>>>> >>>>> No puedo tirar un cron porque el encendido de las máquinas es bajo >> demanda, >>>>> o sea, cuando se quiere que se enciendan. Lo mismo con el comando beep >> que >>>>> trato de correr. >>>>> >>>>> Como aporte de antecedentes, me puse a probar si acaso podía correr >>>>> comandos como `ls -la` o `dmesg` con el script que puse al iniciar el >> hilo; >>>>> y éstos corren sin problema. Pero tratar de correr `beep` o >> `ether-wake` >>>>> (con o sin parámetros) no me arroja resultados. >>>>> >>>>> También como mencioné anteriormente, tengo php con safe_mode apagado y >>>>> SELinux desactivado, así que no veo qué podría estar impidiendo correr >>>>> ciertos comandos mediante PHP. >>>> >>> Hola, >>> >>> Tu problema aparentemente son los permisos de ejecucion, prueba con >>> exec como dice el amigo antes y tambien dandole mas permisos al usuario >>> que ejecuta o al programa mismo ( prueba con whoami , luego "su <usuario >>> de whoami>" e intenta correr estos comandos desde una consola ) . >>> >>> >>> >>> Saludos. >>> >>> PD : nunca es buena idea darle poderes a php para prender o apagar >>> computadoras expuesto a internet, si hay otra solucion posible claro. >> >> Lo otro , y pensando en que si corre eh php-cli , pero no sobre web. >> Efectivamente puede ser un tema de permisos. >> PHP corre sobre www-data sobre apache por ejemplo. Probablemente no >> tenga acceso a ese binario. >> >> Por ultimo , copia el ejecutable del beep a un home , dale 755 y >> verifica si corre ( ahí sales de dudas ). >> > > Probé con `whoami`y vi que corre con el usuario "apache". > > Hice esto de copiar `beep` a un home, pero al ejecutarlo me da un exitcode > de 126 al ejecutar `/home/probeta/beep`, incluso con chmod 777 y chown > apache: > > Pero si, definitivamente esto es problemas de permisos de ejecución. ¿Cómo > podría darle permisos a apache para correr esto? Me encontré con que podría > darle la pasada en /etc/sudoers, pero no quiero llegar a ése punto. > > >> >> Saludos. >> >> Una ultima cosa,
No funcionara lo de copiar el binario a un "home" porque el apache corre probablemente en otro entorno ( corre "pwd" tal como "whoami" y veras), adicionalmente ( y probablemente ) la carpeta donde esta el usuario y el apache corriendo no tiene permisos de ejecucion ( al contrario que la carpeta cgi-bin por ejemplo) Digo probablemente porque depende de muchas otras cosas ,configuracion del OS, sistema de ficheros, configuracion del apache etc. Saludos.