如何允许 SYNCHRONIZE 访问所有进程的权限
Posted
技术标签:
【中文标题】如何允许 SYNCHRONIZE 访问所有进程的权限【英文标题】:How to allow SYNCHRONIZE access right to all processes 【发布时间】:2014-07-30 21:31:45 【问题描述】:我有一个 Windows 服务,我希望其他进程(不同用户的,一些低权限的)等待它的句柄。意思是,windows服务进程HANDLE上的其他进程WaitForSingleObject()。
为了让其他进程能够等待服务进程,他们需要 OpenProcess() 并具有 SYNCHRONIZE 访问权限,但是我如何确定其他具有较低权限的进程可以获得 SYNCHRONIZE 访问权限???
我可以强制我的进程(Windows 服务)允许所有人同步吗?
【问题讨论】:
您可以使用 SetSecurityInfo 和相关函数来更改进程的 DACL。 @HarryJohnston 嘿,感谢您的帮助!这就是我想要做的,将 SetSecurityInfo 与“DACL_SECURITY_INFORMATION”和 NULL DACL(仅用于测试)一起使用,我仍然会从一个非常有限的过程中获得 ACCESS DENIED。 【参考方案1】:我是这样解决的。
使用 SetSecurityInfo 不起作用,因为用户本身没有访问 SYSTEM 进程的权限。
以下知识库:http://support.microsoft.com/kb/131065 解释了如何向用户添加 SE_DEBUG_NAME 权限,使用户能够打开任何进程。
【讨论】:
链接指向页面404...以上是关于如何允许 SYNCHRONIZE 访问所有进程的权限的主要内容,如果未能解决你的问题,请参考以下文章