MSDN说,如果RevertToSelf()失败,程序应该立即终止,因为否则它会继续以被模拟的客户端的名义运行,这是不合适的。 现在假设我做了
ImpersonateSelf( SecurityImpersonation );
并且调用成功,那么我调用RevertToSelf() ,后者失败。 线程继续以当前进程的权限运行。 它也是非常糟糕的?
validation内存中的进程完整性?
我需要/何时需要validation码?
APIloginWindows用户
什么是过时的com.ms.security的等效安全function?
是否可以configuration每个用户的Linuxfunction?
我喜欢你的问题,MSDN也不清楚。
我看了编程Windows安全 (基思·布朗)第112至117页ImpersonateSelf通过调用你所做的所有工作
OpenProcesstoken
DuplicatetokenEx(… … TokenImpersonation)
SetThreadToken
CloseHandle的
而RevertToSelf只是一个电话
SetThreadToken(0,0)
传递两个空参数指示方法返回到前一个标记。 您不必处理模拟与主令牌和令牌访问权限。 电话会一直成功。
而且,如果您查看RpcRevertToSelf函数的错误代码,则可以看到不考虑RPC相关的代码,唯一的失败模式是如果您不模拟。
我认为假设RevertToSelf (从与ImpersonateSelf相同的线程调用)总是会成功是安全的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。