diary/Kojima

・su と sudo

ちと root ユーザで bdftopcf 等のコマンドを実行しようと /etc/login.defs の ENV_SUPATH 設定に /usr/X11R7/bin を追加したのだけど、 sudo でビルドスクリプトを実行すると /usr/X11R7/bin にパスが通っていない。

% su
パスワード: ****
bash-3.2# env | grep -i path
PATH=/usr/X11R7/bin:/sbin:/bin:/usr/sbin:/usr/bin
PKG_CONFIG_PATH=/usr/X11R7/lib/pkgconfig:/usr/lib/pkgconfig
bash-3.2# exit
exit
kojima@athlon[~]% sudo env | grep -i path
パスワード: ****
PATH=/bin:/usr/ucb:/usr/bin:/usr/sbin:/sbin:/usr/etc:/etc

/usr/ucb なんてパスをどこで設定しているのかしばらく悩んだのだけど、考えてみると sudo はログインしない(/bin/login は通らない)ので、 /etc/login.defs は読まないので、私のログインシェルである tcsh のコンパイル時に組み込まれたデフォルト値っぽい。

/etc/csh.login とか /etc/csh.cshrc とかで設定しても反映されないところを見ると、コンパイル時に修正しないとダメなのかな?



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:42