Gentoo Archives: gentoo-user-es

From: "d2clon@×××××××××××××××.org" <d2clon@×××××××××××××××.org>
To: gentoo-user-es@l.g.o
Subject: Re: [gentoo-user-es] conflicto con las variables de entorno y demonios de arranque
Date: Mon, 17 May 2004 18:48:34
Message-Id: 200405171528.10141.d2clon@desarrolladores.org
1 >
2 > No es posible que el usuario sobreescriba las variables, por que su es
3 > el padre, y su hijo es un shell con login. Un hijo no puede modificar al
4 > padre.
5 >
6 > No. Yo creo que lo que te está sucediendo es que al regresar del shell,
7 > de alguna forma tu echo es sobreescrito. Posiblemente por el prompt. O
8 > algo similar.
9 > Intenta poner un echo vacío antes y después, y checa si sucede algo.
10
11
12 no.. si el problema.. no es que el hijo sobre escriba las variables de el
13 padre..
14 el problema es que al hijo.. no le llegan la variables del padre..
15
16 fijate.. he aislado mas el problema aun ..
17
18 he creado un script muy sencillo:
19 ========================================0
20 linuxready root # cat /tmp/script.sh
21 #!/bin/sh
22 echo "valor=$VARIABLE"
23 ========================================0
24
25
26 exporto una variable:
27 ========================================0
28 linuxready root # export VARIABLE="valor"
29 ========================================0
30
31 la leo a traves de un su - y un -c:
32 ========================================0
33 linuxready root # su - tomcat -c "echo valor=$VARIABLE"
34 valor=valor
35 ========================================0
36
37 todo bien..
38
39 ahora la leo invocando al script desde el -c:
40 ========================================0
41 linuxready root # su - tomcat -c "/tmp/script.sh"
42 valor=
43 ========================================0
44
45 la variabel no está..
46
47 podría ser que en el $HOME del usuario tomcat hubiera un .bashrc que borrara
48 todas la variables de entorno .. pero no es el caso:
49 =========================================0
50 linuxready root # finger tomcat
51 Login: tomcat Name: Apache Tomcat
52 Directory: /home/tomcat Shell: /bin/sh
53 Never logged in.
54 No mail.
55 No Plan.
56 linuxready root # ls -la /home/tomcat/
57 total 5
58 drwx------ 2 tomcat tomcat 80 May 17 12:49 .
59 drwxr-xr-x 7 root root 200 May 17 12:41 ..
60 -rw------- 1 tomcat tomcat 177 May 17 13:23 .bash_history
61 ===========================================0
62
63
64 ahora.. si prueba en ved de con el su - .. con el su a secas:
65 ===========================================0
66 linuxready root # su tomcat -c "/tmp/script.sh"
67 valor=valor
68 ===========================================0
69
70 funciona¡¡
71
72 todo esto .. lo he probado en otra máquina y ocurre exactamente lo mismo..
73
74 tengo entendido que cuando le pones el - al comando su.. lo que ocurre es que
75 se ejecuta el entorno del usuario.. es decir.. el .bashrc y el .bash_profile
76 que tenga en su home..
77
78 pero este usuario no tiene nada en el home..
79
80 entonces..
81 por que se borra la variable de entorno??
82 como puedo evitarlo.. ??
83
84 deberé modificar el script del demonio que me ha creado el emerge.. y quitarle
85 el - a la sentencia su ??
86
87 gracias.. y saludos
88 d2clon
89
90
91 --
92 gentoo-user-es@g.o mailing list

Replies

Subject Author
Re: [gentoo-user-es] conflicto con las variables de entorno y demonios de arranque davidgn@×××××××××××××.mx