在 Windows Server 2019 上使用管理员用户帐户,我尝试更改%ProgramFiles%
、%ProgramFiles(x86)%
和上的用户帐户的 NTFS 权限%WinDir%
,但access denied
由于这些文件夹归TrustedInstaller
.
- 我已经尝试过基本和高级权限对话框,如果我使用高级对话框更改 的权限
C:
,则在将更改传播到子项目时,它会在这三个文件夹上失败 - 我认为可能可以更改文件夹的所有权,但我也认为这样做不是一个好主意
为什么会发生这种情况?有办法避免吗?
- 我想要实现的目标是对用户帐户进行沙箱处理,拒绝所有应用程序的执行权限,除了两个用于单一自动化目的的应用程序 - 其中一个位于 的子文件夹中
%ProgramFiles%
,另一个位于单独的驱动器上。
发生这种情况是因为文件夹的当前ACL 未授予管理员帐户设置 ACL 的权限。如果您不是所有者,则无法更改 ACL,除非明确授予此类访问权限 - 这也适用于管理员。
(授予完全控制权的访问条目被标记
(IO)
为“仅继承”;它仅对子对象有效,但对原始文件夹无效。)绕过该问题的一种方法是激活 SeRestorePrivilege(例如使用 PSPrivilege cmdlet) - 这是 Explorer 用于设置任意所有者的方法 - 但它不起作用,
icacls
因为它会在进行更改之前再次手动禁用权限。不过,它可能仍然可以使用不同的工具(也许使用 PowerShell 自己的工具Set-Acl
)。另一种方法是使用类似的工具
gsudo --ti
,让您可以使用 TrustedInstaller 权限运行任意命令(与 Windows 组件获取这些权限的方式大致相同)。