Current time: 11-27-2024, 04:20 PM Hello There, Guest! (LoginRegister)


Post Reply 
[Cerrado] Poner botones que ejecuten scripts
Author Message
spidersoftware Offline
Junior Member
*

Posts: 80
Joined: Apr 2010
Reputation: 0
Post: #1
[Cerrado] Poner botones que ejecuten scripts
Que tal, me gustaria saber si puedo añadir botones (e visto alguna opcion que si pero creo que no me vale del todo), para que un user normal arranque un script desde su propio panel, es decir lanzar un proceso desde su panel de control con los privilegios de ese mismo user, no se si alguien lo a hizo ya o es algo muy complicado.

Siempre logicamente con los privilegios de ese user.

Bueno ya me contais, un saludo.
(This post was last modified: 06-16-2010 05:54 PM by kurgans.)
06-12-2010 04:25 PM
Find all posts by this user Quote this message in a reply
djtenssy Offline
Junior Member
*

Posts: 85
Joined: Jun 2008
Reputation: 0
Post: #2
RE: Poner botones que ejecuten scripts
Hola Spìdersoftware,

Creo que la única opción sería poner esos scripts en la carpeta cgi-bin del usuario, cambiándole tú mismo los permisos y propietarios del script para que lo pueda ejecutar y después crearle un botón.

Una alternativa sería crear un módulo estilo del installer de software, que copiase el script a la carpeta cgi-bin del usuario, dándole sus permisos y así poder crear el botón. Ya intenté algo parecido, para crear un instalador de paquetes, pero no me dejaba copiar los archivos a la carpeta del user y darle permisos.

Salu2.-
06-12-2010 06:13 PM
Visit this user's website Find all posts by this user Quote this message in a reply
kilburn Offline
Development Team
*****
Dev Team

Posts: 2,182
Joined: Feb 2007
Reputation: 34
Post: #3
RE: Poner botones que ejecuten scripts
Por motivos de seguridad el panel NO puede acceder directamente a los ficheros de los usuarios. Cuando esto es necesario (para gestionar las páginas de error por ejemplo), se puede hacer de dos formas:

1. Utilizar el "Virtual File System" (ver /var/www/ispcp/gui/include/class.vfs.php), que crea una cuenta ftp temporal y permite meter/sacar/borrar ficheros directamente como si lo hiciera el usuario de verdad.
2. Escribir un script de "backend", que se dispare a través del demonio ispcp. Estos scripts se ejecutan como root, pero la infraestructura es complicada y hay que vigilar mucho con la seguridad, así que no es nada recomendable en general.
06-12-2010 06:57 PM
Visit this user's website Find all posts by this user Quote this message in a reply
macbishop Offline
Junior Member
*

Posts: 68
Joined: Feb 2007
Reputation: 7
Post: #4
RE: Poner botones que ejecuten scripts
(06-12-2010 06:57 PM)kilburn Wrote:  Escribir un script de "backend", que se dispare a través del demonio ispcp. Estos scripts se ejecutan como root, pero la infraestructura es complicada y hay que vigilar mucho con la seguridad, así que no es nada recomendable en general.

Bueno en realidad como bien dice kilburn se puede hacer utilizando el mismo procedimiento que utiliza ispcp.

1. Se crea un script perl con el código de lo que queremos ejecutar:
Code:
/var/www/ispcp/engine/script_a_ejecutar.pl
le ponemos permiso 0700.

2. Creamos en el gui, (se puede hacer también a nivel admin o reseller), un botón que llame a::
Code:
/var/www/ispcp/gui/client/archivo.php

con el siguiente código:
Code:
<?php
require '../include/ispcp-lib.php';
check_login(__FILE__);
send_request();
sleep(2);
header("Location: archivo_de_vuelta.php");
?>
La función sleep(2) espera 2 segundos (o el tiempo que queramos) para que se ejecute la siguiente linea (header("Location...) de esta manera se le da tiempo a perl para que ejecute el script y cuando se vuelva al gui se vean los resultados si es necesario.

3. Editamos
Code:
/var/www/ispcp/engine/ispcp-rqst-mngr

y debajo de:
Code:
use warnings;

insertamos la siguiente linea:
Code:
sys_command('/var/www/ispcp/engine/script_a_ejecutar.pl &>/var/log/ispcp/script_a_ejecutar.log');

en el archivo:
Code:
var/log/ispcp/script_a_ejecutar.log
podremos depurar los errores del script.

De esta forma podemos ejecutar comandos personalizados desde el panel con el mismo nivel de seguridad que ispcp. Wink

Saludos.
(This post was last modified: 06-12-2010 08:38 PM by macbishop.)
06-12-2010 08:27 PM
Find all posts by this user Quote this message in a reply
spidersoftware Offline
Junior Member
*

Posts: 80
Joined: Apr 2010
Reputation: 0
Post: #5
RE: Poner botones que ejecuten scripts
Que tal , muchas gracias por la respuesta, me valdria para otras cosas y esta muy claro, pero el problema es que no quiero que root lance ese servicio que lanzo con el esploit, es un juego online, y hacelo con root compromete mucho el sistema, ademas cada usuario tendria que subir mapas del juego a su FTP asi que necesitaria que fuera siempre el user y no root para tener al personal separado.

Esta claro que si lo ejecuta el mismo que lazan e ISP tiene que ser root pero a mi me hace falta que lo lance cada user para que cada uno suba sus cosas, asi que bueno esto me valdra seguro para otras ideas que tengo en mente pero no para el juego online.

Yo andaba mas en la linea de darle una shell a cada user, es decir que el user que cree no sea solo de FTP, web etc..pense que igual el user es creado y podemos darle y quitarle la shell en alguna config como a los user normables con bindshell false o algo similar, pero me es imprescindible que lo lance cada user.

Bueno muchas graciar por vuestro interes y rapidas respuestas, un saludo.
06-12-2010 10:40 PM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 2 Guest(s)