2011年7月22日

[ubuntu-jp:3714] Re:PATHの設定での質問

> あっ 効きました。
> ありがとうございます。
> でも、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設定を行うことで回避できますが、これはあまり望ましくないので、
  「なぜそうしたいのか」を教えてください。


投稿者 xml-rpc : 2011年7月22日 19:31
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/105372
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。