Network-Share
無法使用 UNC 路徑訪問 Windows 共享
我試圖了解為什麼我的應用程序作為本地系統帳戶作為 Windows 服務執行時無法使用 UNC 路徑訪問另一台 PC 上的共享文件夾。
然而,同一個應用程序可以訪問 NAS 設備上的共享文件夾。
更多詳情:
我有一個 java 應用程序,它根據 UNC 路徑讀取目錄的內容。
當不作為 Windows 服務執行時,該應用程序可以讀取其他 PC 和 NAS 設備上的文件夾共享。
是因為 NAS 設備(Buffalo LinkStation)正在使用 SAMBA 嗎?(超出我的舒適區,但這是我唯一能想到的)
如果是這種情況,是否意味著我必須為此服務創建一個管理員使用者才能使其工作而不是本地系統帳戶?
我懷疑 NAS 設備的共享啟用了來賓,或者電腦名稱有權訪問該共享。
本地系統具有網路上機器帳戶的權限。(是的,使用者和電腦都有 AD 帳戶。)有關詳細資訊,請參閱此連結。
所以是的,您需要將帳戶 COMPUTERNAME$(無論機器名稱如何)添加到共享中,以便應用程序能夠訪問它。
當不作為服務執行時,應用程序在啟動應用程序的使用者的上下文中執行,並且將擁有對使用者擁有的 Windows 共享中的文件和文件夾的任何共享和 NTFS 訪問權限。當作為本地系統的服務執行時,應用程序將對執行該服務的電腦帳戶所擁有的 Windows 共享中的文件和文件夾具有任何共享和 NTFS 訪問權限,因此您需要添加適當的共享和 NTFS執行服務的電腦的電腦帳戶的 Windows 共享中的文件和文件夾的權限。