2012-04-07 5 views
0

私のプログラムのみがファイルの書き込み/読み取り/可視化の権限を持つファイルを作成したいと思っています。私が作成したユーザーからの作成方法はわかりません。ユーザーは自分の実行可能ファイルのみになりますが、そのファイルだけを見たり、読み書きしたりすることができます。ユーザーのみがファイルを参照して編集できるアクセス権を持つC++でファイルを作成する

私はそれをやっているプログラムを見ましたが、どうやってそれを行うのか分かりません。

事前におかげでコードを投稿してくれないのは残念ですが、私はC++経由でWindowsの権限をどのように処理するのか分かりません。

答えて

2

あなたのアプリにのみファイルへのアクセスを制限することはできません。特定のユーザーアカウントまたはグループにのみアクセスを制限できます。そのためには、SetFileSecurity()SetNamedSecurityInfo()関数を見てください。十分な権限を持つ適切なユーザーアカウントがあなたのアプリ(またはそれに関するアプリ)を実行するか、あなたのアプリ(または別のアプリ)がそのようなアカウントを偽装すると、そのユーザーはそのファイルにアクセスできます。

+0

これは本当に私が探していたものです。ファイルのランダムなユーザーを設定し、自分のアプリケーションで偽装できるようにすることです。あなたはそれを行う方法を知っていますか?それを実行するために何を読んだり、行うべきですか? – Grego

+0

必要なユーザー権限を持つDACLを作成し、ファイルに適用し、必要に応じてユーザーを偽装するために 'LogonUser()'と 'ImpersonateLoggedOnUser()'を使用します。 –

+0

有能なユーザーは、特別なアカウントにログインするために使用している資格情報を抽出できることに注意してください。 –

1

ウィンドウ内の権限は、アプリケーションではなくユーザーに基づいています。したがって、ファイルへのアクセスを特定のプログラム/実行可能ファイルに制限することはできません。

0

ファイルアクセス機能を別の実行可能ファイルに分けてサービスとしてインストールすると、そのようなことが起きる可能性がありますが、それは大変な作業であり、とにかくそのサービスにAPIを保護する必要があります。

ファイルの内容を暗号化することをお勧めします。

関連する問題