As permissões NTFS adicionadas da linha de comando criam a pasta raiz protegida

0

Eu tenho dois tipos de grupos - somente leitura e leitura-gravação - com o número por pasta:

GROUP1_RO
GROUP1_RW
GROUP2_RO
GROUP2_RW
(...)

Gostaria de criar essa árvore de diretórios:

SHARE
|-MAIN_FOLDER1
| |-SUBFOLDERS
| |-FILES
|
|-MAIN_FOLDER2
| |-SUBFOLDERS
| |-FILES
|
|-MAIN_FOLDER3
(...)

Cada grupo tem acesso ao seu próprio MAIN_FOLDER * e o grupo _RO só pode ler arquivos, mas o _RW pode criar pastas, excluir pastas e arquivos.

Eu quero proteger MAIN_FOLDERS * de serem acidentalmente excluídos por esses usuários _RW.

O objetivo principal é criar um conjunto de comandos batch / cli que prepararão essas pastas, uma a uma, com direitos precisos.

Tentei fazer isso com icacls, mas tive problemas com vários direitos (parâmetros inválidos).

Eu fiz isso manualmente definindo esses direitos:

    a) Enter Properties > Security > Advanced > Edit...
    b) Uncheck "Include inheritable permissions from this object's parent" and choose "Remove"
    c) Add group GROUP1_RO ( RO ) and set permissions:

            + Allow (( This Folder, subfolders and files ))

            * Traverse Folder / execute file
            * List folder / read data
            * Read attributes
            * Read extendet attributes
            * Read permissions

            - Deny

            * Delete

    e) Add group GROUP1_RW ( RW ) and set permissions:

            + Allow (( This Folder, subfolders and files ))

            * Full control
            - uncheck Take ownership

            - Deny

            * Delete

Mas definir tudo isso manualmente para muitas subpastas é doloroso. Existe alguma maneira de configurar isso por icacls (ou outra coisa) com grupos diferentes?

Saudações & obrigado, Mike

    
por mike 04.12.2017 / 15:12

1 resposta

0

Talvez eu tenha conseguido fazer isso de duas maneiras:

I) Com herança:

mkdir MAIN_FOLDER1
icacls MAIN_FOLDER1 /inheritance:d
icacls MAIN_FOLDER1 /remove Everyone
icacls MAIN_FOLDER1 /grant GROUP1_RO:(OI)(CI)(RX)
icacls MAIN_FOLDER1 /grant GROUP1_RW:(OI)(CI)(RX,W,WDAC,DC)
icacls MAIN_FOLDER1 /deny GROUP1_RW:(OI)(CI)(DE)

II) Sem herança:

mkdir MAIN_FOLDER1
icacls MAIN_FOLDER1 /inheritance:r
icacls MAIN_FOLDER1 /grant "DOMAIN\Domain Admins":(OI)(CI)(F)
icacls MAIN_FOLDER1 /grant "BUILTIN\Administrators":(CI)(F)
icacls MAIN_FOLDER1 /grant GROUP1_RO:(OI)(CI)(RX)
icacls MAIN_FOLDER1 /grant GROUP1_RW:(OI)(CI)(RX,W,WDAC,DC)
icacls MAIN_FOLDER1 /deny GROUP1_RW:(OI)(CI)(DE)

E faz um loop para essas ações.

    
por 04.12.2017 / 16:09