De vez em quando, encontro um arquivo do qual preciso me apropriar. Eu normalmente uso cacls
para alterar as permissões do NTFS, mas não parece fazer a propriedade. Em * nix, eu executaria algo como chown me:me <file>
. Existe uma janela equivalente a chown
?
Você está procurando por "TAKEOWN.EXE", que foi o primeiro no Windows Server 2003 como um componente padrão, e acredito que um item do kit de recursos anterior. Está disponível no Windows 7 e talvez em sistemas mais recentes.
/r
executa a operação recursivamente em todos os filhos da pasta especificada. Ao contráriosubinacl
de , você deve fazer login como o usuário com o qual está tentando se apropriar; ou você pode simplesmente atribuir a propriedade ao grupo "Administradores".Aqui está uma cópia de sua documentação, preservada em SS64 :
subinacl é uma ferramenta poderosa do administrador de sistema do Windows para fazer tudo a ver com propriedade e ACLs. Você pode alterar a propriedade para qualquer pessoa além de você ( você não pode fazer isso com a GUI ).
Isso permite que você defina a permissão para qualquer usuário que desejar, sem precisar ser um administrador (como acredito que o takeown.exe exige).
Assuma a propriedade e os direitos totais da pasta e tudo dentro:
Certifique-se de iniciar o prompt de comando como administrador!
Eu tive que iniciar um prompt de comando como administrador, funcionou para mim no Windows 8.1. Com o constrangimento do Windows 8.1, tive que procurar por "comando", clicar com o botão direito do mouse no ícone do prompt de comando. Para mim, a fim de ver a opção "Executar como administrador". Eu tinha um prompt de comando fixado na minha barra de tarefas, mas clicar com o botão direito nele não mostraria a opção "executar como administrador".
No Windows 10, "Executar como administrador" deve estar disponível para você como uma opção de clique com o botão direito.
Sintaxe de remoção :
Referência de retirada .
Sintaxe Icacls :
Referência icacls .
Eu sei que este é um post muito antigo, mas existe uma maneira incorporada ao Windows 7 e mais recente (pode ser no Windows Vista, mas não tenho certeza). Execute o seguinte em um prompt de comando escalado na pasta que você deseja redefinir.
/t
dizicacls
para executar a operação recursivamente.O primeiro comando redefine o proprietário para quem está conectado por meio das variáveis de ambiente. Claro, um nome específico pode ser usado em vez disso.
O segundo comando força as permissões a serem herdadas novamente na árvore para todas as pastas e arquivos filho.
Espero que isso ajude alguém no futuro.
Você pode dar uma olhada no SetACL , o canivete suíço do gerenciamento de permissões. Aqui está um exemplo de como atribuir a propriedade de todos os arquivos na unidade C: para "Administradores" e remover a proteção de herança de todos os objetos filho de uma só vez:
Você também pode adicionar
-silent
.Para Windows 2003, 2008 ou Vista ou 7, use Takeown .
Para Windows 2000, use Fileowners.pl .
No Windows Server 2003 R2 (e posterior), você pode aproveitar a ferramenta integrada icacls.exe para alterar a propriedade a partir da linha de comando, bem como todas as manipulações tradicionais de cacls.exe sobre as quais ela se expande...
Observe que o padrão icacls.exe é o modo "editar", enquanto o padrão cacls.exe é o modo "substituir" - uma mudança bem-vinda para aqueles de nós mordidos (mais de uma vez) por essa pequena nuance de cacls!
Outra alternativa é fileacl Ele é pequeno e pode definir/desativar o sinalizador "herdar/não herdar" no objeto, ao contrário da maioria dos utilitários do Windows.
Encontrei uma solução usando as Ferramentas do Windows: cacls
takeown /f *.jpg
icacls *.jpg /grant "Everyone":F
(observe que no Windows não inglês "Everyone" pode não existir, por exemplo, no Windows alemão ele só funciona com "Jeder" - chatice real que o Windows traduz as opções de comando!)