Windows 文件系统访问权限:如何向本地 Windows 组中的 AD 用户授予权限

Windows 文件系统访问权限:如何向本地 Windows 组中的 AD 用户授予权限

需要帮助向本地 Windows 组授予加入 AD 域的 Windows Server 2019 服务器上 NTFS 驱动器上的文件夹的权限。

我已经为域组成功配置了该功能,但需要帮助才能使本地组正常工作:

测试设置:两个安全组:一个在 AD 中(“adgroup”),一个本地 Windows 组(“localgroup”),并将同一个 AD 用户(我们称他为“testuser”)添加到两个组中。

然后我创建了一个新文件夹,我们将其命名为 D:\MyFolder。

这有效: 如果我授予 adgroup 对 MyFolder 的读取权限,testuser 就可以正常访问该文件夹。

这不起作用: 如果我向 localgroup 授予对 MyFolder 的读取权限,testuser 将无法访问该文件夹。完全控制也不起作用。但是,检查 MyFolder 上的有效权限表明 testuser 确实具有完全访问权限。

如何使其与当地团体合作?

答案1

在处理 NFTS 权限时,我会尽量避免使用本地计算机组。您可能会将其与域本地组(有时也称为本地组)混淆。如果您确实需要使用本地计算机组,您可以将全局组设为本地计算机组的成员。

要记住的一个常见原则是 ADGLP。用户和计算机帐户是成员帐户组,而成员帐户组是代表业务角色的全局组的成员,全局组是广告域本地群组描述资源权限或用户权限分配

以下是使用 PowerShell 创建 ADGLP 组的通用 PowerShell 脚本示例。

# Define business roles
$accountingRole = "Accounting"
$readersRole = "Readers"
$folderAccessRole = "FolderAccess"

# Define group names based on business roles
$accountGroupName = "AG_$accountingRole"
$globalGroupName = "GG_$readersRole"
$domainLocalGroupName = "DL_$folderAccessRole"

# Create Active Directory groups
New-ADGroup -Name $accountGroupName -GroupScope Global -GroupCategory Security
New-ADGroup -Name $globalGroupName -GroupScope Global -GroupCategory Security
New-ADGroup -Name $domainLocalGroupName -GroupScope DomainLocal -GroupCategory Security

# Add the global group to the accounts group
Add-ADGroupMember -Identity $accountGroupName -Members $globalGroupName

# Add user accounts to the global group
Add-ADGroupMember -Identity $globalGroupName -Members "User1", "User2"

# Get the folder path
$folderPath = "C:\Path\To\Your\Folder"

# Get the folder's ACL (Access Control List)
$acl = Get-Acl -Path $folderPath

# Create a read permission for the domain local group
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Domain\$domainLocalGroupName", "Read", "ContainerInherit,ObjectInherit", "None", "Allow")
$acl.AddAccessRule($rule)

# Apply the modified ACL to the folder
Set-Acl -Path $folderPath -AclObject $acl

请记住先测试此脚本并将值更改为您的环境。

相关内容