【问题标题】:How to allow SYNCHRONIZE access right to all processes如何允许 SYNCHRONIZE 访问所有进程的权限
【发布时间】: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。

标签: c++ windows winapi visual-c++


【解决方案1】:

我是这样解决的。

使用 SetSecurityInfo 不起作用,因为用户本身没有访问 SYSTEM 进程的权限。

以下知识库:http://support.microsoft.com/kb/131065 解释了如何向用户添加 SE_DEBUG_NAME 权限,使用户能够打开任何进程。

【讨论】:

  • 链接指向页面404...
猜你喜欢
  • 1970-01-01
  • 2020-09-04
  • 1970-01-01
  • 2016-11-29
  • 1970-01-01
  • 2015-04-14
  • 1970-01-01
  • 2013-07-28
  • 1970-01-01
相关资源
最近更新 更多