On Sat, May 15, 2004 at 09:23:26AM +0200, Pascal Bleser wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Vincent Jamart wrote: > | Y a une m?thode plus "propre" que de relancer un ldconfig incluant mon > | path vers les librairies en question pour qu'elles soient trouv?es par le > | binaire? En plus la variable en elle-meme semble etre une mauvaise chose > | si je me r?f?re ? http://www.visi.com/~barr/ldpath.html > | : "Ship your binaries as .o files, and as part of the install process > | relink them with the correct installation library path" > | mwais...? > > Euh, bof. bofbofbof > Pas tout-?-fait d'accord avec ?a. > > C'est aussi l'int?r?t des paquets: de trouver les librairies ? un endroit > bien d?termin? (du moins > +ou-). Le fait d'avoir /lib, /usr/lib et /usr/local/lib dans le chemin de > recherche statique de > ld.so ("runtime linker" (*)) devrait en principe ?tre un syst?me assez > flexible pour tout ce qui est > install? proprement (oui, il y a aussi /usr/X11R6 et qqes petits trucs en > plus). > (*) je mets pas ?a pour toi hein, Vincent, ni pour Jef ;))) > > Il me semble avoir vu qqe part un programme permettant de manipuler les > en-t?tes ELF, et donc de > modifier le "library search path" qui est encod? dans ces-ent?tes (pour les > "binaries" > ("?x?cutables") et shared libs). > Mais c'est assez compliqu? et je ne suis pas certain que c'est le moyen le > plus "propre" (et je > n'arrive plus ? mettre la main dessus sur freshmeat.net lol).
Il n'y a pas de path dans une shared lib, uniquement le nom absolu et eventuellement des restrictions de versions pour gerer les dependences envers d'autre shared libs. C'est donc le job du dynamic linker de loader les libs a partir du bon endroit. Si on utilise ldconfig, on ajoute un patch permanent, LD_LIBnia pouvant le faire de maniere temporaire. Quel que soit la maniere dont on cuisine la chose, il faut soit passer a ld.so le path ou chercher les libs en question. Sinon un programme qui permet de manipuler tout object elf: elfsh , vraiment vraiment bien cool comme tool/librairie, il ne faut que kk secondes pour infecter un executable et lui faire faire d'autres choses ;) > > | On Wed, 12 May 2004, Jean-Francois Dive wrote: > |>si je me souviens bien, avec rexec .profile n'est pas lu par bash car > etant > |>Pour le detail man bash section INVOCATION. Un rapide > |>coup d'oeuil semble dailleur confirmer se que je pensais. > > Oui mais bash va quand m?me lire ce qui se trouve dans BASH_ENV, que tu > peux positionner selon > l'utilisateur via PAM (pam_env, pour ?tre pr?cis). > Exemple: > /etc/pam.d/rexec: > #%PAM-1.0 > ... > auth required pam_env.so envfile=/etc/environment.rexec > ... > > Note qu'on passe directement ? pam_env.so un fichier contenant un > environnement ? lire. > Cela s'applique donc ? tous les utilisateurs qui se connectent via rexec > > /etc/environment.rexec: > LD_LIBRARY_PATH=....... > > Si tu veux utiliser du scripting shell ? cet endroit, p.ex. pour ajouter un > filtrage selon > l'utilisateur (disons, ne positionner LD_LIBRARY_PATH que pour "toto" et > "bidule"), il faut faire > autrement: > > /etc/environment.rexec: > BASH_ENV=/etc/profile.rexec > > /etc/profile.rexec: > case $USER in > toto|bidule) LD_LIBRARY_PATH=..... ;; > esac > > Note que je n'ai pas test? tout ?a, c'est juste une proposition, ? toi de > faire le proof-of-concept ;))) > > |>On Wed, May 12, 2004 at 11:30:31AM +0200, Vincent Jamart wrote: > ... > |>>En local, un ldd trouve toutes les librairies d?pendantes mais un remote > exec sur cette meme > machine avec le > |>>meme user pour ex?cuter "ldd foo" sort en erreur: le librairies ne sont > |>>pas trouv?es. Une id?e sur une solution pour le rexec de mon binaire? > Note que si tu veux laisser aux bons soins de l'utilisateur de configurer > son LD_LIBRARY_PATH (et > pas via un /etc/profile.rexec qui est global (et donc root:root)), tu > pourrais aussi mettre ceci > dans /etc/profile.rexec (cf. ci-dessus): > case $USER in > toto|bidule) > [ -r $HOME/.profile.rexec ] && . $HOME/.profile.rexec > ;; > esac > > - -- > ~ -o) Pascal Bleser http://guru.unixtech.be > ~ /\\ <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> > ~ _\_v The more things change, the more they stay insane. > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.2 (GNU/Linux) > > iD8DBQFApcVur3NMWliFcXcRAgibAKCmAD4JuopfSWdIIiJe/mmHZg65PACfRwGn > iNBlrC/GuE+QOow227+/gEk= > =vkV+ > -----END PGP SIGNATURE----- > _______________________________________________________ > Linux Mailing List - http://www.unixtech.be > Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux > Archives: http://www.mail-archive.com/[EMAIL PROTECTED] > IRC: chat.unixtech.be:6667 - #unixtech -- -> Jean-Francois Dive --> [EMAIL PROTECTED] I think that God in creating Man somewhat overestimated his ability. -- Oscar Wilde _______________________________________________________ Linux Mailing List - http://www.unixtech.be Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux Archives: http://www.mail-archive.com/[EMAIL PROTECTED] IRC: chat.unixtech.be:6667 - #unixtech