DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 825751 - Última revisão: quarta-feira, 15 de junho de 2005 - Revisão: 2.1

Nesta página

Sumário

Existe uma versão atualizada da ferramenta da Lista de controle de acesso de alteração extendida (Xcacls.exe) que está disponível como um script do Microsoft Visual Basic (Xcacls.vbs) da Microsoft. Esse artigo descreve passo a passo como usar o script Xcacls.vbs para modificar e exibir as permissões do sistema de arquivos para arquivos ou pastas. Você pode usar o Xcacls.vbs a partir da linha de comando para definir todas as opções de segurança do sistema de arquivos que são acessíveis no Microsoft Windows Explorer. O Xcacls.vbs exibe e modifique as listas de controle de acesso (ACLs) dos arquivos.

Observação O Xcacls.vbs somente é compatível com o Microsoft Windows 2000, com o Microsoft Windows XP e com o Microsoft Windows Server 2003. O Xcacls.vbs não é suportado pela Microsoft.

Configuração e uso do Xcacls.vbs

Para configurar e usar o Xcacls.vbs, execute estas etapas:
  1. Obtenha a última versão do Xcacls.vbs no seguinte site da Microsoft:
    http://download.microsoft.com/download/f/7/8/f786aaf3-a37b-45ab-b0a2-8c8c18bbf483/XCacls_Installer.exe (http://download.microsoft.com/download/f/7/8/f786aaf3-a37b-45ab-b0a2-8c8c18bbf483/xcacls_installer.exe)
  2. Clique duas vezes em Xcacls_Installer.exe. Quando for solicitado a indicar um local para colocar os arquivos extraídos, especifique uma pasta que esteja na configuração de caminho de pesquisa do computador, como C:\Windows.
  3. Altere o mecanismo de script padrão de Wscript para Cscript. (O script Xcacls.vbs funciona melhor em Cscript.) Para fazer isso, digite o seguinte no prompt de comando e pressione ENTER:
    cscript.exe /h:cscript
    Observação Alterar o mecanismo de script padrão para Cscript afeta apenas como os scripts gravam na tela. O Wscript grava individualmente cada linha em uma caixa de diálogo OK. O Cscript grava cada linha na janela de comando. Se desejar alterar o mecanismo de script padrão, você deve executar o script usando o seguinte comando
    cscript.exe xcacls.vbs
    enquanto que se você alterar o padrão para Cscript, pode executar o script com o seguinte comando:
    xcacls.vbs
    .
  4. Para verificar a sintaxe de comando do Xcacls.vbs, digite o seguinte no prompt de comando:
    xcacls.vbs /?

Sintaxe para o comando Xcacls.vbs

