0

サービスとして実行され、日中の特定の時点で (pg_dump.exe を使用して) データベースのバックアップを作成するプログラムを作成しています。このプログラムは、バックアップ ファイルをローカル ドライブとマップされたネットワーク ドライブに書き込むことができる必要があります。

最初は、ネットワーク ドライブに書き込むことができませんでしたが、サービスに管理者アカウントとしてログオンさせることで問題を解決しました。しかし、上司は、ユーザーがアカウントのユーザー名とパスワードを入力しなくてもプログラムを実行できるようにしたいと考えています。

Network Service アカウント (パスワードは不要で、常に同じ名前です) を使用して、これを回避しようとしました。これで、私のプログラムはネットワーク ドライブに書き込みますが、ローカル ドライブには書き込みません! 通常のC:\<directory name>\パス構文と構文を使用してみましたが、どれ\\<computer name>\C$\<directory name>\も機能しません。\\<ip address>\C$\<directory name>\

ネットワーク サービス アカウントを取得してローカル ドライブにアクセスする方法はありますか?

4

2 に答える 2

1

これらのファイル/ディレクトリにアクセスする権限をアカウントに与えるだけで、機能するはずです。ローカル ファイルにアクセスするには、ファイルとディレクトリの ACL を微調整する必要があります。ネットワーク共有経由でアクセスするには、ファイル ACL とネットワーク共有のアクセス許可を変更する必要があります。

ファイル ACL は、Explorer UI で、または標準を使用してコマンド ラインから変更できますicacls.exe。たとえば、このコマンド ラインは、Network Service の読み取り、書き込み、および削除のアクセス許可の下にディレクトリとすべてのファイルを与えます。

icacls c:\MyDirectory /T /grant "NT AUTHORITY\Network Service":(R,W,D)

ファイル共有のアクセス許可は、fsmgmt.mscツールを使用して UI から簡単に変更できます。

適用する必要がある最小限の権限セットを把握する必要があります。セキュリティについてまったく心配していない場合は、完全なアクセス許可を与えることができますが、ほとんどの場合、やり過ぎであり、何らかの理由でサービスが危険にさらされた場合に、より多くの権限が与えられます.

于 2014-05-09T16:51:35.737 に答える
0

インストール時に管理者グループに追加する新しいユーザーを作成することで、この問題を回避しました。これにより、サービスはセットアップ中にパスワード/ユーザー名情報を必要とせずに、ローカルおよびネットワーク ドライブに書き込むことができます。

于 2014-05-09T20:06:20.110 に答える