パスワードを環境変数に設定するときにhistoryに残らないようにする
プログラムの中でパスワードをつかいた場合に環境変数から読み込むことがあるが,環境変数を設定するときにhistoryやbashファイルにパスワードが平文で残ることがある.
今回は,パスワードを平文としてhistoyr,bashファイルに残さずに環境変数に設定する.
環境変数TEST_ENVを出力するプログラム(test.py).今回の検証で使う.
import os
test_env = os.environ.get('TEST_ENV')
print(test_env)
まずは通常の方法でhistoryに環境変数の設定時のコマンドが残るのを確認する.
環境変数を設定して,それを出力する.
$export TEST_ENV="test_env"
$python test.py
test_env
hitoryを確認すると,環境変数TEST_ENVにtest_envを設定した履歴が残る.
$history | tail -n 2
5529 export TEST_ENV="test_env"
5530 python test.py
続いて,historyに残らない方法を試す.
readコマンドで環境変数を設定する.
test_passwordを環境変数TEST_ENVに設定して出力する.
$read TEST_ENV
test_password
$python test.py
test_password
historyで確認しても残っていないのがわかる.
$history | tail -n 2
5532 read TEST_ENV
5533 python test.py
この記事が気に入ったらサポートをしてみませんか?