2

更新3: [セキュリティ]タブを使用したアクセスの制限が機能するようになりました。(手動で)プログラムで(Visual C#を使用して)実行する方法と、単純なユーザーアカウントの管理者アカウントを使用してファイルにアクセスする方法を検討しています。ヒント-Windowsでこの機能に気づきました。右クリックして[名前を付けて実行]を使用し、管理者パスワードを入力すると、ファイルにアクセスできます。

更新2:セキュリティタブを表示する方法を見つけました

[セキュリティ]タブを表示するには

コントロールパネルでフォルダオプションを開きます。([スタート]、[コントロールパネル]、[外観とテーマ]、[フォルダーオプション]の順にクリックします。)

[表示]タブの[詳細設定]で、[シンプルなファイル共有を使用する[推奨]]をオフにします。

更新1:ファイルにアクセス許可を与える方法を提案する次の記事を見つけましたが、プロパティをクリックしてもセキュリティタブが見つかりません。ありますか?それを取得する方法のアイデア

変更されないように保護したいファイルがあります。私にそれを暗号化するとは言わないでください、これは問題を解決しません、私はユーザーがファイルを変更できないようにしたいのですが、私(私のプログラム)だけです。Windowsファイルの認証にはどのような種類がありますか。私が言うことは認証について愚かですが、ユーザープロファイルの「ntuser.dat.LOG」のように一部のWindowsファイルにアクセスできません。このファイルを開こうとすると、開かれません。

そのようなものが欲しいのですが、このファイルはWindowsが使用しているようです。右。しかし、プログラムがシャットダウンした場合、この場合もファイルを変更したくありません。どうすればいいですか?

私は完全な詳細な解決策を求めません、私はそれが複雑であるように思われるので、私はアイデア、提案、ヒント、またはそれが役立つとあなたが知っている何かを望んでいます:p

4

12 に答える 12

1

ファイルなどをロックするWindowsサービスを実行できます

于 2009-03-16T14:27:28.443 に答える
1

Windowsドメインを使用していますか、それとも単なるワークグループを使用していますか?これはどのバージョンのWindowsですか?あなたはコンピューターの管理者ですか?

ファイルの所有権を取得してから、そのファイルにアクセスできるのは自分だけになるようにアクセス許可を設定できるはずです。Windows XPの場合(Vistaも同様です)ファイルを右クリックして表示しますPropertiesSecurityタブを選択すると、ファイルに特定のアクセス許可を設定できます。クリックAdvancedして、さらに具体的なオプションを設定できます。

ドメインを使用している場合、ドメイン管理者はいつでもファイルを表示/編集できます。

編集:KB 290403から:

Windows XPHomeEditionおよびWindowsXPProfessionalでは、ワークグループで作業している場合、[セキュリティ]タブはデフォルトで非表示になっています。この動作は、Windows XPHomeEditionおよびWindowsXPProfessionalでは、ゲストがワークグループにログオンすることを強制されるために発生します。

したがって、これを実行したい場合は、コンピュータをセーフモードで起動すると、Securityタブが表示されます。

Simple file sharingオプションのチェックを外すこともできAdvancedます。

于 2009-03-16T14:29:36.440 に答える
0

アプリケーションに埋め込まれた秘密鍵を使用してファイルに署名し、ファイルをロードする前に署名を確認してください。署名が変更を反映するように、ファイルを書き込むたびに再署名する必要があります(ファイルが署名されずに変更された場合、ファイルをロードしようとすると明らかになります)。

注意:これは完全に安全ではありません。クラッカーは、アプリケーションからキーを抽出し、それを使用してファイルの変更されたバージョンに署名する可能性があります。悪意のある攻撃から保護することはできませんが、平均的なユーザーがファイルを変更することはありません。

編集:うーん、ファイルが変更されているかどうかを検出することは気にしないようです。実際にファイルが変更されないようにしたいのです。申し訳ありませんが、これを行う方法はないと思います。ユーザーは、ファイルを「ロック」しているプロセスを簡単に強制終了したり、LiveCDなどで起動してファイルを編集したりすることができます。

于 2009-03-16T14:45:04.063 に答える
0

自分以外のすべてのユーザー(またはプログラムが実行されているアカウント)のアクセスを取り消します。Windowsエクスプローラー、プロパティ、セキュリティを右クリックします。

于 2009-03-16T14:28:39.203 に答える
0

次に、ファイルを変更して、1人のユーザーだけがファイルにアクセスできるようにします。他のすべてのユーザー権限を削除します。ファイルにアクセスできる唯一のユーザーで認証されたサービスとしてアプリケーションを実行します。

于 2009-03-16T14:28:54.727 に答える
0

ファイルの権限を変更して、インストール時にアプリケーションによって作成されたユーザーを所有者にすることができます。しかし、とにかく管理者の車がこれをオーバーライドします、私はそれをうまくロックする方法を見ることができません。

Windowsサービスをシャットダウンすることもできますが、私が見る限り、絶対的な解決策はありません。

于 2009-03-16T14:29:39.827 に答える
0

このファイルは、SYSTEMユーザーが所有している必要があり、通常のUSERSグループにのみ読み取り権限が付与されている必要があります。

インストーラーは、ファイルを作成し、システムを完全に制御してから、ファイルに対するローカルユーザー権限を削除できる必要があります。読む権利を除いて。

于 2009-03-16T14:29:42.183 に答える
0

ファイルの内容を使用して、MD5または同様のハッシュを作成します。ファイルを再度開くときは、保存されているハッシュをチェックして、ファイルが変更されていないことを確認してください。

于 2009-03-16T14:29:56.517 に答える
0

できません!

この率直な答えで申し訳ありませんが、ファイルを「保護」するための提案されたソフトウェア対策にもかかわらず、それは役に立ちません。

ユーザーが本当にファイルにアクセスしたい場合は、ハードディスクを別のコンピューターに挿入してファイルを変更するだけです。または、インストールされているオペレーティングシステムとは独立して動作するLinuxライブCDを使用することもできます。

于 2009-03-16T14:44:48.590 に答える
0

これが私の考えです!あまり役に立たないかもしれません!

ファイルへのアクセス許可を制限し (これはよくあることです)、自分のプログラムだけがアクセスできるようにします。ただし、管理者ユーザーはファイルのセキュリティを変更できるため、これは確実ではありません。

最初の n バイトまたはランダムなバイトを読み取り、レジストリに保存します。次にプログラムを起動するときに、ファイルが変更されていない場合は、バイトが一致するかどうかを確認してください。その場合は、ファイルの再作成を試みます。

于 2009-03-16T14:32:58.710 に答える
0

あえて言いますが... 「NTFS代替データストリーム」 - 私を撃たないでください!

はい、簡単に変更できますが、平均的な中毒者が簡単に見つけることはできません。

于 2009-03-16T16:49:26.840 に答える