[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:14256] Re: X を起動する LD_LIBRARY_PATH が消えます
佐野@浜松です。
In article <19990405125221.6765.qmail@xxxxxxxxxxxxxxx>
Kunihisa Kawamura <kunihisa@xxxxxxxxxxxxxxx> さん writes:
> ld.so の manpage を調べる発想は、しばらく私には難しい... (^^;;
問題の環境変数は LD_LIBRARY_PATH ですから、 LD に関係するものを
考えれば、適当に漁ってみても
$ ls -R /usr/man|egrep '^ld'
ld.1.gz
ldexp.3.gz
ldiv.3.gz
ld.1.gz
ld86.1.gz
ldd.1.gz
ldrdf.1.gz
ldexp.3.gz
ldiv.3.gz
ld.so.8.gz
ldconfig.8.gz
くらいには絞り込めます。もうちょっと考えて、 LD_LIBRARY_PATH 自体で
検索をかけると
for i in `find /usr/man -type f -and -name "*.gz"`;
do gzip -d -c $i|grep LD_LIBRARY_PATH && echo $i; done
.B LD_LIBRARY_PATH
.B LD_LIBRARY_PATH
/usr/man/man8/ld.so.8.gz
replacements the program cannot use, and sets the LD_LIBRARY_PATH
.IP LD_LIBRARY_PATH
/usr/man/man8/update-xaw-wrappers.8.gz
\fBUID\fP, \fBEUID\fP, \fBUSERNAME\fP, \fBLD_LIBRARY_PATH\fP,
/usr/man/man1/zshmisc.1.gz
\s-1LD_LIBRARY_PATH\s0 for SunOS).
/usr/man/man3/DynaLoader.3pm.gz
.BR LD_LIBRARY_PATH ", " LD_PRELOAD
.BR IFS " or " LD_LIBRARY_PATH .
/usr/man/man7/environ.7.gz
と出るので、 ld.so.8 を最初に調べられますね。
for i in `find /usr/man -type f -and -not -name "*.gz"` ;
do cat $i|grep LD_LIBRARY_PATH && echo $i; done
こっちのほうには、何も出てきませんでした。
> setuid されているという事は、バイナリの所有者の権限で実行
> されると。kterm の場合、
>
> -rwsr-xr-x 1 root bin 141772 Nov 4 20:47 /usr/bin/X11/kterm
>
> なので、root権限で実行されることになります。
> そこで、kterm が実行時に要求する共有ライブラリを単純に LD_LIBRARY_PATH に
> 設定されているものとしてしまうと、誤ったライブラリ(あるいは信頼のおけない
> ライブラリ)をリンクしてしまう可能性があり、非常にヤバイ(う〜ん、このあたり
> 抽象的な表現しかできなです)ことになるかも...
そういうことですね。バイナリが strip されていると nm コマンドで
シンボルを調べることはできませんが、 string かけると使用されている
関数名らしきものが出たりします。自分で適当な共有ライブラリを作って、
正規な動作の他に「余分なイタズラ」をする関数を入れておいて、そっちを
使うようにさせると、アプリケーション側にバグが無くても妙な動作をさせる
ことができたりするでしょう。
> 以上ですが、添削お願いします。m(_._)m
自分でそういうものを作ったことは無いので、「添削」できるレベルには
ありませんが、すくなくとも私の考えたことと同じことを考えておられる
ようです。 (なので、たぶん同じくらいのレベルにあるものと。)
> > #わたしのおうちは浜松市、「夜のお菓子」で有名さ。
>
> そう言えば、しばらく「○○○パイ」食べてないなぁ。。。(^^;;
# ちょっと前には「ジュビロサブレ」をお土産にしたりすることが
# 実は多かったり、、、正月の挨拶には「ふる里総本家」で土産を
# 買うことが最近多いです。 (> おもいきり浜松ローカルな話題 ^^;;)
--
#わたしのおうちは浜松市、「夜のお菓子」で有名さ。
<xlj06203@xxxxxxxxxxx> : Taketoshi Sano (佐野 武俊)