Windows上使用Python增加或刪除權限
在使用Python在 Windows 平臺上開發的時候, 有時候我們需要動態增加或刪除用戶的某些權限, 此時我們可以通過 AdjustTokenPrivileges API 來實現。
比如,我們要給用戶分配 SE_TCB_NAME 權限
flags = win32security.TOKEN_ADJUST_PRIVILEGES | win32security.TOKEN_QUERY
token = win32security.OpenProcessToken(win32api.GetCurrentProcess(), flags)
id = win32security.LookupPrivilegeValue(None, win32security.SE_TCB_NAME)
privilege = [(id, win32security.SE_PRIVILEGE_ENABLED)]
print win32security.AdjustTokenPrivileges(token, False, privilege)
比如,我們要給用戶去除 SE_TCB_NAME 權限
flags = win32security.TOKEN_ADJUST_PRIVILEGES | win32security.TOKEN_QUERY
token = win32security.OpenProcessToken(win32api.GetCurrentProcess(), flags)
id = win32security.LookupPrivilegeValue(None, win32security.SE_TCB_NAME)
privilege = [(id, 0)]
print win32security.AdjustTokenPrivileges(token, False, privilege)