【问题标题】:Trying to prevent a security group from applying to other folders/files试图阻止安全组应用于其他文件夹/文件
【发布时间】:2016-04-21 19:38:17
【问题描述】:

我正在尝试使$ADNameRO$ADNameRW(我在下面创建)不会应用于它下面的文件夹,而是让其余的权限被继承。

我已尝试更改这两个字符串的传播标志,使其仅适用于添加它的文件夹和文件,但仍会添加到子文件和文件夹中...

我认为我可能需要将这两个字符串的 InheritanceFlags 更改为 Object,但是当我手动更改时(通过 Windows GUI)它似乎无法正常工作......

对此的任何帮助将不胜感激。

function New-Ace {
  [CmdletBinding()]
  Param(
    [Parameter(Mandatory=$true, Position=0)]
    [Security.Principal.NTAccount]$Account,
    [Parameter(Mandatory=$false, Position=1)]
    [Security.AccessControl.FileSystemRights]$Permissions = 'ReadAndExecute',
    [Parameter(Mandatory=$false, Position=2)]
    [Security.AccessControl.InheritanceFlags]$InheritanceFlags = 'ContainerInherit,ObjectInherit',
    [Parameter(Mandatory=$false, Position=3)]
    [Security.AccessControl.PropagationFlags]$PropagationFlags = 'None',
    [Parameter(Mandatory=$false, Position=4)]
    [Security.AccessControl.AccessControlType]$Type = 'Allow'
  )

  New-Object Security.AccessControl.FileSystemAccessRule(
    $Account, $Permissions, $InheritanceFlags, $PropagationFlags, $Type
  )
}

$domain = 'ESG.INTL'
$administrators = ([wmi]"Win32_Sid.Sid='S-1-5-32-544'").AccountName
$ADDomainUsers = "$domain\Domain Users"

$acl = Get-Acl $path

$administrators, "$domain\Domain Admins" | ForEach-Object {
  $acl.AddAccessRule((New-Ace $_ 'FullControl'))
}
$acl.AddAccessRule((New-Ace $ADNameRW 'Modify'))
$acl.AddAccessRule((New-Ace $ADNameRO 'ReadAndExecute'))
$acl.AddAccessRule((New-Ace $ADDomainUsers 'ReadAndExecute'))

【问题讨论】:

    标签: windows powershell permissions acl


    【解决方案1】:

    在不继承的情况下设置对文件夹和文件的访问权限需要两个 ACE:一个用于“仅此文件夹”,一个用于“仅文件”。对于前者,将继承和传播标志都设置为None,对于后者,将继承标志设置为ObjectInherit,将传播标志设置为InheritOnly

    $acl.AddAccessRule((New-Ace $ADNameRW 'Modify' 'None'))
    $acl.AddAccessRule((New-Ace $ADNameRW 'Modify' 'ObjectInherit' 'InheritOnly'))
    $acl.AddAccessRule((New-Ace $ADNameRO 'ReadAndExecute' 'None'))
    $acl.AddAccessRule((New-Ace $ADNameRO 'ReadAndExecute' 'ObjectInherit' 'InheritOnly'))
    

    【讨论】:

    • 谢谢。我想我需要阅读更多关于 ACE 创建的内容。当你这样拼出来时,这是有道理的,但我从没想过我每次都需要创建新的。但是,当我运行它时,创建的文件夹没有授予该安全组任何权限......这很奇怪,因为在高级属性下它显示权限,但在属性 - 安全选项卡下,两个新组都显示,但所有权限都是空白的...
    • 看起来像我在这个问题中添加的图像:Here
    • 如果您在属性对话框中向下滚动“权限”列表框,您会注意到“特殊权限”行中有一个复选标记。其他行仅显示权限和继承/传播标志的特定组合的复选标记。否则它们是空的。
    • 哇...我昨天太累了,我忘记了特殊权限复选框...今天早上它更有意义,我已经更正了我现在使用的所有脚本。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2019-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    相关资源
    最近更新 更多