Cómo establecer o restablecer permisos NTFS de un archivo o carpeta con el comando icacls

icalcs

En este artículo, aprenderemos a establecer o restablecer los permisos NTFS de un archivo o carpeta en un sistema operativo Windows, con el comando icacls.

Puede suceder que, en algunos casos, perdamos de vista los permisos de archivos o directorios, y cuando intentamos acceder a un archivo específico no tenemos resultado porque no tenemos los derechos para hacerlo.
O es posible que tengamos que ejecutar un software que, por problemas de permisos, no funciona como debería.

También es posible que necesitemos acceder a un archivo que proviene de una copia de seguridad antigua u otro equipo y, por lo tanto, se creó con un usuario diferente; incluso entonces, no será posible acceder a él.

En todos estos casos, el comando Icacls viene a ayudar.

¿Qué es Icacls?

Icacls es el reemplazo de cacl (Change Access Control Lists), una utilidad de línea de comandos que le permite mostrar y realizar algunas operaciones en ACL para archivos o directorios.

ACL (Lista de Control de acceso) es una lista de permisos para un objeto de sistema de archivos y define cómo se controla su seguridad administrando quién y cómo se puede acceder a él.

En realidad, las operaciones en ACL no son las únicas posibles con esta herramienta.
Lo que la hace una herramienta poderosa es también la capacidad de realizar operaciones de copia de seguridad y restauración en ACL para archivos o directorios, o para buscar archivos que tengan un usuario específico como propietario.
Y además, en caso de que una ACL se dañe o destruya, con icacl puede restaurarla restableciéndola y estableciendo permisos predeterminados o heredando los del padre.

Icacls: las funciones de restablecimiento y concesión

Restablecimiento

Icacls es un comando nativo de Windows que se ejecuta en Windows Vista, Windows 7, Windows 8 y Windows 10.
Imagine que tenemos un disco duro externo en el que se almacenó un estudio realizado en 2018, y queremos recuperarlo, pero no tenemos el control total.

Tan pronto como intentemos abrir la carpeta, tendremos el siguiente mensaje de alerta.

openfolder negar

Una solución es, por lo tanto, para utilizar la función de restablecimiento de Icacls.
Pero preste atención a los siguientes pasos.

Abramos el terminal de comandos en modo administrador.

 símbolo del sistema

Pasemos a la carpeta y escribamos el comando restablecer de la siguiente manera:

 $> icacls * /t /q /c /reset

Y de nuevo, tendremos «Acceso denegado» como respuesta.

 reset y noaccess

Por lo tanto, primero debemos convertirnos en el propietario de la carpeta con el comando takeown:

$> takeown / R / F *

permiso de eliminación

Al hacer clic en Sí, ahora tendrá un restablecimiento de ACL, y el estado de permiso será el siguiente:

advanced security settings

Grant

Ahora, imagine estar en la siguiente situación:

otros ajustes de seguridad avanzados

Solo el usuario llamado Peter tiene acceso a la carpeta, y queremos dar concesiones también al usuario federica.

Con el comando anterior, podemos convertirnos en el propietario de la carpeta

$> takeown / R / F *

y luego escribir el siguiente comando:

$> icacls "E:\Study2018" /t /grant:F

En este caso, he insertado las opciones / t, que significa recursivo, y F que significa «acceso completo» para el usuario al que queremos otorgar concesiones.

 concede acceso completo

Para más opciones, consulta la página oficial.

Otras funciones icacl

Si necesita guardar ACL en un archivo para una restauración posterior, puede hacerlo utilizando un par de comandos de» guardar y restaurar».
Una operación muy simple desde el punto de vista: la información sobre las ACL se guarda en un archivo que se puede usar en caso de necesidad para restaurar una situación anterior.
Sin embargo, debe tenerse en cuenta que los datos sobre derechos de acceso, especialmente en carpetas compartidas, pueden ser muy variables con el tiempo.
Entonces podríamos encontrarnos en una situación en la que vamos a restaurar una situación que es diferente de la realidad o incluso inconsistente.
Además, el archivo que se crea, se puede abrir y leer con un editor de texto común, parece ser un texto Unicode.
Pero cuidado, porque no lo es.

Abrir el archivo y guardarlo con algunos cambios lo hará inutilizable en las operaciones de restauración.

El par de comandos «guardar y restaurar» es el siguiente:

icacls FILE_O_DIRECTORY /save aclfile /t

icacls DIRECTORY /restaurar aclfile

Inmediatamente notará una diferencia entre los dos comandos.

El comando save se puede ejecutar tanto en archivo como en directorios (FILE_O_O_DIRECTORY debe reemplazarse por el nombre del archivo o directorio para el que queremos guardar la ACL).

Mientras que el comando restore solo funciona en directorios.

Un ejemplo de uso es el siguiente:

E:\> icacls filediprova.txt /save aclfile /t
E:\>icacls . /restore aclfile

Como puede ver, en el caso del comando restaurar no usaremos filediprova.txt pero el directorio en el que está contenido.

Conclusiones

Deja una respuesta

Tu dirección de correo electrónico no será publicada.