Доступ к Windows Share под учетной записью сетевой службы - PullRequest
4 голосов
/ 23 декабря 2009

У меня есть два компьютера с Windows Server 2003. На одном компьютере есть несколько общих папок в сети, а на другом - служба Windows (написанная на C #, работающая под учетной записью сетевой службы), которой требуется доступ к этим общим папкам.

Следующий код отлично работает как вошедший в систему пользователь, но выдает исключение при выполнении под учетной записью сетевой службы.

File.WriteAllText(@"C:\temp\temp.txt", File.ReadAllLines(@"\\NetworkServer\Test\test.txt")[0]);

Сообщение об исключении: Logon failure: unknown user name or bad password. Как заставить этот код работать под учетной записью сетевой службы? Это настройка в Windows Server 2003, или мне нужно добавить код, чтобы она работала?

Ответы [ 2 ]

3 голосов
/ 23 декабря 2009

В общей сетевой папке вам необходимо добавить разрешения для учетной записи «Сетевая служба» на сервере, на котором запущена служба. Хотя это будет работать, @nicholas указывает, что это может обеспечить слишком широкую группу пользователей доступом к общему ресурсу.

Другой вариант, и, на мой взгляд, , лучший вариант - создать учетную запись домена и затем предоставить этой учетной записи разрешение на чтение / запись для общего ресурса. Затем вы настраиваете службу для «запуска от имени» учетной записи домена с соответствующими разрешениями.

0 голосов
/ 30 июня 2014

@ Насколько я могу судить, ответ Нейта либо неверен, либо неясен. Это не объясняет, как Network Service проходит проверку подлинности в сети.

Network Service учетная запись имеет очень ограниченные привилегии в локальной системе, она представляет учетные данные компьютеров в сети. Поэтому, если вам нужен доступ к сетевому ресурсу (например, сетевому ресурсу) с учетной записью Network Service, вам необходимо предоставить доступ к учетной записи компьютера , где работает служба.

Предоставление локальной Network Service учетной записи с доступом к сетевому ресурсу не будет работать вообще, вы будете получать ошибки аутентификации / авторизации.

См. Ссылка MDSN "NetworkService Account" .

...