Windows通过命令对文件夹赋权
要在Windows上使用命令行(cmd)给文件或目录授予权限,你可以使用 icacls 命令。icacls 命令允许你显示或修改文件或目录的访问控制列表(ACL)。
ICACLS name /save aclfile [/T] [/C] [/L] [/Q] 将匹配名称的文件和文件夹的 DACL 存储到 aclfile 中 以便将来与 /restore 一起使用。请注意,未保存 SACL、 所有者或完整性标签。 ICACLS directory [/substitute SidOld SidNew [...]] /restore aclfile [/C] [/L] [/Q] 将存储的 DACL 应用于目录中的文件。 ICACLS name /setowner user [/T] [/C] [/L] [/Q] 更改所有匹配名称的所有者。该选项不会强制更改所有 身份;使用 takeown.exe 实用程序可实现 该目的。 ICACLS name /findsid Sid [/T] [/C] [/L] [/Q] 查找包含显式提及 SID 的 ACL 的 所有匹配名称。 ICACLS name /verify [/T] [/C] [/L] [/Q] 查找其 ACL 不规范或长度与 ACE 计数不一致的所有文件。 ICACLS name /reset [/T] [/C] [/L] [/Q] 为所有匹配文件使用默认继承的 ACL 替换 ACL。 ICACLS name [/grant[:r] Sid:perm[...]] [/deny Sid:perm [...]] [/remove[:g|:d]] Sid[...]] [/T] [/C] [/L] [/Q] [/setintegritylevel Level:policy[...]] /grant[:r] Sid:perm 授予指定的用户访问权限。如果使用 :r, 这些权限将替换以前授予的所有显式权限。 如果不使用 :r,这些权限将添加到以前授予的 所有显式权限。 /deny Sid:perm 显式拒绝指定的用户访问权限。 将为列出的权限添加显式拒绝 ACE, 并删除所有显式授予的权限中的相同权限。 /remove[:[g|d]] Sid 删除 ACL 中所有出现的 SID。使用 :g,将删除授予该 SID 的所有权限。使用 :d,将删除拒绝该 SID 的所有权限。 /setintegritylevel [(CI)(OI)]级别将完整性 ACE 显式 添加到所有匹配文件。要指定的级别为以下级别 之一: L[ow] M[edium] H[igh] 完整性 ACE 的继承选项可以优先于级别,但只应用于 目录。 /inheritance:e|d|r e - 启用继承 d - 禁用继承并复制 ACE r - 删除所有继承的 ACE 注意: Sid 可以采用数字格式或友好的名称格式。如果给定数字格式, 那么请在 SID 的开头添加一个 *。 /T 指示在以该名称指定的目录下的所有匹配文件/目录上 执行此操作。 /C 指示此操作将在所有文件错误上继续进行。 仍将显示错误消息。 /L 指示此操作在符号 链接本身而不是其目标上执行。 /Q 指示 icacls 应该禁止显示成功消息。 ICACLS 保留 ACE 项的规范顺序: 显式拒绝 显式授予 继承的拒绝 继承的授予 perm 是权限掩码,可以指定两种格式之一: 简单权限序列: N - 无访问权限 F - 完全访问权限 M - 修改权限 RX - 读取和执行权限 R - 只读权限 W - 只写权限 D - 删除权限 在括号中以逗号分隔的特定权限列表: DE - 删除 RC - 读取控制 WDAC - 写入 DAC WO - 写入所有者 S - 同步 AS - 访问系统安全性 MA - 允许的最大值 GR - 一般性读取 GW - 一般性写入 GE - 一般性执行 GA - 全为一般性 RD - 读取数据/列出目录 WD - 写入数据/添加文件 AD - 附加数据/添加子目录 REA - 读取扩展属性 WEA - 写入扩展属性 X - 执行/遍历 DC - 删除子项 RA - 读取属性 WA - 写入属性 继承权限可以优先于每种格式,但只应用于 目录: (OI) - 对象继承 (CI) - 容器继承 (IO) - 仅继承 (NP) - 不传播继承 (I) - 从父容器继承的权限 示例: icacls c:\windows\* /save AclFile /T - 将 c:\windows 及其子目录下所有文件的 ACL 保存到 AclFile。 icacls c:\windows\ /restore AclFile - 将还原 c:\windows 及其子目录下存在的 AclFile 内 所有文件的 ACL。 icacls file /grant Administrator:(D,WDAC) - 将授予用户对文件删除和写入 DAC 的管理员 权限。 icacls file /grant *S-1-1-0:(D,WDAC) - 将授予由 sid S-1-1-0 定义的用户对文件删除和 写入 DAC 的权限。
以下是一些操作示例:
对c:\apphome文件夹及其下面的文件授予user组的修改和读取权限,并启用继承
icacls c:\apphome\* /grant Users:(OI)(CI)MRX /t
(OI) 表示 "对象继承",允许权限应用于目录对象本身。
(CI) 表示 "容器继承",允许权限应用于目录对象的子对象。
/t 表示对目录及其内容进行权限更改
也可以使用用户组的SID(安全标识符)进行授权
icacls c:\apphome\* /grant *S-1-5-32-545:(OI)(CI)MRXD /t
以下是Windows中常见的用户组以及它们的SID(安全标识符):
版本 Windows 10 专业版
版本号 22H2
操作系统内部版本 19045.4291
体验 Windows Feature Experience Pack 1000.19056.1000.0
组名 类型 SID 属性 ====================================== ====== ============ ============================== Everyone 已知组 S-1-1-0 必需的组, 启用于默认, 启用的组 NT AUTHORITY\本地帐户和管理员组成员 已知组 S-1-5-114 只用于拒绝的组 BUILTIN\Administrators 别名 S-1-5-32-544 只用于拒绝的组 BUILTIN\Users 别名 S-1-5-32-545 必需的组, 启用于默认, 启用的组 NT AUTHORITY\INTERACTIVE 已知组 S-1-5-4 必需的组, 启用于默认, 启用的组 CONSOLE LOGON 已知组 S-1-2-1 必需的组, 启用于默认, 启用的组 NT AUTHORITY\Authenticated Users 已知组 S-1-5-11 必需的组, 启用于默认, 启用的组 NT AUTHORITY\This Organization 已知组 S-1-5-15 必需的组, 启用于默认, 启用的组 NT AUTHORITY\本地帐户 已知组 S-1-5-113 必需的组, 启用于默认, 启用的组 LOCAL 已知组 S-1-2-0 必需的组, 启用于默认, 启用的组 NT AUTHORITY\NTLM Authentication 已知组 S-1-5-64-10 必需的组, 启用于默认, 启用的组 Mandatory Label\Medium Mandatory Level 标签 S-1-16-8192
请注意,不同版本的Windows,可能会有所差异,建议在使用时进行验证。
要验证Windows中的用户组的SID,可以使用 whoami 命令。whoami 命令显示当前用户的安全标识符(SID)以及其他信息。
whoami /all
上一篇:局域网连接共享打印机报错0x0000011b,0x00004005
下一篇:没有了