2

私の.bashrcファイルには、リモート Web サイトでバックアップ コマンドを発行するために使用される関数がいくつかあります。現在、ユーザー名とパスワードのフィールドは、関数定義内のプレーン テキストで関数ローカル文字列として格納されています。これを行うより良い方法はありますか?

これまでの私の考えは、自分のユーザー アカウントだけが読み取りアクセス権を持つファイルにパスワードのハッシュ バージョンを配置し、そのファイルに対してハッシュ解除コマンド ライン関数を実行し、平文の結果をメモリに保存して使用することでした。それをクリアします。

これを達成するためのより良い/安全な、または事実上の一般的な方法はありますか?

ありがとうございました。

4

1 に答える 1

3

この問題に安全に取り組むには、2 つの方法があります。

1.GPG

パスワードを含む GPG 暗号化ファイルを、key=value1 行に 1 つずつ、形式 (基本的にはシェルで解析可能) で保持します。そのような:

foo_pass='bar'
pop_pass='tart'

それらにアクセスしたい場合は、次のようにします。

eval "$(gpg -d /path/to/file | grep '^foo_pass=')"
SUPERSECRETPASSWORD="$foo_pass" somecmd

コマンドが引数としてパスワードを必要とする場合 (これは安全ではありません)、最後の行を調整するだけです。

2. キーリング デーモン

OS によっては、パスワードを保存できるキーリングにアクセスできる場合があります。Linux では、これはgnome キーリング デーモンである可能性があります。その後、このキーリングにはおそらく CLI/スクリプトを介して何らかの方法でアクセスできます。たとえば、gnome キーリング デーモンで使用するgkeyringがあります。

于 2015-03-28T21:40:09.290 に答える