是否有一种方法来创建一个文件,只有我的应用程序可以访问使用vc++

Is there a way to create a file that only my application can access using VC++?

本文关键字:应用程序 我的 vc++ 访问 一个 方法 一种 创建 文件 是否      更新时间:2023-10-16

我试图保护我的应用程序使用vc++创建的文件,以便没有人可以删除文件事件Windows Admin用户。但是,我的应用程序可以读取、写入和删除它。我的应用程序不是一直在运行。我计划为此目的使用CreateFile SECURITY_DESCRIPTOR结构。欢迎提出任何建议。

您的应用程序必须由Windows用户运行。

管理员的决定将永远能够取代您的应用程序所做的任何事情。即使您以管理员身份运行应用程序也是如此。这是因为它相当于管理员手动创建文件,然后返回更改或删除它。

所以不,这是不可能的。

简而言之:管理员不能创建一个安全到他自己不能删除的文件。

几点建议

1)如果你拿走了文件的所有权,即没有人拥有它,它将很难删除,但并非不可能。在删除文件之前,Windows管理员需要占用(Windows相当于unix chown)该文件。

2)如果本地用户(运行服务的用户)创建了这个文件,即使是admin也不能删除它——你需要本地用户来删除它:也就是说,除非你将所有权更改为admin,否则admin可以删除它。试图更改本地用户拥有的文件的权限是另一回事。这一点也不容易。注意,您不能以localuser身份登录。

相关文章: