[linux] sudoでPATHなどの環境変数を引き継ぐ

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

トラックバック(0)

このブログ記事を参照しているブログ一覧: sudoでPATHなどの環境変数を引き継ぐ

このブログ記事に対するトラックバックURL: http://www.pistolfly.jp/mt/mt-tb-alt.cgi/894

コメントする