[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:04322] Re: LD_LIBRARY_PATHが継承されない
-
From:Ikeda Kotaro
-
Date:Sun, 7 Nov 1999 21:16:25 +0900
- Subject: [plamo:04322] Re: LD_LIBRARY_PATHが継承されない
- From: Ikeda Kotaro <kota@xxxxxxxxxxxxxxxxxxx>
- Date: Sun, 7 Nov 1999 21:16:25 +0900
- Posted: Sun, 07 Nov 1999 20:51:49 +0900
池田@仙台です。
# 後から気がついたのですが、Slackware/RedHatの違いは、shadow passwd付属の
# suとGNU shell util 付属の su の違いではないか、と思い当たりました。
# http://www.linux.or.jp/JM/html/GNU_sh-utils/man1/su.1.html
# http://www.linux.or.jp/JM/html/shadow/man1/su.1.html
## ソース内部までは見ていません。ごめんなさい。
From: KOJIMA Mitsuhiro <kojima@criepi.denken.or.jp>
Subject: [plamo:04312] Re: LD_LIBRARY_PATHが継承されない
Date: Sat, 6 Nov 1999 11:35:33 +0900
Message-ID: <19991106112739A.kojima@criepi.denken.or.jp>
> > # おかげで、他のディストリビューションに移行した人から、
> > # 「shutdownがcommand not foundになります」というのがFAQに
> > # なりましたよね?
> >
>
> これはあまり聞いたこと無かったけど、どういう症状でしょう?
つまらないことなのですが、RedHat系で、引数なしでsuを実行すると
PATHが継承されます。このため、「一度ログアウトしてからrootで
ログインし直さないとshutdownできないけどどうして?」といった類の
質問をよく見かけました。
# もちろん答えは「フルパスで実行するか、"su -"を使え 」です;)
「Slackwareから移行した」と書いてある場合もありましたし、
そうでないこともありましたが、参考にした文書がSlackwareを
前提に書いてあった影響もあるんじゃないかと憶測してます。
...だけでは、なにやら申し訳ないので、shadow-980403のソースを
見てみました。
> # shadow passwd suits に付属の su のソースはざっと眺めてみて、PATH が
> # 変更されることは確認したんだけど、LD_LIBRARY_PATH は特に明示的には変
> # 更していないみたい。
src/su.c の main()直後に sanitize_env();(実体はlibmisc/env.c)という
関数がありまして、この中で
static char * const forbid[] = {
"ENV=",
"BASH_ENV=", /* GNU creeping featurism strikes again... */
"HOME=",
"IFS=",
"LD_", /* anything with the LD_ prefix */
"PATH=",
"SHELL=",
"_RLD_=",
"SHLIB_PATH=",
"LIBPATH=",
"KRB_CONF=",
"MAIL=",
(char *) 0
};
の環境変数が消去されているようです。
つまり、shadow passwd 付属の su を使っている限り、LD_*は継承され
ません。元の質問者の方への解答としては、LD_*を継承する特製suを
つくる(libmisc/env.cの一行を消去するだけ)か、おそらくはGNU shell
utilのsuを使うことで解決する、ということになると思います。
--
――――――――――――――――――――――――
東北大学情報科学研究科 情報応用数理学III
池田光太郎 kota@cmm.is.tohoku.ac.jp
――――――――――――――――――――――――
- Follow-Ups
-
- [plamo:04326] Re: LD_LIBRARY_PATHが継承されない, Michihide Hotta
- References
-
- [plamo:04312] Re: LD_LIBRARY_PATHが継承されない, KOJIMA Mitsuhiro
[検索ページ]
[メール一覧]
Plamo ML 公開システム