Substituir permissões de pasta por icacls

1

Eu quero substituir as permissões de uma pasta. Primeiro eu fiz isso:

icacls folder /grant user:(oi)(ci)f

Depois, quero alterar as permissões e a herança para:

icacls folder /grant:r user:(oi)(io)rx

Depois disso, as permissões para o usuário ainda são (oi)(ci)f .

Por que as permissões não são substituídas?

A substituição de permissões e herança por setacl funciona como esperado:

setacl -on folder -ot file -actn ace -ace
"n:user;p:read_ex;i:io,so;m:set;w:dacl"

obrigado pela sua resposta. Mas isso é por design? Ou isso é um bug? Qual é a utilidade da opção ": r" se a única maneira de garantir a substituição de permissões (e herança) é essa?

icacls folder /remove user
icacls folder /grant user:(oi)(io)rx

Eu tenho testado como o "icacls / grant" funciona e descobri que o icacls escreve uma entrada para cada tipo de herança.

Tente isto:

md test
icacls test /inheritance:r
icacls test /grant user:f
icacls test /grant:r user:(oi)rx
icacls test /grant:r user:(ci)rx
icacls test /grant:r user:(oi)(ci)rx
icacls test /grant:r user:(ci)(oi)(io)rx
icacls test /grant:r user:(io)(oi)rx
icacls test /grant:r user:(io)(ci)rx

Então, para ver a ACL:

icacls test

O resultado é:

test PC\user:(F)
     PC\user:(OI)(IO)(RX)
     PC\user:(OI)(RX)
     PC\user:(CI)(IO)(RX)
     PC\user:(CI)(RX)
     PC\user:(OI)(CI)(IO)(RX)
     PC\user:(OI)(CI)(RX)

Descobri que icacls /grant:r substitui as permissões apenas pelo mesmo tipo de herança. Em minha pergunta original:

md test
icacls test /inheritance:r
icacls test /grant user:(oi)(ci)f
icacls test /grant:r user:(oi)(io)rx

teste icacls dá a saída

test PC\user:(OI)(IO)(RX)
     PC\user:(OI)(CI)(F)

E eu acho que a GUI mostra apenas (OI) (CI) (F) porque inclui (OI) (IO) (RX)

Estou faltando alguma coisa? Isso é um bug ou por design?

    
por liamZ 18.07.2017 / 17:01

1 resposta

1

Seu primeiro comando concede acesso total à pasta "Esta pasta, subpastas e arquivos".

As permissões não são substituídas pelo segundo comando que concede Read & Execute permissões para Somente arquivos devido ao uso da combinação de herança de objetos (OI)(IO) . Aparentemente você não pode substituir as permissões que se aplicam a "Esta pasta, subpastas e arquivos" com permissões que se aplicam somente aos Arquivos.

Para substituir o acesso total por leitura & Execute permissões para "Esta pasta, subpastas e arquivos", use a mesma herança de objeto no segundo comando:

icacls folder /grant:r user:(oi)(ci)rx
    
por 20.07.2017 / 01:49