2012-01-26 6 views
0

私は、Mac OS Xにはbashでコマンドラインを使用しています私は私のスクリプトに尋ねます:システムにbashを使って情報を保存する方法は?

Enter your password? 
> 
Do you want to save it and do not ask this more? 

パスワードはファイルを解凍することです。これを行うには、常に入力する必要がありますが、一度入力するだけです。

私は簡単にテキストファイルに保存できますが、あまりにも明白です。

だから私はシステムに保存したいです。 Windowsには「Windowsレジストリ」があります。 Mac OS X(またはUnix)に同様のシステムがありますが、それを保存しても失われませんか?

パスワードを保存する別の方法がありますが、より安全ですか?誰かがデバッグモード(コマンドラインの作成方法を示している)でスクリプトを実行すると、彼は簡単にパスワードを見つけることができますが、コンピュータを入手する必要があるので、一種の物理的なセキュリティです。

+0

ちょっとしたアイデア:シェルスクリプトでアクセスできる何らかの種類のキーリングを使用してください。キーリングは、ボックスの前に座っているユーザーが最初にロックを解除する必要がありますので、安全でなければなりません。 –

+3

ちょっと面倒ですが、[このブログの投稿](http://blogs.developerforce.com/developer-relations/2011/11/using-keychain-for-secure-text-on-os-x.html )は、スクリプトからMac OS Xキーチェーンを使用する方法について説明しています。 – Chewie

答えて

0

システムパスワードの保存方法は、プレーンテキストファイルを使用しますが、プレーンテキストパスワードではなくチェックサムを保存します。ユーザーがファイルにアクセスできないのが最善の方法ですが、たとえそうであっても、チェックサムを元に戻すことは簡単ではありません。パスワードを変数passwordに読み込んだとします。次に、echo "$password" | sha1sum - > password_fileのようなことをすることができます。その後、次のログイン時に、同じコマンドでユーザーが入力したパスワードを実行し、結果を比較します。これにより、パスワードを平文で保存せずに正しいパスワードを入力したかどうかを確認できます。

0

OSのキーリング(OSXにはこのようなものがあります)を使用するかプレーンテキストで保存してください。あなたがいないときにあなたが安全であるとふりをしないでください。物事をしっかりと保管することができない場合は、それらを目立つ場所に保管して、ユーザーに誤った安全感を与えないようにします。

関連する問題