Поделиться через


Службы и перенаправленные диски

Служба (или любой процесс, выполняющийся в другом контексте безопасности), которая должна получить доступ к удаленному ресурсу, должна использовать имя UNC для доступа к ресурсу. Служба должна иметь соответствующие привилегии для доступа к ресурсу. Если служба на стороне сервера использует RPC-подключение, на удаленном сервере необходимо включить делегирование.

Буквы диска не являются глобальными для системы. Каждый сеанс входа получает собственный набор букв дисков от A до Z. Таким образом, перенаправленные диски нельзя совместно использовать между процессами, работающими под разными учетными записями пользователей. Кроме того, служба (или любой процесс, выполняющийся в рамках собственного сеанса входа) не может получить доступ к буквам диска, которые были установлены в другом сеансе входа.

Служба не должна напрямую обращаться к локальным или сетевым ресурсам через сопоставленные буквы диска, а также не должна вызывать команду net use для сопоставления букв дисков во время выполнения. Команда net use не рекомендуется по нескольким причинам:

  • Сопоставления дисков существуют в контексте входа в систему, поэтому если приложение выполняется в контексте учетной записи LocalService, то любая другая служба, работающая в этом контексте, может иметь доступ к сопоставленном диску.
  • Если служба предоставляет явные учетные данные для команды net use , эти учетные данные могут быть случайно переданы за пределами службы. Вместо этого служба должна использовать олицетворение клиента для олицетворения пользователя.
  • Несколько служб, работающих в одном контексте, могут мешать друг другу. Если обе службы выполняют явное чистое использование и предоставляют одни и те же учетные данные одновременно, одна служба завершится ошибкой "уже подключено".

Кроме того, служба не должна использовать сетевые функции Windows для управления сопоставленными буквами диска. Хотя функции WNet могут успешно возвращать данные, результирующее поведение не соответствует назначению. Когда система устанавливает перенаправленный диск, он хранится для каждого пользователя. Только пользователь может управлять перенаправленным диском. Система отслеживает перенаправленные диски на основе идентификатора безопасности (SID) пользователя. Идентификатор безопасности входа — это уникальный идентификатор сеанса входа пользователя. У одного пользователя может быть несколько одновременных сеансов входа в систему.

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

Windows Server 2003: На компьютере с несколькими сетевыми интерфейсами (т. е. многосетевым компьютером) могут возникать задержки до 60 секунд при использовании UNC-путей для доступа к файлам, хранящимся на удаленном сервере SMB.