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

13

O que isso 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)

Acho que o primeiro significa que o ID do usuário obtém permissões Modificar no diretório - o que significa que o usuário pode criar arquivos ou atualizar arquivos ou excluir arquivos. Certo? Qual é o usuário "NT AUTHORITY \ IUSR"? Isso é realmente um único ID de usuário? É o ID do usuário padrão do IIS?

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

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

    
por Cheeso 12.08.2011 / 18:38

1 resposta

21

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:

SIDs may be in either numerical or friendly name form. If you use a numerical form, affix the wildcard character * to the beginning of the SID.

icacls preserves the canonical order of ACE entries as:

  • Explicit denials
  • Explicit grants
  • Inherited denials
  • Inherited grants

Perm is a permission mask that can be specified in one of the following forms:

  1. A sequence of simple rights:
    • F (full access)
    • M (modify access)
    • RX (read and execute access)
    • R (read-only access)
    • W (write-only access)
  2. A comma-separated list in parenthesis of specific rights:
    • D (delete)
    • RC (read control)
    • WDAC (write DAC)
    • WO (write owner)
    • S (synchronize)
    • AS (access system security)
    • MA (maximum allowed)
    • GR (generic read)
    • GW (generic write)
    • GE (generic execute)
    • GA (generic all)
    • RD (read data/list directory)
    • WD (write data/add file)
    • AD (append data/add subdirectory)
    • REA (read extended attributes)
    • WEA (write extended attributes)
    • X (execute/traverse)
    • DC (delete child)
    • RA (read attributes)
    • WA (write attributes)

Inheritance rights may precede either Perm form, and they are applied only to directories:

  • (OI): object inherit
  • (CI): container inherit
  • (IO): inherit only
  • (NP): do not propagate inherit
  • (I): permission inherited from parent container

Para arquivos, as máscaras de permissão são mais ou menos autoexplicativas: R significa que você pode ler o arquivo, X permite que ele seja executado (como um programa) e assim por diante.

Para outros tipos de objetos, você terá que navegar pelo MSDN:

Direitos de herança em inglês:

  • (I) "Inherited": esta ACE foi herdada do contêiner pai.
  • (OI) "Objeto herdado": esta ACE será herdada por objetos colocados neste container.
  • (CI) "Herança do contêiner": essa ACE será herdada por subcontentores colocados nesse contêiner.
  • (IO) "Somente Herdar": Essa ACE será herdada (consulte OI e CI ), mas não se aplica a este objeto em si.
  • (NP) "Não se propaga": esta ACE será herdada por objetos e sub-recipientes um nível de profundidade - não se aplicará a coisas dentro de sub-recipientes.

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

    
por 12.08.2011 / 18:54