2017-08-11 20 views
0

別のフロントエンドUIを使用してサービスを構成するログインユーザーに代わって、ネットワーク関連の操作を実行するWindowsサービスがあります。 UIおよびWindowsサービスは、ソケットインターフェイスを使用して通信する。すなわち、UIはコマンドをサービスに送信し、サービスは処理/表示のためにUIにデータを送信する。この設定は何年も私たちのために働いています。LocalServiceの「アクセスが拒否されました」の回避策

最近セキュリティポリシーでは、WindowsサービスがLocalSystemとして実行されなくなる代わりに、LocalServiceとして実行する必要がありました。ほとんどの場合、これは変化のないものでした。しかし...

Windowsサービスの機能の一部は、ユーザー指定の場所にログファイルを作成し、ユーザーが停止するように指示するまでそのログファイルにデータを書き込むことです。ユーザーがC:\レベル(たとえば、C:\MyLogs)でディレクトリを指定した場合、Windowsサービスは正常に動作します。ユーザーが自分のマイドキュメントフォルダ(例えば、C:\Users\<username>\Documents\MyLogs)でディレクトリを指定している場合でも、Windowsサービスが<場所>へ

アクセスが拒否されたことを言ってSystem.UnauthorizedAccessExceptionで失敗します。

など、

をそれは私にしばらく時間がかかったが、私は最終的にLocalServiceととして動作しているWindowsサービスは、ログインしているユーザーのプロファイルフォルダへのアクセス権を持っていないことを理解し、例えば、マイドキュメント、のAppData これに対応する方法はありますか?

いくつかのオプションがありますが、Windowsのセキュリティに関しては熟練していないため、検索する内容がわからないため、Googleの忍者のスキルは非常に弱いです。ここに私が持っている特定の質問のカップルです。私はコミュニティが提供することができるすべての指導に感謝します。

  1. ユーザが直接それをやっていたかのようにディレクトリとファイルを作成できるように、ログインしたユーザーアカウントを偽装するWindowsサービスのための方法はありますか?
  2. LocalServiceアカウントでディレクトリとファイルを作成できるように、ユーザーのプロファイルフォルダにアクセス許可を追加することはできますか?

答えて

0

はい、フォルダにアクセス許可を追加できます。フォルダをクリックしてくださいLOCAL SERVICEアカウントでテキストボックス、「ローカルサービス」を入力して名前の確認し、[OK]をクリックして、アクセス権を変更する「オブジェクト名を入力」がで追加...

/

enter image description here |プロパティ|セキュリティ|編集

関連する問題