Назад | Перейти на главную страницу

Невозможно получить доступ к общему ресурсу Windows с использованием пути UNC

Я пытаюсь понять, почему мое приложение, работающее как служба Windows с учетной записью локальной системы, не может получить доступ к общей папке на другом ПК с использованием пути UNC.

Тем не менее, одно и то же приложение может получить доступ к общей папке на устройстве NAS.

Более детально:

У меня есть приложение java, которое читает содержимое каталога на основе пути UNC.

Если приложение не запущено как служба Windows, оно может читать как общие папки на других ПК, так и устройства NAS.

Это потому, что устройство NAS (Buffalo LinkStation) использует SAMBA? (Вне моей зоны комфорта, но это единственное, о чем я могу думать)

Если это так, означает ли это, что мне придется создать пользователя с правами администратора для этой службы, чтобы она работала, а не в локальной системной учетной записи?

Я подозреваю, что для общего ресурса NAS-устройства включен гость или имя компьютера имеет права на этот общий ресурс.

Локальная система имеет привилегии учетной записи компьютера в сети. (Да, и у пользователей, и у компьютеров есть учетные записи AD). Для получения дополнительной информации см. эта ссылка.

Итак, да, вам нужно добавить учетную запись COMPUTERNAME $ (независимо от имени машины) в общую папку, чтобы приложение могло получить к ней доступ.

Когда приложение не работает как служба, приложение запускается в контексте пользователя, запустившего приложение, и будет иметь доступ к общему ресурсу и NTFS-доступ к файлам и папкам в общей папке Windows, которые есть у пользователя. При запуске в качестве службы в качестве локальной системы приложение будет иметь доступ к общему ресурсу и NTFS к файлам и папкам в общей папке Windows, которые есть у учетной записи компьютера, на котором запущена служба, поэтому вам необходимо добавить соответствующий общий ресурс и NTFS. разрешения на файлы и папки в общей папке Windows для учетной записи компьютера, на котором запущена служба.