[ubuntu-jp:3714] Re: PATHの設定での質問
Fumihito YOSHIDA
hito @ ubuntu.com
2011年 7月 22日 (金) 10:31:55 UTC
> あっ 効きました。
> ありがとうございます。
> でも、root権限でcronを実行したときとか困るので、どこかで、設定したいです。
ちょっとどこかで勘違いがあるように思います。
現状だと、
・sudo -iでroot権限を取ると環境変数が設定されている。
・sudo -sでroot権限を取ると環境変数は設定されていない。
ということで、「rootユーザーの環境変数としては設定されている」という状態です。
sudo -iは初期ログイン相当のシェルを展開するので、「sudo -iでは設定されている」
ということは、rootを含めて各ユーザーに効いている、ということになります。
一方で、「いまどき」のLinux標準のsudoでは、
・sudo実行時に、「引き継ぐべき」として指定されていない環境変数は
暗黙で落とす(env_reset)。
という処理が既定されているので、sudo -sで環境変数が引き継がれないことは
妥当な挙動です。
なので、
> /etc/environment の設定はrootを除くユーザには効いているのでしょうが
という推定は真ではないように見えます。
対応としては以下になりそうです。
・「root権限でcronを実行したとき」に実際に困っているとすると、何か別の
原因がありえます。どのような状況で困っているのかを教えてください。
・「sudo -sしたときにも指定した環境変数を引き継ぎたい」ということであれば、
env_keep設定を行うことで回避できますが、これはあまり望ましくないので、
「なぜそうしたいのか」を教えてください。
ubuntu-jp メーリングリストの案内