AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 27332
Accepted
Joe
Joe
Asked: 2009-06-18 06:55:56 +0800 CST2009-06-18 06:55:56 +0800 CST 2009-06-18 06:55:56 +0800 CST

Como apropriar-se de arquivos a partir da linha de comando?

  • 772

De vez em quando, encontro um arquivo do qual preciso me apropriar. Eu normalmente uso caclspara 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?

windows windows-xp command-line-interface access-control-list ntfs
  • 10 10 respostas
  • 170870 Views

10 respostas

  • Voted
  1. Evan Anderson
    2009-06-18T07:00:41+08:002009-06-18T07:00:41+08:00

    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.

    takeown /f <some-file-or-folder> /r
    

    /rexecuta a operação recursivamente em todos os filhos da pasta especificada. Ao contrário subinaclde , 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 :

    Sintaxe TAKEOWN [/s Computador [/u [Domínio]Nome de usuário [/p [Senha]]]] /f Nome do arquivo [/a] [/r [/d {Y|N}]]

    Chave /s Computador O nome ou endereço IP de um computador remoto (não use barras invertidas). padrão = computador local. Este parâmetro se aplica a todos os arquivos e pastas especificados no comando.

    /u [Domain]UserName Execute o script com as permissões da conta de usuário especificada. default = permissões do sistema.

    /p [Senha] A senha da conta de usuário especificada no parâmetro /u.

    /f FileName O nome do arquivo, caminho UNC ou padrão de nome de diretório. Aceita o caractere curinga *

    /a Conceder propriedade ao grupo Administradores em vez do usuário atual.

    /r Executa uma operação recursiva em todos os arquivos no diretório e subdiretórios especificados.

    /d {Y | N} Suprima o prompt de confirmação exibido quando o usuário atual não tiver a permissão "List Folder" em um diretório especificado e, em vez disso, use um valor padrão: Y: apropriar-se do diretório. N: Ignorar o diretório. Observe que você deve usar essa opção em conjunto com a opção /r. Se o parâmetro /a não for especificado, a propriedade do arquivo será fornecida ao usuário que está conectado no computador no momento.

    Padrões mistos usando (? e *) não são suportados pelo comando takeown.

    Depois de alterar o proprietário de um arquivo/pasta, você pode atribuir permissões totais aos arquivos e, posteriormente, lê-los ou excluí-los.

    • 28
  2. Best Answer
    crb
    2009-06-18T07:05:10+08:002009-06-18T07:05:10+08:00

    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 ).

    subinacl /file test.txt /setowner=domain\foo
    

    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).

    • 25
  3. chipiik
    2013-09-01T08:41:13+08:002013-09-01T08:41:13+08:00

    Assuma a propriedade e os direitos totais da pasta e tudo dentro:

    takeown /F somedir /A /R
    icacls somedir /grant:r User:F /T
    

    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 :

    takeown [/s <Computer> [/u [<Domain>\]<User name> [/p [<Password>]]]] /f <File name> [/a] [/r [/d {Y|N}]]
    

    Referência de retirada .

    Sintaxe Icacls :

    icacls <FileName>[/GRANT [: r] <Sid>: <Perm> [...]] [/ Denegar <Sid>: <Perm> [...]] [/Remove [:g|:d]] <Sid> [...]] [/ t] [/ c] [/ l] [/ q] [/ setintegritylevel <Level>: <Policy> [...]]Icacls <Directory>[/ sustituir <SidOld><SidNew>[...]] [/ restore <ACLfile>[/ c] [/ l] [/q]]
    

    Referência icacls .

    • 19
  4. Jim
    2013-11-10T07:35:15+08:002013-11-10T07:35:15+08:00

    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. /tdiz icaclspara executar a operação recursivamente.

    icacls .\* /setowner %UserDomain%\%UserName% /t
    icacls .\* /reset /t
    

    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.

    • 9
  5. Helge Klein
    2011-01-15T00:53:07+08:002011-01-15T00:53:07+08:00

    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:

    SetACL.exe -on "C:\\" -ot file -actn setprot
               -op "dacl:np;sacl:nc"
               -rec cont_obj
               -actn setowner -ownr "n:S-1-5-32-544;s:y"
    

    Você também pode adicionar -silent.

    • 6
  6. Dave Drager
    2009-06-18T07:03:57+08:002009-06-18T07:03:57+08:00

    Para Windows 2003, 2008 ou Vista ou 7, use Takeown .

    Para Windows 2000, use Fileowners.pl .

    • 3
  7. jnaab
    2011-03-23T06:06:14+08:002011-03-23T06:06:14+08:00

    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!

    • 3
  8. Skelewir
    2011-05-06T13:28:51+08:002011-05-06T13:28:51+08:00

    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.

    • 1
  9. chepseskaf
    2013-07-19T05:49:47+08:002013-07-19T05:49:47+08:00

    Encontrei uma solução usando as Ferramentas do Windows: cacls

    cacls <file or directory> /E /T /G <user>:F
    
    • 0
  10. Jörg
    2013-08-27T06:55:58+08:002013-08-27T06:55:58+08:00
    1. abra o prompt de comando como usuário administrador e mude para o diretório problemático
    2. apropriar-se de todos os arquivos lá ... exemplo:takeown /f *.jpg
    3. conceda direitos de acesso aos usuários de sua escolha ... exemplo: 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!)
    • 0

relate perguntas

  • O Vanilla Powershell é um idioma suficiente para administradores do Windows e do servidor de banco de dados?

  • Executando um .exe de um arquivo .asp usando wscipt no Windows Server 2003

  • Melhor backup de ambiente misto (OS X + Windows)? [fechado]

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Resolver o nome do host do endereço IP

    • 8 respostas
  • Marko Smith

    Como posso classificar a saída du -h por tamanho

    • 30 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    Qual é o utilitário de linha de comando no Windows para fazer uma pesquisa reversa de DNS?

    • 14 respostas
  • Marko Smith

    Como verificar se uma porta está bloqueada em uma máquina Windows?

    • 4 respostas
  • Marko Smith

    Qual porta devo abrir para permitir a área de trabalho remota?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    MikeN No Nginx, como posso reescrever todas as solicitações http para https mantendo o subdomínio? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 Qual é a diferença entre colchetes duplos e simples no bash? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch Como altero a senha da minha chave privada? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt Como funciona a sub-rede IPv4? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve