icacls
Muestra o modifica listas de control de acceso discrecional (DACL) en archivos especificados y aplica las DACL almacenadas a los archivos de los directorios especificados.
Nota:
Este comando reemplaza el comando cacls en desuso.
Sintaxis
icacls <filename> [/grant[:r] <sid>:<perm>[...]] [/deny <sid>:<perm>[...]] [/remove[:g|:d]] <sid>[...]] [/t] [/c] [/l] [/q] [/setintegritylevel <Level>:<policy>[...]]
icacls <directory> [/substitute <sidold> <sidnew> [...]] [/restore <aclfile> [/c] [/l] [/q]]
Parámetros
Parámetro | Descripción |
---|---|
< > de nombre de archivo | Especifica el archivo para el que se van a mostrar o modificar las DACL. |
> de directorio de < | Especifica el directorio para el que se van a mostrar o modificar las DACL. |
/t | Realiza la operación en todos los archivos especificados del directorio actual y sus subdirectorios. |
/c | Continúa la operación a pesar de los errores de archivo. Los mensajes de error se seguirán mostrando. |
/l | Realiza la operación en un vínculo simbólico en lugar de su destino. |
/q | Suprime los mensajes correctos. |
[/save <ACLfile> [/t] [/c] [/l] [/q]] | Almacena las DACL para todos los archivos coincidentes en un archivo de lista de control de acceso (ACL) para su uso posterior con /restore. |
[/setowner <username> [/t] [/c] [/l] [/q]] | Cambia el propietario de todos los archivos coincidentes al usuario especificado. |
[/findsid <sid> [/t] [/c] [/l] [/q]] | Busca todos los archivos coincidentes que contienen una DACL que menciona explícitamente el identificador de seguridad (SID) especificado. |
[/verify [/t] [/c] [/l] [/q]] | Busca todos los archivos con ACL que no son canónicos o tienen longitudes incoherentes con los recuentos de entrada de control de acceso (ACE). |
[/reset [/t] [/c] [/l] [/q]] | Reemplaza las ACL por las ACL heredadas predeterminadas para todos los archivos coincidentes. |
[/grant[:r] <>sid :<>[...]] | Concede derechos de acceso de usuario especificados. Los permisos reemplazan los permisos explícitos concedidos previamente. No agregar el :r, significa que los permisos se agregan a los permisos explícitos concedidos previamente. |
[/deny <>de sid :<>[...]] | Deniega explícitamente los derechos de acceso de usuario especificados. Se agrega una ACE de denegación explícita para los permisos indicados y se quitan los mismos permisos en cualquier concesión explícita. |
[/remove[:g | :d]] <sid>[...] [/t] [/c] [/l] [/q] | Quita todas las apariciones del SID especificado de la DACL. Este comando también puede usar:
|
[/setintegritylevel [(CI)(OI)] <Level>:<Policy>[...]] | Agrega explícitamente una ACE de integridad a todos los archivos coincidentes. El nivel se puede especificar como:
|
[/sustituir <sidold><sidnew> [...]] | Reemplaza un SID existente (sidold) por un nuevo SID (sidnew). Requiere el uso con el parámetro <directory> . |
/restore <ACLfile> [/c] [/l] [/q] | Aplica las DACL almacenadas de <ACLfile> a los archivos del directorio especificado. Requiere el uso con el parámetro <directory> . |
/inheritancelevel: [e | d | r] | Establece el nivel de herencia, que puede ser:
|
Observaciones
Los SID pueden estar en formato numérico o descriptivo. Si usa una forma numérica, afija el carácter comodín * al principio del SID.
Este comando conserva el orden canónico de las entradas ACE como:
Denegaciones explícitas
Concesiones explícitas
Denegaciones heredadas
Concesiones heredadas
La opción
<perm>
es una máscara de permiso que se puede especificar en una de las formas siguientes:Secuencia de derechos simples (permisos básicos):
F: acceso completo
M: modificar el acceso
RX: acceso de lectura y ejecución
R: acceso de solo lectura
W: acceso de solo escritura
Una lista separada por comas entre paréntesis de derechos específicos (permisos avanzados):
D: eliminar
RC: control de lectura (permisos de lectura)
WDAC: escritura de DAC (permisos de cambio)
WO: propietario de escritura (toma posesión)
S: sincronizar
AS: seguridad del sistema de acceso
de MA: máximo permitido
GR: lectura genérica
GW: escritura genérica
GE: ejecución genérica
de disponibilidad general: todos los genéricos
de Escritorio remoto: directorio de lectura de datos o lista
WD: escribir datos o agregar archivo
de AD: anexar datos o agregar subdirectorio
REA: leer atributos extendidos
WEA: escritura de atributos extendidos
X: ejecutar o atravesar
dc: eliminación de elementos secundarios
ra: atributos de lectura
WA: escritura de atributos
Los derechos de herencia pueden preceder a cualquiera de los
<perm>
formulario:(I): heredar. ACE heredada del contenedor primario.
(OI): hereda de objeto. Los objetos de este contenedor heredarán esta ACE. Solo se aplica a los directorios.
(CI): se hereda el contenedor. Los contenedores de este contenedor primario heredarán esta ACE. Solo se aplica a los directorios.
(E/ S): solo hereda. ACE heredada del contenedor primario, pero no se aplica al propio objeto. Solo se aplica a los directorios.
(NP): no propagar heredar. ACE heredada por contenedores y objetos del contenedor primario, pero no se propaga a contenedores anidados. Solo se aplica a los directorios.
Ejemplos
Para guardar las DACL para todos los archivos del directorio C:\Windows y sus subdirectorios en el archivo ACLFile, escriba:
icacls c:\windows\* /save aclfile /t
Para restaurar las DACL de todos los archivos de ACLFile que existen en el directorio C:\Windows y sus subdirectorios, escriba:
icacls c:\windows\ /restore aclfile
Para conceder al usuario los permisos User1 Delete y Write DAC a un archivo denominado Test1, escriba:
icacls test1 /grant User1:(d,wdac)
Para conceder al usuario definido por SID S-1-1-0 permisos Delete and Write DAC a un archivo, denominado Test2, escriba:
icacls test2 /grant *S-1-1-0:(d,wdac)