Cómo usar Xcacls.vbs para modificar los permisos NTFS

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

En esta página

Resumen

Hay una versión actualizada de la herramienta Lista de control de acceso a cambios extendidos (Xcacls.exe) está disponible como una secuencia de comandos de Microsoft Visual Basic (Xcacls.vbs) de Microsoft. En este artículo paso a paso se describe cómo utilizar el archivo de secuencias de comandos Xcacls.vbs para modificar y ver los permisos del sistema de archivos NTFS en archivos o carpetas. Puede utilizar Xcacls.vbs en la línea de comandos para establecer todas las opciones de seguridad del sistema de archivos que son accesibles en el Explorador de Microsoft Windows. Xcacls.vbs muestra y modifica las listas de control de acceso (ACL, Access Control List) de archivos.

Nota
Xcacls.vbs sólo es compatible con Microsoft Windows 2000, Microsoft Windows XP y Microsoft Windows Server 2003. Microsoft no proporciona soporte técnico para Xcacls.vbs.

Preparar y usar Xcacls.vbs

Para preparar y usar Xcacls.vbs, siga estos pasos:
  1. Obtenga la versión más reciente de Xcacls.vbs en el sitio Web de Microsoft siguiente:
    http://download.microsoft.com/download/f/7/8/f786aaf3-a37b-45ab-b0a2-8c8c18bbf483/XCacls_Installer.exe
  2. Haga doble clic en Xcacls_Installer.exe. Cuando se le solicite una ubicación para colocar los archivos extraídos, especifique una carpeta que esté en la configuración de la ruta de búsqueda de su equipo, como C:\Windows.
  3. Cambie el motor de secuencias de comandos predeterminado de Wscript a Cscript. (El archivo de secuencias de comandos Xcacls.vbs funciona mejor en Cscript.) Para ello, escriba lo siguiente en el símbolo del sistema y, a continuación, presione ENTRAR:
    cscript.exe /h:cscript
    Nota
    El cambio de motor de secuencia de comandos predeterminado a Cscript sólo afecta a la manera en que las secuencias de comandos se escriben en la pantalla. Wscript escribe individualmente cada línea en un cuadro de diálogo que muestra el botón Aceptar. Cscript escribe cada línea en la ventana de comandos. Si no desea cambiar el motor de secuencias de comandos predeterminado, debe ejecutar la secuencia de comandos con el comando siguiente:
    cscript.exe xcacls.vbs
    ; mientras que si cambia el valor predeterminado a Cscript, puede ejecutar la secuencia de comandos con el comando siguiente:
    xcacls.vbs
    .
  4. Para ver la sintaxis de comandos de Xcacls.vbs, escriba lo siguiente en el símbolo del sistema:
    xcacls.vbs /?

Sintaxis para los comandos de Xcacls.vbs

