
У меня есть несколько счетчиков производительности, которые записывают в CSV-файлы в расположении по умолчанию ( %SYSTEMDRIVE%\Perflogs
). Каталоги, которые он создает, являются "специальными". Когда я пытаюсь просмотреть их, проводник жалуется
Я могу нажать «Продолжить», и тогда у меня больше не возникнет проблем с просмотром каталогов с помощью проводника.
Однако, если я попытаюсь получить доступ к каталогам через оболочку cmd без прав, я получу 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
.
- Что на самом деле происходит, когда я «получаю постоянный доступ к этой папке»?
- Каким образом этот каталог на самом деле защищен от несанкционированного доступа?
- Есть ли хороший способ «снять защиту» с каталога, не перенастраивая счетчик производительности для записи в другое место?
- Я читаюэтот ответ, в котором описывается, как создать прослушиватель событий для снятия защиты каталога при запуске счетчика. Неужели нет другого способа?
решение1
Такое поведение вызвано контролем учетных записей пользователей: запускаемые вами процессы (включая проводники Windows и CMD) на самом деле не имеют административных прав, даже если вы принадлежите к группе администраторов, вам необходимо явно запросить их с помощью команды «Запуск от имени администратора»; однако, это невозможно сделать для самого проводника, поскольку он всегда запущен, поэтому вы не можете запустить другой его экземпляр с повышенными правами (если только вы сначала не завершите его, тем самым потеряв свою оболочку; это можно сделать, но для этого потребуются неуклюжие обходные пути).
Однако сам проводник Windows знает, как работает UAC; поэтому, когда вы пытаетесь получить доступ к папке, к которой имеют доступ только администраторы, он обнаруживает, что выявляютсячлен Администраторов, но он не работает в режиме с повышенными правами, он пытается быть полезным и спрашивает, хотите ли вы «получить постоянный доступ» к папке; если вы нажметеContinue
в папку добавляется явное разрешение ACE для вашей учетной записи пользователя: это позволяет вам получить прямой доступ к папке, не полагаясь на ваши права администратора, тем самым обходя UAC.
Что меня озадачивает, так это то, что это стандартное (хотя и спорное) поведение для UAC и Explorer, ноэто происходит только тогда, когда задействованы административные права; если у вас есть доступ к папке, поскольку вы принадлежите к обычной (не администраторской) группе, которая может к ней получить доступ, UAC вообще не должен вмешиваться.
Если только Windows не относится к группе «Пользователи журнала производительности» так же, как к группам «Администраторы» с точки зрения UAC, и для фактического использования ее членства требуется повышение прав; если это так, то для меня это новость, и я не могу найти нигде ссылок на это.