Impresiones web superior

domingo, 7 de agosto de 2011

Tomar posesión de un archivo o carpeta en Windows Vista

El mensaje de Acceso denegado nos acompaña en Vista cada vez que intentamos hacer algo con algún archivo de sistema.

Sobre los archivos de sistema los usuarios no tienen permisos, el propietario de dichos archivos es el “usuario” TrustedInstaller (TrustedInstaller es el servicio Instalador de módulos de Windows, bajo el que se instalan los programas en Windows.).

Con el comando icals vemos los permisos de los usuarios sobre el archivo

C:\Windows>icacls explorer.exe
explorer.exe NT SERVICE\TrustedInstaller:(F)
BUILTIN\Administradores:(RX)
NT AUTHORITY\SYSTEM:(RX)
BUILTIN\Usuarios:(RX)

Esta medida de seguridad evita que un usuario sobrescriba, borre, o cambie archivos de sistema de Windows.

La solución para poder manipular estos archivos es tomar posesión de ellos y, al ser propietarios, asignar permisos a nuestro usuario.

Cambiar los permisos de los archivos de sistema de Windows puede ocasionar problemas en nuestro equipo

Con el Explorador de Windows.

Para tomar posesión de un archivo:

  1. Botón derecho sobre el archivo (o carpeta) Propiedades
  2. Pestaña Seguridad
  3. Botón Opciones Avanzadas
  4. Pestaña Propietario
  5. Botón Editar. Posiblemente nos solicite elevación de privilegios
  6. Seleccionamos o agregamos el usuario o grupo >> botón Aceptar.

Dar permisos a nuestro usuario/grupo de usuarios:

  1. Volvemos a la Pestaña Seguridad >> botón Editar
  2. Buscamos nuestro usuario o grupo y seleccionamos los permisos. Si no esta lo añadiremos con el botón Agregar

Esto lo debemos hacer por cada archivo sobre el que queramos que nuestro usuario tenga permisos.

Mediante línea de comandos.

Tenemos 2 comandos que nos ayudan a tomar posesión de un archivo y establecer sus permisos.

takeown

Se utiliza para tomar posesión de un archivo, con el formato takeown /f rutadelarchivo

Por ejemplo para tomar posesión del archivo explorer.exe

takeown /f c:\windows\explorer.exe

icacls.

Muestra y otorga permisos a un usuario o grupo sobre un archivo. icacls Path_And_File_Name /GRANT USUARIO:F

Por ejemplo para dar permisos de control total al usuario administrador sobre el archivo explorer.exe:

icacls C:\windows\explorer.exe /grant administrador:F

Ambos deben ejecutarse en un cmd con elevación de privilegios.

Agregar al menú contextual la opción de Tomar posesión.

He encontrado por ahí un par de ficheros .reg que crean la opción de Tomar posesión en el menú contextual sobre archivos y carpetas.

  1. Descargamos en fichero tomarposesion.zip
  2. El .zip se compone de 4 archivos. 2 ficheros .reg que agregan AgregarRunAsAdmin_Exe.reg y AgregarTakeOwn.reg) la opción al botón derecho y 2 archivos (QuitarRunAsAdmin_Exe.reg y QuitarTakeOwn-.reg) que eliminan esta opción. Doble clic en los 2 de agregarxxxxx.reg para importarlos al registro.
  3. Sobre el archivo o carpeta, clic botón derecho aparecerá la opción de Tomar posesión.

Realmente los ficheros agregan la opción de usar el cmd con el comando takeown para tomar posesión del archivo.

El autor de estos ficheros es Herby y su web herby.virtualplastic.net en la que no he encontrado nada referente a estos archivos, pero lo cito para que el merito se lo lleve quien corresponde. Lo único que he modificado ha sido el poner el texto en español y que en lugar de administrators agregue permisos para administradores.

Programa Unlocker

La función principal de Unlocker es desbloquear archivos que estén en uso por algún programa, una de sus funciones “colaterales” es que nos permite renombrar, borrar o copiar archivos sobre los que no tenemos permisos aunque estos no esten bloqueados por ningún programa. Al renombrar un archivo nos dará permisos de Control Total y nos hará propietarios del archivo.

Eso es todo, seguro que existe algún otro método para tomar posesión/cambiar permisos, pero con estos solucionaremos la mayoría de las necesidades.

No hay comentarios:

Publicar un comentario