Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comando CACLS
Comando CACLS
Muestara o modifica listas de control de acceso de archivos ACL (Acces control list)
Hay 2 tipos de ACL, las DACL (Discretionary Acceso Control List) y las SACL (System control
list). Las DACL son manejadas por los propietarios para el control de los archivos y carpetas, las
SACL son manejadas directamente por el sistema operativo
ACL: son unas tablas que le dicen al sistema operativo que o quien tiene permiso para acceder a
los diferentes archivos y carpetas del sistema de archivos NTFS propios de Windows. Los ACL
guardan unas unos descriptores de seguridad que son unos metadatos que almacenan permisos
de los diferentes archivos
Atributos
archivo
Muestra las ACL.
/T
Cambia las ACL de archivos especificados en
el directorio actual y todos los subdirectorios.
/L
Trabaja en el propio vnculo simblico en lugar del destino.
/M
Cambia las ACL de los volmenes montados en un directorio.
/S
Muestra la cadena SDDL para la DACL.
/S:SDDL
Reemplaza las ACL por las especificadas en la cadena SDDL
(no vlido con /E, /G, /R, /P ni /D).
/E
Edita la ACL en vez de remplazarla.
/C
Contina, omitiendo los errores de acceso denegado.
/G usuario:perm Concede derechos de acceso del usuario.
Perm puede ser: R Leer
W Escribir
C Cambiar (escribir)
F Control total
/R usuario Revoca derechos del usuario (slo vlida con /E).
/P usuario:perm Reemplaza derechos de acceso del usuario.
Perm puede ser: N Ninguno
R Leer
W Escribir
C Cambiar (escribir)
F Control total
/D usuario Deniega acceso al usuario especificado.
Ejemplos
cacls "C:\Users\sena" /T --- para ver los permisos archivos en carpetas y subcarpetas
cacls %windir%\*.exe /D Sena --- Deniega permisos al usuario sena de los ejecutables del
directorio de windows, aca se usan comodines como el % y *
donde nombre de archivo indica el nombre del archivo o carpeta a la que la ACL o la entrada de
control de acceso (ACE) se suele aplicar. Se pueden utilizar todos los caracteres comodn estndar.
/T recorre de forma recursiva la carpeta actual y todas sus subcarpetas, aplicando los derechos de
acceso elegidos a los archivos o carpetas correspondientes.
/E modifica la ACL en lugar de reemplazarla. Por ejemplo, slo el administrador tendr acceso al
archivo Test.dat si se ejecuta el comando XCACLS test.dat /G Administrator:F . Todas las ACE
aplicadas anteriormente se pierden.
/C hace que Xcacls.exe contine si se produce un mensaje de error "Acceso denegado". Si no se
especifica /C, Xcacls.exe se detiene en este error.
/G usuario:perm;espec concede acceso al usuario al archivo o carpeta correspondiente.
La variable perm (permiso) aplica el derecho de acceso especificado a los archivos y
representa la mscara de los derechos de acceso especial a archivos para las carpetas. La
variable perm acepta los valores siguientes:
o R Lectura
o C Cambiar (escribir)
o F Control total
o P Permisos de modificacin (acceso especial)
o O Tomar posesin (acceso especial)
o X Ejecutar (acceso especial)
o E Lectura (acceso especial)
o W Escritura (acceso especial)
o D Eliminar (acceso especial)
La variable espec (acceso especial) se aplica slo a las carpetas y acepta los mismos valores
que perm, adems del valor especial siguiente:
o T Sin especificar. Establece una ACE para el propio directorio sin especificar una ACE
que se aplique a los nuevos archivos que se crearon en ese directorio. Despus debe
haber al menos un derecho de acceso. Las entradas entre un punto y coma (;) y T se
pasan por alto. Notas
Las opciones de acceso para los archivos (para carpetas, archivo especial y
acceso a la carpeta) son idnticas. Para obtener una explicacin detallada de
estas opciones, consulte la documentacin del sistema operativo de Windows
2000.
Todas las dems opciones, que tambin se pueden establecer en el Explorador
de Windows, son subconjuntos de todas las posibles combinaciones de los
derechos de acceso bsicos. Debido a esto, no hay ninguna opcin especial
para los derechos de acceso de las carpetas, como MOSTRAR o LECTURA.
/R usuario revoca todos los derechos de acceso para el usuario especificado.
/P usuario:perm;espec reemplaza todos los derechos de acceso del usuario especificado. Las reglas
para especificar perm y espec son las mismas que para la opcin /G. Vea la seccin "Ejemplos de
Xcacls.exe" de este artculo.
F: Control total
C: Cambiar
W: Escritura
Ejemplos de cacls.exe
Ejemplo 1
Escriba XCACLS *.* /G administrator:RW /Y en el smbolo del sistema y, a continuacin, presione
ENTRAR para reemplazar la ACL de todos los archivos y carpetas de la carpeta actual sin examinar
las subcarpetas y sin pedir confirmacin.
Ejemplo 2
Las ACE que se agregan a la carpeta en este ejemplo tambin heredan la ACE de los archivos
nuevos que se crean en esta carpeta. El comando proporciona a usuarioDePrueba derechos de
lectura, escritura, ejecucin y eliminacin en todos los archivos nuevos creados en esta carpeta,
pero slo los permisos de lectura y escritura en la propia carpeta. Escriba XCACLS *.* /G
usuarioDePrueba:RWED;RW /E en el smbolo del sistema y, despus, presione ENTRAR.
Ejemplo 3
El ejemplo siguiente concede permisos de lectura y escritura en una carpeta sin crear una entrada
heredada para los archivos nuevos. Por consiguiente, en este ejemplo, los archivos nuevos que se
crean en esta carpeta no reciben ninguna ACE para usuarioDePrueba. Para los archivos existentes,
se crea una ACE con permisos de lectura. Escriba XCACLS *.* /G usuarioDePrueba:R;RW /E en el
smbolo del sistema y, despus, presione ENTRAR.
ADVERTENCIA
Recuerde que muchos archivos y carpetas reciben sus permisos a travs de la herencia. Por
consiguiente, cuando piense que est cambiando slo una carpeta, puede estar cambiando
muchas ms.
Volver arriba | Enviar comentarios
La sintaxis del comando es bien sencilla, aunque tiene varios modificadores o parmetros.
Antes de seguir comentar que todo lo que sigue se teclear desde la consola de comandos. Es
decir, Inicio > Ejecutar y escribimos cmd y ah podemos teclear todo lo que sigue.
La sintaxis ms inmediata del comando cacls es la siguiente:
cacls nombre_de_archivo
Por ejemplo, si tenemos en el escritorio un archivo llamado ejemplo.exe pues tecleamos:
cacls escritorio\ejemplo.exe
y nos saldrn los permisos que tiene asignado ese archivo. Igualmente podemos podemos usar
variables de entorno o la ruta completa del archivo. Por ejemplo, si queremos consultar los
permisos del archivo explorer.exe que est en la carpeta WINDOWS, podemos escribir:
cacls %windir%\explorer.exe
o bien
cacls
c:\windows\explorer.exe
permiso
permiso
de escritura
de cambiar
Por ejemplo, para denegar al usuario User el acceso al archivo anterior, escribimos:
cacls %userprofile%\escritorio\carpeta personal\ejemplo.exe /d User
Si nos equivocamos al escribir el nombre del usuario nos aparecer un mensaje como este:
No se ha efectuado ninguna asignacin entre los nombres de cuenta y los identificadores de
seguridad.
Cuando se consulten permisos sobre carpetas podemos obtener las siguientes abreviaturas:
OI que se refiere a que los objetos creados bajo el directorio heredarn el permiso
CI que se refiere a que los subdirectorios creados bajo este directorio heredarn el permiso
IO que hace referencia a que el permiso no afectar al directorio y por tanto slo lo heredern los
subdirectorios
(IO)(CI) los permisos lo tomar la carpeta y lo heredern las subcarpetas y archivos
(OI)(CI)(IO) los permisos slo lo heredarn subcarpetas y archivos
(CI)(IO) el permiso slo lo heredarn las subcarpetas
(IO)(IO) el permiso slo lo heredarn los archivos
le dara al usuario Usuario permisos de escritura sobre el archivo y a User2 se los denegara.
cacls %userprofile%\escritorio\carpeta personal\ejemplo.exe /g Usuario:w User2:f
le dara al usuario Usuario permisos de escritura sobre el archivo y al usuario User2 control total.
Finalmente, veremos que al ejecutar alguna accin de permisos se nos pregunta si estamos
seguros o no de lo que vamos a hacer. Para evitar este mensaje tecleamos lo siguiente: