Windows 2012R2 中的特殊权限

Windows 2012R2 中的特殊权限

我有一个名为“2020”的主文件夹。我有一个脚本,它创建一个带有文件编号和地址的子文件夹以及 5 个子子文件夹,如下例所示:

在此处输入图片描述

我想:

  1. 为文件夹 2020 赋予只读权限并遍历文件夹
  2. 为将要创建的所有子文件夹和文件授予以下权限 在此处输入图片描述

因此基本上,用户无法在“2020”中创建文件,而只能在每个子文件夹的子子文件夹中创建文件(通信、文件制作等)。

答案1

我会使用 Powershell,特别是 Set-ACL。我找不到太多文档,但这里有一些:https://ss64.com/ps/set-acl.htmlhttps://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-acl?view=powershell-7

它看起来像这样:

#要设置权限的文件夹

$Path = “C:\test”

#检索当前 ACL

$ACL = Get-Acl $Path

#添加到 ACL 的对象

$Object = "测试组"

#这将为具有遍历权限的引用对象创建访问控制实体(ACE),仅适用于子文件夹和文件,并允许。

$Rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$Object","Traverse", "ContainerInherit, ObjectInherit", "InheritOnly", "Allow")

#这会将 ACE 添加到现有的 ACL,以便添加权限,而不是覆盖。

$ACL.AddAccessRule($Rule)

#您可以通过重复前面的步骤继续添加更多权限,例如如果您想添加 ListFolder 权限:

$Rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$Object","ListDirectory", "ContainerInherit, ObjectInherit", "InheritOnly", "Allow")

$ACL.AddAccessRule($Rule)

#然后你最终可以使用以下命令应用新的 ACL:

设置 Acl $Path $ACL

相关内容