当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 iCACLS 设置、复制、导出或恢复 NTFS 权限?

作者:精品下载站 日期:2024-12-14 23:02:39 浏览:14 分类:玩电脑

如何使用 iCACLS 设置、复制、导出或恢复 NTFS 权限?


您可以使用内置的iCACLS工具来管理Windows上的NTFS权限。这

icacls.exe

命令行工具允许您获取或更改 NTFS 文件系统上文件和文件夹的访问控制列表 (ACL)。在本文中,我们将了解使用 iCACLS 在 Windows 上管理 NTFS 权限的有用命令。

使用 iCACLS 查看和设置文件和文件夹权限

NTFS 卷上任何对象的当前访问权限可以显示如下:

icacls 'C:\Share\Veteran\'

[玩转系统] 如何使用 iCACLS 设置、复制、导出或恢复 NTFS 权限?

该命令将返回已分配访问权限的用户和组的列表。权限使用缩写指定:

  • F - 完全访问权限

  • M - 修改访问权限

  • RX - 读取和执行访问

  • R - 只读访问权限

  • W - 只写访问

  • D - 删除

继承权在访问权限之前指定(继承权限仅应用于文件夹):

  • (OI) - 对象继承

  • (CI) - 容器继承

  • (IO) - 仅继承

  • (I) - 从父容器继承权限

使用 icacls,您可以更改文件夹权限。

要授予“resource\mun-fs01_Auditors”组对该文件夹的读取和执行 (RX) 权限:

icacls 'C:\Share\Veteran\' /grant resource\mun-fs01_Auditors:RX

[玩转系统] 如何使用 iCACLS 设置、复制、导出或恢复 NTFS 权限?

要从目录 ACL 中删除组:

icacls 'C:\Share\Veteran\' /remove resource\mun-fs01_Auditors

使用 icacls,您可以启用从父文件夹继承 NTFS 权限:

icacls 'C:\Share\Veteran\' /inheritance:e

[玩转系统] 如何使用 iCACLS 设置、复制、导出或恢复 NTFS 权限?

或者通过删除所有继承的 ACE 来禁用继承:

icacls 'C:\Share\Veteran\' /inheritance:r

您可以使用 icacls.exe 更改文件或文件夹的所有权

icacls 'C:\Share\Veteran\' /setowner resource\j.smith /T /C /L /Q

[玩转系统] 如何使用 iCACLS 设置、复制、导出或恢复 NTFS 权限?

如何备份(导出)文件夹NTFS权限?

在对 NTFS 文件夹(或共享网络文件夹)的权限进行重大更改(移动、更新 ACL、迁移资源)之前,建议备份旧权限。该副本将允许您返回到原始设置,或者至少澄清特定文件/目录的旧权限。

您可以使用 icacls.exe 工具导出/导入当前 NTFS 目录权限。要获取特定文件夹(包括子目录和文件)的所有 ACL,并将其导出到文本文件,请运行以下命令:

icacls g:\veteran /save c:\backup\veteran_ntfs_perms.txt /t /c

注意/t 键用于获取所有子目录和文件的 ACL,/c 允许忽略访问错误。通过添加/q选项,您可以禁止显示有关成功访问文件系统对象的信息。

[玩转系统] 如何使用 iCACLS 设置、复制、导出或恢复 NTFS 权限?

根据文件和文件夹的数量,导出权限可能需要相当长的时间。该命令执行后,将显示文件处理成功或失败的数量的统计信息。

Successfully processed 3001 files; Failed processing 0 files

[玩转系统] 如何使用 iCACLS 设置、复制、导出或恢复 NTFS 权限?

使用任何文本编辑器打开文件 veteran_ntfs_perms.tx。正如您所看到的,它包含目录中文件和文件夹的完整列表,并且每个项目都具有以SDDL(安全描述符定义语言)格式指定的当前权限。

[玩转系统] 如何使用 iCACLS 设置、复制、导出或恢复 NTFS 权限?

例如,当前文件夹根目录的 NTFS 权限如下:

