0

我正在創建一個作爲服務運行的程序,並在一天中的某些時間點創建數據庫備份(使用pg_dump.exe)。該程序需要能夠將備份文件寫入本地驅動器和映射的網絡驅動器。網絡服務帳戶不接受本地路徑

起初,我無法寫入網絡驅動器,但通過以管理員帳戶登錄服務來解決了問題。但是,我的老闆希望程序在沒有用戶輸入用戶名和密碼的情況下運行。

我試圖通過使用網絡服務帳戶(它不需要密碼,並始終具有相同的名稱)來解決此問題。現在我的程序將寫入網絡驅動器,但不是本地驅動器!我試着用常規C:\<directory name>\路徑語法以及\\<computer name>\C$\<directory name>\語法,也\\<ip address>\C$\<directory name>\,其中沒有工作。

有什麼辦法讓網絡服務帳戶訪問本地驅動器?

回答

0

我通過在安裝時創建一個新用戶來解決此問題,並將其添加到管理員組。這使得服務寫入本地和網絡驅動器,而沒有需要在安裝過程中密碼/用戶名信息。

1

只要給帳戶權限訪問這些文件/目錄,它應該工作。爲了訪問本地文件,你需要調整文件和目錄的ACL。要通過網絡共享訪問,您必須更改文件ACL以及網絡共享的權限。

可以使用標準icacls.exe在Exploler UI或命令行中修改文件ACL。例如。此命令行將爲網絡服務提供讀取,寫入和刪除權限下的目錄和所有文件。

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

使用fsmgmt.msc工具,文件共享權限更容易從UI進行修改。

您將需要弄清楚什麼最小需要應用的權限集。如果您不擔心安全性可言,你可以充分的權限,但它幾乎總是矯枉過正,可能有更多可能讓你以任何理由的服務就會大打折扣。

+0

感謝您的答覆!這個解決方案看起來可以工作,但我已經換了另一種方式了。而不是使用網絡服務的用戶,我創造我自己的用戶,並將其添加到Administrators用戶組,所以我並不需要向用戶詢問任何密碼/用戶名信息。 – user2437443

相關問題