
Tengo algunos contadores de rendimiento que escriben en archivos CSV en la ubicación predeterminada ( %SYSTEMDRIVE%\Perflogs
). Los directorios que crea son "especiales". Cuando intento explorarlos, el explorador se queja
Puedo hacer clic en "Continuar" y ya no tengo problemas para navegar en los directorios con el explorador.
Sin embargo, si intento acceder a los directorios a través de un shell cmd no elevado, obtengo ACCESS_DENIED. Con un cmd elevado, puedo acceder a los archivos de datos sin problemas.
icacls informa esto sobre el directorio (antes de explorarlo)
MEMTEST2_20190724-000004 NT AUTHORITY\SYSTEM:(OI)(CI)(F)
BUILTIN\Administrators:(OI)(CI)(F)
BUILTIN\Performance Log Users:(OI)(R)
El usuario con el que estoy ejecutando ya está en Performance Log Users
.
- ¿Qué sucede realmente cuando "obtengo acceso permanente a esta carpeta"?
- ¿Cómo se protege realmente este directorio contra el acceso no elevado?
- ¿Existe una buena manera de "desproteger" el directorio sin reconfigurar el contador de rendimiento para escribir en una ubicación diferente?
- Yo leoesta respuesta, que describe cómo crear un detector de eventos para desproteger el directorio cuando se inicia el contador. ¿No hay otra manera?
Respuesta1
Este comportamiento se debe al Control de cuentas de usuario: los procesos que ejecuta (incluidos los Exploradores de Windows y CMD) en realidad no tienen derechos administrativos, incluso si pertenece al grupo de Administradores, debe solicitarlos explícitamente usando el comando "Ejecutar como administrador". ; sin embargo, esto no se puede hacer para el propio Explorer, porque siempre está ejecutándose, por lo que no se puede ejecutar otra instancia elevada del mismo (a menos que lo elimine primero, perdiendo así su shell; esto se puede hacer, pero requiere torpeza). soluciones alternativas).
Sin embargo, el propio Explorador de Windows conoce cómo funciona UAC; entonces, cuando intentas acceder a una carpeta a la que solo tienen acceso los administradores y detecta quesones miembro de Administradores pero no se ejecuta en modo elevado, intenta ser útil y le pregunta si desea "obtener acceso permanente" a la carpeta; si haces clicContinue
Se agrega a la carpeta una concesión explícita de ACE para su cuenta de usuario.: esto le permite acceder directamente a la carpeta en lugar de depender de sus derechos administrativos, evitando así UAC.
Lo que encuentro desconcertante es que este es un comportamiento estándar (aunque discutible) para UAC y Explorer, peroSólo ocurre cuando están involucrados derechos administrativos.; Si tiene acceso a una carpeta porque pertenece a un grupo normal (no administradores) que puede acceder a ella, UAC no debería involucrarse en absoluto.
A menos que Windows trate al grupo "Usuarios del registro de rendimiento" igual que a los grupos "Administradores" en lo que respecta a UAC, por lo que requiere elevación para poder utilizar realmente su membresía; Si este es el caso, es una novedad para mí y no puedo encontrarlo mencionado en ninguna parte.