Get-ACL Set-ACL remove grupos herdados

1

Estou tentando definir direitos de pasta para um grupo como este:

\ server \ Share $ \ Folder1 \ Folder2

Travessia no compartilhamento $ - > Atravessar pasta1 - > Modificar pasta2

Existem mais pastas no compartilhamento, mas o grupo não deve ter acesso. É por isso que defino "Nenhum", "Nenhum" para a herança & Sinalizadores de propagação em $ AccessRuleTraverse.

$AccessRuleModify = New-Object System.Security.AccessControl.FileSystemAccessRule("TestGroup","Modify","ContainerInherit, ObjectInherit","None","Allow")
$AccessRuleTraverse = New-Object System.Security.AccessControl.FileSystemAccessRule("TestGroup","Traverse,ListDirectory","None","None","Allow")


$ACL = Get-Acl $Share
$ACL.AddAccessRule($AccessRuleTraverse)
$ACL | Format-List
Set-Acl -Path $Share $ACL

$ACLFolder1 = Get-Acl $Folder1
$ACLFolder1.AddAccessRule($AccessRuleTraverse)
$ACL | Format-List
Set-Acl -Path $Folder1 $ACLFolder1

$ACLFolder2 = Get-Acl $Folder2
$ACLFolder2.AddAccessRule($AccessRuleModify)
$ACL | Format-List
Set-Acl -Path $Folder2 $ACLFolder2

Quando faço isso por meio do caminho UNC, o TestGroup é adicionado, mas todos os grupos herdados são removidos: BUILTIN \ Administrators, SYSTEM e outro grupo do AD herdado do nível acima. Se eu fizer o check-in, a herança da GUI parece ativada e quando eu desativar & reativá-lo os grupos misteriosamente desaparecidos estão de volta.

Se eu adicionar '$ ACL | Format-List 'antes de Set-ACL retorna os grupos ...

Get-Acl mostra:

Path   : Microsoft.PowerShell.Core\FileSystem::\server\tbd$\test2
Owner  : BUILTIN\Administrators
Group  : DOMAIN\Domain Users
Access :
         DOMAIN\admaccount Allow  FullControl
         DOMAIN\InheritedGroup Allow  FullControl
         NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
Audit  :
Sddl   : O:BAG:DUD:AI(A;OICIID;FA;;;S-1-5-21-3230232255-2288239599-1684634387-2072)(A;OICIID;FA;;;S-1-5-21-3230232255-2288239599-1684634387-55095)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)

Após o .AddAccessRule:

Path   : Microsoft.PowerShell.Core\FileSystem::\server\tbd$\test2
Owner  : BUILTIN\Administrators
Group  : DOMAIN\Domain Users
Access :
         DOMAIN\TestGroup Allow  ReadData, ExecuteFile, Synchronize
         DOMAIN\admaccount Allow  FullControl
         DOMAIN\InheritedGroup Allow  FullControl
         NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
Audit  :
Sddl   : O:BAG:DUD:AI(A;;0x100021;;;S-1-5-21-3230232255-2288239599-1684634387-61957)(A;OICIID;FA;;;S-1-5-21-3230232255-2288239599-1684634387-2072)(A;OICIID;FA;;;S-1-5-21-3230232255-2288239599-1684634387-55095)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)

EDITAR:

Após o feedback, testei diretamente no servidor com um caminho local:

$AccessRuleTraverse = New-Object System.Security.AccessControl.FileSystemAccessRule("TestGroup","Traverse,ListDirectory","None","None","Allow")
$ACL = Get-Acl F:\tbd\test2
$ACL | Format-List
$ACL.AddAccessRule($AccessRuleTraverse)
$ACL | Format-List
Set-Acl -Path F:\tbd\test2 $ACL

Get-Acl mostra:

Path   : Microsoft.PowerShell.Core\FileSystem::F:\tbd\test2
Owner  : BUILTIN\Administrators
Group  : BELGIANRAIL\Domain Users
Access : BELGIANRAIL\admaccount Allow  FullControl
         BELGIANRAIL\InheritedGroup Allow  FullControl
         NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
Audit  : 
Sddl   : O:BAG:DUD:AI(A;OICIID;FA;;;S-1-5-21-3230232255-2288239599-1684634387-2072)(A;OICIID;FA;;;S-1-5-21-3230232255-2288239599-1684634387-55095)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)

Após o .AddAccessRule:

Path   : Microsoft.PowerShell.Core\FileSystem::F:\tbd\test2
Owner  : BUILTIN\Administrators
Group  : BELGIANRAIL\Domain Users
Access : BELGIANRAIL\TestGroup Allow  ReadData, ExecuteFile, Synchronize
         BELGIANRAIL\admaccount Allow  FullControl
         BELGIANRAIL\InheritedGroup Allow  FullControl
         NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
Audit  : 
Sddl   : O:BAG:DUD:AI(A;;0x100021;;;S-1-5-21-3230232255-2288239599-1684634387-61957)(A;OICIID;FA;;;S-1-5-21-3230232255-2288239599-1684634387-2072)(A;OICIID;FA;;;S-1-5-21-3230232255-228823959
         9-1684634387-55095)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)

Parece o mesmo do caminho da UNC. Mas o resultado final é totalmente diferente, com o caminho local funciona bem! Eu acho que eu poderia pegar o caminho local e iniciar uma sessão ps remota. Seria mais fácil com o caminho UNC embora:)

    
por HoD 17.02.2017 / 18:02

0 respostas