我的用户对我的一个硬盘驱动器具有有限的访问权限。这些用户无权删除该驱动器中的文件。但我有一个应用程序应该允许这些用户删除上述驱动器中的文件。
1)我该怎么做?
2)当一个低权限用户登录到我的应用程序时,我可以编写一个隐藏线程/程序来赋予高权限用户权限(仅适用于此应用程序),就像模拟另一个用户一样,这样他就可以通过以下方式删除文件这个应用在受限硬盘中?
谢谢
我的用户对我的一个硬盘驱动器具有有限的访问权限。这些用户无权删除该驱动器中的文件。但我有一个应用程序应该允许这些用户删除上述驱动器中的文件。
1)我该怎么做?
2)当一个低权限用户登录到我的应用程序时,我可以编写一个隐藏线程/程序来赋予高权限用户权限(仅适用于此应用程序),就像模拟另一个用户一样,这样他就可以通过以下方式删除文件这个应用在受限硬盘中?
谢谢
根据您的操作系统,您可以执行各种操作。
在类似 UNIX 的环境中,您可以编写程序并使用 setuid 或 setguid,以便它以另一个(更多特权)用户的特权运行。
或者,在 Windows 或 UNIX 中,您可以作为更有特权的用户运行服务,并让它接受来自其他用户/进程的请求以代表他们执行操作。您必须研究与服务通信的方法。
希望有帮助。
可能最简单的方法是编写一个公开命名管道的服务,并创建一个与管道对话并向您的服务发出指令的客户端应用程序。该服务在 LocalSystem 或指定的更高权限帐户下运行,并执行来自在较低权限用户帐户下运行的应用程序的指令。当你连接到管道时,你需要某种握手来建立真诚,但这并不难。您可以使用 WCF 代替管道,但我认为在这种情况下您不会从中获得太多优势。