Página 1 de 1

system() en cgi

NotaPublicado: 2012-08-07 13:41 @612
por millen
Buenas,

¿Se puede ejecutar un system() en un script cgi para ejecutar un programa o tengo que añadir todo el programa en el script?

Muchas Gracias.

Re: system() en cgi

NotaPublicado: 2012-08-07 13:57 @623
por explorer
Sí que se puede, recordando que el programa ejecutado por system() hereda la personalidad (los permisos y privilegios) del usuario que ejecuta el cgi (normalmente, el usuario web), así que podrá acceder/escribir a archivos con esa personalidad (u otra si el ejecutable tiene activado el setuid).

Re: system() en cgi

NotaPublicado: 2012-08-09 04:47 @241
por millen
Hola de nuevo,

Activando el suid, me da este error: Args must match #! line at predict.pl line 1.

¿Por qué me dice eso?

Muchas gracias.

Re: system() en cgi

NotaPublicado: 2012-08-09 11:57 @540
por explorer
Forma parte del sistema de seguridad del sistema operativo:

La llamada al programa Perl debe coincidir con lo indicado en la línea shebang del propio programa Perl, en lo que a los argumentos se refiere.

Por ejemplo, si el programa comienza así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl -T
  2. ...
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


entonces debemos ejecutarlo de la misma manera:

/usr/local/bin/programa.pl -T

Estamos obligados a poner el '-T' aún cuando esté escrito dentro del propio programa.