У меня есть счетчики производительности, которые записывают в файлы CSV в расположение по умолчанию (%SYSTEMDRIVE%\Perflogs
). Каталоги, которые он создает, являются «особенными». Когда я пытаюсь просмотреть их, исследователь жалуется
Я могу нажать «Продолжить», и тогда у меня больше не будет проблем с просмотром каталогов с помощью проводника.
Однако, если я пытаюсь получить доступ к каталогам через командную оболочку без повышенных прав, я получаю ACCESS_DENIED. С повышенным cmd я могу получить доступ к файлам данных без проблем.
icacls сообщает это о каталоге (до того, как я перейду к нему)
MEMTEST2_20190724-000004 NT AUTHORITY\SYSTEM:(OI)(CI)(F)
BUILTIN\Administrators:(OI)(CI)(F)
BUILTIN\Performance Log Users:(OI)(R)
Пользователь, с которым я работаю, уже зарегистрирован Performance Log Users
.
Такое поведение вызвано контролем учетных записей пользователей: запущенные вами процессы (включая проводники Windows и CMD) на самом деле не имеют прав администратора, даже если вы принадлежите к группе администраторов, вы должны явно запросить их с помощью команды «Запуск от имени администратора». ; однако это невозможно сделать для самого Explorer, потому что он всегда работает, поэтому вы не можете запустить другой, одиннадцатый экземпляр его (если вы сначала не убьете его, тем самым потеряв свою оболочку; это можно сделать, но для этого потребуется неуклюже обходные пути).
Однако сам проводник Windows знает, как работает UAC; поэтому, когда вы пытаетесь получить доступ к папке, доступ к которой имеют только администраторы, он обнаруживает, что вы являются член Администраторов, но он не работает в режиме с повышенными привилегиями, он пытается быть полезным и спрашивает, хотите ли вы «получить постоянный доступ» к папке; если вы нажмете Continue
явное разрешение ACE для вашей учетной записи добавляется в папку: это позволяет вам напрямую обращаться к папке, вместо того, чтобы полагаться на свои права администратора, минуя UAC.
Что я нахожу загадочное в том, что это стандарт (однако спорно) поведение для контроля учетных записей и проводника, но это происходит только тогда, когда задействованы административные права; если у вас есть доступ к папке, потому что вы принадлежите к обычной группе (не администраторов), которая может получить к ней доступ, UAC вообще не должен вмешиваться.
Если только Windows не обрабатывает группу «Пользователи журнала производительности» так же, как группы «Администраторы» в отношении UAC, требуя повышения прав для фактического использования ее членства; Если это так, то для меня это новость, и я нигде не могу найти упоминания об этом.