• Publicidad

Problema con $ENV{PERL5LIB} y suidperl

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Problema con $ENV{PERL5LIB} y suidperl

Notapor kondenado » 2008-05-15 02:02 @126

Buenas, les cuento:

Pues lo que pasa es que he estado haciendo algunas pruebas con la variable de entorno PERL5LIB. He creado un script en /tmp, llamado prueba.pm (/tmp/prueba.pm) y en el fichero .pl he puesto
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use prueba;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
. Como es obvio me lanza el típico error :
Can't locate prueba.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/
perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl) at prueba.pl


Ahora, segun tengo entendido, eso se solucionaría seteando la variable de entorno PERL5LIB al directorio /tmp, (export PERL5LIB="/tmp"). En efecto, al realizar un perl -V me dice:

%ENV:
PERL5LIB="/tmp"
@INC:
/tmp
/etc/perl
/usr/local/lib/perl/5.8.8
/usr/local/share/perl/5.8.8
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.8
/usr/share/perl/5.8
/usr/local/lib/site_perl
.

Pero al momento de correr el script a través de suid -T prueba.pl me sigue lanzando el mismo error.

¿Dónde esta el problema?
Avatar de Usuario
kondenado
Perlero nuevo
Perlero nuevo
 
Mensajes: 43
Registrado: 2006-08-21 18:57 @831

Publicidad

Notapor explorer » 2008-05-15 02:43 @155

No es necesario modificar la variable de entorno. Te basta con hacer un
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use lib '/tmp';
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


De todas maneras, el error me parece curioso. No veo dónde puede estar el problema. ¿Permisos de lectura, quizás?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor kondenado » 2008-05-15 02:48 @158

Mi idea era hacerlo sin modificar el fichero, por eso. Por lo que estuve leyendo, se puede hacer también con
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
perl -Mlib=/tmp
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
ó
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
perl -Idirectory=/tmp
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
:)

Lo unico que no pude realizar fue ejecutar suidperl -T con esos comandos, ya que el fichero .pl contiene en la primera linea
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/suidperl -T
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
y al ejecutarlo me lanza:
Args must match #! line at openwebmail.pl line 1.
Avatar de Usuario
kondenado
Perlero nuevo
Perlero nuevo
 
Mensajes: 43
Registrado: 2006-08-21 18:57 @831

Notapor kondenado » 2008-05-17 01:08 @089

En definitiva, mecanismos de seguridad para correr scripts de perl bajo permisos suid.

http://perldoc.perl.org/perlsec.html

saludos
Avatar de Usuario
kondenado
Perlero nuevo
Perlero nuevo
 
Mensajes: 43
Registrado: 2006-08-21 18:57 @831

Notapor explorer » 2008-05-17 04:44 @239

Según la documentación que hay en perldiag, el error que te sale es

Código: Seleccionar todo
Args must match #! line
    (F) The setuid emulator requires that the arguments Perl was invoked with match the arguments specified on the #! line. Since some systems impose a one-argument limit on the #! line, try combining switches; for example, turn -w -U into -wU.


Es decir, el setuid requiere que sean los mismos argumentos los que estén en la línea de invocación de Perl que los que están indicados en la línea '#!'.

Esto también está más explicado en perlsec#Switches On the "#!" Line.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor kondenado » 2008-05-17 12:38 @568

Exacto, ya me di cuenta
Avatar de Usuario
kondenado
Perlero nuevo
Perlero nuevo
 
Mensajes: 43
Registrado: 2006-08-21 18:57 @831


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 12 invitados