D:PAI(A;OICI;FA;;;BA)(A;OICIIO;FA;;;CO)(A;OICI;0x1200a9;;;S-1-5-21-2340243621-32346796122-2349433313-23777994)(A;OICI;0x1301bf;;;S-1-5-21-2340243621-32346796122-2349433313-23777993)(A;OICI;FA;;;SY)(A;OICI;FA;;;S-1-5-21-2340243621-32346796122-2349433313-24109193)S:AI

此字符串描述某些组或用户的访问权限。我们不会详细考虑SDDL语法(SDDL格式在“如何在Windows中查看和修改服务权限?”一文中简要讨论过)。让我们通过仅选择一个对象来关注一小部分 SDDL:

(A;OICI;FA;;;S-1-5-21-2340243621-32346796122-2349433313-24109193)

A - 访问类型(允许)

OICI - 继承标志(OBJECT INHERIT+ CONTAINER INHERIT)

FA - 权限类型(SDDL_FILE_ALL - 全部允许)

S-1-5-21-2340243621-32346796122-2349433313-24109193 - 设置权限的帐户或域组的 SID。要将 SID 转换为帐户或组名称,请使用以下 PowerShell 命令:

$objSID = New-Object System.Security.Principal.SecurityIdentifier ("S-1-5-21-2340243621-32346796122-2349433313-24109193")
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
$objUser.Value

[玩转系统] 如何使用 iCACLS 设置、复制、导出或恢复 NTFS 权限?

或者使用以下命令之一:

Get-ADUser -Identity SID 

或者

Get-ADGroup -Identity SID

因此,您发现用户 corp\dvivar 对此目录具有完全控制权限。

如何使用 iCacls 恢复 NTFS 权限?

您可以使用之前创建的 Veterinary_ntfs_perms.txt 文件恢复文件夹的 NTFS 权限。要根据 ACL 备份文件中的值设置目录中对象的 NTFS 权限,请运行以下命令:

icacls g:\ /restore c:\backup\veteran_ntfs_perms.txt /t /c

注意。请注意,从文件导入权限时,应指定父目录的路径,而不是文件夹名称。

所有权限恢复后,还会显示已处理文件数量的统计信息。

[玩转系统] 如何使用 iCACLS 设置、复制、导出或恢复 NTFS 权限?

请注意,备份 ACL 文件包含相对文件路径,而不是绝对文件路径。这意味着即使将文件夹移动到不同的驱动器/目录后,您也可以恢复文件夹的权限。

将 NTFS 权限重置为默认值

您可以使用 icacls 工具重置文件夹权限(以及嵌套文件和子目录)。

icacls C:\share\veteran /reset /T /Q /C

[玩转系统] 如何使用 iCACLS 设置、复制、导出或恢复 NTFS 权限?

此命令将为指定对象启用继承的 NTFS 权限,并将删除任何其他 ACL。

将 NTFS 权限从一个文件夹复制到另一个文件夹

您可以使用带有 ACL 备份的文本文件将 NTFS 权限从一个目录复制到另一个目录。

首先,备份源文件夹的NTFS权限:

icacls 'C:\Share\Veteran' /save C:\PS\save_ntfs_perms.txt /c

然后将保存的 ACL 应用到目标文件夹:

icacls D:\Share /restore C:\PS\save_ntfs_perms.txt /c

如果源文件夹和目标文件夹命名相同,则这将起作用。如果目标文件夹名称不同怎么办?例如,您需要将 NTFS 权限复制到 D:\PublicDOCS 文件夹。

最简单的方法是在记事本中打开 save_ntfs_perms.txt 文件并编辑文件夹名称。使用替换功能将Veteran名称替换为PublicDOCS

[玩转系统] 如何使用 iCACLS 设置、复制、导出或恢复 NTFS 权限?

然后从文件中导入 NTFS 权限并将其应用到目标文件夹:

icacls D:\ /restore C:\PS\save_ntfs_perms.txt /c

使用 PowerShell 将 NTFS 权限从一个文件夹复制到另一个文件夹甚至更容易:

Get-Acl -Path 'C:\Share\Veteran' | Set-Acl -Path 'E:\PublicDOCS'

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