2008-10-20 29 views
2

我只是写一些代码,使用AdjustTokenPrivileges在Windows中启用SeDebug特权。该令牌来自OpenProcessToken; OpenThreadToken只在模拟时返回一个令牌。安全/健壮地使用AdjustTokenPrivileges?

几件事情发生的对我说:

  • 什么是令牌的范围是什么?它是按进程还是按线程?如果我启用了一个特权,那么为这个线程或整个进程(或整个会话)启用了该特权?
  • 如果范围比线程宽,如何在启用或禁用时避免竞争条件?

回答

2

线程和进程都有自己的访问令牌 - 请参阅MSDN中的OpenThreadToken和OpenProcessToken - 所以答案真的取决于您传递给AdjustTokenPuringges的令牌句柄的来源?