在之前的问题中,我问如何克服在某些用户中debugging权限不存在的事实。 现在,由于我不能设置不存在的东西,我将如何检查用户是否具有debugging权限?
我知道我必须使用LookupPrivilegeValue(),我只是无法确定在哪里读取返回的值,这将指示是否有特定的权限。
代码表示赞赏。
谢谢
Symfony权限被拒绝
如何在.htaccess文件中限制/禁止访问特定的文件types,例如.js .css?
现有会话没有遵守组成员变化
检测是否在Windows XP下以pipe理员权限运行
Chown不工作
C: Users Public Documents中的目录默认情况下是否可写入所有人?
linux mkdir函数无法授权完全权限
从http://msdn.microsoft.com/en-us/library/aa446619%28VS.85%29.aspx
BOOL SetPrivilege( HANDLE hToken,// access token handle LPCTSTR lpszPrivilege,// name of privilege to enable/disable BOOL bEnablePrivilege // to enable or disable privilege ) { TOKEN_PRIVILEGES tp; LUID luid; if ( !LookupPrivilegeValue( NULL,// lookup privilege on local system lpszPrivilege,// privilege to lookup &luid ) ) // receives LUID of privilege { printf("LookupPrivilegeValue error: %un",GetLastError() ); return FALSE; } tp.PrivilegeCount = 1; tp.Privileges[0].Luid = luid; if (bEnablePrivilege) tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; else tp.Privileges[0].Attributes = 0; // Enable the privilege or disable all privileges. if ( !AdjustTokenPrivileges( hToken,FALSE,&tp,sizeof(TOKEN_PRIVILEGES),(PTOKEN_PRIVILEGES) NULL,(PDWORD) NULL) ) { printf("AdjustTokenPrivileges error: %un",GetLastError() ); return FALSE; } if (GetLastError() == ERROR_NOT_ALL_ASSIGNED) { printf("The token does not have the specified privilege. n"); return FALSE; } return TRUE; }
如果函数在请求设置调试权限时返回ERROR_NOT_ALL_ASSIGNED,那么令牌不在那里。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。