Podemos usar la utilidad ICACLS para modificar permisos de sistema de archivos NTFS en un equipo que está ejecutando un sistema operativo Microsoft Windows .
ICACLS estará disponible en las versiones de sistema operativo de servidor, Windows Server 2016, Windows Server 2012, Windows Server 2008 y Windows Server 2003 con Service Pack 2 instalado.
Los parámetros para usar ICACLS son los siguientes:
ICACLS nombre /save archivoACL [/T] [/C] [/L] [/Q]
almacena las DACL para los archivos y carpetas cuyos nombres coinciden
en archivoACL para su uso posterior con /restore. Tenga en cuenta que no
se guardan las SACL, el propietario ni las etiquetas de identidad.
ICACLS directorio [/substitute SidOld SidNew [...]] /restore archivoACL
[/C] [/L] [/Q]
aplica las DACL almacenadas a los archivos del directorio.
ICACLS nombre /setowner usuario [/T] [/C] [/L] [/Q]
cambia el propietario de todos los nombres coincidentes. Esta opción
no fuerza un cambio de propiedad; use la utilidad takeown.exe
con esta finalidad.
ICACLS nombre /findsid Sid [/T] [/C] [/L] [/Q]
busca todos los nombres coincidentes que contienen una ACL
que menciona el SID de forma explícita.
ICACLS nombre /verify [/T] [/C] [/L] [/Q]
busca todos los archivos cuya ACL no está en formato canónico o cuyas
longitudes no son coherentes con los recuentos de la ACE.
ICACLS nombre /reset [/T] [/C] [/L] [/Q]
reemplaza las ACL con ACL heredadas predeterminadas para todos
los archivos coincidentes.
ICACLS nombre [/grant[:r] Sid:perm[...]]
[/deny Sid:perm [...]]
[/remove[:g|:d]] Sid[...]] [/T] [/C] [/L] [/Q]
[/setintegritylevel Level:policy[...]]
/grant[:r] Sid:perm concede los derechos de acceso al usuario
especificado. Con :r, los permisos reemplazan cualquier permiso
explícito concedido anteriormente. Sin :r, los permisos se agregan a
cualquier permiso explícito concedido anteriormente.
/deny Sid:perm deniega de forma explícita los derechos de acceso al
usuario especificado. Se agrega una ACE de denegación explícita
para los permisos indicados y se quitan los mismos permisos de
cualquier concesión explícita.
/remove[:[g|d]] Sid quita todas las repeticiones del SID en la ACL. Con
:g, quita todas las repeticiones de derechos concedidos a ese SID. Con
:d, quita todas las repeticiones de derechos denegados a ese SID.
/setintegritylevel [(CI)(OI)]nivel agrega de forma explícita una ACE de
integridad a todos los archivos coincidentes. El nivel se debe
especificar como:
L[ow] - para bajo
M[edium] - para medio
H[igh] - para alto
Las opciones de herencia para la ACE de integridad pueden preceder al
nivel y se aplican solo a los directorios.
/inheritance:e|d|r
e - habilita la herencia
d - deshabilita la herencia y copia las ACE
r - quita todas las ACE heredadas
Nota:
Los SID pueden tener un formato numérico o de nombre descriptivo. Si se da
un formato numérico, agregue un asterisco (*) al principio del SID.
/T indica que esta operación se realiza en todos los archivos o
directorios coincidentes bajo los directorios especificados en el
nombre.
/C indica que esta operación continuará en todos los errores de archivo.
Se seguirán mostrando los mensajes de error.
/L indica que esta operación se realiza en el vínculo simbólico en sí
en lugar de en su destino.
/Q indica que icacls debe suprimir los mensajes de que las operaciones
se realizaron correctamente.
ICACLS conserva el orden canónico de las entradas ACE:
Denegaciones explícitas
Concesiones explícitas
Denegaciones heredadas
Concesiones heredadas
perm es una máscara de permiso que puede especificarse de dos formas:
una secuencia de derechos simples:
N - sin acceso
F - acceso total
M - acceso de modificación
RX - acceso de lectura y ejecución
R - acceso de solo lectura
W - acceso de solo escritura
D - acceso de eliminación
una lista separada por comas entre paréntesis de derechos específicos:
DE - eliminar
RC - control de lectura
WDAC - escribir DAC
WO - escribir propietario
S - sincronizar
AS - acceso al sistema de seguridad
MA - máximo permitido
GR - lectura genérica
GW - escritura genérica
GE - ejecución genérica
GA - todo genérico
RD - leer datos/lista de directorio
WD - escribir datos/agregar archivo
AD - anexar datos/agregar subdirectorio
REA - leer atributos extendidos
WEA - escribir atributos extendidos
X - ejecutar/atravesar
DC - eliminar secundario
RA - leer atributos
WA - escribir atributos
los derechos de herencia pueden preceder a cualquier forma y se
aplican solo a directorios:
(OI) - herencia de objeto
(CI) - herencia de contenedor
(IO) - solo herencia
(NP) - no propagar herencia
(I) - permiso heredado del contenedor principal
Usando la construcción que mostramos a continuación, en primer lugar eliminaremos la herencia y otorgaremos al grupo Todos del dominio DOM.LOCAL control total a la carpeta.
icacls "c:\test" /inheritance:r /grant:r DOM\Todos:(OI)(CI)(F)