sudoで環境変数が引き継がれない?

社内クラウド環境でセグメント次第ではプロキシを通さないといけない環境があり、

プロキシ環境変数を設定していたのだが、sudoでyum installしようとすると、yumrpmを取得する段階でタイムアウトが起こってしまう状況にあり、悩んでいたのだが、調べてみると非常に単純。

 

http://www.odin.hyork.net/write/write0212.html

sudo を使うと root の権限でコマンドを実行することができますが デフォルトの設定では、環境変数も変わってしまうため 権限だけ root にすることができません。

 

原因がこれでした。

rootだと、うまくいき、sudoではうまくいかない、つまりsudoの設定次第。

 

てなわけで、visudoし、

Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KD LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \ LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDEN LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_N LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUA _XKB_CHARSET XAUTHORITY"

の部分を、

Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \ LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \ LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \ LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \ _XKB_CHARSET XAUTHORITY http_proxy ftp_proxy HTTP_PROXY FTP_PROXY proxy PROXY"

HTTP_PROXY FTP_PROXY PROXYの環境変数も引き継ぐように設定し、無事問題解決。

これ、ネットワーク環境次第では悩みますね。