El resultado siguiente del comando xcacls.vbs /? describe la sintaxis de Xcacls.vbs:
Uso: XCACLS nombreArchivo [/E] [/G usuario:perm;spec] [...] [/R usuario [...]] [/F] [/S] [/T] [/P usuario:perm;spec [...]] [/D usuario:perm;spec] [...] [/O usuario] [/I ENABLE/COPY/REMOVE] [/N [/L nombreArchivo] [/Q] [/DEBUG]

   nombreArchivo   [Requerido] Si se utiliza por sí solo, muestra las listas ACL. (El nombre de archivo puede ser un nombre de archivo, nombre de directorio o caracteres comodín y puede incluir la ruta de acceso completa. Si no se especifica la ruta de acceso, se supone que está bajo el directorio actual.) Notas: - Escriba el nombre de archivo entre comillas si tiene espacios o caracteres especiales como &, $, #, etc. - Si el nombre de archivo es un directorio, NO se cambiarán los archivos y subdirectorios bajo él a menos que /F o S estén presentes.

   /F                  [Utilizado con el nombre de directorio o caracteres comodín] Cambiará todos los archivos bajo el directorio introducido pero NO recorrerá los subdirectorios a menos que /T también esté presente. Si el nombre de archivo es un directorio y no se utiliza /F, no se tocará ningún archivo.

   /S                  [Utilizado con el nombre de directorio o caracteres comodín] Cambiará todas las subcarpetas bajo el directorio introducido pero NO recorrerá los subdirectorios a menos que /T también esté presente. Si el nombre de archivo es un directorio y no se utiliza /S, no se tocará ningún subdirectorio.

   /T                  [Utilizado con un nombre de directorio] Recorre todos los subdirectorios y realiza los mismos cambios. Este modificador sólo recorrerá los directorios si el nombre de archivo es un directorio o se utilizan caracteres comodín. /E                  Modifica la lista ACL en lugar de reemplazarla.

   /G usuario:GUI     Concede permisos de seguridad similares a las opciones estándar (no avanzadas) de la interfaz de usuario de Windows. /G usuario:Perm;Spec   Concede los derechos de acceso especificados al usuario. (/G agrega los derechos existentes para el usuario)

                       Usuario: Si el nombre de usuario incluye espacios, escríbalo entre comillas. Si Usuario contiene #equipo#, se reemplazará #equipo# por el nombre del equipo actual si es un controlador que no es de dominio y por el nombre del dominio actual si es un controlador de dominio.

                             Nuevo en la versión 3.0: el nombre de usuario puede ser una cadena que represente el SID actual, pero debe ir precedido de SID#. Ejemplo: SID#S-1-5-21-2127521184-160... (La cadena de SID mostrada se ha abreviado) (Si un usuario tiene un SID#, todas las coincidencias deben coincidir globalmente con el SID [no con el nombre], de modo que si su intención es aplicar los cambios a todas las cuentas que coinciden con Dominio\Usuario, no especifique SID# como uno de los usuarios.)

                       GUI: es para los derechos estándar y puede ser: Permisos... F  Control total M  Modificar X  Lectura y ejecución L  Mostrar el contenido de la carpeta R  Lectura W  Escritura Nota: Si hay un punto y coma (;), esto se considerará un par de parámetros Perm;Spec.

                       Perm: es "sólo para archivos" y puede ser: Permisos... F  Control total M  Modificar X  Lectura y ejecución R  Lectura W  Escritura avanzada... D  Tomar propiedad C  Cambiar permisos B  Leer permisos A  Eliminar 9  Escribir atributos 8  Leer atributos 7  Eliminar subcarpetas y archivos 6  Recorrer carpeta / Ejecutar archivo 5  Escribir atributos extendidos 4  Leer atributos extendidos 3  Crear carpetas / Anexar datos 2  Crear archivos / Escribir datos 1  Mostrar carpeta / Leer datos Spec es "sólo para carpeta y subcarpetas" y tiene las mismas opciones que Perm.

   /R usuario         Revoca los derechos de acceso de usuario especificados. (Quitará las listas ACL Permitido o Denegado para el usuario.)

   /P usuario:GUI     Reemplaza los permisos de seguridad similares a las opciones estándar.

   /P usuario:perm;spec   Reemplaza los derechos de acceso de usuario especificados. Para ver la especificación de derechos de acceso, consulte la opción /G. (/P se comporta como /G si no hay ningún derecho establecido para el usuario.)

   /D usuario:GUI     Deniega los permisos de seguridad similares a las opciones estándar.
   /D usuario:perm;spec  Deniega derechos de acceso de usuario específicos. Para ver la especificación de derechos de acceso, consulte la opción /G. (/D agrega los derechos existentes para el usuario.)

   /O usuario         Cambia la propiedad a este usuario o grupo.

   /I modificador   Indicador de herencia.  Si se omite, el valor predeterminado es no tocar la lista ACL heredada. El modificador puede ser: ENABLE - Esto activará el indicador de herencia si no está activado. COPY - Esto desactivará el indicador de herencia y copiará la lista ACL heredada a la ACL efectiva. REMOVE - Esto desactivará el indicador de herencia y no copiará la lista ACL heredada. Es lo contrario de ENABLE. Si el modificador no está presente, se omitirá /I y la lista ACL heredada permanecerá intacta.

   /L nombreArchivo  Nombre de archivo para registrar. Puede incluir un nombre de ruta de acceso si el archivo no está bajo el directorio actual. Los datos se anexarán al archivo o éste se creará si no existe. Debe ser un archivo de texto si existe o se producirá un error.

                       Si se omite el nombre de archivo, se utilizará el nombre predeterminado XCACLS.

   /Q                  Activar el modo silencioso.  De forma predeterminada, está desactivado. Si está activado, no se mostrará nada en la pantalla.


   /DEBUG              Activar el modo de depuración. De forma predeterminada, está desactivado. Si está activado, se mostrará y/o registrará más información. La información mostrará Sub/Function Enter y Exit, así como otra información importante.

   /SERVER nombreServidor   Nombre del servidor remoto contra el que se ejecutará la secuencia de comandos.

   /USER nombreUsuario   Nombre de usuario que se suplanta para las conexiones remotas (requiere el modificador PASS).  Se omitirá si se trata de una conexión local.

   /PASE contraseña    Contraseña que se especifica con el modificador USER (requiere el modificador USER).


Se pueden utilizar caracteres comodín para especificar más de un archivo en un comando, como: *       Cualquier cadena de cero o más caracteres ?       Cualquier carácter individual

Puede especificar más de un usuario en un comando. Puede combinar los derechos de acceso.


Usar Xcacls.vbs para ver permisos


También puede utilizar Xcacls.vbs para ver los permisos en archivos o carpetas. Por ejemplo, si tiene una carpeta denominada C:\Test, escriba lo siguiente en el símbolo del sistema para ver los permisos de carpeta y, a continuación, presione ENTRAR:
xcacls.vbs c:\test
El ejemplo siguiente es un resultado típico:
C:\>XCACLS.VBS c:\test Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Starting XCACLS.VBS (Version: 3.4) Script at 6/11/2003 10:55:21 AM

Startup directory: "C:\test"

Arguments Used: Filename = "c:\test"



************************************************************************** Directory: C:\test

Permissions: Type     Username                Permissions           Inheritance

Allowed  BUILTIN\Administrators  Full Control          This Folder, Subfolde Allowed  NT AUTHORITY\SYSTEM     Full Control          This Folder, Subfolde Allowed  Domain1\User1           Full Control          This Folder Only Allowed  \CREATOR OWNER          Special (Unknown)     Subfolders and Files Allowed  BUILTIN\Users           Read and Execute      This Folder, Subfolde Allowed  BUILTIN\Users           Create Folders / Appe This Folder and Subfo Allowed  BUILTIN\Users           Create Files / Write  This Folder and Subfo

No Auditing set

Owner: Domain1\User1


Nota
El resultado del comando xcacls.vbs c:\test en este ejemplo coincide con el texto mostrado en la interfaz gráfica de usuario. Algunas palabras están incompletas en la ventana de comandos.

El resultado también proporciona la versión de la secuencia de comandos, el directorio de inicio y los argumentos que se utilizaron.

También puede utilizar caracteres comodín para mostrar los archivos correspondientes bajo el directorio. Por ejemplo, si escribe lo siguiente, se muestran todos los archivos con una extensión de ".log" que estén en la carpeta C:\Test:
xcacls.vbs c:\test\*.log

Ejemplos


Los comandos de Xcacls.vbs siguientes proporcionan algunos ejemplos de uso de Xcacls.vbs.

xcacls.vbs c:\test\ /g domain\testuser1:f /f /t /e
Este comando edita los permisos existentes. Concede control total a Domain\TestUser1 en todos los archivos bajo C:\Test, recorre las subcarpetas de C:\Test y, a continuación, cambia cualquier archivo que encuentre. Este comando no toca los directorios.
xcacls.vbs c:\test\ /g domain\testuser1:f /s /l "c:\xcacls.log"
Este comando reemplaza los permisos existentes. Concede a Domain\TestUser1 control completo en todas las subcarpetas bajo C:\Test y registra los datos en C:\Xcacls.log. Este comando no toca los archivos y no recorre los directorios.
xcacls.vbs c:\test\readme.txt /o "machinea\group1"
Este comando cambia el propietario de Readme.txt para que sea MachineA\Group1 del grupo.
xcacls.vbs c:\test\badcode.exe /r "machinea\group1" /r "domain\testuser1"
Este comando revoca los permisos en C:\Test\Badcode.exe para MachineA\Group1 y Domain\TestUser1.
xcacls.vbs c:\test\subdir1 /i enable /q
Este comando activa la herencia en la carpeta C:\Test\Subdir1. Suprime cualquier resultado en pantalla.
xcacls.vbs \\servera\sharez\testpage.htm /p "domain\group2":14
Este comando conecta remotamente a \\ServerA\ShareZ mediante Instrumental de administración de Windows (WMI). Obtiene a continuación la ruta de acceso local para ese recurso compartido y bajo esa ruta de acceso, cambia los permisos en Testpage.htm. Deja intactos los permisos existentes de Domain\Group2, pero agrega los permisos 1 (leer datos) y 4 (leer atributos extendidos). El comando elimina otros permisos en el archivo porque no se utilizó el modificador /e.
xcacls.vbs d:\default.htm /g "domain\group2":f /server servera /user servera\admin /pass contraseña /e
Este comando utiliza WMI para conectar de forma remota como ServerA\Admin a ServerA y, a continuación, concede permisos completos en Default.htm a Domain\Group2. Se pierden los permisos existentes para Domain\Group2 y otros permisos en el archivo permanecen.

Referencias

Para obtener información adicional sobre cómo utilizar Xcacls.exe, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
318754 Cómo usar Xcacls.exe para modificar los permisos NTFS

Propiedades

Id. de artículo: 825751 - Última revisión: lunes, 7 de noviembre de 2005 - Versión: 2.3
La información de este artículo se refiere a:
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professional Edition
Palabras clave: 
kbhowtomaster KB825751

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com