Compartir a través de


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 name [/save aclfile] [/setowner user] [/findsid Sid] [/verify] [/reset] [/T] [/C] [/L] [/Q]
icacls name [/grant[:r] Sid:perm[...]] [/deny Sid:perm [...]] [/remove[:g|:d]] Sid[...]]] [/setintegritylevel Level:policy[...]] [/T] [/C] [/L] [/Q]
icacls directory [/substitute SidOld SidNew [...]] [/restore aclfile] [/C] [/L] [/Q]

Parámetros

Parámetro Descripción
<name> Especifica el archivo para el que se van a mostrar o modificar las DACL.
<directory> 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 aunque se produzcan errores de archivo. Los mensajes de error se siguen mostrando.
/l Realiza la operación en un vínculo simbólico en lugar de su destino.
/q Suprime los mensajes correctos.
/salvar <ACLfile> 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 <user> Cambia el propietario de todos los archivos coincidentes al usuario especificado.
/findsid <sid> Busca todos los archivos coincidentes que contienen una DACL que menciona explícitamente el identificador de seguridad (SID) especificado.
/verificar Busca todos los archivos con ACL que no son canónicos o tienen longitudes incoherentes con recuentos de entrada de control de acceso (ACE).
/restablecimiento Reemplaza las ACL por las ACL heredadas predeterminadas para todos los archivos coincidentes.
/grant[:r] <sid>:<perm> Concede derechos de acceso de usuario especificados. Los permisos reemplazan los permisos explícitos concedidos previamente. No agregar :r significa que los permisos se agregan a los permisos explícitos concedidos previamente.
/deny <sid>:<perm> 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> Quita todas las apariciones del SID especificado de la DACL. Este comando también puede usar:

  • g : quita todas las apariciones de derechos concedidos al SID especificado.
  • d : quita todas las apariciones de derechos denegados en el SID especificado.
  • /setintegritylevel <perm><level> Agrega explícitamente una ACE de integridad a todos los archivos coincidentes. El nivel se puede especificar como:

  • l - Bajo
  • m - Medio
  • h - Alto

  • Las opciones de herencia para la ACE de integridad pueden preceder al nivel y solo se aplican a los directorios.
    /sustituto <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:

  • e: habilita la herencia
  • d: deshabilita la herencia y copia los ACL
  • r: deshabilita la herencia y quita solo los ACE heredados.
  • 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 <perm> opción es una máscara de permiso que se puede especificar para los derechos básicos, los derechos avanzados o los derechos de herencia:

      • Secuencia de derechos simples (permisos básicos) sin necesidad de usar paréntesis:

        • N : sin acceso
        • F: acceso completo
        • M : modificación del acceso
        • RX: acceso de lectura y ejecución
        • R: acceso de solo lectura
        • W: acceso de solo escritura
        • D : Eliminación del acceso
      • Lista separada por comas de derechos específicos (permisos avanzados) que deben usar paréntesis:

        • DE : 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
      • Secuencia de derechos de herencia que deben usar paréntesis:

        • (I): heredar. ACE heredada del contenedor primario.
        • (OI): hereda de objeto. Los objetos de este contenedor heredan esta ACE. Solo se aplica a los directorios.
        • (CI): se hereda el contenedor. Los contenedores de este contenedor primario heredan 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 TestFile, escriba:

    icacls TestFile /grant *S-1-1-0:(d,wdac)
    

    Para aplicar un nivel de integridad alto a un directorio y asegurarse de que sus archivos y subdirectorios heredan este nivel, escriba:

    icacls "myDirectory" /setintegritylevel (CI)(OI)H