Existe uma maneira de alterar as 'Permissões Avançadas' de um arquivo no Windows usando a linha de comando?

0

Apenas para esclarecer: gostaria de remover a permissão avançada chamada "Alterar permissões" porque mesmo que você remova permissões de um grupo (nesse caso, administradores) usando icacls , enquanto ninguém no grupo pode editar ou exclua o arquivo de destino, eles ainda podem entrar em propriedades de arquivo e edite as permissões para se dar de volta Completo ou Modifique ou outros enfeites.

Eu não quero sair dos trilhos em questões como 'Por que você deseja remover essas permissões dos administradores do computador?' , basta dizer que deixei o SYSTEM com Full controle e gerencio tudo o que preciso através de um serviço que é executado como SISTEMA LOCAL, então basicamente ainda há acesso ao arquivo, mas a maneira que eu preciso que ele seja acessado.

Não consigo encontrar nada na sintaxe iCacls que me permita modificar as permissões 'Avançadas' que é onde o item 'Alterar Permissões' é .

    
por Mike Z 09.09.2018 / 10:14

1 resposta

2

Sim, está bem na tela de ajuda icacls /? :

    perm is a permission mask and can be specified in one of two forms:
        a sequence of simple rights:
                [...]
        a comma-separated list in parentheses of specific rights:
                DE - 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 form and are applied
        only to directories:
                (OI) - object inherit
                (CI) - container inherit
                (IO) - inherit only
                (NP) - don't propagate inherit
                (I) - permission inherited from parent container

Estes são os nomes genéricos para todas as permissões 'avançadas' que você vê. "Alterar permissões" é chamado "Gravar DAC" porque permite gravar / modificar a Lista de Controle de Acesso Discricionária.

Os exemplos incluídos mencionam especificamente essa permissão:

        icacls file /grant Administrator:(D,WDAC)
        - Will grant the user Administrator Delete and Write DAC
          permissions to file.

        icacls file /grant *S-1-1-0:(D,WDAC)
        - Will grant the user defined by sid S-1-1-0 Delete and
          Write DAC permissions to file.

Você pode fazer o oposto do exemplo acima e explicitamente /deny a permissão do WDAC.

No entanto, lembre-se de que o esquema de permissões tem duas redes de segurança:

  • O proprietário do arquivo sempre pode alterar suas permissões, ignorando qualquer entrada de permissão "negar gravação de DAC". Se você não quiser que os administradores possam conceder permissões adicionais, verifique se o arquivo não é de propriedade de administradores (por exemplo, defina seu proprietário como SYSTEM).

  • Os administradores recebem o SeTakeOwnershipPrivilege e podem sempre alterar a propriedade de um arquivo, ignorando qualquer entrada de permissão "negar o proprietário da gravação". Se você não quiser que os Administradores consigam fazer isso ... bem, eles são Administradores , eles já possuem o sistema inteiro.

por 09.09.2018 / 11:03