windows xp Professional restaurar descritores de segurança após cacls / t / e / p

0

Alguém alterou as permissões em várias máquinas usando cacls que corrigiam um problema, mas criavam um problema maior. Estou procurando maneiras de reverter isso, mas não consigo voltar ao que era.

Eu repliquei usando uma máquina de teste e a saída está abaixo. Eu usei subinacl para obter a saída.

Alterar usando:

ECHO Y|CACLS C:\APPSYS      /t /e /p User1:F

A razão pela qual as permissões foram alteradas foi porque alguns arquivos foram colocados por alguém logado como administrador, o qual os usuários também precisavam de acesso total. Eu ainda gostaria de saber uma forma segura de adicionar o usergroup1 a esses arquivos, enquanto não mexendo com os outros que não precisam ser alterados. Não é uma lista estática de arquivos, algumas máquinas têm apenas 1 ou 2 arquivos, outras têm 20 a 50 arquivos, onde o usuário1 exige controle total, mas não possui permissões.

Antes de executar o ECO "Y | CACLS C: \ APPSYS / pt / p / User1: F"

====================
+File C:\APPSYS\BIN
====================
/control=0x400
/owner             =PC1125230\ORGUSER
/primary group     =PC1125230\none
/audit ace count   =0
/perm. ace count   =8
/pace =PC1125230\USERGROUP1  Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =builtin\administrators  Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =system  Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =PC1125230\ORGUSER  Type=0x0 Flags=0x10 AccessMask=0x1f01ff
/pace =creator owner  Type=0x0 Flags=0x1b AccessMask=0x10000000
/pace =builtin\users  Type=0x0 Flags=0x13 AccessMask=0x1200a9
/pace =builtin\users  Type=0x0 Flags=0x12 AccessMask=0x4
/pace =builtin\users  Type=0x0 Flags=0x12 AccessMask=0x2


=============================
+File C:\APPSYS\ERROR.LOG
=============================
/control=0x0
/owner             =PC1125230\ORGUSER
/primary group     =PC1125230\none
/audit ace count   =0
/perm. ace count   =0

Depois de executar o ECO "Y | CACLS C: \ APPSYS / pt / p / User1: F"

====================
+File C:\APPSYS\BIN
====================
/control=0x0
/owner             =PC1125230\ORGUSER
/primary group     =PC1125230\none
/audit ace count   =0
/perm. ace count   =9
/pace =PC1125230\User1  Type=0x0 Flags=0x3 AccessMask=0x1f01ff
/pace =PC1125230\USERGROUP1  Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =builtin\administrators  Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =system  Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =PC1125230\ORGUSER  Type=0x0 Flags=0x10 AccessMask=0x1f01ff
/pace =creator owner  Type=0x0 Flags=0x1b AccessMask=0x10000000
/pace =builtin\users  Type=0x0 Flags=0x13 AccessMask=0x1200a9
/pace =builtin\users  Type=0x0 Flags=0x12 AccessMask=0x4
/pace =builtin\users  Type=0x0 Flags=0x12 AccessMask=0x2


=============================
+File C:\APPSYS\ERROR.LOG
=============================
/control=0x0
/owner             =PC1125230\ORGUSER
/primary group     =PC1125230\none
/audit ace count   =0
/perm. ace count   =1
/pace =PC1125230\User1  Type=0x0 Flags=0x0 AccessMask=0x1f01ff

Existem muitos arquivos e pastas que são exclusivos para as diferentes máquinas, por isso estou tentando encontrar um método que funcione neles sem especificar cada arquivo exato.

Eu usei o subinacl para conceder aos grupos de usuários aos quais foi negado acesso ao arquivo ERROR.LOG, por exemplo, todos os arquivos e pastas da pasta APPSYS, pois havia muitos problemas com a falha dos aplicativos. Isso resolveu esse problema, mas estou preocupado com o efeito duradouro das alterações feitas em comparação com as configurações originais.

Antes de usar o método subinacl para conceder permissões, tentei remover a permissão User1, mas novamente o ERROR.LOG não volta para o que era permissões sábias. Eu tentei suppresssid também com o mesmo resultado sem diferença. Eu tentei com o dispositivo de teste fazer um backup antes de executar o comando cacls e, em seguida, restaurar o backup com o subinacl, mas ele não foi restaurado corretamente do que eu posso ver, "/ pace = builtin \ users Type = sinalizadores 0x0 = 0x12 AccessMask = 0x4" foi removido da ACL.

Eu não tenho experiência com descritores de segurança, então desculpe se é dolorosamente óbvio ou deixei detalhes. Passei os últimos 5 dias e noites lendo o que posso para descobrir o que deu errado e como corrigi-lo usando um processo em lote.

Estou limitado a scripts básicos (windows xp pro) vb, lote eu posso usar ferramentas do kit de recursos e, até certo ponto, utilitários de terceiros, mas, novamente, será necessário usar o script em lote.

    
por Rhino 24.06.2015 / 14:02

1 resposta

0

Eu consegui chegar a uma solução (esqueci de postar aqui).

Usando o xcacls.vbs com os seguintes argumentos usados:

Filename = "c:\APPSYS\"
/F (All Files under current directory)
/S (All Sub Directories under current directory)
/T (Traverse Directories)
/E (Edit ACL leaving other users intact)
/I (Inheritance)
    ENABLE

Isso restaurou a herança dos arquivos na pasta de volta para o que eles eram e para o arquivo que não tinha ACEs (definido para permitir todos) eles herdaram os grupos de usuários necessários.

Espero que isso ajude qualquer outra pessoa que tenha entrado na mesma posição.

    
por 11.12.2015 / 12:56