Jue May 15, 2008 1:02 am
|
 |
kondenado
Perlero Nuevo

|
Registrado: 21 Ago 2006
Mensajes: 32
|
|
| Problema con $ENV{PERL5LIB} y suidperl |
|
|
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 . Como es obvio me lanza el típico error :
| Cita: | 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:
| Cita: | %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? |
|
|
|

Jue May 15, 2008 1:43 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
No es necesario modificar la variable de entorno. Te basta con hacer un
De todas maneras, el error me parece curioso. No veo dónde puede estar el problema. ¿Permisos de lectura, quizás? |
|
Sab May 17, 2008 12:08 am
|
 |
kondenado
Perlero Nuevo

|
Registrado: 21 Ago 2006
Mensajes: 32
|
|
|
|
Sab May 17, 2008 3:44 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
Según la documentación que hay en perldiag, el error que te sale es
| Código: |
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. |
|
Sab May 17, 2008 11:38 am
|
 |
kondenado
Perlero Nuevo

|
Registrado: 21 Ago 2006
Mensajes: 32
|
|
|
|
|
| Exacto, ya me di cuenta |
|
Powered by phpBB © 2001, 2005 phpBB Group
|