Conceda MODIFY em "Todas as subpastas e arquivos" com icacls, mas apenas dê leitura à pasta de nível superior

4

Um dos nossos servidores Windows que tem algumas pastas de usuários tem algumas permissões bastante complicadas. O que eu quero para SYSTEM e Domain Admins ter controle total de todas as pastas. Eu quero que os usuários tenham somente leitura na pasta de nível superior (que é sua pasta base) e modifiquem em todas as subpastas e arquivos. Isso pode ser facilmente realizado através da GUI, mas não consigo descobrir como fazer o script.

Estou chamando icacls do meu script do PowerShell, porque get-acl e set-acl são um PITA importante. Se eu tiver que usá-los, não me oponho a isso, mas imagino que chamar icacls será mais fácil. Este é o código relevante que eu tenho até agora:

icacls.exe $folder /grant '$domain\$user:(OI)(CI)(M)'
icacls.exe $folder /grant 'SYSTEM:(OI)(CI)(F)'
icacls.exe $folder /grant '$domain\domain admins:(OI)(CI)(F)'

Como você pode ver, estou dando uma modificação ao usuário para tudo com icacls.exe $folder /grant '$domain\$user:(OI)(CI)(M)' . Não consigo descobrir como fazer com que o Modify se aplique apenas a subpastas e arquivos ao conceder somente leitura para a pasta de nível superior.

A estrutura de permissão desejada ficaria assim (apenas para clareza):

-Users  
--M  
---Marra (read only to me)  
----Documents (Modify)  
----Scripts(Modify)  
----Etc (Modify)  

Qual é a sintaxe icacls correta para isso, ou como posso fazer isso nativamente em PS com set-acl?

    
por MDMarra 09.05.2012 / 18:01

3 respostas

5

Altere a primeira linha do seu script para o seguinte, para que se aplique apenas a subpastas e arquivos.

icacls.exe $folder /grant '$domain\$user:(OI)(CI)(IO)(M)'

Em seguida, aplique isso na pasta principal.

icacls.exe $folder /grant '$domain\$user:(R)'
    
por 09.05.2012 / 19:03
0

Conceda permissão de modificação herdável e defina uma negação não hereditária para excluir a pasta em si:

icacls folder /deny  user:d
icacls folder /grant user:(oi)(ci)m

Isso lhes dá direitos totais dentro da pasta, mas eles não podem modificar a própria pasta.

    
por 05.05.2015 / 17:32
0
icacls $folder /c /grant $domain\$user:(OI)(CI)(X,RD,RA,REA,WD,AD,WA,WEA,DC,RC)

Isso concede acesso MODIFY a todos os arquivos e subdiretórios, mas não exclui o acesso à pasta $.

    
por 25.07.2016 / 08:21