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

Как заставить службу (или системный процесс) олицетворять * повышенный * вариант учетной записи пользователя?

В моей сети есть сервер Windows 2008 R2 с сетевым именем Dax. На этом сервере у меня есть (среди прочего, конечно):

Пользователь Dax\Backup является членом Dax\Backup Operators группа и дополнительно имеет полные разрешения на общий ресурс \\Dax\odo а также на папке E:\odo.

У меня также есть несколько клиентских компьютеров под управлением Windows 10 x64 Enterprise (версия 1809). На каждом клиентском ПК есть

На клиентских ПК у меня есть программное обеспечение, которое может скопировать всю папку данных, упомянутую выше, включая все разрешения, информацию о владельце, альтернативные потоки, соединения и т. \\Dax\odo. Я разрешаю этому программному обеспечению работать под учетной записью пользователя Client\Backup так что он может читать папку данных независимо от действующих там ACL.

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

Я хотел бы понять, почему, и, конечно, что я могу с этим поделать.

Мои мысли и тесты на данный момент таковы:

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

High Resolution Date & Time:    04.05.2019 09:27:37,2077520
Event Class:    File System
Operation:  IRP_MJ_CREATE
Result: PRIVILEGE NOT HELD
Path:   E:\Odo\d-LSE\d\temp\test - 2019-05-04 09-27-40\bla.txt
TID:    2812
Duration:   0.0000581
Desired Access: Generic Write, Read Attributes, Write DAC, Write Owner, Access System Security
Disposition:    OpenIf
Options:    Complete If Oplocked
Attributes: n/a
ShareMode:  Read
AllocationSize: 0
Impersonating:  DAX\Backup

За последние несколько дней я также узнал, что для членов определенных групп (среди них Administrator и Backup Operators) есть два токена: обычный и повышенный, причем только последний позволяет использовать особые привилегии таких групп.

Итак (обратите внимание, что это просто наивное предположение и что я не эксперт в этой области): может ли сетевая служба / системный процесс на сервере олицетворять версию учетной записи пользователя без повышенных прав Backup при обработке сетевого трафика от имени этого пользователя, и может ли это быть причиной проблемы? Могу ли я решить проблему, заставив сетевой сервис / системный процесс имитировать повышенный версия учетной записи пользователя Backup при обработке сетевого трафика от имени этого пользователя? Если да, то как?

P.S. Если моя вышеупомянутая теория глупа, заголовок этого поста будет вводить в заблуждение, поэтому не стесняйтесь его исправлять ...

Ваша теория верна. Это поведение можно изменить в настройках реестра.

В

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

найти или создать DWORD стоимость LocalAccountTokenFilterPolicy и установите его на 1. После этого вам может потребоваться перезагрузка.

Это позволит удаленным подключениям иметь неограниченный доступ администратора.