Views: 282
查看权限
显示对象的当前 ACL
icacls "D:\Share\xyx115.txt"
rem 显示文件D:\Share\xyx115.txt当前的 ACL
icacls "D:\Share"
rem 显示目录 D:\Share 当前的 ACL
权限继承或禁止继承
使用 icacls
的 /inheritance
选项 启用或禁用 文件夹/文件对象的权限
e
启用继承;d
禁用 ACE 继承和复制;r
删除所有继承的 ACE。
启用继承
icacls "D:\Share\test-1" /inheritance:e
rem 1. 启用目录的继承权限
rem 2. D:\Share\test-1为当前示例中要设置的目录
rem 3. /inheritance:e,/inheritance继承权限设置开关,其中e(enable)表示启用
禁用 ACE 继承和复制
icacls "D:\Share\test-1" /inheritance:d
rem 1. 禁用目录的继承权限
rem 2. D:\Share\test-1为当前示例中要设置的目录
rem 3. /inheritance:d,/inheritance继承权限设置开关,其中d(disabled)表示禁用
删除所有继承的 ACE
icacls "D:\Share\test-1" /inheritance:r
rem 1. 移除目录的继承权限
rem 2. D:\Share\test-1为当前示例中要设置的目录
rem 3. /inheritance:d,/inheritance继承权限设置开关,其中r(remove)表示移除
删除权限
要从用户(或组)中删除权限,只需从对象的 ACL 中删除相应的 ACE。不要忘记事先禁用从该对象继承(如果目标是目录)。
icacls D:\Share\test-1 /inheritance:d /t /c
rem 禁用 ACE 继承和复制
icacls D:\Share\D08 /remove:g xyx115pc-hp\testuser /t /c
rem 只删除允许的权限
icacls D:\Share\D08 /remove:d xyx115pc-hp\testuser /t /c
rem 只删除禁止的权限
icacls D:\Share\D08 /remove xyx115pc-hp\testuser /t /c
rem 删除允许、禁止的所有权限
举例:
icacls D:\Share\test-1 /inheritance:d /t /c
icacls D:\Share\test-1 /remove:g xyx115pc-hp\testuser /t /c
- 第一行,
/inheritance:d
禁用目录权限的继承并复制 ACE。- 要直接禁用继承而不复制 ACE,然后删除继承的 ACE,可以使用
inheritance:r
,但是此操作有点风险。您可能会将自己锁定,因为这可能会删除您自己的访问权限。 - 要重新启用继承,请使用
inheritance:e
- 要直接禁用继承而不复制 ACE,然后删除继承的 ACE,可以使用
- 第二行,
/remove:g
删除授予该目录的xyx115pc-hp\testuser
用户的权限,若要删除拒绝权限,请使用/remove:d
参数。
添加权限
允许所有权限
icacls D:\Share\D08 /inheritance:R /t /c
rem 删除所有继承的 ACE
icacls D:\Share\D08 /grant xyx115pc-hp\X_Sir:(OI)(CI)(F,GA)
rem 添加管理员,拥有对文件夹的所有权限
rem 1. D:\Share\D08,文件夹
rem 2. xyx115pc-hp\X_Sir,本地计算机中的X_Sir用户。也可以是AD域的用户、用户组。
rem 3. F,完全控制
rem 4. GA,所有通用的权限
rem 5. (OI),对象继承 - 此标志指示从属文件将继承 ACE
rem 6. (CI),容器继承 - 此标志指示从属容器将继承此 ACE
允许读写删
向用户 xyx115pc-hp\testuser
授予除完全控制和取得所有权之外的其他权限 到 D:\Share\D08
目录,具体权限参见下图。
icacls D:\Share\D08 /inheritance:R /t /c
rem 删除所有继承的 ACE
rem 如果继承与 /T(遍历子文件夹)结合使用,则更改将应用于所有文件夹,而不仅仅是顶级文件夹。
rem /C 在文件错误时(拒绝访问)继续,错误信息仍然显示。
icacls D:\Share\D08 /grant xyx115pc-hp\X_Sir:(OI)(CI)(F,GA)
rem 添加管理员,拥有对文件夹的所有权限
icacls D:\Share\D08 /grant xyx115pc-hp\testuser:(OI)(CI)(M,WDAC)
rem 添加指定用户,对文件夹拥有除完全控制和取得所有权之外的其他权限,即读写删执行权限
允许读写,禁止删除
允许读写,禁止删除,包括当前目录,子目录
icacls D:\Share\D08 /inheritance:R /T /C
rem 删除所有继承的 ACE
icacls D:\Share\D08 /grant xyx115pc-hp\X_Sir:(OI)(CI)(F,GA)
rem 添加管理员,拥有对文件夹的所有权限
icacls D:\Share\D08 /GRANT xyx115pc-hp\testuser:(OI)(CI)(RX,W,WDAC,WO)
rem 添加权限
icacls D:\Share\D08 /DENY xyx115pc-hp\testuser:(OI)(CI)(DE,DC)
rem 禁止删除
注意 这里看到的(DENY)(D,DC)
,不能按照(D,DC)
照搬设置。必须为(DE,DC)
。因为(D)
会阻止目录所需的同步权限
允许只读,禁止写入和删除
icacls D:\Share\D09 /inheritance:R /t /c
rem 删除所有继承的 ACE
icacls D:\Share\D09 /grant xyx115pc-hp\X_Sir:(OI)(CI)(F,GA)
rem 添加管理员,拥有对文件夹的所有权限
icacls D:\Share\D09 /grant xyx115pc-hp\testuser:(OI)(CI)(RX,GR,GE,RD,X)
rem 添加指定用户,对文件夹拥有只读、执行权限,无法写入、删除
拒绝任何权限
icacls D:\Share\D08 /DENY xyx115pc-hp\testuser:(OI)(CI)(RX,GA)
rem 拒绝任何权限
拒绝删除权限
icacls D:\Share\D08 /DENY xyx115pc-hp\testuser:(OI)(CI)(DE,DC)
重置NTFS文件夹权限
文件和文件夹权限对 Windows 非常重要。有时,用户可能会弄乱导致软件甚至操作系统以不希望的方式工作的权限。
有一种简单的方法可以解决这类问题而不会让人头疼,使用ICACLS命令。
以管理员身份启动命令提示符,并导航(切换)到需要修复的文件夹中。
然后执行命令:ICACLS * /T /Q /C /RESET
ICACLS将重置所有文件夹,文件和子文件夹的权限。一段时间后,根据文件的数量,权限将被修复。
有时,您可能需要获得文件夹树的所有权。您可以在启动 ICACLS 之前使用该命令。takeown /R /F *
请注意,获取系统文件夹的所有权可能会破坏您的操作系统。
错误
/inheritance:r: 文件名…不正确
错误原因:路径错误,目录后面不能带斜杠。如下图所示。
无法将“CI”项识别为 cmdlet…
错误分析:在 Windows PowerShell 中执行 icacls
解决方法:使用批处理(命令提示符)运行icacls
,或者在 Windows PowerShell (在windows 11 中,叫做 Windows 终端)中输入cmd,回车。然后执行icacls