miércoles, 31 de agosto de 2011

Auditing file server permissions with cacls on Windows


Un método alternativo para listar permisos de Filesystem sin usar DUMPSEC.
Esta opción es nativa de Windows por lo que no requiere instalación alguna. Es una herramienta simple y rápida.

Pueden usar este comando directamente en un cmd para listar los permisos de un directorio y sus subdirectorios:

cacls e:\share /T /C /E > permissions_share_20100706.txt

Si lo quieren ejecutar para varios equipos en forma remota puede hacerlo usando el Psexec:

Ejemplo
psexec \\207.169.84.13 net cacls e:\share /T /C /E >> permissions_share_20100706.txt

El utilitario cacls tiene algunas falencias, por lo que Microsoft desarrollo el icacls a partir de Windows Vista.

El procedimiento con cacls que es un comando estándar y que lo pueden aplicar en cualquier equipo Windows 2003 Server.

  1. brir CMD
  2.     Pararse sobre la raíz del directorio que queremos analizar
  3.     Ejecutar el comando cacls . /T /C /E > c:\ACLLog.txt
  4.     Analizar el archivo para ver que diferencias hay en los permisos.


La herramienta CACLS no tiene una salida que permita fácilmente ordenar en columnas la salida, pero es muy rápida para generar la salida.
Donde tengan muchas subcarpetas es más recomendable usar Hyena o Dumpsec.

PD: Si tuvieran que agregar permisos en muchas subcarpetas se puede usar el cacls para hacer modificaciones.

Ejemplo:
cacls x:\carpeta /G grupo:W

/G user:perm  Grant specified user access rights.
              Perm can be: R  Read
                           W  Write
                           C  Change (write)
                           F  Full control






Aqui toda la configuración completa:

 Displays or modifies access control lists (ACLs) of files

 CACLS filename [/T] [/M] [/L] [/S[:SDDL]] [/E] [/C] [/G user:perm]
        [/R user [...]] [/P user:perm [...]] [/D user [...]]
    filename      Displays ACLs.
    /T            Changes ACLs of specified files in
                  the current directory and all subdirectories.
    /L            Work on the Symbolic Link itself versus the target
    /M            Changes ACLs of volumes mounted to a directory
    /S            Displays the SDDL string for the DACL.
    /S:SDDL       Replaces the ACLs with those specified in the SDDL string
                  (not valid with /E, /G, /R, /P, or /D).
    /E            Edit ACL instead of replacing it.
    /C            Continue on access denied errors.
    /G user:perm  Grant specified user access rights.
                  Perm can be: R  Read
                               W  Write
                               C  Change (write)
                               F  Full control
    /R user       Revoke specified user's access rights (only valid with /E).
    /P user:perm  Replace specified user's access rights.
                  Perm can be: N  None
                               R  Read
                               W  Write
                               C  Change (write)
                               F  Full control
    /D user       Deny specified user access.
 Wildcards can be used to specify more than one file in a command.
 You can specify more than one user in a command.

 Abbreviations:
    CI - Container Inherit.
         The ACE will be inherited by directories.
    OI - Object Inherit.
         The ACE will be inherited by files.
    IO - Inherit Only.
         The ACE does not apply to the current file/directory.
    ID - Inherited.
         The ACE was inherited from the parent directory's ACL.


No hay comentarios.:

Publicar un comentario