sudoでPATHを引き継ぐようにするには、そのユーザの ~/.bashrc に
alias sudo='sudo env PATH=$PATH'
を追加する。
rubyインストールしてあるのにsudoすると「/usr/bin/env: ruby: そのようなファイルやディレクトリはありません」と言われる - プログラマ 福重 伸太朗 〜基本へ帰ろう〜
以下のような方法もあるようだが、うまくいかなかった。
Studio ODIN - blog風小ネタ集 > sudo で 環境変数を引き継ぐ
# visudo
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"
sudo時には /etc/sudoers で指定された環境変数以外は引き継がれない。
特定のユーザで、全ての環境変数を引き継ぐには、次のような行を追加する。
Defaults:admin !env_reset


コメントする