启动在受限用户中具有更多用户权限的程序

时间:2009-12-03 10:29:51

标签: impersonation file-permissions

我的用户访问权限受限于我的某个硬盘驱动器。这些用户未获得删除该驱动器中文件的许可。但我有一个应用程序,应该允许这些用户删除上述驱动器中的文件。

1)我该怎么做?

2)当一个低权限的用户潜入我的应用程序时,我是否可以编写一个隐藏的线程/程序,该权限给予高权限用户权限(仅适用于此应用程序),就像模仿其他用户一样,这样他就可以了通过此应用程序在受限制的硬盘中删除文件?

由于

2 个答案:

答案 0 :(得分:0)

根据您的操作系统,您可以做各种事情。

在类似UNIX的环境中,您可以编写程序并使用setuid或setguid,以便它以另一个(更有特权的)用户的特权运行。

或者在Windows或UNIX中,您可以作为更有特权的用户运行服务,并让其接受来自其他用户/进程的请求以代表他们执行操作。您必须研究与服务进行通信的方式。

希望有所帮助。

答案 1 :(得分:0)

可能最简单的方法是编写一个公开命名管道的服务,并创建一个与管道通信并向服务发出指令的客户端应用程序。该服务在LocalSystem或指定的更高权限帐户下运行,并从具有较低权限的用户帐户下运行的应用程序执行指令。当你连接到管道时,你需要某种握手来建立真正的握手,但这并不难。您可以使用WCF而不是管道,但我认为在这种情况下您不会从中获得太多优势。