[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 メーリングリストの案内