Explicar a saída do ICACLS.EXE, linha por linha, item por item

16

O que isto significa:

C:\foo\> icacls .
. NT AUTHORITY\IUSR:(M)
  BUILTIN\IIS_IUSRS:(M)
  BUILTIN\IIS_IUSRS:(OI)(CI)(M)
  NT AUTHORITY\IUSR:(OI)(CI)(M)
  BUILTIN\IIS_IUSRS:(I)(OI)(CI)(RX)
  NT AUTHORITY\IUSR:(I)(OI)(CI)(RX)
  NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
  BUILTIN\Administrators:(I)(OI)(CI)(F)

Eu acho que o primeiro significa que o userid recebe permissões de modificação no diretório - o que significa que o usuário pode criar arquivos, atualizar arquivos ou excluir arquivos. Certo? O que é o usuário "NT AUTHORITY \ IUSR"? Esse é realmente um único ID de usuário? É o ID do usuário padrão do IIS?

ok, a segunda linha que eu acho que se refere a um grupo. Obtém as mesmas permissões.

E todas essas linhas com (I) e (OI) e assim por diante. Por favor explique.

Cheeso
fonte

Respostas:

24

Do artigo da Microsoft sobre ICACLS

As entradas são usuários e grupos específicos para esse arquivo (DOMAIN \ USER ou GROUP). As permissões listadas são as seguintes:

Os SIDs podem estar no formato de nome numérico ou amigável. Se você usar um formulário numérico, afixe ​​o caractere curinga * no início do SID.

O icacls preserva a ordem canônica das entradas do ACE como:

  • Negações explícitas
  • Concessões explícitas
  • Negações herdadas
  • Subsídios herdados

Perm é uma máscara de permissão que pode ser especificada em uma das seguintes formas:

  1. Uma sequência de direitos simples:
    • F (acesso total)
    • M (modificar acesso)
    • RX (acesso de leitura e execução)
    • R (acesso somente leitura)
    • W (acesso somente gravação)
  2. Uma lista separada por vírgula entre parênteses de direitos específicos:
    • D (excluir)
    • RC (controle de leitura)
    • WDAC (gravação DAC)
    • WO (proprietário da gravação)
    • S (sincronizar)
    • AS (segurança do sistema de acesso)
    • MA (máximo permitido)
    • GR (leitura genérica)
    • GW (gravação genérica)
    • GE (execução genérica)
    • GA (tudo genérico)
    • RD (ler dados / diretório da lista)
    • WD (gravar dados / adicionar arquivo)
    • AD (acrescentar dados / adicionar subdiretório)
    • REA (ler atributos estendidos)
    • WEA (gravar atributos estendidos)
    • X (executar / atravessar)
    • DC (excluir filho)
    • RA (atributos de leitura)
    • WA (atributos de gravação)

Os direitos de herança podem preceder o formulário Perm e são aplicados apenas aos diretórios:

  • (OI) : herança de objeto
  • (IC) : herança de contêiner
  • (IO) : herdar apenas
  • (NP) : não propaga herança
  • (I) : permissão herdada do contêiner pai

Para arquivos, as máscaras de permissão são mais ou menos auto-explicativas: Rsignifica que você pode ler o arquivo, Xpermitir que ele seja executado (como um programa) e assim por diante.

Para outros tipos de objetos, você precisará navegar no MSDN:

Direitos de herança em inglês:

  • (I) "Herdado": essa ACE foi herdada do contêiner pai.
  • (OI) "Herança de objeto": essa ACE será herdada pelos objetos colocados neste contêiner.
  • (CI) "Herança de contêiner": essa ACE será herdada pelos subcontêineres colocados nesse contêiner.
  • (IO)"Herdar apenas": essa ACE será herdada (consulte OIe CI), mas não se aplica a esse objeto.
  • (NP)"Não propagar": essa ACE será herdada por objetos e subcontêineres com um nível de profundidade - não se aplicará a itens dentro dos subcontêineres.

Para o sistema de arquivos, "contêiner" significa uma pasta e "objeto" significa um arquivo, mas lembre-se de que as ACLs podem ser definidas em muitos outros tipos de objetos, nem todos com o conceito de "contêineres".

MaQleod
fonte
1
obrigado. Sou alfabetizado no Google e sei ler. Mas eu gostaria de uma explicação em inglês do que significa ter (I) RX. "herança de contêiner" - explique o que isso significa e seja específico ao exemplo que forneci.
Cheeso 12/08
Nesse caso, você precisará de um curso intensivo em permissões NTFS.
Surfasb
1
Se você é alfabetizado no Google, pode pesquisar no Google "permissões ntfs", "ACL" e "permissão de arquivo e registro". Francamente, explicar todas as linhas em termos de leigos é essencialmente reescrever um artigo inteiro da Technet para você.
surfasb 12/08
3
Um ano depois ... Sim. Muito melhor obrigado. Quanto aos outros que dizem: "Vá ler", é para isso que serve Superusuário, não é? Responder a perguntas que não são claramente respondidas em outro lugar.
Cheeso 28/08
1
Na verdade, eu encontrei (I)mencionado no icacls /?Windows 7. Ele também tinha dois direitos "Excluir" separados - (D)anteriormente era apresentado na primeira lista, e (DE)na segunda lista. Consulte ss64.com/nt/icacls.html . Parece que as coisas mudaram um pouco desde então.
Mwfearnley 11/07