2011-01-06 5 views
1

私は個人的な(少なくとも瞬間)使用のためのバックアッププログラムを書いています。VB.NetにWindowsユーザ名+パスワードを保存

一部のディレクトリ(ネットワークディレクトリ/保護されたディレクトリ)では、アクセスするために資格情報が必要です。

私は、特定の時間に実行するプログラム内の別のジョブを設定できます。

これらのジョブはXMLファイルに保存されます。

ジョブに必要なユーザー名とパスワードも保存する必要があります。

これらを保存するにはどのような場所が最適でしょうか?

ディレクトリの権限を変更することはできません。

ありがとうございます!

答えて

2

ローカルディレクトリにアクセスできるように、Windowsではユーザーのログオンパスワードを決して格納しないでください。代わりに、バックアッププログラムはSeBackupPrivilegeが有効になっているユーザーとして実行する必要があります(つまり、ローカルシステムとして実行されるサービスからバックアップを実行する)。つまり、アクセス許可を変更する必要はありません。

コピー元のボリュームシャドウコピーが最初に実行されていることを確認する必要があります。ディスクから直接コピーしないと、バックアップが矛盾する可能性があります。

また、暗号化されたファイルに特別な注意を払う必要があり、このためにReadEncryptedFileRawを使用する必要があります。

+0

ローカルシステムアカウントもネットワークディレクトリからコピーできますか?そうでない場合。どのように(パスワード)ネットワークディレクトリに対処するには? – PeeHaa

+1

いいえ、ローカルシステムはリモートディレクトリからコピーできない可能性があります。しかし、リモートシナリオはまったく別の話です。これは、他のプライマリユーザーを持つ別のコンピュータですか、サーバーですか、ネットワークドライブですか、自宅ですか、オフィスですか(ドメインを持っていますか)?これらはすべて異なるケースです。 – villintehaspam

+0

1台のLinuxサーバーがあります。ドメイン内の1つのファイルサーバー。ドメイン内に2つのユーザーマシンもあります。私は今、Linuxマシンで毎晩cronジョブを実行していて、毎晩ファイルサーバー上でスケジュールされたタスクを実行しています。バックアップアプリケーションを実行する特定のマシン上のバックアップフォルダにファイルをコピーするには私は、ログオン時にのみユーザマシンに対して同じことをします。ご協力ありがとうございます! – PeeHaa

1

特定のユーザーとして実行されるスケジュールされたタスクとしてバックアッププログラムを実行できます。

パスワードの保存に関しては、IsolatedStorageを使用してパスワードを保存し、双方向暗号化を使用してパスワードを見つけ出すことができれば誰かがそのファイルを解読しにくくすることができます。

双方向暗号化の実装についてはSO questionをご覧ください。

+0

プログラムを特定のユーザーとして実行することは選択できません。異なるディレクトリには異なる資格情報が必要なためです。私は2つの方法の暗号化は常にキーで使用されると思いますか?今後アプリを公開したい場合はどうすればいいですか?その場合、私はキーが同じであることを望んでいません(リバースエンジニアリングを考えてください)。それに取り組む方法?質問の質問。 :P私は途方もない場合は教えてください。 :)ありがとう! – PeeHaa

+1

あなたは、マシン名、ドメイン名、ソフトウェアなどをインストールする人のユーザー名のようないくつかの要因に基づいて、あなたのコードのキーを生成することができますまた、このことは、この質問をhttp://stackoverflow.com/questions/99880/generating-a- unique-machine-id –

関連する問題