拒绝对 AppData 目录的执行权限后,Secedit.exe 停止工作

拒绝对 AppData 目录的执行权限后,Secedit.exe 停止工作

我正在使用以下命令拒绝执行权限应用程序数据目录:

icacls $env:userprofile\AppData /deny "*S-1-1-0:(OI)(CI)(X)"

问题是,执行此操作后,我无法secedit.exe再使用该工具,因为它总是返回Access is denied错误:

PS Z:\Ander\Temp> secedit /export /cfg testSecedit.cfg /areas USER_RIGHTS

Access is denied.

The task has completed with an error.
See log %windir%\security\logs\scesrv.log for detail info.

我已经检查过了C:\Windows\security\logs\scesrv.log,但是那里没有写任何东西。

我很困惑,因为显然Secedit.exe工具并不位于$env:userprofile\AppData树下。

Secedit.exe使用以下命令恢复权限后开始工作:

icacls $env:userprofile\AppData /reset /t

Secedit.exe因此,我的问题是,如果该工具不在权限范围内,为什么这个权限修改会影响该工具?应用程序数据目录?我使用的是 Windows 7 Professional 32 位系统。

答案1

经过一番研究,我发现,上述不良情况并不是在我修改 AppData 权限时发生的,而是在以下两种情况结合时发生的:

1-拒绝所有用户在 AppData 目录中的执行权限:

icacls $env:userprofile\AppData /deny "*S-1-1-0:(OI)(CI)(X)"

2- 删除所有用户SeChangeNotifyPrivilege2- 从(绕过遍历检查) 正确的。

如图所示这里,有一些用户/组可以被授予而SeChangeNotifyPrivilege无需进行以下发现:

如果除以下账户或组之外的任何账户或组被授予“绕过遍历检查”权限,则会出现以下情况:

管理员、用户、本地服务、网络服务

因此,我授予了如上所述的权利,并且现在secedit.exe即使应用了第一个条件也可以正常工作,并且我有预期的行为。

相关内容