Para analizar la fragmentación en Windows, debe ser administrador.
¿Qué peligros podría plantear un análisis de disco?
Echa un vistazo a la Documentación sobre desfragmentación de Microsoft Technet :
Localiza y consolida archivos fragmentados en volúmenes locales para mejorar el rendimiento del sistema.
Ahora, imagine que tiene un sistema operativo con 3 usuarios, solo uno de ellos es Administrador. ¿Cómo podrían los algoritmos que se ejecutan sin privilegios gestionar el acceso a archivos que no se pueden leer? No sucedería. Se denegaría el acceso a esos archivos y el proceso de desfragmentación no será óptimo, ya que no puedo calcular la extensión de un archivo que no pertenece a mi usuario sin privilegios dentro de un volumen. ¿Y por qué un usuario sin privilegios debería tener acceso directo al disco? No hay ninguna razón para ello, y permitirá a los usuarios evitar toda la protección de los dispositivos de disco que el sistema operativo cree e ignorará los derechos de acceso implementados por el sistema de archivos.
Situación dos: imagine que la herramienta de análisis tiene algún "administrador automático" configurado (como runas /user:.\Administrator /savecred defrag C: /U /V
). Si este software tiene la capacidad de leer información sobre archivos y tiene credenciales de administrador guardadas, podría ser un vector de ataque viable para extraer información de otros usuarios, utilizando su usuario sin privilegios que ejecuta este software. Es solo cuestión de tiempo tener un error explorado en las funciones usadas para abrir archivos llamados por su binario de desfragmentación.
Es por eso que no puede dar manipulación de disco o acceso a disco sin formato a usuarios que no son administradores.
Cosas relacionadas:
Existe control de desfragmentación o coherencia para casi cualquier sistema de archivos (piense en fsck
en el mundo Unix). Pero, por definición, no puede usar las funciones normales de acceso al sistema de archivos que ocultan las implementaciones detalladas.
Esto normalmente se implementa mediante el uso de accesos directos al sector del disco de bajo nivel (en la partición del disco). De modo que el acceso, junto con la estructura del sistema de archivos, permite leer datos de cualquier archivo sin pasar por todos los controles de acceso del sistema de archivos. Por esa razón, normalmente se reserva para cuentas de administrador.
Primero que todo: investigue si la desfragmentación realmente tiene algún efecto positivo. Yo diría que es principalmente snakeoil en Windows modernos, ya que su implementación NTFS es auto-fragmentación evitando.
Luego: para operar en una capa intrínseca del sistema de archivos, necesita el mismo nivel de acceso que el sistema de archivos, es decir, acceso completo al disco en bruto.
Ahora, los sistemas operativos no clasifican para programas "buenos" y "potencialmente malos", simplemente se caracterizan porque "solo puede hacer lo que este usuario tiene permitido" (lo que no incluye directamente acceso al disco) y "cosas que este usuario no tiene permitido hacer".
¿Qué peligros podría plantear un análisis de disco?
Puede permitirte enumerar todos los archivos (y sus fragmentos) independientemente del propietario del archivo, evitando así los permisos NTFS.
Windows no tiene instalaciones suid, como Unix, por lo que no hay forma de marcar un programa para que se ejecute como administrador. Para lograr un efecto similar, los programas necesitarían instalar un servicio / controlador para exponer las operaciones del sistema a usuarios sin privilegios.
Microsoft probablemente decidió que no vale la pena crear un servicio de desfragmentación de disco, pero muchos desfragmentadores de terceros son compatibles con esto.
Como alternativa, un administrador puede crear una tarea programada interactiva que ejecute el desfagmentador como administrador y otorgar a los usuarios normales el permiso para iniciarlo. Cuando se active, el servicio Programador de tareas lo iniciará con los permisos adecuados.
Lea otras preguntas en las etiquetas windows-10