Исполняемый файл, запущенный сервисом окон с помощью локальной системной учетной записи, не может доли сети доступа

Это битовые флаги, поэтому

filesystem::copy(pathInput, pathOutput, filesystem::copy_options::recursive | filesystem::copy_options::overwrite_existing)

Чтобы добавить дополнительную детализацию, на более низком уровне каждый флаг представляет собой бит (вкл / выкл) в целом числе, так что ...

01 = перезаписать 10 = рекурсивно 11 = оба 00 = нет

the | оператор является двоичным или равен true, если один из бит (или оба) имеет значение true, поэтому:

01 | 10 = 11

00 | 11 = 11

11 | 11 = 11

00 | 00 = 00

7
задан Adam Cobb 30 October 2008 в 13:06
поделиться

3 ответа

Если можно изменить сервис окон так, чтобы он работал в соответствии с учетной записью Сетевой службы, то исполняемый файл сможет к долям сети доступа (это - одна причина, почему учетная запись Сетевой службы была создана).

Локальные учетные записи Системы и Локальной службы не имеют никаких сетевых учетных данных и таким образом не могут аутентифицироваться в сети. Это дизайном.

Править: IIRC, учетная запись Сетевой службы была представлена в Server 2003 и добавила к одному из пакетов обновления XP.

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

6
ответ дан 6 December 2019 в 23:15
поделиться

Когда у Вас есть сервис, который работает под NT AUTHORITY\LOCALSYSTEM (который является названием сервисной учетной записи), это появляется как DOMAINNAME\COMPUTERNAME$ (отметьте знак $), учетная запись к остальной части сети. Таким образом, это появляется как учетная запись КОМПЬЮТЕРА в каталоге Active. Просто предоставьте свой файл и совместно используйте полномочия к DOMAINNAME\COMPUTERNAME$, и необходимо быть хорошими.

5
ответ дан 6 December 2019 в 23:15
поделиться

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

Так или иначе будьте очень осторожны, когда наличие сервиса запускает exe.

Если доступ для записи к папке с exe не отключен, пользователь может заменить это exe (например), cmd.exe. В следующий раз сервис пытается запустить Ваш exe, voilà: командный процессор с системными правами!

0
ответ дан 6 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: