我有一个服务器应用程序,它使用多客户端方法。当它检测到新请求时,首先为新客户端创建一个新套接字。然后为它创建一个新的线程,新线程会做任何它应该做的事情。
当我为我的客户端创建一个新线程时,以管理员身份执行它是不安全的(我的应用程序本身以管理员身份运行)。我想将其权限更改为 Users group 权限。我的意思是 therad 应该作为受限用户执行,而不是管理员。
我的平台是 Microsoft Windows,我的编程语言是 C。我怎样才能做到这一点?我在网上搜索过,但什么也没找到。
你能给我发一个示例程序吗?
最佳答案
你不能那样做。一个进程中的所有线程都以具有相同提升级别的同一用户身份运行。
完成您所要求的唯一方法是启动一个新进程而不是一个新线程。这篇文章可能会有帮助:Running as Limited User - the Easy Way .
关于使用 C 在 Windows 中更改线程权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15689315/