Cambiar permisos de archivo desde CMD

 Justo andaba necesitando resetear los permisos de archivo de unas carpetas, y no quería hacerlo uno por uno, y a veces el command te hace la vida fácil usando ICACLS




La inflo no la descubrí yo, sino que la encontré en esta pagina. Viene al pelo cuando queras abrir un archivo y te sale que no tenés permiso para verlo


Para mi lo mas útil fue simplemente resetear.

ICACLS * /T /Q /C /RESET 

abajo dejo una copia de otros comandos de la misma pagina que tiene ejemplos

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 2016Windows Server 2012Windows 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

 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)

Comentarios

Entradas populares de este blog