CÓMO: Usar Xcacls.exe para modificar los permisos NTFS

Id. de artículo: 318754 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se describe paso a paso cómo utilizar la herramienta de control extendido de acceso de modificación (Xcacls.exe) a fin de modificar y ver los permisos NTFS de archivos o carpetas.

Puede utilizar Xcacls.exe para establecer todas las opciones de seguridad del sistema de los archivos que son accesibles en el Explorador de Windows desde la línea de comandos. Para ello, Xcacls.exe muestra y modifica las listas de control de acceso (ACL) de los archivos.

Xcacls.exe es especialmente útil en instalaciones desatendidas de Windows 2000 Professional o Windows 2000 Server. Con esta herramienta puede establecer los derechos de acceso iniciales de las carpetas en las que el sistema operativo reside. Al distribuir el software en servidores o estaciones de trabajo, Xcacls.exe también permite impedir que los usuarios eliminen las carpetas o archivos.

La utilidad Xcacls.exe se incluye en el Kit de recursos de Windows 2000. El siguiente archivo se puede descargar desde el Centro de descarga de Microsoft:

Contraer esta imagenAmpliar esta imagen
Descargar
Descargar el paquete XCacls_Installer.exe ahora.

Sintaxis de Xcacls.exe syntax

xcacls nombre de archivo [/T] [/E] [/C] [/G usuario:perm;espec] [/R usuario] [/P usuario:perm;espec [...]] [/D usuario [...]] [/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 comodín estándar.

/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, sólo 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 continúe 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 máscara de los derechos de acceso especial a archivos para las carpetas. La variable perm acepta los valores siguientes:
    • R Lectura
    • C Cambiar (escribir)
    • F Control total
    • P Permisos de modificación (acceso especial)
    • O Tomar posesión (acceso especial)
    • X Ejecutar (acceso especial)
    • E Lectura (acceso especial)
    • W Escritura (acceso especial)
    • D Eliminar (acceso especial)
  • La variable espec (acceso especial) se aplica sólo a las carpetas y acepta los mismos valores que perm, además del valor especial siguiente:
    • 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. Después 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 idénticas. Para obtener una explicación detallada de estas opciones, consulte la documentación del sistema operativo de Windows 2000.
      • Todas las demás opciones, que también se pueden establecer en el Explorador de Windows, son subconjuntos de todas las posibles combinaciones de los derechos de acceso básicos. Debido a esto, no hay ninguna opción 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 opción /G. Vea la sección "Ejemplos de Xcacls.exe" de este artículo.

/D usuario deniega al usuario el acceso al archivo o directorio.

/Y deshabilita la confirmación al reemplazar los derechos de acceso del usuario. De forma predeterminada, CACLS pide confirmación. Debido a esta característica, cuando CACLS se utiliza en una rutina por lotes, la rutina deja de responder hasta que se escriba la respuesta correcta. La opción /Y se introdujo para evitar esta confirmación, para que Xcacls.exe se pueda utilizar en modo de lote.

Utilizar Xcacls.exe para ver los permisos

También puede utilizar Xcacls.exe para ver los permisos de un archivo o carpeta. Por ejemplo, escriba xcacls C:\winnt en el símbolo del sistema y, después, presione ENTRAR. Lo siguiente es un resultado típico:
c:\WINNT BUILTIN\Users:R BUILTIN\Users:(OI)(CI)(IO)(special access:) GENERIC_READ GENERIC_EXECUTE

           BUILTIN\Power Users:C BUILTIN\Power Users:(OI)(CI)(IO)C BUILTIN\Administrators:F BUILTIN\Administrators:(OI)(CI)(IO)F NT AUTHORITY\SYSTEM:F NT AUTHORITY\SYSTEM:(OI)(CI)(IO)F BUILTIN\Administrators:F CREATOR OWNER:(OI)(CI)(IO)F
				
Los marcadores de las ACL tienen los significados siguientes:
  • IO: (Inherit Only) sólo heredar - Este marcador indica que esta ACE no se aplica al objeto actual.
  • CI: (Container Inherit) el contenedor hereda - Este marcador indica que los contenedores subordinados heredarán esta ACE.
  • OI: (Object Inherit) el objeto hereda - Este marcador indica que los archivos subordinados heredarán la ACE.
  • NP: (Non-Propagate) no propagar - Este marcador indica que el objeto subordinado no propagará la ACE heredada más allá.
La letra al final de cada línea indica el permiso. Por ejemplo:
  • F: Control total
  • C: Cambiar
  • W: Escritura

Ejemplos de cacls.exe

Ejemplo 1

Escriba XCACLS *.* /G administrator:RW /Y en el símbolo del sistema y, a continuación, presione ENTRAR para reemplazar la ACL de todos los archivos y carpetas de la carpeta actual sin examinar las subcarpetas y sin pedir confirmación.

Ejemplo 2

Las ACE que se agregan a la carpeta en este ejemplo también heredan la ACE de los archivos nuevos que se crean en esta carpeta. El comando proporciona a usuarioDePrueba derechos de lectura, escritura, ejecución y eliminación en todos los archivos nuevos creados en esta carpeta, pero sólo los permisos de lectura y escritura en la propia carpeta. Escriba XCACLS *.* /G usuarioDePrueba:RWED;RW /E en el símbolo del sistema y, después, 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 símbolo del sistema y, después, presione ENTRAR.

Instrucciones de los permisos NTFS

A continuación se proporcionan instrucciones para asignar los permisos NTFS:
  • Use permisos NTFS para controlar el acceso a los archivos o carpetas.
  • Asigne los permisos a los grupos en lugar de a los usuarios individuales.
  • Los permisos de archivos NTFS tienen prioridad sobre los permisos de carpetas NTFS.
  • Los administradores y el propietario de un archivo o de una carpeta controlan los permisos que se pueden establecer para ese objeto.
  • Al cambiar los permisos de las carpetas, tenga en cuenta los programas que están instalados en los servidores. Los programas crean sus propias carpetas que tienen activada la configuración Hacer posible que los permisos heredables de un objeto primario se propaguen a este objeto. Si los permisos se cambian en la carpeta primaria, estos cambios podrían crear problemas en el programa.

    ADVERTENCIA
    Recuerde que muchos archivos y carpetas reciben sus permisos a través de la herencia. Por consiguiente, cuando piense que está cambiando sólo una carpeta, puede estar cambiando muchas más.

Referencias

Para obtener más información al respecto, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
245015 Cómo: Imprimir permisos de carpeta y de archivo desde una carpeta
135268 Cómo usar CACLS.EXE en un archivo por lotes

Propiedades

Id. de artículo: 318754 - Última revisión: jueves, 02 de noviembre de 2006 - Versión: 4.0
La información de este artículo se refiere a:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
Palabras clave: 
kbenv kbhowtomaster KB318754

Enviar comentarios