A seguinte saída do comando xcacls.vbs /? descreve a sintaxe de comando do Xcacls.vbs:

 Uso:
 XCACLS nome_do_arquivo [/E] [/G usuário:perm;espec] [...] [/R usuário [...]]
                        [/F] [/S] [/T]
                        [/P usuário:perm;espec [...]] [/D usuário:perm;espec] [...]
                        [/O usuário] [/I ENABLE/COPY/REMOVE] [/N
                        [/L nome_do_arquivo] [/Q] [/DEBUG]

   nome_do_arquivo            [Requerido] Se usado sozinho, exibe as ACLs.
                              (O nome_do_arquivo pode ser um nome de arquivo,
                              nome de diretório ou caracteres curinga e pode 
                              incluir o caminho completo. Se o caminho estiver
                              faltando, presume-se que esteja no diretório atual.)
                              Observações:
                              - Coloque o nome do arquivo entre aspas se ele tiver
                              espaços ou caracteres especiais como &,$, #, etc.
                              - se o nome do arquivo for um diretório, todos os 
                              arquivos e subdiretórios sob ele NÃO serão alterados
                              a menos que a /A seja adicionado.

   /F                         [Usado com Diretório ou Curinga] Altera todos os 
                              arquivos sob o diretório mas NÃO atravessa subdiretórios
                              a menos que /T também seja adicionado. Se o nome do 
                              arquivo for um diretório e /F não estiver adicionado,
                              nenhum arquivo é alterado.

   /S                         [Usado com Diretório ou Curinga] Altera todas as 
                              subpastas sob o diretório mas NÃO atravessa subdiretórios
                              a menos que /T também seja adicionado. Se o nome do 
                              arquivo for um diretório e /S não estiver adicionado,
                              nenhum subdiretório é alterado.

   /T                         [Usado somente com um Diretório] Atravessa cada 
                              subdiretório e executa as mesmas alterações. Esta chave
                              atravessa diretórios somente se o nome do arquivo for um
                              diretório ou se estiver usando caracteres curinga.
   /E                         Edita a ACL em vez de substituí-la.

   /G usuário:GUI             Concede permissões de segurança similares às opções-padrão
                              GUI do Windows (não-avançadas).
   /G usuário:Perm;Espec      Concede direitos de acesso de usuário específicos.
                              (/G adiciona direitos existentes para usuário)

                              Usuário: Se Usuário tiver espaços, coloque-o entre aspas.
                                       Se Usuário contiver #machine#, ele substituirá 
                                       #machine# pelo nome de máquina real se for um
                                       controlador sem domínio, e substituirá pelo nome
                                       de domínio real se for um controlador de domínio.

                                       Novo para 3.0: O usuário pode ser uma seqüência
                                       que represente o SID real, mas DEVE ser precedido
                                       por SID#: SID#S-1-5-21-2127521184-160...
                                       (A seqüência do SID mostrada foi reduzida)
                                       (Se qualquer usuário tiver SID#, então todas as
                                       correspondências devem coincidir com o SID (não
                                       o nome), assim, se sua intenção é aplicar as 
                                       alterações para todas as contas que coincidam 
                                       com o Domínio\Usuário, não especifique SID# como
                                       um dos usuários.)

                              GUI: Usado para direitos-padrão e pode ser:
                                   Permissões... 
                                        F Controle total
                                        M Modificar
                                        X ler e eXecutar
                                        L conteúdo de pasta de lista
                                        R Ler
                                        W Gravar
                                    Observação: Se ; existir, será considerado como
                                    um par de parâmetros Perm;Espec.

                              Perm: Usado para "Arquivos somente" e pode ser:
                                    Permissões...
                                        F  Controle total
                                        M  Modificar
                                        X  ler e eXecutar
                                        R  ler
                                        W  gravação
                                     Avançadas...
                                        D  Assumir propriedade
                                        C  Alterar permissões
                                        B  Ler permissões
                                        A  Excluir
                                        9  Gravar atributos
                                        8  Ler atributos
                                        7  Excluir subpastas e arquivos
                                        6  Atravessar pasta/ Executar arquivo
                                        5  Gravar atributos extendidos
                                        4  Ler atributos extendidos
                                        3  Criar pastas / Acrescentar dados
                                        2  Criar arquivos / Gravar dados
                                        1  Listar pasta / Ler dados
                              Espec é para "Pasta e subpastas somente" e tem as mesmas
                              opções de Perm.

   /R usuário                 Revoga os direitos de acesso específicos do usuário.
                              (Removerá qualquer ACL permitido ou negado para usuário.)

   /P usuário:GUI             Substitui as permissões de segurança similares às 
                              opções-padrão.

   /P usuário:perm;espec      Substitui os direitos de acesso específicos do usuário.
                              Para obter a especificação de direito de acesso, veja a
                              opção /G. (/P comporta-se como /G se não há direitos 
                              definidos para usuário.)

   /D usuário:GUI             Nega permissões de segurança similares às opções-padrão.
   /D usuário:perm;espec      Nega direitos de acesso de usuário específicos. Para 
                              obter a especificação de direito de acesso, veja a opção /G. 
                             (/D adiciona direitos existentes para usuário)

   /O usuário                Alterar o proprietário para esse usuário ou grupo.

   /I chave                  Sinalizador de herança.  Se omitido, o padrão é não tocar
                             nos ACLs herdados.
                             A chave pode ser:
                                  ENABLE - Isso ativará o sinalizador de herança caso
                                           ele ainda não esteja ativado.
                                  COPY   - Isso desativará o sinalizador de herança e
                                           copiará os ACLs herdados nos ACLs efetivos.
                                  REMOVE - Isso desativará o sinalizador de herança e
                                           não copiará os ACLs herdados.  É o oposto 
                                           de ENABLE. 
                             Se a chave não estiver presente, /l será ignorado e os
                             ACLs herdados permanecerão inalterados.

   /L nome_do_arquivo        Nome_do_arquivo para logon. Isso pode incluir um nome de 
                             caminho se o arquivo não estiver em um diretório atual. 
                             O arquivo será adicionado ou criado se ele não existir.
                             Se ele existir, deve ser um arquivo de texto, caso 
                             contrário, um erro ocorrerá.

                             Se o nome de arquivo for omitido, o nome-padrão de XCACLS
                             será usado.

   /Q                        Ativa o modo Silencioso.
                             Por padrão, está desativado. Se estiver ativado, não haverá
                             exibição na tela.


   /DEBUG                    Ativa o modo Depurar.
                             Por padrão, está desativado. Se estiver ativado, haverá 
                             mais informações exibidas e/ou registradas. As 
                             informações exibirão Sub/Função Enter e Exit assim 
                             como outras informações importantes.

   /SERVER nome_do_servidor  Insere um servidor remoto para executar o script.

   /USER nome_do_usuário     Insere o Nome_do_usuário para as Conexões remotas 
                             (requer chave PASS). 
                             Será ignorado se for para uma Conexão local.

   /PASS senha               Insere a senha da chave USER (requer a chave USER).


 Os caracteres curinga podem ser usados para especificar mais de um arquivo em um comando, como:
              *       Qualquer seqüência de zero ou mais caracteres
              ?       Qualquer caractere único

 Você pode especificar mais de um usuário em um comando.
 Você pode combinar direitos de acesso.


Use Xcacls.vbs para exibir as permissões


Você pode usar Xcacls.vbs para exibir as permissões para arquivos ou pastas. Por exemplo, se você tem uma pasta nomeada C:\Test, digite o seguinte no prompt de comando para exibir as permissões de pasta e pressione ENTER:
xcacls.vbs c:\test
O seguinte exemplo é um resultado típico:

 C:\>XCACLS.VBS c:\test
 Microsoft (R) Windows Script Host Version 5.6
 Copyright (C) Microsoft Corporation 1996-2001.
 Todos os direitos reservados.

 Iniciando XCACLS.VBS (Versão: 3.4) Script em 11/6/2003 10:55:21 a.m.

 Diretório de inicialização:
 "C:\teste"

 Argumentos Usados:
         Nome do arquivo = "c:\teste"


 ************************************************************************** Diretório: C:\teste

 Permissões:
 Tipo        Nome do usuário          Permissões                Herança

 Permitido   BUILTIN\Administradores  Controle total            Essa pasta, Subpasta
 Permitido   NT AUTHORITY\SYSTEM      Controle Total            Esta pasta, Subpasta
 Permitido   Domínio1\Usuário1        Controle Total            Somente essa pasta
 Permitido   \CREATOR OWNER           Especial (Desconhecido)   Subpastas e arquivos
 Permitidos  BUILTIN\Usuários         Ler e executar            Nesta pasta, Subpastas
 Permitidos  BUILTIN\Usuários         Criar pastas/ Adicionar   Esta pasta e subpastas
 Permitidos  BUILTIN\Usuários         Criar arquivos/ Gravar    Essa pasta e subpasta

Nenhuma configuração de auditoria

Proprietário: Domínio\Usuário1


Observação A saída do comando xcacls.vbs c:\test nesse exemplo coincide com o texto exibido na interface gráfica do usuário (GUI). Algumas palavras estão incompletas na janela de comando.

A saída também fornece a versão do script, o diretório de inicialização e os argumentos que foram usados.

Você também pode usar caracteres curinga para exibir arquivos coincidentes sob o diretório. Por exemplo, se você digitar o seguinte, todos os arquivos com extensão ".log" da pasta C:\Teste serão exibidos:
xcacls.vbs c:\test\*.log

Exemplos


Os seguintes comandos Xcacls.vbs fornecem alguns exemplos do uso do Xcacls.vbs.

xcacls.vbs c:\teste\ /g domínio\usuárioteste1:f /f /t /e
Esse comando edita as permissões existentes. O comando garante a Domínio\UsuárioTeste1 controle total sobre todos os arquivos sob C:\Teste, atravessa as subpastas sob C:\Teste e altera quaisquer arquivos encontrados. Esse comando não toca em diretórios.
xcacls.vbs c:\teste\ /g domínio\usuárioteste1:f /s /l "c:\xcacls.log"
Esse comando substitui as permissões existentes. Ele garante ao Domínio\UsuárioTeste1 controle total sobre todas as subpastas em C:\Teste e registra em C:\Xcacls.log. Esse comando não toca em arquivos e não atravessa diretórios.
xcacls.vbs c:\teste\readme.txt /o "máquinaa\grupo1"
Esse comando altera o proprietário de Readme.txt para o grupo MáquinaA\Grupo1.
xcacls.vbs c:\teste\badcode.exe /r "máquinaa\grupo1" /r "domínio\usuárioteste1"
Esse comando revoga as permissões para C:\Teste\Badcode.exe para MáquinaA\Grupo1 e para Domínio\UsuárioTeste1.
xcacls.vbs c:\teste\subdir1 /i enable /q
Esse comando ativa a herança na pasta C:\Teste\Subdir1. Ele suprime qualquer saída de tela.
xcacls.vbs \\servera\sharez\testpage.htm /p "domínio\grupo2":14
Esse comando conecta remotamente a \\ServidorA\CompartilhamentoZ usando a Instrumentação de gerenciamento do Windows (WMI). Ele então obtém o caminho local para aquele compartilhamento, e sob esse caminho, altera as permissões em Páginateste.htm. Ele deixa intactas as permissões existentes de Domínio\Grupo2, mas adiciona permissões 1 (leitura de dados) e 4 (leitura de atributos extendidos). O comando omite outras permissões no arquivo porque a chave /e não foi usada.
xcacls.vbs d:\default.htm /g "domínio\grupo2":f /servidor servidora /usuário servidora\admin /pass senha /e
Esse comando usa o WMI para se conectar remotamente como ServidorA\Admin para ServidorA e concede permissões totais em Padrão.htm para Domínio\Grupo2. As permissões existentes para Domínio\Grupo2, além de outras permissões no arquivo restante, são perdidas.

Referências

Para obter informações adicionais sobre como usar o Xcacls.exe, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:
318754  (http://support.microsoft.com/kb/318754/ ) Como usar o Xcacls.exe para modificar as permissões NTFS

A informação contida neste artigo aplica-se 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
Palavras-chave: 
kbhowtomaster KB825751
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft