0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

/etc/profileに定義した環境変数がユーザごとに切り替わる

Posted at

概要

/etc/profileに定義したはずの環境変数がユーザごとに切り替わるトラブルが起きた。色々調査した記録。

結論

  • 環境変数の設定箇所を確認するときは外部ファイルを読み込んでないか確認しよう
  • 環境変数の定義方法をプロジェクトとして統制しよう

想定

EXAMPLE_USER1
EXAMPLE_USER2
どちらでも環境変数EXAMPLE_VALIABLEの値はCORRECT_EXAMPLE_VALUEであるはず

とりあえず原因箇所を特定しよう

まずはファイルを見る

ユーザごとに設定値が変わってしまうなら十中八九.bash_profileか.bashrcに定義しているはず

cat .bash_profile |grep EXAMPLE_VALIABLE
cat .bashrc |grep EXAMPLE_VALIABLE

→どっちも定義を上書きしてはいなさそう?

状況を確認しよう

su - EXAMPLE_USER1
echo $EXAMPLE_VALIABLE

CORRECT_EXAMPLE_VALUE

su EXAMPLE_USER1
echo $EXAMPLE_VALIABLE

CORRECT_EXAMPLE_VALUE

su - EXAMPLE_USER2
echo $EXAMPLE_VALIABLE

INCORRECT_EXAMPLE_VALUE

su EXAMPLE_USER2
echo $EXAMPLE_VALIABLE

CORRECT_EXAMPLE_VALUE

つまり、EXAMPLE_USER2の環境変数設定を読み込んだときに環境変数が切り替わってしまうように見える

調査しよう

EXAMPLE_USER2の環境変数設定を読み込んだときに環境変数が切り替わってしまう

のであれば、疑わしいのはEXAMPLE_USER2の.bash_profileか.bashrc

先輩「sourceしてんじゃない?」

cat .bash_profile |grep source
source /hoge/fuga/EXTRANAL_FILE

cat /hoge/fuga/EXTRANAL_FILE|grep EXAMPLE_VALIABLE
export EXAMPLE_VALIABLE=INCORRECT_EXAMPLE_VALUE

⇒これだ!!

反省

  • 環境変数はprofile系のファイルに直接書かれていると思い込んでいたこと
  • ファイルや定義方法がプロジェクトとして統制されておらず、各チーム任せになっていること
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?