Доступ к общим сетевым ресурсам из службы

#networking #service

Вопрос:

Я создаю службу, которая должна работать в Windows 2000, XP, 2003, 2008 и Vista. Службе необходимо получить доступ к общему сетевому ресурсу в рамках своей обработки. Для XP и выше служба может быть запущена как учетная запись сетевой службы, но что эквивалентно в Windows 2000?

Ответ №1:

В Windows 2000 нет встроенных участников с необходимыми правами, и для этой цели вам потребуется использовать обычную учетную запись пользователя (конечно, для этого необходимо включить привилегию «запуск от имени службы», но это автоматически обрабатывается при вводе учетных данных учетной записи через пользовательский интерфейс диспетчера управления службами).

Кстати, использование именованной учетной записи всегда является хорошей идеей: хотя использование «Сетевой службы» очень удобно при развертывании вашей службы (поскольку не требуется взаимодействия с пользователем), сетевая папка, к которой подключается служба, также должна иметь права доступа, применяемые к ней.

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