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)
Cambiaremos los permisos NTFS en C:\test, eliminando todos los permisos heredados existentes y aplicaremos los nuevos permisos a la carpeta pudiéndolos heredar cada una de las subcarpetas y los archivos que contenga.
icacls "C:\test" /inheritance:r /grant:r Dom\Administradores: (OI) (CI) F
Asignaremos al usuario Pepe del dominio DOM.LOCAL permisos de Modificar en la carpeta c:\test y aplicaremos los nuevos permisos a la carpeta pudiéndolos heredar cada una de las carpetas y los archivos que contenga.
icacls "C:\test" /grant:r DOM\pepe: (OI) (CI) M /T
También podemos combinar varias asignaciones de permisos, asignaremos al usuario Pepe del dominio DOM.LOCAL permisos de Modificar en la carpeta c:\test y asignaremos permisos de control total para el grupo de Administradores finalmente aplicaremos los nuevos permisos a la carpeta pudiéndolos heredar cada una de las carpetas y los archivos que contenga.
icacls "C:\test" /grant:r Dom\pepe: (OI)(CI) M /T /grant:r Dom\Administradores: (OI)(CI) F /T
Podremos ver los permisos actualmente configurados en una carpeta:
icacls "C:\test"
Con el comando que mostramos a continuación, restableceremos los permisos en todos los elementos secundarios debajo de de la carpeta C:\test\ejemplo.
Usando \* final, se restablecerán los permisos NTFS de la carpeta llamada ejemplo, si no usamos \* se restablecerían los permisos en la carpeta llamada test.
icacls "C:\test\ejemplo\*" /c /t /reset
Podemos hacer una copia de seguridad de todas las Access Control Lists en un archivo de texto que llamaremos ACL_backup.txt.
icacls * /save c:\acl-backup\ACL_backup.txt
También podemos restaurar la Access Control Lists usando un archivo de copia de seguridad que hemos previamente creado.
icacls /restore c:\acl-backup\ACL_backup.txt
Espero os sea de utilidad.
icacls "c:\test" /inheritance:r /grant:r DOM\Todos:(OI)(CI)(F)
Ejemplos:
El primero de nuestros ejemplos, propagará un nuevo permiso a todos los archivos y carpetas que se encuentren en C:\test\ejemplo, sin usar la herencia, de este modo que si alguna de las subcarpetas tiene asignados permisos específicos, no se sobrescribirán.
icacls "C:\test\ejemplo\ /grant:r accountName:(NP)(RX) /T
En el siguiente ejemplo, asignaremos a la carpeta llamada C:\test\ permisos de control total para el grupo de Administradores y indicaremos que los nuevos permisos serán heredados en las subcarpetas y los archivos que contenga.
icacls "C:\test" /grant:r Dom\Administradores:(OI)(CI) F /T
El primero de nuestros ejemplos, propagará un nuevo permiso a todos los archivos y carpetas que se encuentren en C:\test\ejemplo, sin usar la herencia, de este modo que si alguna de las subcarpetas tiene asignados permisos específicos, no se sobrescribirán.
icacls "C:\test\ejemplo\ /grant:r accountName:(NP)(RX) /T
En el siguiente ejemplo, asignaremos a la carpeta llamada C:\test\ permisos de control total para el grupo de Administradores y indicaremos que los nuevos permisos serán heredados en las subcarpetas y los archivos que contenga.
icacls "C:\test" /grant:r Dom\Administradores:(OI)(CI) F /T
En el tercer ejemplo, concederá al usuario Pepe del dominio DOM.LOCAL permisos de administrador para eliminar y escribir DAC en el archivo.
icacls file /grant DOM\pepe:(D,WDAC)
Concederá al usuario definido por el SID S-1-1-0 permisos para eliminar y escribir DAC en el archivo.
icacls file /grant *S-1-1-0:(D,WDAC)
Cambiaremos los permisos NTFS en C:\test, eliminando todos los permisos heredados existentes y aplicaremos los nuevos permisos a la carpeta pudiéndolos heredar cada una de las subcarpetas y los archivos que contenga.
icacls "C:\test" /inheritance:r /grant:r Dom\Administradores: (OI) (CI) F
Asignaremos al usuario Pepe del dominio DOM.LOCAL permisos de Modificar en la carpeta c:\test y aplicaremos los nuevos permisos a la carpeta pudiéndolos heredar cada una de las carpetas y los archivos que contenga.
icacls "C:\test" /grant:r DOM\pepe: (OI) (CI) M /T
También podemos combinar varias asignaciones de permisos, asignaremos al usuario Pepe del dominio DOM.LOCAL permisos de Modificar en la carpeta c:\test y asignaremos permisos de control total para el grupo de Administradores finalmente aplicaremos los nuevos permisos a la carpeta pudiéndolos heredar cada una de las carpetas y los archivos que contenga.
icacls "C:\test" /grant:r Dom\pepe: (OI)(CI) M /T /grant:r Dom\Administradores: (OI)(CI) F /T
Podremos ver los permisos actualmente configurados en una carpeta:
icacls "C:\test"
Con el comando que mostramos a continuación, restableceremos los permisos en todos los elementos secundarios debajo de de la carpeta C:\test\ejemplo.
Usando \* final, se restablecerán los permisos NTFS de la carpeta llamada ejemplo, si no usamos \* se restablecerían los permisos en la carpeta llamada test.
icacls "C:\test\ejemplo\*" /c /t /reset
Podemos guardar todas las Access Control Lists para todos los archivos almacenados en la carpeta c:\test y sus subdirectorios en un archivo de texto que llamaremos ACL_backup.txt.
También podemos restaurar todas las Access Control Lists para cada archivos que contengan ACL_backup.txt y que existan dentro de la carpeta c:\test o en sus subdirectorios.
icacls c:\test\* /save c:\acl-backup\ACL_backup.txt /T
También podemos restaurar todas las Access Control Lists para cada archivos que contengan ACL_backup.txt y que existan dentro de la carpeta c:\test o en sus subdirectorios.
icacls c:\test\ /restore c:\acl-backup\ACL_backup.txt
Podemos hacer una copia de seguridad de todas las Access Control Lists en un archivo de texto que llamaremos ACL_backup.txt.
icacls * /save c:\acl-backup\ACL_backup.txt
También podemos restaurar la Access Control Lists usando un archivo de copia de seguridad que hemos previamente creado.
icacls /restore c:\acl-backup\ACL_backup.txt
Espero os sea de utilidad.
No hay comentarios:
Publicar un comentario