2008-10-20 31 views
2

我只是寫一些代碼,使用AdjustTokenPrivileges在Windows中啓用SeDebug特權。該令牌來自OpenProcessToken; OpenThreadToken只在模擬時返回一個令牌。安全/健壯地使用AdjustTokenPrivileges?

幾件事情發生的對我說:

  • 什麼是令牌的範圍是什麼?它是按進程還是按線程?如果我啓用了一個特權,那麼爲這個線程或整個進程(或整個會話)啓用了該特權?
  • 如果範圍比線程寬,如何在啓用或禁用時避免競爭條件?

回答

2

線程和進程都有自己的訪問令牌 - 請參閱MSDN中的OpenThreadToken和OpenProcessToken - 所以答案真的取決於您傳遞給AdjustTokenPuringges的令牌句柄的來源?